Hi Everyone!
As you know, I’m working on enhancing profiles.wordpress.org as a part of GSoC’13 and this is my third weekly update regarding how things are going.
Once again, you can find my whole final schedule here: http://www.mertyazicioglu.com/2013/06/25/gsoc-2013-schedule-enhance-profiles-wordpress-org/
As you can see from the schedule, the things I was planning to complete by now was as follows:
July 2nd – The codebase for feeding the Enhanced Activity Stream from Trac should be ready by now.
To be able to feed the Activity Stream with the Trac data, I had to find a feasible way to establish a bridge between them.
The first thing that came to my mind was writing a Trac plugin that hooks to each of the processes we want to generate an Activity Stream item from. This seemed like the best solution but at the time, it was not clear on my part whether it would be complicated to write one or not.
The second thing was following the current method and writing an outsider PHP script to check for the Trac activities. Although this was an option, I would better stay away from this method, obviously. 🙂
Honestly, I was expecting thing on the Trac side to get really problematic but turns out, and thankfully, I was wrong. Putting the plugins to the Trac’s plugins directory is everything that needs to be done to make them work. Requests are sent immediately after tickets are created, replies are added or commits are made. I really think that Trac plugins should be what we will be using for the Trac-BP connection, since a standalone PHP script will most likely be more prone to breaking as it will be completely working from the outside and will be more vulnerable to future changes in Trac.
As a result, I came up with two Trac plugins which you can see here: https://gsoc.svn.wordpress.org/2013/merty/trac/plugins/
ActivityStreamNotifier: Fires when a new ticket is created or a reply is added to an existing ticket.
ActivityStreamRepositoryNotifier: Fires when a commit is made.
I will still be making changes on both these two plugins in the following week to finalize them.
To sum up, third week was also a success and I have already started working on the codebase on the BuddyPress side, to make sure things will be ready when they’re needed.
In the next week’s update, I will be presenting the codebase for feeding the Enhanced Activity Stream from bbPress and the final form of the codebase for feeding the Enhanced Activity Stream from Trac.
See you next week!