จากบทความ ติดตั้ง pylons(ติดตั้ง pylons บน windows,ติดตั้ง Pylons บน Linux) เราจะเห็นได้ว่ามันจะทำการดาวน์โหลด packages มากมายลงมาให้เรา ซึ่งเราเองก็ไม่รู้ว่ามันคืออะไร แล้วทำอะไรได้บ้าง ซึ่งแล้วแต่เวอร์ชั่นของ pylons ว่าจะมี packages อะไรมั่ง แต่ packages ที่อธิบายนี้เป็น packages ของ pylons 0.9.7 ซึ่งใครลงเองคงจะเห็นบรรดา .egg ทั้งหลาย บรรดาไข่เหล่านั้น(ก็มันแปลว่าไข่นิ เรียกว่า ไข่ คงไม่ผิดนะ) ที่เราได้โหลดมานั้นเป็นองค์ประกอบที่สำคัญของเจ้าแม่ไก่ pylons ลองมาดูว่ามีอะไรบ้าง
- Beaker-0.9.5-py2.5.egg : เป็นส่วนหนึ่งของ software ที่ถูกใช้โดย pylons เพื่อเป็นเครื่องมือในการจัดเก็บและรวบรวมสิ่งที่เราต้องการไว้ เช่น การตั้งเวลาหน้าเว็บไซต์ในส่วนของการโพสเนื้อหาไว้กี่นาที อะไรประมาณนั้น(||-_,-") เป็นต้น ซึ่งโดยปกติเราจะไม่ได้ไปยุ่งกับตัว Beaker โดยตรงสักเท่าไหร่เพราะมันเป็นการทำงานภายในของ pylons เอง
- decorator-2.2.0-py2.5.egg : decorator เป็นเครื่องมือที่ถูกใช้โดย pylons เพื่อสร้าง @validate และ @jsonify ซึ่งแน่นอนว่าเราไม่จำเป็นต้องใช้เองเพราะ pylons จะไปเรียกใช้ของมันเอง แหะๆๆ
- FormEncode-1.0.1-py2.5.egg : ตัวนี้ทุกคนคงจะคุ้นเคยกันการกรอกแบบฟอร์มต่าง ๆ แล้ว submit ลงไป ตัวFormEncode จะช่วยตรวจสอบความถูกต้องในการส่งแบบฟอร์มมาจากเว็บไซต์ของเรา เช่น แบบฟอร์มสมัครสมาชิก การกรอก username และ password คำร้องขออื่น ๆ เป็นต้น ซึ่งตัว FormEncode เป็นตัวช่วยเราในเรื่องนี้
- Mako-0.2.0-py2.5.egg : เป็นหนึ่งในสาม template languages ที่สามารถใช้ได้กับ pylons ซึ่งอีกสองอันก็คือ Genshi และ Jinja ซึ่งตัว Mako จะถูกติดตั้งมาตั้งแต่ลง pylons เลย เป็น template บังคับใช้ ใครได้ลองแล้วจะรู้สึกติดใจแน่ ๆ
- nose-0.10.3-py2.5.egg : เป็นเครื่องมือที่ใช้เพื่อช่วยในการทดสอบ และแสดงผลโปรแกรมที่เราเขียนในส่วนของ Unit Testing (ซึ่งการทดสอบจะประกอบด้วยกัน 3 อย่าง คือ Unit testing, Function testing และ User testing) ซึ่งตัว nose จะช่วยในส่วนของ Unit testing ซึ่งเป็นส่วนที่ช่วยทำการทดสอบข้อผิดพลาดต่าง ๆ ความเหมาะสมของระบบที่สร้างขึ้น ในระหว่างการพัฒนาระบบของเว็บไซต์ เพื่อให้ได้หน่วยที่เหมาะสมกับเว็บไซต์เราที่สุด
- Paste-1.6-py2.5.egg, PasteDeploy-1.3.2-py2.5.egg, และ PasteScript-1.6.3-py2.5.egg : เจ้าสามตัวนี้เราไม่ได้ใช้มันโดยตรงหรอกนะ แต่เจ้า pylons ใช้มันในการ configurationfiles, registry manager, development HTTP server, project template creation, test fixtures, error documents และอื่น ๆ อีกมากมาย ซึ่งเราจะเห็นได้เห็นมันประจำเวลาเราต้องพัฒนาเว็บไซต์
- Pylons-0.9.7-py2.5.egg : คงไม่ต้องอธิบายว่ามันคืออะไร เพราะองค์ประกอบต่าง ๆ ที่เราติดตั้งมากมาย เพื่อให้ได้ใช้มันนั่นเอง ตัวของ pylons เองนั้นไม่ได้มีอะไรมากมาย เพียงแต่ต้องใช้เจ้า pylons เพื่อให้องค์ประกอบต่าง ๆ สามารถใช้งานได้
- Routes-1.9-py2.5.egg : pylons ใช้ Routes ในการสร้าง URL เพื่อเซทค่าตัวแปรของ controller และ action ตัวแปรเหล่านี้ถูกใช้เพื่อกำหนด controller class และเป็นวีธีเรียก controller class เหล่านั้นไปใช้งาน เช่น เมื่อเราสร้าง HelloWorld Controller ขึ้นมา เราอยากให้ผุ้ใช้เว็บไซต์เราสามารถที่ใช้เรียกใช้ Helloworld ได้นั้น เราจะต้องไปสร้างเส้นทาง url ใน Routes เพื่อให้ผู้ใช้สามารถใช้งานได้ เป็นต้น
- setuptools-0.6c8-py2.5.egg : องค์ประกอบนี้จะถูกใช้โดย easy_install เพื่อทำการเพิ่มองค์ประกอบ และอัพเดทองค์ประกอบของ pylons ที่มีอยู่แล้วให้ทันสมัยมากยิ่งขึ้น
- simplejson-1.8.1-py2.5-linux-x86_64.egg : ตัวนี้จะถูกใช้โดย @jsonify เพื่อใช้ในการแปลงข้อมูล back และ forth ระหว่าง JSON และ Python
- Tempita-0.2-py2.5.egg : Tempita ถูกใช้แทนที่ตัวแปรเวลามีการสร้างโปรเจ็คขึ้นมาใหม่ โดย Tempita จะขึ้นอยู่กับ Paste ซึ่งจะใช้ร่วมกับคำสั่ง paster create .... ทำหน้าที่เป็นเหมือนฉากหลังคอยสนับสนุน Paste
- WebError-0.8-py2.5.egg : เป็นตัวกลางที่ช่วยในเรื่องของการแสดงผล Error ต่าง ๆ ของเว็บไซต์ออกมาให้เราเห็นว่ามีปัญหาที่ส่วนไหน ก็คือการแสดงผลของ debugger ออกมานั่นเอง
- WebHelpers-0.6-py2.5.egg : เป็นชุดของหน้าที่ และหมวดหมู่ที่มีประโยชน์อย่างมากใช้ในการสร้าง tags และ form fields, จัดการการสร้างจำนวนหน้าแสดงผลมาก ๆ เช่น แสดงผลการค้นหามีหลายหน้า เป็นต้น และอื่น ๆ อีกมากมาย ออกมาแบบง่าย ๆ ที่ไม่ต้องใช้กำลังภายในทางด้าน Graphic จำนวนมากออกมาได้
- WebOb-0.9.2-py2.5.egg : ทำหน้าที่จัดการ pylons.request และ pylons.response ใน Pylons 0.9.7
นอกจากนั้นถ้าดูใน directory pylons ซึ่งชื่อ Scripts (น่าจะเป็น directory bin ใน Linux นะ ) ของเรานั้น จะพบไฟล์ต่าง ๆ มากมายที่ใช้ในการทำงานของเรา ได้แก่
- activate.bat : เจ้าตัวนี้เราจะต้องใช้ทุกครั้งเมื่อเริ่มการทำงานเพื่อเป็นการ active ตัว virtual python environment เพื่อทำให้สคริปต์ต่าง ๆ ที่เราต้องใช้งานนั้นมีสถานะ active ไปด้วย สำคัญมาก ๆ นะ
- disactivate.bat : เจ้าตัวนี้ก็ตรงกันข้ามกับเจ้าตัวบน เป็นการยกเลิกการใช้งานเจ้า virtual python environment และยกเลิกการใช้งานเจ้าสคริปต์ต่าง ๆ ที่เราใช้งานไว้
โดยนอกจากนี้ยังมีตัว SQLAlchemy ซึ่งเป็นเครื่องมือเกี่ยวกับ Database โดยไม่ได้ถูกติดตั้งอัตโนมัติเหมือนกับเหล่าองค์ประกอบข้างบน แต่สามารถเลือกมาใช้งานได้ โดยต้องติดตั้งไปเองทีหลังโดยใช้ easy_install สั่งติดตั้งเอง
ข้อมูลเหล่านี้คงเป็นความรู้เล็ก ๆ น้อย ๆ (ไม่รู้จะเข้าใจกันรึป่าว พยายามเขียนอธิบายให้ตัวเองอ่านแล้วเข้าใจ มากเท่าที่เป็นไปได้แล้ว) สำหรับคนที่ใช้ pylons webframwork เพื่อให้ได้รู้ว่าองค์ประกอบที่เราเอามาใช้นั้นมีความสำคัญยังไง อะไรที่เราควรรู้ อะไรที่เราใช้งานก็ควรรู้ไว้บ้าง เพื่อเป็นความรู้ประดับตัวเอง ^^






