ปกติแล้วเมื่อเราเข้าไปที่ Site ใน Alfresco แล้วคลิกที่แถบ Document Library ซึ่งเราเข้าเป็นประจำอยู่แล้วนะครับ เนื่องจากเป็นที่เก็บ Folder และไฟล์ต่างๆ ดังรูปด้านล่างนะครับ
ซึ่งในบางครั้งเราอาจจะต้องการ ให้ Alfresco ทำการกรองเอกสารแยกตาม Status ต่างๆ เช่น ถ้าเป็นเอกสารประเภท ISO ผู้ใช้อาจจะอยากทราบว่าเอกสารนั้นผ่านการ Review หรือ ผ่านการ Approve จาก DCC รึยัง หรือเอกสารนี้ผ่านการประกาศใช้งานจาก QMR รึยัง ซึ่งนอกเหนือจากที่เราสามารถตรวจสอบได้จาก Workflow แล้วเรายังสามารถทำการดูสถานะของเอกสารได้จาก Document Filter ได้อีกด้วย ซึ่ง Alfresco จะเตรียม Document Filter ให้อยู่แล้ว เช่น All Documents, I’m Editing, Others are Editing, Recently Modified, Recent Added, My Favorites แต่ในบางครั้ง Filter ใน Alfresco ก็ไม่เพียงพอต่อความต้องการของเรา ซึ่งเราสามารถทำการเพิ่ม Document Filter ได้ ดังรูปด้านล่าง
สมมุติว่าใน Alfresco ของเรามีเอกสาร ISO อยู่นะครับ ซึ่งจะมีสถานะของเอกสารอยู่ (มีการทำ Property ชื่อ Document Status ไว้นะครับ) เพื่อใช้ดูว่าตอนนี้เอกสารของเราอยู่ในสถานะไหน เช่น รอจัดทำเอกสาร รอปรับรูปแบบเอกสาร รอตรวจสอบ รออนุมัติ รอ DCC ตรวจสอบ รอ QMR อนุมัติ หรือ สถานะเอกสารอยู่ที่ เอกสารบังคับใช้นะครับ ดังนั้นเราจะมีวิธีในการทำ ดังนี้นะครับ
Copy ไฟล์ ชื่อ documentlist-v2.get.properties, filter.get.config.xml, filter.get.properties จาก
C:\Alfresco\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\documentlibrary
มาไว้ที่
C:\Alfresco\tomcat\shared\classes\alfresco\web-extension\site-webscripts\org\alfresco\components\documentLibrary
โดยเราจะทำการแก้ไขไฟล์ที่ Path นี้นะครับ เพื่อความสะดวกในการ Upgrade
เริ่มต้นในการแก้ไขไฟล์ ชื่อ filter.get.config.xml
ก่อนนะครับ เพิ่มบรรทัดที่ 12-18 เป็นการเพิ่ม Document Filter ของเราเข้าไปนะครับ ในส่วนของ id กับ label ตั้งเป็นชื่ออะไรก็ได้นะครับ แต่เดี๋ยวเราจะนำชื่อชื่อ id และ label ไปใช้ในหน้าอื่นๆ ส่วน evaluator เป็นการบอกว่า ให้แสดง Filter เฉพาะใน Site ที่ชื่อว่า iso-department นะครับ
ทำการแก้ไขไฟล์ชื่อ filter.get.properties
ทำการเพิ่มบรรทัดที่ 14-20 เข้าไปนะครับ เป็นการบอกว่าในแต่ละ Filter จะใช้ชื่อภาษาไทยว่าอะไรนะครับ และตัวแปรหลังเครื่องหมาย = คือ Escape String นะครับ ดูวิธีการทำ Alfresco ให้เป็นภาษาไทยได้จาก Article ที่ผ่านมานะครับ (สำหรับไฟล์นี้ถ้าแก้ไขเสร็จจะได้ Document Filter ตามที่เราต้องการเลยครับ)
ทำการแก้ไข documentlist-v2.get.properties ไฟล์นี้จะทำการ Display ทางด้านขวามือ เช่น สถานะเอกสาร: รอจัดทำเอกสารใหม่ เป็นต้น
ภาพด้านล่างแสดง Label ภาษาไทยทางด้านขวา ในขณะที่คลิกที่ Filter ทางด้านซ้ายมือ
ตอนนี้ใกล้เสร็จแล้วนะครับ เหลือขั้นตอนสุดท้าย มาเขียน Javascript กันนิดนึงนะครับ โดยทำการ Copy File ชื่อ filters.lib.js จาก
C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\templates\webscripts\org\alfresco\slingshot\documentlibrary-v2
มาไว้ที่
C:\Alfresco\tomcat\shared\classes\alfresco\extension\templates\webscripts\org\alfresco\slingshot\documentlibrary-v2
เพื่อให้สะดวกในการ Upgrade นะครับ ทำการเพิ่ม code ตั้งแต่บรรทัดที่ 253
พิมพ์ไปเรื่อยๆ เลยนะครับ จนถึงบรรทัดที่ 315 ความหมายของ Code ที่พิมพ์ไปก็คือ ถ้า User ทำการ Click Document Filter ทางด้านซ้ายมือ ให้ทำการค้นหาเอกสารตาม Lucene Query ที่ส่งไป เช่น isod:docStatus = MrReview หมายถึงให้ทำการค้นหาเอกสารที่ ที่มี properties ชื่อ isod:docStatus = MrReview เป็นต้น
Save ทุกอย่างนะครับ จากนั้นทำการ Restart Alfresco นะครับ สร้าง Site ชื่อ iso-department นะครับ ลองเข้าไปดูที่ site: iso-department Document Library จะเห็น Document Filter ทางด้านซ้ายมือ ดังรูปด้านล่าง