Aug 24, 2009
JoomlaDay Bangkok 2009!!
Alfresco กับ XForm
Alfresco กับการ Search ภาษาไทย
- ไปเพิ่ม 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
- หลังจากนั้นเมื่อทำการ login ให้เลือก language เป็น Thai
หนังสือ Opensource แจกฟรี Gimp และ Blender
แจกหนังสือ Ebook เล่มใหม่ฟรี สนับสนุนโดย Sipa จัดทำโดยบริษัท Success Media ครับ
- Gimp เป็นโปรแกรมไว้ตกแต่งรูปสามารถใช้ทดแทน Photoshop ได้
- Blender 3D เป็นโปรแกรมที่ไว้สำหรับสร้าง Model 3D เทียบได้กับ 3DS Max ครับ
โหลดหนังสือทั้งสองเล่มได้จากลิงค์ข้างล่างเลยครับ
Aug 16, 2009
เรื่องวุ่นๆ ของ HTML 5.0
Vim vs Emacs on Ubuntu Linux
sudo apt-get install vim
- เป็นแบบ modes คือต้องเลือกว่าจะอยู่ในโหมดแก้ไขหรือว่าโหมดปกติ โหมดแก้ไขก็ได้แก่ i, a, bla bla blah โหลดปกติก็คือกด Esc ออกมา
- ข้อดีเร็ว ( สมัยตอนที่ยังเป็น Vi นะครับ)
- ข้อเสียคือสับสนว่าตอนนี้อยู่ในโหมดไหน
- เป็นแบบ modeless ถ้าใครนึกภาพไม่ออกก็พวกโปรแกรมแบบ GUI ทั่วไปก็เป็นแบบ modeless เสียเป็นส่วนใหญ่เช่น MS Word คือเราสามารถพิมพ์ข้อความลงไปได้เลย เมื่อต้องการจะใช้คำสั่งอะไรก็กด Ctrl+
เอาแทน - ข้อดีคือไม่สับสนว่าอยู่ในโหมดไหน
- ข้อเสียคือเมื่อต้องการผสมคำสั่งเยอะๆ จะจำได้ไม่หมดเช่น C-x C-c อันนี้แค่คำสั่งเดียวแต่ต้องกดทั้ง Ctrl+x กับ Ctrl+c ถึงจะออกจากโหมดได้
Jul 25, 2009
รำคาญ Ads ใน hi5 มั้ย?

Jul 24, 2009
Alfresco from source
- ติดตั้งจากตัว 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 นั้นจำเป็นต้องใช้ svnant ในการ build และตัว lib ของ svnant นั้นจะเรียกใช้ SVN 1.5.x เท่านั้น หากใช้ version 1.6.x นั้นจะทำให้เกิด error ขึ้นตอน build file continuous.xml ครับ
ขั้นแรกให้ check out source ออกมาก่อน
svn co svn://svn.alfresco.com/alfresco/HEAD/root "Alfresco Source"
อธิบายคำสั่งของ svn
- co คือ checkout ครับ
- svn://svn.alfresco.com/alfresco/HEAD เป็น repository ครับ ส่วน root นั้นเป็น directory ของ project ครับ ซึ่งจะเป็นตัว source code ทั้งหมดของ project ส่วน "Alfresco Source" นั้นเป็นการตั้งชื่อให้กับ Directory ในเครื่องเราครับ หากเราไม่ใส่เราจะได้ Directory ชื่อ root มาแทน
ปล. svn:// protocal นั้นจะใช้ port 3690 หากใครโดน block port นี้ไว้ ก็ให้ใช้
svn co http://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD แทนได้ครับ ให้เติม root ต่อท้ายด้วยก็ดีครับ
ปล2. Alfresco Community Edition 3.2 นั้น revision จะอยู่ที่ 15070 ให้เราใส่ parameter ไปด้วยเป็น -r 15070
svn co svn://svn.alfresco.com/alfresco/HEAD/root "Alfresco Source" -r 15070
หลังจากได้ code มาแล้วให้เราเซ็ท environment variable สามตัวหลักที่ต้องใช้คือ
- TOMCAT_HOME
- APP_TOMCAT_HOME
- VIRTUAL_TOMCAT_HOME
ใน Windows เซ็ทโดยไปที่ Control Panel > System > Advanced > Environment Variables
ใน User Variable > New > Variable Name: TOMCAT_HOME > Variable Value:
ใน Linux ให้ set ดังนี้
export TOMCAT_HOME=
ต่อไปเราจะเริ่ม build ให้เราลง ant ในระบบก่อน ในที่นี้สมมติว่าทุกคนลงเรียบร้อยแล้ว หากยังเอาไว้ผมจะเขียนขั้นตอนการลงไว้ให้ครับ สามารถดูที่ tag how to หรือ search เอาก็ได้ครับ
ให้เราเริ่ม ant build ใน folder Alfresco Source (ชื่อที่เราตั้งไว้ให้ หากไม่ได้ตั้งชื่อไว้ให้จะเป็น HEAD/root หรือ root แล้วแต่ท่านลงไว้ครับ
ant -f build.xml build-tomcat หรือ ant เฉยๆ
อธิบายคำสั่ง ant -f คือ file build ของ target ต่างๆ ที่เราเขียนไว้ คล้ายๆ make file ของ gnu ครับ build-tomcat คือ target ของ build หากไม่ใส่ไว้ตัว default จะเซ็ทไว้ที่ build-tomcat อยู่แล้ว โดยสามารถเข้าไปดูได้ที่ไฟล์ build.xml ครับ
เมื่อเสร็จแล้วเราจะได้ file ต่างๆ ใน folder ตาม TOMCAT_HOME ครับ ซึ่งจะพบว่ามีไฟล์ alfresco.war และ shared.war อยู่ใน directory tomcat/webapps ครับ จากนี้เราสามารถรัน tomcat ได้แล้วครับ ตัว tomcat จะ deploy webapps เราให้อัตโนมัติครับ
หากใครรันบน Windows แล้วไม่ผ่านให้ไปเปลี่ยน Locale ใน Control Panel > Regional and Language ก่อนครับ ให้เป็น en (en_US, en_EN)ครับเนื่องจากตัว Quartz (Job Schedule คล้ายๆ กับ crontab ใน unix ครับ) จะใช้ค่าแบบ locale เป็น en ครับ หากเจอภาษาไทยเข้าไปมันจะเอ๋อครับ
หลังจากนั้นก็ให้เข้า http://localhost:8080/alfresco หรือ http://localhost:8080/share ได้เลยครับ
ตัว share นั้นจะเปรียบได้กับ sharepoint ของ Microsoft เลยทีเดียว
สามารถดูเพิ่มเติมเกี่ยวกับการ build ได้ที่ Alfresco SVN Development Environment
Jul 21, 2009
ติดตั้ง SVN Server บน CentOS (ตอนหนึ่ง)
- Trunk เป็นส่วน Core ของโปรเจ็ค หรือเรียกง่ายๆ ว่าอะไรที่ Stable แล้วเราจะใส่ไว้ในส่วนนี้
- Branch เป็นส่วนที่เป็น Feature ที่เราจะทำการเพิ่มเติมขึ้นมา ส่วนใหญ่เมื่อผ่านพ้นช่วงทดสอบต่างๆ และเป็นที่ยอมรับของทีมแล้ว เราก็จะนำเข้าไปไว้ใน Trunk
- Tags จะเป็นตัวแบ่งเวอร์ชั่นออกจากกันเช่นเมื่อเราออกเวอร์ชั่น Stable แล้วเราก็จะ copy มาใส่ไว้ใน Tags เพื่อที่จะได้มีหลายเวอร์ชั่นให้ผู้พัฒนาได้เลือก
เริ่มการติดตั้ง SVN Server บน CentOS กันดีกว่าครับ ใช้เครื่องมือที่เราคุ้นเคยกันดี
ซึ่ง chkconfig จะทำให้ตัว httpd server เริ่มต้นอัตโนมัติเมื่อเริ่มระบบyum install httpd
chkconfig httpd on
หลังจากนั้นทำการแก้ไขไฟล์ httpd.conf
vim /etc/httpd/conf/httpd.conf
แก้ไขตามความต้องการหากต้องการเปลี่ยน Port ก็เปลี่ยนได้เลยครับ
หลังจากนั้นทำการแก้ไขไฟล์ subversion.conf
vim /etc/httpd/conf.d/subversion.conf
ทำการ uncomment บรรทัดต่อไปนี้
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<location /repos>
DAV svn
SVNParentPath /var/www/svn/repos
# Limit write permission to list of valid users.
#<limitexcept>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/svn-auth-conf
Require valid-user
#</limitexcept>
</location>
เวลาเข้าผ่าน Browser สามารถเข้าได้ผ่าน URL http://<hostname>/repos
หลังจากนั้นจะเป็นการติดตั้ง User ที่จะใช้งาน
htpasswd -cm /etc/svn-auth-conf yourusername
ระบบจะให้ใส่รหัสสำหรับ User
สองครั้ง
หากหลังจากนี้ต้องการเพิ่ม user ให้ใช้แค่คำสั่ง htpasswd -m /etc/svn-auth-conf เพราะไฟล์ svn-auth-conf นั้นได้ถูกสร้างไว้แล้ว (-c หมายถึงให้สร้างไฟล์ htpasswd ขึ้น)
และขั้นตอนสุดท้ายเป็นการสร้าง directory สำหรับ svn
mkdir /var/www/svn
cd /var/www/svn
svnadmin create repos
chown -R apache.apache repos
service httpd restart
svnadmin เป็นการใช้ svnadmin สร้าง directory repos และ chown เป็นการโดนสิทธิ์ให้กับ apache ซึ่งอยู่ในกลุ่ม apache (apache.apache <-- ตัวแรกหมายถึงกลุ่ม ตัวหลังหมายถึง user ของระบบ ไม่ใช่ของ svn นะครับ) หลังจากนั้นเป็นคำสั่งรีสตาร์ท apache server นั่นเอง
Jul 20, 2009
Alfresco Community Edition 3.2
- รองรับการเข้าใช้งานผ่านมือถือมากขึ้น สามารถเข้าได้จากทาง 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 ได้ตามลิงค์เลยครับ
- ปรับปรุง WCM (Web Content Management) ในส่วนของการ Deployment ให้ดีขึ้น
- ปรับปรุงการ Config Server ให้ง่ายขึ้น โดยแบ่งเป็นระบบย่อยเรียกว่า Alfresco Subsystems
- ปรับปรุง Repository ให้มี Features มากขึ้น ส่วนใหญ่จะเป็นการทำงานเกี่ยวกับ Extract Metadata ซะเป็นส่วนมาก รวมถึงการทำให้รองรับ CMIS ด้วย
- Alfresco Full Text Search Language ทำให้สามารถ Query ข้อมูลชนิดต่างๆ ได้มากขึ้น
- ปรับการติดตั้งให้ง่ายขึ้น โดยมีตัว MySQL Built-in มาด้วยเลย
ถ้าสนใจสามารถ Download ใช้งานได้ตามลิงค์เลยครับ
