เอกสารที่เราเก็บไว้บน Alfresco นั้น อาจจะมีความเกี่ยวข้องกันในแต่ละเอกสาร เช่น ใบเสร็จรับเงิน ก็มีความสัมพันธ์กับใบแจ้งหนี้ หรือเอกสารสัญญา ก็อาจจะมีความสัมพันธ์กับเอกสารนำเสนอโครงการ โดยหากเราต้องการกำหนดว่าเอกสารที่เรากำลังใช้งานอยู่นี้ มีความสัมพันธ์กับเอกสารฉบับอื่นๆ เพื่อง่ายต่อการค้นหาในภายหลัง โดยตัวอย่างที่ผมจะแนะนำนี้ จะเป็นการเพิ่มในส่วนของ Document Information เพื่อกำหนดรายละเอียดในส่วนนี้ ซึ่งรูปตัวอย่างด้านล่าง จะแสดงให้เห็นว่าหลังจากทำตามตัวอย่างในบทความนี้เสร็จเรียบร้อย จะสามารถเข้าไปดูในส่วนของ Document Information ได้ว่ามีเอกสารใดที่เกี่ยวข้องบ้าง

เรามาเริ่มวิธีการเพิ่มในส่วนของ Document Information ตามตัวอย่างด้านบนกันเลยนะครับ

โดยการจะเพิ่มในส่วนของ Document Information ขึ้นมานั้น ให้เราไปเพิ่มโค้ดในไฟล์ isoContentModel.xml โดยไฟล์นี้อยู่ที่ Alfresco\tomcat\shared\classes\alfresco\extension\model โดยให้เพิ่มโค้ดด้านล่างนี้ลงไป

<aspects>
<aspect name="isod:isoDocAspect">
<title>ISO information aspect</title>
<associations>
<association name="isod:parentDocuments">
<title>Parent Documents</title>
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>cm:content</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</association>
<association name="isod:relatedDocuments">
<title>Child Documents</title>
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>cm:content</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</association>
<association name="isod:relatedAssignee">
<title>Users</title>
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>cm:person</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</association>
<association name="isod:relatedGroupAssignee">
<title>Groups</title>
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>cm:autorityContainer</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</association>

</associations>
</aspect>
</aspects>

ในลักษณะเดียวกับรูปภาพด้านล่าง

ซึ่งขออธิบายโค้ดเพิ่มเติมในส่วนนี้เล็กน้อย คือในส่วนของ tag association คือ tag ที่มีความสัมพันธ์ในลักษณะ one to many โดย สามารถเลือกค่าได้หลายค่าต่อ 1 ฟิลด์ ซึ่งถ้าต้องการให้เลือกค่าได้มากกว่า 1 ค่า ให้กำหนดค่าใน tag <many> เป็น true โดยสามารถใช้ได้กับทั้งที่เป็น cm:content, cm:person และ cm: folder

เมื่อปรับแก้รายละเอียดในไฟล์ isoContentModel.xml ตามตัวอย่างด้านบนเรียบร้อยแล้ว ให้เราบันทึกไฟล์ จากนั้นให้ไปที่ Alfresco\tomcat\shared\classes\alfresco\web-extension แล้ว ให้แก้ไขไฟล์ share-config-custom.xml โดยการเพิ่มโค้ดต่อไปนี้ลงไป

<config evaluator="aspect" condition="isod:isoDocAspect">
<forms>
<form>
<field -visibility>
<show id="isod:parentDocuments" />
<show id="isod:relatedDocuments" />
<show id="isod:relatedAssignee" />
<show id="isod:relatedGroupAssignee" />
<field-visibility>
<appearance>
<set id="info" appearance="panel" label="Document Information" />
<field id="isod:parentDocuments" set="info">
<control template="/org/alfresco/components/form/controls/association.ftl">
<control-param name="displayMode">list</control-param>
<control-param name="showTargetLink">true</control-param>
<control-param name="compactMode">true</control-param>
<control-param name="allowNavigationToContentChildren">true</control-param>
</control>
</field>
<field id="isod:relatedDocuments" set="info">
<control template="org/alfresco/components/form/controls/association.ftl
<control-param name="displayMode">list</control-param>
<control-param name="showTargetLink">list</control-param>
<control-param name="compactMode">true</control-param>
<control-param name="allowNavigationToContentChildren">true</control-param>
</control>
</field>
<field id=”isod=relatedAssignee” set=”info” /> <field id=”isod=relateGroupAssignee” set=”info” /> </appearence> </form> </forms> </config>

โดยจะได้ผลลัพธ์ตามตัวอย่างด้านล่างนี้ ซึ่งจะขออธิบายเพิ่มเติมเล็กน้อย

จากรูปตัวอย่างด้านบน ในส่วนของโค้ดบรรทัดที่ 141 จะเห็นว่าได้ระบุค่าเป็น list ไว้ ซึ่งจะทำให้รายการของเอกสารที่ให้เลือกแสดงให้เป็นเป็นลิสต์ข้อมูล

เมื่อกำหนดรายละเอียดครบถ้วนดีแล้ว ให้สั่ง restart alfresco

จากนั้นเมื่อไปยังเอกสารที่นำไปเก็บไว้ใน Alfresco แล้วลองกดปุ่ม Edit Properties ที่อยู่ทางด้านขวามือ

เมื่อเข้ามาสู่หน้า Edit Propertied ก็จะพบหน้าจอที่สามารถอำนวยความสะดวก และช่วยให้เราสามารถกำหนดค่าให้กับ properties ของเอกสารได้ โดยเมื่อเราคลิกเข้าไปที่ Document Information จะพบหน้าต่างตามรูปภาพด้านล่าง

เมื่อคลิกเลือกเพิ่มข้อมูลในรายการใด จะพบหน้าต่างตามรูปตัวอย่างด้านล่างนี้

โดยเมื่อเราได้กำหนดความสัมพันธ์ระหว่างเอกสารแล้ว จะพบว่าในส่วนของ Document Information ก็จะมีรายละเอียดขึ้นมาตามที่เรากำหนดไว้เรียบร้อยแล้วครับ

Comments are closed.