Project Refinement: Integration of Joomla! and Shindig
OpenSocial
Written by Shannon Quinn   

I had a lengthy meeting with my fabulous mentor Amy tonight (which we will be making a weekly occurrence), and we have hammered out quite a few more of the details of this project.  My plan is to have a formal project plan written up this Thursday (there will be a blog post! buahahaha hope you enjoy reading blogs) which details out the phases of development, the check-ins and meetings, and the deliverables of each phase.

Amy was the one who discovered Shindig over the course of our meeting, which is ironic to me considering that I'd almost applied to that program for GSoC this year.  Nevertheless, it is Google's implementation of OpenSocial, and a platform from which, by adopting its methodologies and current framework, we can speed up the process of implementing OpenSocial within Joomla! by quite a bit.

In order for this project to be successful, there are four milestones which must be met:

  1. Implementation of the core OpenSocial JavaScript API.  This is what Shindig will help IMMENSELY with - much of this work, if not all of it, is already finished.  I will simply have to find a way to have it communicate with Joomla! by way of an extension.
  2. Determination of any Joomla!-specific extensions that require their own namespace.  This will be much more important for future developers who wish to make use of the OpenSocial integration, but for the time being this will not be much of a concern.
  3. Implementation of the Gadget API.  This has also been mostly completed within Shindig, and like #1 will be a question of having it communicate successfully with Joomla!.
  4. Implementation of the RESTful API.  This item may not be required; as far as my knowledge goes, Shindig still uses OpenSocial 0.7, and that version does not require an implementation of the RESTful API in order to function properly.  0.8, on the other hand, does have that requirement.

From a very high level, the remainder of June will be spent examining Shindig, communicating with its development team (I used to be on their mailing list...they seriously send out about 30-40 emails a day), and connecting it successfully to the Joomla! environment.  Amy helped me out by pointing me in the direction of UserMeta, an extension which will make modification of users within Joomla! much more simple to undertake.  This will facilitate application data being stored within the Joomla! environment and transferred to social networking sites implementing OpenSocial, such as MySpace (which will be the focus for this summer).

Bottom line: yes, OpenSocial is a ginormous API to implement.  So Amy and I decided to use an in-progress implementation held to Apache's very high standards of open source development, and customize it for the needs of Joomla!, hopefully with minimal impact on the codebase we'll be utilizing from Shindig.  This will result in a very modular, robust, and growing foundation from which to create the Joomla!-OpenSocial interoperability while preserving the ease of upgrade of the foundation.

I will post about more details as I uncover them this month.  Wheeeeee!

 

Show other articles of this author