ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ Alfresco

Alfresco Share กับ Error Too many open files

หากใครใช้ Alfresco Share บางที่จะพบว่า หากกดลิงค์ต่างๆ เร็วๆ ไปสักพักจะเจอหน้า Error ซึ่งจาก Error ที่หน้าเว็บฟ้องจะไม่บ่งบอกว่าเกิดอะไรขึ้น เพราะตัวเว็บนั้นจะเรียก Web Script จาก Alfresco RESTful WebService อีกทีนึง สาเหตุที่แท้จริงของ Error นี้คือ ตัว lucene ซึ่งเป็น Engine ที่ทำการ Index file แม้ว่าตัว lucene 2.0 จะแก้ให้เกิดปัญหานี้น้อยลงแล้วก็ตาม แต่เราก็ยังพบปัญหาอยู่ วิธีแก้ไข ให้เราไปเพิ่ม limit ของการเปิดไฟล์ให้มากขึ้น ตัวอย่างเช่นใน ubuntu ใช้คำสั่ง ulimit -n ด้วย user ที่รัน alfresco พบว่าค่าเริ่มต้นที่ระบบตั้งให้คือ 1024 ซึ่งไม่เพียงพอ ให้เราไปเพิ่มในไฟล์ /etc/security/limits.conf ดังนี้ <username> soft nofile 4096 <username> hard nofile 65536 สมมติว่าผมใช้ user เป็น seven ในการ login เข้า shell จึงเพิ่มเป็น seven soft nofile 4096 seven hard nofile 65536 ให้ทำการ logout และ login อีกรอบแล้วพิมพ์คำสั่ง ulimit -n อีกครัง จะพบว่าค่าที่ตอบกลับมาคือ 4096 ตามที่เราตั้งไว้ เป็นอันว่าเรียบร้อยแล้วสำหรับการแก้ปัญหาที่ error ไม่ทราบสาเหตุจาก alfresco s...

Alfresco กับ XForm

XForm นั้นเป็น Specification ที่น่าจะกลายเป็นมาตรฐานในอนาคตเนื่องจากเว็บต่างจำเป็นต้องใช้ Form ในการติดต่อกับผู้ใช้เป็นส่วนใหญ่ ส่วนตัว implement นั้นมีหลายตัวด้วยกันไว้ผมจะเอามาบอกในบทความต่อๆ ไป แต่คราวนี้เรามาดูใน Alfresco กันครับ ใน Version 3.2 นั้น Alfresco ได้เลือก Chiba ในเป็น Engine ในการจัดการกับ XForm ครับ แต่ก็นั่นแหละครับทำให้เราจำเป็นต้องลง virtual tomcat สำหรับรัน WCM (virtual tomcat คือ tomcat อีกตัวไว้สำหรับทำหน้าที่ติดต่อกับ user โดยทั่วไป หรือเรียกว่าเอาไว้เป็นหน้าด่านว่าเอกสารอะไรที่เราต้องการเผยแพร่เราก็สามารถ publish ไปยัง WCM ได้) ตอนนี้ orbeon (เป็น XForm engine อีกตัว) สามารถทำการเชื่อมต่อกับ Alfresco ได้แล้วต่อไปถ้าเราจะสร้าง XForm คงง่ายขึ้นเป็นกองเพราะ orbeon เป็น XForm server ที่ไว้สร้าง Form แบบ virtual เลย(ลากแปะๆ แนะนำให้ลองเข้าไปเล่น demo ของ orbeon ดูครับ น่าเล่นมาก) แต่ตัวนี้ผมยังไม่ได้ลองทำดูนะครับ พอดีค้นหาเจอเลยนำมาลง blog ไว้ก่อน ไว้ถ้าทดสอบแล้วได้ความว่าอย่างไรจะมารายงานอีกรอบ

Alfresco กับการ Search ภาษาไทย

เนื่องด้วยการ Search ถือเป็นหัวใจสำคัญของงาน ECM เลยก็ว่าได้ แต่ Alfresco ณ ปัจจุบันยังไม่รองรับการ Search ด้วยภาษาไทย แต่อย่างว่า Opensource เมื่อเรารู้ว่ามันใช้ Lucene เป็น engine ในการค้นหาเอกสาร เราก็เลยแงะไปยังตัว lucene เองพบว่ามีคนส่ง Patch ในการตัดคำไทย ไปให้กับ lucene เรียบร้อยแล้ว โดยคุณสัมพันธ์นั่นเอง วิธีการ Config ให้ Alfresco ตัดคำไทยได้ผมสรุปออกมาเป็นขั้นตอนได้ดังนี้ครับ ไปเพิ่ม Locale ให้ Alfresco รู้จัก ใน tomcat/shared/classes/alfresco/extension/web-client-config-custom.xml ตรง tag <languages> เพิ่ม <language locale="th_TH">Thai</language> เข้าไป directory: tomcat/webapps/alfresco/WEB-INF/classes/alfresco/model แล้วทำการ copy file dataTypeAnalyzers_fr.properties หรือไฟล์อื่นก็ได้ เปลี่ยนชื่อเป็น dataTypeAnalyzers_th.properties แล้วเปิดไฟล์ขึ้นมาแก้ไขให้เป็น d_dictionary.datatype.d_text.analyzer=org.apache.lucene.analysis.th.ThaiAnalyzer d_dictionary.datatype.d_content.analyzer=org.apache.lucene.analysis.th.ThaiAnalyzer หลังจากนั้นเมื่อทำการ...

Alfresco from source

การติดตั้ง Alfresco นั้นมีหลายวิธีด้วยกัน ผมขอแยกเป็นสามกรณีดังนี้ ติดตั้งจากตัว Installer ซึ่งวิธีนี้ถือว่าสะดวกที่สุดครับ เนื่องจากตัว Alfresco นั้นเตรียมเครื่องมือที่จำเป็นไว้ให้เกือบหมดแล้ว (บน Windows นี่ถือว่าพร้อมกับการทำงานทีเดียว ส่วนบน Unix จะต้องติดตั้ง MySQL ,Swf2PDF ImageMagick และ OOo - OpenOffice เองครับ เนื่องจากไม่สามารถรันได้แบบวินโดว์) ติดตั้งจากตัว Compiled Binary ซึ่งจะเป็นไฟล์ zip หรือ tarball ตามแต่ระบบปฏิบัติการ วิธีสุดท้ายเป็นวิธีที่ผมจะนำเสนอในตอนนี้คือการ Compile Source จาก SVN ครับ สองวิธีสุดท้ายนี้เราจำเป็นต้องหาพวก binary ของ third party มาลงเอง (แต่สำหรับ linux ไม่ว่าจะวิธีไหนเราก็ต้องหามาลงเองครับ) เราสามารถ Check out Source จาก repository จาก Alfresco ได้หลายวิธีไม่ว่าจะ Check out จาก Eclipse โดยผ่าน Subclipse หรือ Netbeans หรือแม้กระทั่ง SVN command line ก็สามารถทำได้ ในที่นี้ผมจะขอเลือกใช้แบบ Command line ซึ่งเป็นวิธีที่สะดวกที่สุด เพราะมีมาให้กับ linux อยู่แล้วหรือหากใครใช้ Windows อยู่ ผมขอแนะนำให้ติดตั้ง SlikSVN 1.5.x เนื่องจากขั้นตอน build นั้นจำ...

Alfresco Community Edition 3.2

เพิ่งออกมาได้ไม่นานกับ v. 3.2 ครับ ก่อนหน้านี้ลองเล่นแบบ Preview มาก็ถือว่าดีครับ ปรับเปลี่ยนโครงสร้างจาก 3.0 Stable พอสมควร ส่วนที่แตกต่างออกไปจากเดิมคือ รองรับการเข้าใช้งานผ่านมือถือมากขึ้น สามารถเข้าได้จากทาง http:// :8080/mobile/p ครับ ปรับปรุงการทำงานของ Document Management และทำงานเกี่ยวกับ Email ให้ดีขึ้น สนับสนุน CMIS version 0.61 Specification Draft คือ Protocol ที่ทำงานผ่าน Web Service เป็นส่วนใหญ่ครับ เอาไว้สำหรับแลกเปลี่ยนเอกสารกันได้ มีหลายตัวที่เข้าร่วมครับ อาทิเช่น Joomla, Alfresco, SharePoint ซึ่งแต่ละเจ้าถือว่าไม่ธรรมดาเลยครับ และนอกจากนี้ยังสามารถติดต่อกับ IMAP ได้อีกด้วย ทำให้สามารถเก็บ Email เข้า Repository ของ Alfresco ได้ง่ายยิ่งขึ้น และยังสามารถทำ Full Text search ได้อีกด้วย มีการใช้ alfresco-globals.properties เข้ามาใช้งานแทนการ config แยกไฟล์แบบเดิม ซึ่งจุดนี้เองต้องยกความดีความงามให้ Spring Framework ครับ มีระบบ Form แบบใหม่ที่ใช้งานง่ายขึ้น ปรับปรุง Alfresco Share ให้ดียิ่งขึ้น เทียบชั้นกับ SharePoint ได้ดีขึ้น สามารถดู Features ของ Alfresco Share 3.2 ได้ตา...

Alfresco ECM

ความแตกต่างของ ECM(Enterprise Content Management) กับ CMS(Content Management System) อาจดูแล้วคล้ายๆ กัน แต่มันแตกต่างกันอย่างไร ตัว CMS นั้นมีไว้สำหรับจัดการ Content ที่เหมาะกับการแสดงให้เห็นแบบ Public ส่วน ECM นั้นจะเน้นการใช้งานเกี่ยวกับการจัดการเอกสารภายในองค์กร โดยที่เราก็สามารถแสดงให้บุคคลนอกเห็นได้ด้วยเช่นกัน Alfresco เป็น ECM ตัวนึงที่ผมกำลังศึกษาอยู่ โดยตัวผู้บริหารนั้นเป็นคนเดียวกับที่เป็นผู้บริหารของ Documentum เพราะฉะนั้นการันตีได้ว่า Alfresco นั้นสามารถใช้งานในองค์กรได้อย่างดี และข้อดีอีกอย่างของ Alfresco คือเป็น Opensource ครับ เนื่องจากเปิด Source ทำให้เราสามารถแก้ไขฟังก์ชั่นการทำงานต่างๆ ได้ดี ตัวระบบของ Alfresco นั้นพัฒนามาจาก Spring และ JSF เป็นหลัง โดยสนับสนุน RESTful หรือ Web Service เป็นส่วนใหญ่ นอกจากนี้เรายังสามารถเขียน JavaScript เพื่อทำงานแบบ RESTful ได้อีกตัว โดยตัว JavaScript นั้นรันอยู่บน Rhino Runtime ซึ่งเป็น Engine ของ JavaScript บนฝั่ง Server การ Config ส่วนใหญ่จะอยู่ในรูปของ XML เพราะเป็นส่วนการประกาศ Bean ของ Spring นั่นเอง ทำให้เราสามารถทำการ Override...