Integrating StatusNet with Google Apps – StatusNet as a social collaboration platform!
Soe Thiha
Abstract
This would open up whole new way of using StatusNet – not only as a federated microblogging but also as a social collaboration platform. Recently launched Freelish.us further proves potential of StatusNet as a springboard for social federated applications. Suggested integration enable authorization and use of Google Apps data such as Google documents and calendar inside StatusNet. This project would lead to more efficient collaboration among Google Apps users without flooding others' inboxes.
Additional Information
As of now, for Google Apps users, it is hard to keep everyone on the same page with emailing each other about project progress and document updates. There are other commercial applications available but they are not as extensible and customizable as open source StatusNet.
With StatusNet, users can add short activity updates to the domain wide stream or specific group streams; attaching relevant Google Apps data objects.
This enables users to collaborate much more efficiently without flooding others’ inbox.
Below are the components required to achieve the integration. Each of these components are further explained in next question.
- 1 plugin for Google Apps authorization
- 1 plugin for Google Docs attachment (Google docs, spreadsheets, presentations):
- 1 plugin for calendar, event
- 1 Gmail Gadget
---
OpenID+OAuth hybrid protocol for federated login and authorization
jQuery for smooth user experience in attaching Google Apps objects, and managing access rights.
StatusNet plugins, with reference to Twitter OAuth implementation and attachment implementation.
Activity streams schemas for files and event
Google Apps application APIs
Google Gadget for bringing StatusNet inside most used screen – Gmail
---
There are four components, as outlined below, required for this project.
1 plugin for Google Apps authorization:
Google Apps support hybrid protocol for authorization (OpenID + Oauth). StatusNet has both OpenID and OAuth authorization. Hence, there is a working reference I could use in implementing this plugin.
This plugin could be further developed to support full single sign-on experience.
Existing OAuth library and OAuth authorization data structure would be used. Existing unit tests should cover these use cases. However, these tests would be looked further for improvments.
1 plugin for Google Docs attachment (Google docs, spreadsheets, presentations):
StatusNet supports attachments already (http://status.net/wiki/Attachments). That implementation can be used as a reference. File access and authorization must be easily manageable upon sharing inside StatusNet.
Access rights terminologies must reflect relations inside StatusNet – i.e. subscribers, mutual subscribers and group members. The access rights would be then sync’d back with Google Apps.
Further research needs to be done if it is feasible to use current data structure for Google Apps documents. Unit tests would pay attention to document access.
1 plugin for calendar, event:
Similar as Google Docs attachment but needs to be tweaked for Event Schema (http://activitystrea.ms/head/activity-schema.html#event). Actions on event attendance would be then sync’d back with Google calendar.
Event data structure needs to be designed with reference to activity streams event schema
1 Gmail Gadget:
Gmail is the most used screen among Google Apps. Activity feed from StatusNet should be viewable inside that screen. This Gmail Gadget will display the activity feed inside Gmail screen.
