Partuza? Sure, Partuza!
OpenSocial
Written by Shannon Quinn   

Today has been one of those days.  Nothing's worked the way I've wanted it to.  My Joomla!-hacking has been noisomely unsuccessful.  My senior capstone group, designing a simple PHP-based appointment management system, was stuck on the same bug for over two hours today, and it ended up turning out to be a simple misuse of the PHP header() function (I will say nothing about a certain individual on my team who has made ZERO progress on his respectively delegated portion in the last eight weeks *cough*).  I discovered the Google Codejam competition was 21 hours into its 24-hour qualification period; needless to say, I barely solved the mathmatical side of the first problem, and the code wasn't even close.

When I came across a stunning discrepancy between step #5 of the Partuza installation process and the actual Partuza files, I was ready to chuck my CS major out the metaphorical window.

Bear with me; I didn't give up just yet.  After all, I had tootsie rolls at my disposal!

I decided to browse the rather inactive Partuza Googlegroup mailing list, and I found this particular thread with comments about the newest revision to the repository, #93, at the very bottom under "Log".

This spurred a memory of mine.  I'd seen something like this in the Shindig config file.  I went back to look at it.  I found entries with the names "BasicPeopleService", "BasicActivitiesService", and "BasicAppDataService".  Tell me if you see any similarities in those names and the names of three of these files from the Partuza repository:

(hint: BasicPeopleSerivce, BasicActivitiesService, BasicAppDataService)

Oh no, oh no...OH YEAHHH.

Swap out "Basic" for "Partuza", and you have the following Shindig config file:

There was a little voodoo magic still to do with Apache's mod_rewrite, since Partuza didn't seem to take kindly to the concept of "relative URLs."  But once that was in place, Partuza behaved beautifully.

That's not the best part, though.  This is the best part:

This is a list of URL mappings that Shindig employs behind the scenes in order to access its various features.  Partuza makes extensive use of these URLs in order to allow Shindig to do its thing.  All Partuza requires is where the PHP source of Shindig is, and the URL to the OpenSocial gadget's XML file.

See??  SEE HOW AWESOME THIS IS??

...oh right.  Um.  Replace "Partuza" with "Joomla!" in the above paragraph, and you pretty much have the roadmap I've been following for implementing Joomla! as an OpenSocial container.  Yes folks, its com_opensocial component will be communicating exclusively with three separate classes: JoomlaPeopleService, JoomlaActivitiesService, and JoomlaAppDataService.  That will handle all the data management from the earlier post I made about Shindig's three-tier architecture.

Yes, something good came out of the general debacle that was today.  Even though I may swear and pout and throw metaphorical objects through the metaphorically shattering glass of my metaphorical window...I really do love this line of work.  It's progress, even though it may not feel like it.

By the way, any word on the book? ^_^

Okbedtimebye!

 

Show other articles of this author