มา Modify Osticket กันเถอะ
Posted by ejeepss on ตุลาคม 9th, 2008
หลังจากที่ผมได้แนะนำวิธีการลง OsTicket ไปแล้ว *คลิ๊กที่นี่
คราวนี้มาดูกันดีกว่า ครับ ว่า OsTicket ที่เป็น OpenSource นั้น มีความสามารถแค่ไหน ฟังก์ชั่นการทำงานเพียงพอกับความต้องการของเราหรือไม่ .. และหากจะนำมาปรับปรุงให้เข้ากับงานของเรานั้น ยุ่งยากมากไป .. มาลุยกันเลย
ก่อนอื่น เราต้องเข้าใจภาพรวมของ OsTicket ก่อน
หมายเหตุ
- สร้าง WebSite และติดตั้ง OsTicket ไว้ที่ URL: ticket.myweb.com
- สร้าง Email ไว้สำหรับให้ลูกค้าเปิด Ticket ทาง EMail ที่ ticket@myweb.com
อธิบายภาพรวมแต่ละหัวข้อ
- ลูกค้าเปิด Ticket ทาง Website โดยเข้า Website : http://ticket.myweb.com ป้อนความต้องการ เช่น เปิด-ปิด Server หรือ เปิด-ปิด Port เป็นต้น รวมทั้งสามารถ Attachment ไฟล์ได้ เมื่อได้รับข้อมูลเรียบร้อยแล้ว จะจัดส่งหมายเลข Ticket ไปทาง Mail ที่ได้แจ้งไว้ พร้อมทั้งวิธีการการดูรายละเอียด Ticket
เงื่อนไข
* ไฟล์ที่ Attachment นั้น ต้องมีนามสกุล .pdf หรือ .jpg ที่มีขนาดไฟล์ไม่เกิน 1 Mb เท่านั้น - ลกค้าเปิด Ticket ผ่านทาง Mail โดย Mail มายัง ticket@myweb.com ระบบจะเปิด Ticket จะเปิให้โดยอัตโนมัติ และจะส่ง Mail ไปให้ผู้ส่ง โดยแจ้งหมายเลข Ticket พร้อมทั้งวิธีการเข้าไปดูรายละเอียด Ticket
เงื่อนไข
* Ticket จะถูกเปิดให้อัตโนมัติภายใน 3 นาที สำหรับลูกค้าที่มี Email ที่ได้ลงทะเบียนไว้เท่านั้น
* Mail ที่จัดส่งนั้นจะต้อง Encoding ด้วย Font ที่เป็น UTF-8 เท่านั้น
* ไฟล์ที่ Attachment นั้น
- ต้องมีนามสกุล .pdf หรือ .jpg เท่านั้น
- ขนาดไฟล์ไม่เกิน 1 Mb
- สามารถ Attatch ได้หลายไฟล์
- ชื่อ Directory และชื่อไฟล์ จะต้องไม่มีภาษาไทย - หากเปิด Ticket โดยใช่ช่องทาง Mail ระบบ CAT-IDC Ticket จะเปิดให้ช้าสุดภายใน 3 นาที นับจาก Mail ได้อยู่ใน Mail Box : ticket@myweb.com แล้ว
- ระบบจะเปิด Ticket ให้โดยอัตโนมัต โดยจะส่ง Mail ไปแจ้งเจ้าหน้าที่ที่รับผิดชอบตามแต่ละหัวข้อที่ได้กำหนดไว้
- เมื่อลูกค้าได้เปิด Ticket ตามหัวข้อ 1 และ 2 แล้ว ระบบจะ Mail กลับไปยัง Email ของลูกค้าที่แจ้ง ทันที โดยในเนื้อหา Mail จะแจ้งหมายเลข Ticket และ URL ที่สำหรับให้ท่านตรวจสอบสถานะของ Ticket ได้
- ลูกค้าสามารถเข้ามาตรวจสอบสถานการณ์แก้ไขปัญหาของ Ticket ของท่านออนไลน์ได้ตลอดเวลา โดยสามารถตรวจสอบได้ทุก Ticket ที่ท่านเปิด และสามารถเปิด Ticket ใหม่จากจุดนี้โดยไม่ต้องกรอกข้อมูลส่วนตัวใหม่ เหมือนในข้อที่ 1
* แนะนำให้เปิด Ticket ใหม่จากข้อนี้ หากท่านได้เคยเปิดไว้แล้ว
ขั้นตอนต่าง ๆ เป็นขั้นตอนที่จะเกิดขึ้นเมื่อท่านใช้ OsTicket แบบ Default คือลงปุ๊ป Config นิดหน่อย แล้วเปิดใช้งานเลย จะได้ฟังก์ชั่นประมาณที่ได้กล่าวไว้ ซึ่งหากท่านต้องการ Modify ก็เพียงไล่ Code เล็กน้อย ก็สามารถแก้ไขได้แล้ว Source code ไม่ซับซ้อนมากนัก ไม่เหมือนบาง OpenSource เป็นมหากาพย์ เลย .. ยาวมาก …
หากท่านจะนำ OsTicket ไปใช้งาน ท่านจะต้องพบปัญหาขั้นตอนดังนี้
- ไม่สนับสนุนภาษาไทย
- ส่ง Mail ไม่ได้
- ไม่สามารถ Attachment ไฟล์ได้ ทั้งในการเปิดทาง Web Site และ Email
วิธีการแก้ไข
- ไม่สนับสนุนภาษาไทย
- แก้ไข /upload/setup/osticket.sql โดยเพิ่มการ Encoding UTF-8 ในระดับ Table

- แก้ไข /include/mysql.php ใน Function db_query, db_connect 
- ส่ง Mail ไม่ได้
- เปลี่ยน Function การส่ง Mail โดยใช้ PHPmailer แทน download ที่นี่
http://phpmailer.codeworxtech.com/index.php?pg=sf&p=dl
- เอาไฟล์ class.phpmailer.php และ class.smtp.php ไปวางไว้ที่ \include
- แก้ไข \include\class.misc.php เปลี่ยนรูปแบบการส่ง Mail โดยแทนที่ ด้วย phpmailer แทนดังภาพ

- ไม่สามารถ Attachment ไฟล์ได้ ทั้งในการเปิดทาง Web Site และ Email
- ปัญหาอยู่ที่ OsTicket แบ่งการใช้งานของผู้ใช้ได้ 2 กลุ่มคือ
- ลูกค้า
- Staff ใช้ Directory “/scp”
ซึ่งอยู่คนละ Directory กัน จึงทำให้เวลา ที่จะ Attachment นั้น ทำให้หา Directory ไม่เจอ วิธีการแก้คือ ให้ไปเพิ่ม Directory สำหรับ Upload ที่ถูกต้องใน /include/class.ticket.php ใน Function uploadAttachment(xx) โดยอย่าลืมให้ตรวจสอบนะครับ ว่า Directory ที่ไว้สำหรับ Staff ไว้ที่ไหน * แต่เพื่อ Security ที่ดีขึ้น ควรเปลี่ยน Directory นี้เป็นชื่ออื่น จึงทำให้ต้องปรับเปลี่ยนไปด้วย อาจใช้เทคนิค สร้าง Constant หรือไปเก็บใน DB ก็สุดแล้วแต่ครับ
ทั้งหมดนี้ เป็นปัญหาที่จะพบเบื้องต้นสำหรับการ Modify OsTicket ในเบื้องต้นครับ แต่หากนำไปประยุกต์ใช้กับงานจริงๆ อาจมีเงื่อนไขอื่นที่เพิ่มครับ เช่น เพิ่มการตรวจสอบว่าเป็นลูกค้าจริงๆ หรือไม่ (*สำคัญนะครับ ไม่เช่นนั้น อาจโดน SPAM ได้ครับ)
ลอง Modify ดูครับ ผมว่า OsTicket เป็นโปรแกรมประเภท Ticket ที่ใช้งานได้ดีพอควร ฟังก์ชั่นครบถ้วน แถมฟรีอีกต่างหาก หากท่านไปซื้อโปรแกรมประเภท Ticket จริงอยู่ครับ ฟังก์ชั่นการทำงานเต็มรูปแบบ Graphic สวยงาม แต่แลกมาด้วยค่า Licence ที่แพง และที่สำคัญ Modify แทบไม่ได้เลย แค่จะเปลี่ยนหน้าตา บาง Software ยังยากเลย เพราะไม่รู้จะเปลี่ยนตรงไหน
สรุป OsTicket เป็น OpenSource ตัวหนึ่งที่น่าสนใจ ครับ หวังว่าอาจคงพอเห็นเป็นแนวทางในการ Modify บ้างนะครับ ส่วนเรื่องความปลอดภัยนั้น ทดสอบหาช่องโหว่ ด้วย Tools ชั้นนำ พบเพียงเล็กน้อย ซึ่งยังอยู่ในระดับปลอดภัยที่สามารถนำมาใช้งานได้ อย่างสบายใจ
ขอให้โชคดีครับ
Reference:
- OsTicket : http://www.osticket.com/
