XWiki Sakai Integration
description
Transcript of XWiki Sakai Integration
Sakai XWiki Integration: A Technical Perspective
Adam Hocek, Marist CollegeUdaya Ghattamaneni, Marist College
12th Sakai Conference – Los Angeles, California – June 14-16 2
SETTING THE COURSEAnd now here’s a…
12th Sakai Conference – Los Angeles, California – June 14-16 3
Initial Steps
• Project initiated by rSmart• Input from Academic Technology @ Marist• Wiki Capabilities
12th Sakai Conference – Los Angeles, California – June 14-16 4
Goals and RequirementsDesired Features Description
WYSIWYG Editor Toggle between WYSIWYG and markup modes.Support FCKeditor, RTEditor, other
Permissions Users and Group managementSite and page level permission controlGranularity: e.g. comments
Tagging Structured and unstructured tagging
Namespaces Allow pages with same name
Better change tracking Versioning and rollback
Import and Export Content
Integration with other Sakai tools Resources, Gradebook, Assignments
External links External URLs with inline or reference file/ images
Improved Table/Grids/Graphics Tables: sortable, filtered columns, function support, dynamic ajax loading
Search Improved and integrated search across sakai & wiki
12th Sakai Conference – Los Angeles, California – June 14-16 5
Evaluation and Selection
• Improve rWiki• Identify a wiki (looked at over a dozen wiki products)
• Integration (loose versus tight)
• Source code development language
12th Sakai Conference – Los Angeles, California – June 14-16 6
Iterative Process• Resulted in selecting XWiki • Met key feature requirements• Good support• Java, with REST and RPC options
• Loose integration• Uses XWiki rendering engine within iFrame• Sakai driven users, groups and roles• Reasonable set of tool functionality needed• Customization
12th Sakai Conference – Los Angeles, California – June 14-16 7
REACHING OUTAnd now here’s a…
12th Sakai Conference – Los Angeles, California – June 14-16 8
Engaging others
• Sent & Reviewed Evaluation Document with rSmart
• Started a confluence page on Sakai• Notified Sakai List groups• Notified XWiki developers
12th Sakai Conference – Los Angeles, California – June 14-16 9
DEVELOPMENT PROCESSAnd now here’s a…
12th Sakai Conference – Los Angeles, California – June 14-16 10
A RESTful Approach
We choose REST:
• XWiki REST API provides access to all resources and to creating and managing users and permissions.
• Easy to develop and flexible
12th Sakai Conference – Los Angeles, California – June 14-16 11
Site-level Users, Roles, Permissions
• Tool allows explicit pushing of Sakai Users to XWiki
• Set permissions for Sakai Roles• Add new XWiki users• Add new Roles/Group
12th Sakai Conference – Los Angeles, California – June 14-16 12
Site Configuration Menu
12th Sakai Conference – Los Angeles, California – June 14-16 13
Page-level Permission
• Set page permissions (XWiki) for roles and groups (Sakai)
• Exposes XWiki’s more granular permissions
12th Sakai Conference – Los Angeles, California – June 14-16 14
Page Configuration Menu
12th Sakai Conference – Los Angeles, California – June 14-16 15
Wiki Pages
• Select and work with a Wiki page• Exposes as little or as much XWiki
functionality as desired• Uses stylesheets and velocity to skin pages• Can expose edit page, comments,
annotations, attachments, history and more
12th Sakai Conference – Los Angeles, California – June 14-16 16
Wiki Pages
12th Sakai Conference – Los Angeles, California – June 14-16 17
Manage Wiki Pages
• Add, Edit, or Delete pages• Uses FckEditor
12th Sakai Conference – Los Angeles, California – June 14-16 18
Manage Wiki Pages Menu
12th Sakai Conference – Los Angeles, California – June 14-16 19
REVISITING DEVELOPMENTAnd now here’s a…
12th Sakai Conference – Los Angeles, California – June 14-16 20
Too RESTful
Getting user permissions requires…
XWiki Tool
XWiki
getAllUsers
AllUsers
Iterate thru All Users getUserPermissions
UserPermissions
12th Sakai Conference – Los Angeles, California – June 14-16 21
Too RESTful
Similarly, for a given page’s objects …
XWiki Tool
XWiki
getPageObjects
PageObjects
Iterate thru Objects
getObjectAccessRights
ObjectAccessRights
12th Sakai Conference – Los Angeles, California – June 14-16 22
RPC
• Decided to use XWiki RPC• Improved performance• Two RPC clients (XWiki and Apache)• RPC support waning
12th Sakai Conference – Los Angeles, California – June 14-16 23
Testing
• Built and deployed with Sakai 2.7.1 and rSmart-CLE-2.7.1
• One server running Sakai, XWiki, MySQL• Academic Technology performed initial
tests (ongoing)
12th Sakai Conference – Los Angeles, California – June 14-16 24
MOVING ON…And now here’s a…
12th Sakai Conference – Los Angeles, California – June 14-16 25
Other Enhancements
• Sakai group aware• FckEditor v.s. XWiki Editor• Configuration properties
12th Sakai Conference – Los Angeles, California – June 14-16 26
Current State
Getting it out there:• Updates made to Confluence• Submit to Contrib• Inform community
12th Sakai Conference – Los Angeles, California – June 14-16 27
Next Steps
• Add support for Sections• Additional Testing• Consider Integration with other tools (e.g.
Assignments)• CkEditor• Integrated Search between Sakai & XWiki• Internationalization• SPI Layer
12th Sakai Conference – Los Angeles, California – June 14-16 28
Future Considerations
• Collaborative editing• Semantic search, tagging, views
12th Sakai Conference – Los Angeles, California – June 14-16 29
References
Adam Hocek : [email protected]
Confluence: https://confluence.sakaiproject.org/display/SAKDEV/XWiki+Integration
XWiki: http://xwiki.org