okvee web starter kit ได้ปรับแต่งโค้ดใหม่ทั้งหมด เพิ่มประสิทธิภาพ ความเร็ว และฟังก์ชั่นเพิ่มอีกหลายอย่าง. ได้เปลี่ยนเป็น version 1.0 และเปลี่ยนมาใช้ชื่อใหม่ สั้นๆ "okvee Web start"
web start นี้ไม่ใช่ระบบจัดการเนื้อหา เนื่องจากมันไม่มีแม้กระทั่งการจัดการบทความ, เนื้อหา จะมีก็เพียงตัวอย่าง blog ซึ่งช่วยให้เห็นภาพการทำงานกับ Modular extensions.
web start นี้ ไม่ใช่ framework เนื่องจากมันสร้างบน Codeigniter php framework.
มันจึงเป็นชุดเริ่มต้น ที่เหมาะสำหรับคนที่ต้องการเริ่มโปรเจ็คใหม่ๆอย่างรวดเร็ว เพราะมีส่วนประกอบที่สำคัญในการเริ่มต้นมาให้พร้อมใช้
web start นี้เหมาะสำหรับใคร?
เหมาะสำหรับผู้ที่พอจะมีประสบการณ์เขียนโค้ดบน Codeigniter อยู่บ้างหรือจนถึงระดับที่ชำนาญ และพอจะเข้าใจการทำงานด้วย Modular extensions
มีอะไรในนี้บ้าง?
มีระบบ admin ที่พร้อมใช้งานเต็มประสิทธิภาพ.
มีระบบจัดการ account ซึ่งสามารถ เพิ่ม แก้ไข ลบ บัญชีผู้ใช้ได้ อีกทั้งมีความปลอดภัยครบ ป้องกันการลบหรือแก้ไขข้ามระดับ.
มีระบบจัดการหน้าที่ของยัญชีผู้ใช้ เช่น Super administrator, Administrator, Member
มีระบบจัดการ การอนุญาต ที่กำหนดได้อย่างละเอียดยิบ และรองรับในส่วนของงานที่คุณจะทำเพิ่มเข้ามา.
มีระบบจัดการ configuration พื้นฐานผ่านหน้าเว็บ.
ความต้องการของระบบ
Codeigniter 2.x (มีมาด้วยแล้ว)
Modular extensions 5.x (มีมาด้วยแล้ว)
Php 5.2 - 5.3
Mysql 5
Download
ตั้งแต่ version 0.2b เป็นต้นไป จะสนับสนุนการใช้งานกับ php 5.3 โดยจะไม่แพคการปรับแก้ไขสำหรับ php5.2 มาให้
ดาวน์โหลด version 1.0
1.0 ปรับแก้โค้ดใหม่ทั้งหมด เพิ่มฟังก์ชั่นการทำงานหลายๆส่วน
0.2b อัปเดทไปใช้ Codeigniter 2.1.0 ซึ่งจะมีปัญหากับการ upload ไม่ได้ ให้เปลี่ยนมาใช้ php 5.3
0.3b แก้ไข MY_Email library error.
0.1.1b แก้ไขตัวอย่างของหน้าแรกให้ดูดีและใช้ load view รวมทั้งตัวอย่างการดึงโมดูลบล็อก เต็มรูปแบบ.
0.1.3b แก้ไขข้อบกพร่องบางจุด และเพิ่ม core language เพื่อให้แสดงภาษาแม้ไม่ได้ทำคำแปลไว้ หากจะทำการอัปเดท ขอให้ทำการ compare ไฟล์ต่างๆก่อน หากมีส่วนใดที่เพิ่มเติมค่อยคัดลอกส่วนนั้นทับเข้าไป
0.1.4b อัปเดทไปใช้ Codeigniter 2.0.3 ที่ออกเมื่อ 20 สิงหาคม 2554
0.1.6b แก้บั๊กบางส่วนเกี่ยวกับการเปลี่ยนรหัสผ่านของผู้ใช้, เพิ่ม mime, และปรับปรุงการทำงานบางอย่างของ module.
License
สามารถ นำไปใช้ได้ฟรี ไม่ว่าจะสำหรับศึกษา, ใช้ส่วนตัว, ใช้ในงาน commercial, ใช้พัฒนาโค้ดแล้วนำโค้ดที่พัฒนาไปขาย (commercial) ล้วนทำได้อย่างเสรีทั้งสิ้น
ห้ามลบ copy right ในโค้ดต่างๆที่มีอยู่เดิม เช่น @author @copyright
สามารถนำโค้ดชุดนี้ไปทำซ้ำ แจกจ่ายได้ ฟรี
การติดตั้ง
- แตกไฟล์ออกมาไว้ที่ folder ที่จะติดตั้ง
- สร้าง ฐานข้อมูลขึ้นมา เช่น ชื่อ v_ws แล้วกำหนดรายละเอียดชื่อฐานข้อมูล username+password ฐานข้อมูลลงในไฟล์ application/config/database.php
- import ไฟล์ .sql เข้าไปในฐานข้อมูล โดยเลือกเอาว่าจะติดตั้งแบบเปล่าๆหรือติดตั้งพร้อมข้อมูลตัวอย่าง ของโมดูลตัวอย่าง 'blog' หากติดตั้งแบบสะอาดให้เลือกไฟล์ okv-ws-freshclean-install.sql, หากติดตั้งพร้อมข้อมูลตัวอย่างเลือก okv-ws-simpledata-install.sql
- กำหนดค่า config ต่างๆของ codeigniter ใน application/config/ โดยเลือกเปิดดูและกำหนดแก้ไขตามต้องการ เช่น config.php, email.php, website.php
- แก้ permission ที่ folder client/avatar ให้สามารถ write ได้ หรือหากเป็นพวก unix ให้ chmod 0777
ทดลองเปิดเว็บ http://localhost/ หรือ folder ที่ติดตั้ง เช่น http://localhost/ws
หากการแสดงผลเป็นปกติไม่มี error ใดๆ ให้ลองคลิกที่ Site admin
กรอก admin ในช่อง username, กรอก pass ในช่อง password
หากเข้ามาสู่หน้า admin เรียบร้อยดีไม่มี error ใด แสดงว่าคุณติดตั้งถูกต้องแล้ว พร้อมทำงานได้เลย
หากมั่นใจว่าติดตั้งถูกต้องแล้วแต่ไม่ได้ผล มี error เกิดขึ้น คุณอาจต้องหาผู้รู้มาช่วยแก้ไข error ต่างๆ หรือโพสต์ไว้ใน comment ด้านล่างนี้ก็ได้
การเขียนงาน
การเริ่มต้นเขียนงานนั้น คุณสามารถเลือกได้ว่าจะทำแบบเขียนไปใน folder หลักของ Codeigniter เลยก็ได้ หรือทำใน folder module ของ Modular extensions ก็ได้
สำหรับ folder module ของ Modular extensions ผมได้ย้ายออกมาอยู่ที่ด้านนอก ระดับเดียวกับ folder application, client, system
การเขียนบน Codeigniter application
ในทุกไฟล์ใน site-admin controller ควร extends admin_controller แทนที่จะใช้ CI_Controller หรือ MX_Controller เหมือนปกติ แต่ใน controller ที่ไม่ได้อยู่ใน site-admin แนะให้ใช้ extends MX_Controller
และควรกำหนด method _define_permission()
ในทุก controller ภายใน site-admin โดยขอให้ดูอ้างอิงจาก controller site-admin/login.php; ตรง permission_page และ action1, action2 ควรกำหนดให้สามารถดึงไฟล์ภาษามาแปลได้ อย่างเช่น account_admin_login ไฟล์แปลจะอยู่ใน language/thai/account_lang.php
การเขียนบน Module application
ในทุกไฟล์ของหน้า admin controller ควร extends admin_controller แทนที่จะใช้ CI_Controller หรือ MX_Controller เหมือนปกติ แต่ใน controller ที่ไม่ได้อยู่ใน site-admin แนะให้ใช้ extends MX_Controller
การกำหนด method _define_permission()
จะต่างจาก Codeigniter application หลัก เพราะควรจะกำหนดในไฟล์ ชื่อโมดูล_admin.php
เช่น โมดูล blog ก็ตั้งชื่อไฟล์ใน controller ว่า blog_admin.php แล้วกำหนด method _define_permission()
ในนี้
นอกจากนี้ควรกำหนด method admin_nav()
ในไฟล์ ชื่อโมดูล_admin.php ด้วย เพื่อให้หน้าหลัก site-admin สามารถทำลิ้งค์มาที่หน้าจัดการโมดูลนี้ได้
ตัวอย่างการเขียน method admin_nav()
ขอให้ดูจาก blog module, page module
ทั้ง นี้ขอให้ลองศึกษาทำความเข้าใจโครงสร้าง folder ที่ทำงานใน Modular extensions จาก module blog เสียก่อน โดยเฉพาะโมดูล blog จะมีตัวอย่างครบถ้วน
การเช็ค permission ใน site-admin
ให้ใช้โค้ดนี้
if ( $this->account_model->check_admin_permission("blog_admin", "blog_add_post") == false ) {redirect( 'site-admin' );}
โดย attribute แรกคือ page_name และตามด้วย action ที่ได้กำหนดไว้ใน _define_permission()
สำหรับเวอร์ชั่นก่อน 1.0 ให้ใช้โค้ดนี้
if ( $this->account_model->check_admin_permission("", "blog_admin", "blog_add_post") == false ) {redirect($this->uri->segment(1));}
โดย attribute แรกคือ account_id และตามด้วย page_name, action ที่ได้กำหนดไว้ใน _define_permission()
หากพบข้อบกพร่องใดๆ โปรดแจ้งผ่านทาง comment ด้านล่างนี้.