โดย ปกติแล้วเวลาเราจะ Add Users เข้าไปใน Sites ของ Alfresco นั้นเราจะใช้วิธีการ Invite บุคคลนั้นๆ ผ่านเมนู Invite จากนั้นบุคคลนั้นต้อง Accept Invitation ถึงจะเข้าไปอยู่ใน Site ได้ ปัญหา คือบางกรณีเราต้องการทำ Pre Invite Users ให้เรียบร้อยก่อนที่จะเริ่มใช้งานจริง ซึ่งสามารถทำได้ผ่าน REST API ของ Alfresco ครับโดย API ที่เราจะใช้งานคือ Membership API

ขั้นแรกเราต้องมี REST Client ก่อนครับ ในส่วนนี้จะใช้ตัวไหนก็ได้นะครับ แต่ผมแนะนำให้เป็น Postman ครับ (ความชอบส่วนตัว) http://www.getpostman.com/ การ Add member สามารถทำได้ผ่าน POST Method ครับโดยรายระเอียดของ Membership POST Method มีดังนี้

Adds a new membership to the site.

POST /alfresco/service/api/sites/{shortname}/memberships

Requirements:
Default Format: json
Authentication: user
Transaction: required
Format Style: any
Definition:
Id: org/alfresco/repository/site/membership/memberships.post
Description: classpath:alfresco/templates/webscripts/org/alfresco/repository/site/membership/memberships.post.desc.xml

ซึ่งรายละเอียดได้บอก JSON Format เรามา ดังนั้นผมจึงเข้าไปดู Code ว่า Format ที่จะใช้งานเป็นอย่างไร ซึ่งสรุปได้ดังนี้

role : กำหนดเป็น SiteConsumer, SiteContributor, …..
member ที่จะ Add เข้าไปใน Site (person หรือ group)
person : กำหนดเป็นชื่อ userName ของบุคคลที่จะ Add เข้าไปใน Site
group : กำหนดเป็น groupId โดยต้องมี GROUP Prefix ด้วย

ตัวอย่าง

null

จาก ตัวอย่างเป็นการ Add User tantai เข้าไปที่ site other โดยให้สิทธิ์เป็น SiteContributor สังเกตว่าผมใส่ Basic Authentication และ Content-Type ไว้เรียบร้อยแล้ว โดยเมื่อกด Send Request แล้วสำเร็จ จะได้ผลลัพธ์คือ

null

เท่า นี้เราก็สามารถ Add Member เข้าไปใน Site ได้แล้วครับ แต่ว่าจะทำได้ทีละคน ดังนั้นเราอาจใช้ Python Script หรืออะไรก็ตามทำ loop เพื่อ Add Member ทีละเยอะๆ ได้ครับ

Comments are closed.