Profiles – Weekly Update 2


Hi Everyone!

As you know, I’m working on enhancing profiles.wordpress.org as a part of GSoC’13 and this is my second weekly update regarding how things are going.

First of all, 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:

June 25th – A wireframe of the new profile design (Better Representation of the Information), a local replica of the live environment (Enhanced Activity Stream) and the research regarding how we can feed the Activity Stream with Trac and bbPress data properly (Enhanced Activity Stream) should complete by now.

Now let’s go into some details 🙂

I actually prepared the wireframe of the new profile design even before the coding started, so I was running ahead of the schedule for that task. I shared it with my mentors and no change was proposed. The only thing mentioned was the existence of the Gamification-related widgets I put for demonstration purposes only. As mentioned in my previous weekly update, we are not planning to work on Gamification this summer but we will most certainly work on it after the GSoC completes. So here is the wireframe I prepared which is still and completely subject to change, as Jen will be helping us on this 🙂

The New Profile Design

This is mostly just to explain better what I have in my mind right now.

My other task was to replicate the .org environment to be able to work on “Enhanced Activity Stream”-related tasks. I have installed bbPress, Trac, WordPress and BuddyPress locally and will be testing the codes I will be writing, on those installations in the upcoming weeks.

Finally and most importantly, my final task for this week was to conduct a research regarding how we can feed the Activity Stream with Trac and bbPress data properly. As a result of that research, I have decided to write a BuddyPress plugin to receive the data we will be using to feed the Activity Stream. Here are the pieces of data I’m planning to store:

  1. Support Forums Activity
    1. New topic
    2. New reply
  2. Trac Activity
    1. Core Trac
      1. Props
      2. New Ticket
      3. Reply in Ticket
    2. Plugins Trac
      1. New commit
      2. New Ticket
      3. Reply in Ticket
  3. Plugin Directory Activity
    1. New Plugin
    2. New Favorite
    3. New Review
  4. Theme Directory Activity
    1. New Theme
    2. New Review

To find the best way to listen to the Trac activity, I dug the Trac documentation quite a bit and analysed some of the Trac plugins. Luckily, Trac is fairly pluggable and we can write a plugin in Python that passes the necessary data to BuddyPress. However, I’m not quite sure whether it is okay to add a plugin to Trac for this purpose, or not. If we can’t, then I’ll be writing a PHP script that regularly runs and checks to see if there are any new Trac activity, instead.

Similarly, in order to bind to Support Forums, Plugin Directory and Theme Directory, I will be writing bbPress plugins that send the data to BuddyPress, just like the plugin/script for Trac does.

To sum up:

Screen Shot 2013-06-25 at 10.46.13 PM 1

To give some details regarding the endpoints I may use to listen to Trac activities:

Screen Shot 2013-06-25 at 10.46.28 PM

In the next week’s update, I will be presenting the codebase for feeding the Enhanced Activity Stream from Trac and hopefully a little bit more 😉

See you next week!

#gsoc, #profiles, #weekly-update