Title: Profiles – Weekly Update 3
Author: Mert Yazıcıoğlu
Published: July 2, 2013
Last modified: December 27, 2022

---

 [  ](https://profiles.wordpress.org/merty/) [Mert Yazıcıoğlu](https://profiles.wordpress.org/merty/)
8:47 pm _on_ July 2, 2013     
Tags: [gsoc ( 14 )](https://make.wordpress.org/meta/tag/gsoc/),
[profiles ( 19 )](https://make.wordpress.org/meta/tag/profiles/), [weekly update ( 13 )](https://make.wordpress.org/meta/tag/weekly-update/)

# Profiles – Weekly Update 3

Hi Everyone!

As you know, I’m working on enhancing profiles.wordpress.orgWordPress.org The community
site where WordPress code is created and shared by the users. This is where you 
can download the source code for WordPress core, plugins and themes as well as the
central location for community conversations and organization. [https://wordpress.org/](https://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 TracTrac Trac
is the place where contributors create issues for bugs or feature requests much 
like GitHub.[https://core.trac.wordpress.org/](https://core.trac.wordpress.org/).
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 pluginPlugin A plugin is
a piece of software containing a group of functions that can be added to a WordPress
website. They can extend functionality or add new features to your WordPress websites.
WordPress plugins are written in the PHP programming language and integrate seamlessly
with WordPress. These can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
or can be cost-based plugin from a third-party. that hooksHooks In WordPress theme
and development, hooks are functions that can be applied to an action or a Filter
in WordPress. Actions are functions performed when a certain event occurs in WordPress.
Filters allow you to modify certain functions. Arguments used to hook both filters
and actions look the same. 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 PHPPHP
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source
general-purpose scripting language that is especially suited for web development
and can be embedded into HTML. [https://www.php.net/manual/en/index.php](https://www.php.net/manual/en/index.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 bbPressbbPress Free, open source software built on top of WordPress
for easily creating forums on sites. [https://bbpress.org](https://bbpress.org) 
and the final form of the codebase for feeding the Enhanced Activity Stream from
Trac.

See you next week!

[#gsoc](https://make.wordpress.org/meta/tag/gsoc/), [#profiles](https://make.wordpress.org/meta/tag/profiles/),
[#weekly-update](https://make.wordpress.org/meta/tag/weekly-update/)

### Share this:

 * [  Threads ](https://make.wordpress.org/meta/2013/07/02/profiles-weekly-update-3/?share=threads)
 * [  Mastodon ](https://make.wordpress.org/meta/2013/07/02/profiles-weekly-update-3/?share=mastodon)
 * [  Bluesky ](https://make.wordpress.org/meta/2013/07/02/profiles-weekly-update-3/?share=bluesky)
 * [  X ](https://make.wordpress.org/meta/2013/07/02/profiles-weekly-update-3/?share=x)
 * [  Facebook ](https://make.wordpress.org/meta/2013/07/02/profiles-weekly-update-3/?share=facebook)
 * [  LinkedIn ](https://make.wordpress.org/meta/2013/07/02/profiles-weekly-update-3/?share=linkedin)

 * [Login to Reply](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fmeta%2F2013%2F07%2F02%2Fprofiles-weekly-update-3%2F%23respond&locale=en_US)

 1. ![](https://secure.gravatar.com/avatar/1a7df76f4f6519a5618c32428b277a5c7a89798394965b67e50528ca57c1b5a8?
    s=32&d=mm&r=g)
 2.  [Andrew Nacin](https://profiles.wordpress.org/nacin/)  9:05 pm _on_ July 2, 2013
 3. Very cool! We’ll be able to deployDeploy Launching code from a local development
    environment to the production web server, so that it's available to visitors. these
    to WP.org easily. Would it make sense if this was a single pluginPlugin A plugin
    is a piece of software containing a group of functions that can be added to a WordPress
    website. They can extend functionality or add new features to your WordPress websites.
    WordPress plugins are written in the PHP programming language and integrate seamlessly
    with WordPress. These can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
    or can be cost-based plugin from a third-party. that implemented both ITicketChangeListener
    and IRepositoryChangeListener?
 4. Previous attempts have fetched RSS feeds of the timeline — which until the most
    recent version of TracTrac Trac is the place where contributors create issues for
    bugs or feature requests much like GitHub.[https://core.trac.wordpress.org/](https://core.trac.wordpress.org/).
    did not include ticket updates, only creates. This was done on cron and the activity
    was then stored in a DB table. The profiles then read directly from this table 
    and spits them out onto the page, after sorting them with other activity it queried
    from other places. ([@coffee2code](https://profiles.wordpress.org/coffee2code/)
    and [@boonebgorges](https://profiles.wordpress.org/boonebgorges/) should definitely
    share with you our current codebase if they haven’t already.) Given that Trac’s
    timeline now shows comments and attachments (which, note, I’m not sure is triggered
    by ticket_changed), I’d actually be surprised if a better implementation of this
    wasn’t mostly sufficient.
 5. I would suggest that these plugins simply send all data to BuddyPress, rather than
    doing any parsing. ‘props’ and such can be pulled in a more dynamic fashion. This
    also cuts down on the HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol.
    HTTP is the underlying protocol used by the World Wide Web and this protocol defines
    how messages are formatted and transmitted, and what actions Web servers and browsers
    should take in response to various commands. requests. Simply sending all data 
    also helps for the next thing:
 6. Inevitably, commit messages will have typos. Something to consider. (The ability
    to reprocess it with an alternative message is probably all that is necessary. 
    Or really: Just something to think about for now.)
 7.  * ![](https://secure.gravatar.com/avatar/36450d34c0fca8e729a410cdd9e8a91058fb9a488e15d55e5948af91499d5379?
       s=32&d=mm&r=g)
     *  [Scott Reilly](https://profiles.wordpress.org/coffee2code/)  9:27 pm _on_ July
       2, 2013
     * [@merty](https://profiles.wordpress.org/merty/) I’m out of pocket for a few 
       hours, but you’ll definitely have a copy of the existing codebase later today.
       Apologies for the delay in doing so!
     * ![](https://secure.gravatar.com/avatar/1c05abf2abcf36b2eb2a0f23c8fb195fe55997c9f2bc06318b587731fa5e84dc?
       s=32&d=mm&r=g)
     *  [Mert Yazicioglu](https://profiles.wordpress.org/merty/)  10:02 pm _on_ July
       9, 2013
     * [@nacin](https://profiles.wordpress.org/nacin/): Thank you very much for your
       suggestions! Merged the plugins and removed the RegEx part as you suggested:
       [https://gsoc.svn.wordpress.org/2013/merty/trac/plugins/ActivityStreamNotifier.py](https://gsoc.svn.wordpress.org/2013/merty/trac/plugins/ActivityStreamNotifier.py)

### Leave a Reply 󠀁[Cancel reply](https://make.wordpress.org/meta/2013/07/02/profiles-weekly-update-3/?output_format=md#respond)󠁿

You must be [logged in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fmeta%2F2013%2F07%2F02%2Fprofiles-weekly-update-3%2F&locale=en_US)
to post a comment.

# Post navigation

[← Profiles – Weekly Update 2](https://make.wordpress.org/meta/2013/06/25/profiles-weekly-update-2/)

[Theme directory listing multiple authors the way plugin… →](https://make.wordpress.org/meta/2013/07/02/theme-directory-listing-multiple-authors-the-way-plugin/)