XWiki Sakai Integration

29
Sakai XWiki Integration: A Technical Perspective Adam Hocek, Marist College Udaya Ghattamaneni, Marist College

description

Integration of XWiki as a Sakai tool. The design and performance trade-offs are covered

Transcript of XWiki Sakai Integration

Page 1: XWiki Sakai Integration

Sakai XWiki Integration: A Technical Perspective

Adam Hocek, Marist CollegeUdaya Ghattamaneni, Marist College

Page 2: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 2

SETTING THE COURSEAnd now here’s a…

Page 3: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 3

Initial Steps

• Project initiated by rSmart• Input from Academic Technology @ Marist• Wiki Capabilities

Page 4: XWiki Sakai Integration

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

Page 5: XWiki Sakai Integration

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

Page 6: XWiki Sakai Integration

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

Page 7: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 7

REACHING OUTAnd now here’s a…

Page 8: XWiki Sakai Integration

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

Page 9: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 9

DEVELOPMENT PROCESSAnd now here’s a…

Page 10: XWiki Sakai Integration

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

Page 11: XWiki Sakai Integration

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

Page 12: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 12

Site Configuration Menu

Page 13: XWiki Sakai Integration

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

Page 14: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 14

Page Configuration Menu

Page 15: XWiki Sakai Integration

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

Page 16: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 16

Wiki Pages

Page 17: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 17

Manage Wiki Pages

• Add, Edit, or Delete pages• Uses FckEditor

Page 18: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 18

Manage Wiki Pages Menu

Page 19: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 19

REVISITING DEVELOPMENTAnd now here’s a…

Page 20: XWiki Sakai Integration

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

Page 21: XWiki Sakai Integration

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

Page 22: XWiki Sakai Integration

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

Page 23: XWiki Sakai Integration

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)

Page 24: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 24

MOVING ON…And now here’s a…

Page 25: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 25

Other Enhancements

• Sakai group aware• FckEditor v.s. XWiki Editor• Configuration properties

Page 26: XWiki Sakai Integration

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

Page 27: XWiki Sakai Integration

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

Page 28: XWiki Sakai Integration

12th Sakai Conference – Los Angeles, California – June 14-16 28

Future Considerations

• Collaborative editing• Semantic search, tagging, views

Page 29: XWiki Sakai Integration

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