เนื่องจากที่ทำงานมีห้องเยอะมาก แล้วต้องมีการจองไว้ให้ลูกค้าเข้ามาใช้
ปัจจุบันใช้เป็นไฟล์ excel (ไฟล์ออฟฟิศสารพัดประโยชน์)
เพิ่มลบกันกระหน่ำ ระบายสีกันให้พรึ่ด
แล้วต้องแชร์ไฟล์กัน แย่งกันเปิดวุ่นวายมาก
ใช้งานไม่ค่อยสะดวกเท่าไหร่ แถมแฮงบ่อยอีกต่างหาก
เลยจะลองเปลี่ยนเป็น web base ดูบ้าง
ไปหาดูโปรเจ็คใน SourceForge.net ค้นว่า “room booking”
ก็เจออยู่หลายตัว แต่ตัวที่น่าสนใจที่สุดก็คืออันนี้
Meeting Room Booking System (MRBS)
ล่าสุดเป็นเวอร์ชั่น 1.2.3 ออกมาได้เกือบปีนึงแล้ว
เห็นว่าเป็น php คิดว่าน่าจะแก้ไขปรับปรุงได้ง่ายและเร็วที่สุด
และที่สำคัญ จำนวนดาวน์โหลดมันเยอะดี แปลว่าค่อนข้างเป็นที่นิยม
ของเค้าคงดีจริง ก็เลยเอาปลอดภัยไว้ก่อน
วิธีติดตั้งก็ไม่ยาก ผู้พัฒนาเค้าเขียนเอกสารประกอบมาค่อนข้างละเอียด
ก็ทำตามนั้นได้เลย
อันดับแรกก็แตก zip file ลงไปวางไว้บน web server
ผมทำเป็น virtual host เลยต้องไปแก้ httpd.conf ของ Apache นิดหน่อย
เซิร์ฟเวอร์เดียววางมันซะเจ็ดแปดเวบ อาศัย user น้อย มันคงไม่ล่ม
ต่อไปก็สร้าง db ใน mySql ขึ้นมาก้อนนึง ตั้งชื่อว่า mrbs
เอา script ที่เค้าให้มา (tables.my.sql) รันไปปื้ดนึง ก็ได้ table มาเรียบร้อย
เค้ามี sample-data.sql มาให้ด้วย ดีมากเลย ไม่ต้องคิดเอง
(ถ้าใครใช้ PostgreSql ก็ใช้สคริปต์ในไฟล์ tables.pg.sql แทน)
แค่นี้ก็เสร็จเรียบร้อย ถ้าไม่มีอะไรผิดพลาด ก็ใส่ url ตามโดเมนที่เราตั้งไว้
มันควรจะแสดงผลออกมาได้คล้ายๆ ในรูปข้างบน
จากนั้นก็จะปรับแต่งอะไรก็ตามสะดวก
เริ่มที่ไฟล์ config.inc.php อ่านไปแก้ไปได้เลย
มีรายละเอียดและตัวอย่างให้ชัดเจน
ส่วนมากเป็นพวกค่าคงที่ทั้งหลาย ส่วนของ db ถ้าใช้ mySql อยู่แล้วก็ไม่ต้องแก้อะไร
ส่วนพวกตัวแปร $mrbs_admin
$mrbs_admin_email
$mrbs_company
ก็แก้เอาตามความต้องการ
ต่อไปเรื่อง user ถ้าตามค่า default ของโปรแกรม ตรง $auth[“type”] = “config”;
เป็นการเขียน user/pwd ลงไปแบบ hard code ใน config.inc.php
ถ้าไม่ซีเรียสอะไร วิธีนี้ก็สะดวกดี แต่ไม่ค่อยปลอดภัย
จะเห็นว่าเค้าใส่ user/pwd มาให้แล้ว 3 user คือ
administrator/secret
alice/a
bob/b
ถ้าอ่านในไฟล์ AUTHENTICATION จะทราบว่า
user จะมี 3 level คือ
Unknown user
Authenticated user
Administrator
ถ้าเป็น unknow ก็ดูได้หมดว่าห้องไหนใครจอง แต่แก้ไขไม่ได้
authen ก็จะดูได้หมด แต่แก้ได้เฉพาะของตัวเอง
admin ก็ทำได้ทุกอย่างตามระเบียบ
โปรแกรมทำไว้ค่อนข้างดี ทำให้ยืดหยุ่นในการเลือกใช้ระบบ log in มาก
นอกจากจะ hard code ตรงๆ แล้วก็ยังไปลิงค์ใช้กับระบบ user/pwd อื่นได้
อาทิ db, external db, pop3, imap, ldap ฯลฯ
ผมเลือกตามหลักสากลนิยมคือ db ก็จัดการแก้
$auth[“type”] เปลี่ยนจาก “config” เป็น “db” ซะ
แล้วก็ log in เข้าไปด้วย administrator/secret ก่อน
กดเข้าไปที่ลิงค์ User list ระบบจะสร้างตาราง users ให้เราสามารถ add user เข้าไปได้
ให้ add user administrator เป็นคนแรก จากนั้นก็ตามใจเลยครับ
แล้วกลับไป comment ที่บรรทัด $auth[“user”] ใน config.inc.php ให้หมด
เราก็จะใช้ user/pwd จาก db อย่างเดียว
กลับมาดูที่หน้าตาโปรแกรม จะเห็นว่าช่วงเวลาที่กำหนดมาให้เป็นช่วงละ 30 นาที
ตั้งแต่ 7 โมงเช้าถึง 1 ทุ่ม ถ้าอยากได้มากน้อยกว่านี้ก็ไปแก้ที่ config.inc.php ที่ตัวแปร
$resolution = 1800; อันนี้เท่ากับ 30 นาที
$morningstarts = 7; เริ่ม 7 โมงเช้า
$eveningends = 19; สิ้นสุดที่ 1 ทุ่ม
ต่อไปมาดูที่ระบบภาษา โปรแกรมเตรียมภาษาและคำแปลมาให้มากมาย
และแน่นอน ภาษาไทย…มันจะไม่มี!!!
ค่าเริ่มต้นมันจะไปที่ lang.en คือภาษาอังกฤษ เราก็จัดการ copy lang.en เป็น lang.th ซะ
แล้วก็ปรับปรุงแก้ไข lang.th ตามใจชอบเลย แปลให้มันตรงๆ ก็แล้วกัน
แล้วกลับไปแก้ที่ config.inc.php ตรง
$default_language_tokens แก้จาก “en” เป็น “th”
$disable_automatic_language_changing แก้จาก 0 เป็น 1
เป็นอันเสร็จพิธี ต่อไปก็เหลือการทดลองใช้งานให้คล่องก็เรียบร้อย…
อัพเดท (12 Aug. 2008): ช่วงนี้มีคน google เข้ามาเจอหน้านี้บ่อย
แล้วมีปัญหาในการใช้งาน มาโพสถามผม ซึ่งต้องขออภัยจริงๆ ที่หลายๆ กรณีผมช่วยตอบ
หรือแก้ปัญหาให้ไม่ได้ เนื่องจากบล็อกนี้ผมเขียนขึ้นเป็นบันทึกช่วยจำของตัวเองเมื่อกว่า 2 ปีก่อน
ซึ่งทำตามวิธีของตัวเอง สภาพแวดล้อมของตัวเอง ซึ่งถ้าใครอ่านแล้วทำตามได้ก็ยินดีด้วยครับ
ส่วนถ้าติดปัญหา ผมก็จนปัญญาเหมือนกันครับ
วิธีที่ดีที่สุดคือ RTFM