หลังจากใช้ SourceForge(Hoffman Framework:HMF) มาได้ระยะหนึ่ง ก็ใช้งานได้ดี แต่ช้า ๆ อืด ๆ แถมใช้งานยากพอสมควรเลย แต่เมื่อวานซืนได้ลอง Google Code Hosting และติดใจในความง่ายในการใช้งานอย่างมาก ซึ่งอย่างน้อย ๆ ก็ง่ายกว่าของ SourceForge อย่างมากเลยทีเดียว แถมเร็วกว่าอีกด้วย เลยไม่มีข้อโต้แย้งใด ๆ ในการที่จะไม่ย้ายมาใช้ที่นี่ และด้วยอีกเหตุผลคือมันสามารถเอาไปใช้ร่วมกับบริการต่าง ๆ ของ Google อย่าง Groups, Analytic และ Gmail ได้อย่างง่ายดาย ตอนนี้ผมย้ายมาแล้วที่ hoffmanframework แทนแล้วเรียบร้อย ปรับแต่งและ import ตัว code ลงไปใหม่แล้ว กำลังไล่ทำเอกสารทั้งหมดอยู่ครับ ส่วนที่ SourceForge นี่อีกสักพักจะลบ project ออกจากที่นั้นครับผม (เราจะไม่ลืมนาย SourceForge)
Tag Archive for 'Framework'
ตอนนี้ผมเอา Framework ตัวนี้ไปใช้กับ production project หลาย ๆ ตัวและได้มีการปรับเปลี่ยนส่วนของ lib เยอะพอสมควร จนหลาย ๆ อย่างที่ทำได้ใน 0.1.3a นั้นทำงานไม่ได้เมื่อใช้กับ code ชุดใหม่นี้ครับ
หลายส่วนถูกโย้กย้ายด้วยเหตุผลด้านความยืดหยุ่น หลายส่วนถูกแก้ไขด้วยเหตุผลด้าน Coding Style Guideline โดยหลาย ๆ จุดถูกเพิ่มเติมเพื่อทำการ track ปัญหาออกมาได้ด้วยการตั้งค่าในไฟล์ Configuration เพื่อง่ายต่อการตรวจสอบ และบางส่วนถูกปรับแก้ด้วยเหตุผลด้านความเร็ว และประสิทธิภาพที่สูงขึ้นด้วย
ใน log ของ SVN บน SourceForge นั้นบางส่วนอาจจะขาดตกไปบ้าง เพราะว่ายังมือใหม่ในการบันทึกข้อมูลทั้งหมดที่ทำลง log ของ SVN ครับ พยายามเก็บรายละเอียดทั้งหมดที่ได้ทำ เพื่อเอาไว้อ้างอิงในภายหลังให้มากที่สุดครับ
และสุดท้าย คาดว่าจะเปลี่ยนจาก SourceForge มาใช้ Google Code Hosting ครับ กำลังดูเรื่องคุณสมบัติต่าง ๆ อยู่ครับผม
-
rv 8 - f - ส่วนของการสลับ Profile ของฐานข้อมูลใน Hmf_LogicModel_Db ให้ย้ายมาอยู่ที่ __construct แทน
-
rv 9 - a - เพิ่ม quoteInto เข้าไปใน Hmf_Logic_Model_Db เพื่อใช้ในการ filter ข้อมูลที่ใช้ใน Database
-
rv 10 - e - แก้ไขตัวแปรสำหรับ config ค่าแบบทั่วไป และการเข้าถึง
-
rv 11 - e - แก้ไขตัวแปรสำหรับ routing ค่าแบบทั่วไป และ config โดยใน config เพิ่มตัวควบคุมการใช้ acl ลงไป และ ตั้งแต่ rv 10 ตัวแปรตั้งค่าทุกตัวใช้การขึ้นต้นด้วยตัวเล็กทั้งหมด
-
rv 12 - e - ปรับเปลี่ยนการใช้งานตัวแปรใน runtime ต่าง ๆ ให้ไป register ใน registry แทนเพื่อใช้แทนการเข้าถึงแบบ global แทนโดยมีชื่อตัวแปรดังต่อไปนี้ที่ได้รับการใส่ลงใน registry
-
rv 12 - e - -- applicationConfigurations เป็น app_config
-
rv 12 - e - -- applicationLocale เป็น app_locale
-
rv 12 - e - -- applicationAcl เป็น app_acl
-
rv 12 - e - -- applicationAuthen เป็น app_authen
-
rv 12 - e - -- viewsInformations เป็น app_viewinfo
-
rv 12 - e - -- routingUrl เป็น routing_url
-
rv 12 - e - -- controllerFile เป็น controller_file
-
rv 12 - e - -- controllerName เป็น controller_name
-
rv 12 - e - -- actionName เป็น action_name
-
rv 12 - i - -- routing ชื่อคงเดิม
-
rv 12 - i - -- acl ชื่อคงเดิม
-
rv 12 - i - -- is_production ชื่อคงเดิม
-
rv 12 - e - ทำการ register $routes [':args'] ลงใน registry ในชื่อ action_args
-
rv 12 - e - ทำการเปลี่ยนการ instance จาก Class ชื่อ Hmf_RenderView แล้วอ้างอิงในชื่อ $renderView มาเป็น register ลงใน registry ในชื่อ renderview
-
rv 12 - e - แก้ไข Class ชื่อ Hmf_Config เพื่อให้ register ข้อมูลลงใน app_config และ app_locale ในคราวเดียวโดยซ่อนขั้นตอนภายใน method เลย
-
rv 12 - a - เพิ่ม method _registry ลงใน Hmf_RenderView_Render และ Hmf_FlowController เพื่อนำข้อมูลใน register เข้าและออกมาผ่าน method _registry ได้เลย
-
rv 12 - e - ย้ายขั้นตอนการตรวจสอบสิทธิ์ และกำหนดสิทธิ์ผู้ใช้จากใน runtime มาอยู่ใน constructor ของ Hmf_FlowController แทน
-
rv 12 - a - เพิ่ม key 'acl' ในตัวแปรก config เพื่อกำหนดว่าจะใช้การตรวจสอบสิทธิ์หรือไม่
-
rv 13 - r - เอา flag การตรวจสอบ registry ออกจากบรรทัดล่างสุด
-
rv 14 - a - เพิ่ม method _registry ลงใน Hmf_LogicModel Hmf,_LogicModel_Db และ Hmf_LogicModel_General ผ่าน __call method
-
rv 14 - a - ตรวจสอบ index ของ registry ก่อนทำการ access ออกมาใช้งาน
-
rv 15 - a - เพิ่มขั้นตอนการตรวจสอบ verion ของ Zend Framework โดยต้องใช้ Zend Framework ใน version 1.5 เป็นต้นไป
-
rv 16 - f - จัดรูปแบบของ code โดยทั่วไป
-
rv 17 - e - เพิ่ม PATH_DIR_HTML เพื่อใช้แทน /html โดยใช้สำหรับในกรณีที่ต้องการเปลี่ยนชื่อ /html เป็นอย่างอื่น
-
rv 17 - a - เปลี่ยนชื่อ $path_root เป็น $pathRoot เพื่อให้ตรงตาม naming ของ coding style guideline
-
rv 18 - a - เพิ่ม debug.routing ลงใน key ของ config เพิ่มนำไปตรวจสอบเวลา debug ตอนทำ routing ใน Runtime
-
rv 19 - a - เพิ่ม debug.routing ลงใน key ของ config เพิ่มนำไปตรวจสอบเวลา debug ตอนทำ routing ในไฟล์ Configuration
-
rv 20 - f - แก้ไขข้อผิดพลาดในการใส่ keywords เพิ่ม
-
rv 20 - f - ปรับประสิทธิภาพในการสร้าง url ให้ดีขึ้น และรองรับการใส่ keywords เพิ่ม
-
rv 20 - f - แก้ไขการ handle ที่ controller และ action ใหม่
-
rv 20 - r - เอา filterSlashAtLastChar ออก
-
rv 20 - r - เอา getUrlWithString ออก
-
rv 21 - f - แก้ปัญหา kerwords, pattern และ action หายในบางครั้งเวลา generate url
-
rv 22 - a - เพิ่มค่า routing.cache.lifetime และ routing.cache สำหรับตั้งค่าใช้งาน cache ของ routing
-
rv 23 - e - เอาการตรวจสอบการ debug ของ routing ไปใส่ใน contructor แทน
-
rv 23 - e - เปลี่ยนชือการ debug ของ routing จาก debug.routing เป็น routing.debug แทน
-
rv 23 - a - เพิ่มค่า routing.cache.lifetime และ routing.cache สำหรับตั้งค่าใช้งาน cache ของ routing
-
rv 23 - a - เพิ่ม cache ลงใน routing โดยใช้ sqlite
-
rv 24 - f - แก้ไขการขึ้นบรรทัดใหม่ใน error messege
หลังจากพลัดผ่อนมานานมาก ๆ เพราะเปลี่ยนงาน และไล่งานที่ตัวเองทำอยู่หลายตัว ตอนนี้กำลังปล่อยตัว pre-alpha (alpha version) ออกมา ตอนนี้ผมใส่ tag เป็น 0.1.3a แล้วครับ เอา source ขึ้น sourceforge.net/projects/hmf/ แล้ว บนเครื่องผม revision ซัดไป 140 กว่า ๆ แล้ว และ tag อีก 4 ตัว แต่บน sourceforge นี่เป็นตัวที่ทดสอบว่า ok แล้วคือ 0.1.3a นั้นเองครับ แต่ต้องมีการปรับปรุงอีกหลายส่วนครับ และยังไม่ได้ทำ documents มากนักครับ ตอนนี้คงได้แต่เอาไป review code มากกว่า ไม่ได้เอาไปใช้งานจริง ๆ แล้วเดี่ยวจะมีตัว demo ที่คาดว่าจะเอามาให้ดูเป็นตัวเอย่างพร้อม ๆ กับ documents ครับ ในตัว code นั้นบางส่วนไม่ได้เขียน docs comment และบางตัวยังไม่ได้ทำ test ครอบคลุมทุกด้านครับ
โดยผมจะทำ docs API ให้ด้วยครับ รออีกสักพักนึงนะครับ ไม่น่าเกิน 1-2 อาทิตย์นี้ หรือหลังสงกรานต์นี้แหละครับ คงได้ออก alpha ตัวเต็ม ๆ พร้อม docs API ที่ดีขึ้นกว่านี้เยอะครับ
สรุปคือตอนนี้มาบอกเฉย ๆ แหละครับว่าเอาขึ้น public แล้ว แหะ ๆ ๆ ;P

