No subject


Sun Feb 20 18:20:38 UTC 2011


feeds from all the services we want data to get pulled, we're cool.

All we need is to start indexing the following services too:
* GlotPress (not sure if it can offer some per user feed or global
activity feed)
* <locale>.forums.wordpress.org
* <ID>devel.wordpress.com blogs
* codex (recent changes feed)

Engine workflow
---------------

The best would be to have an api/feed we could query and get as much
data about as much usernames is available at that moment, with some
exceptions for:
* trac's global feed (including commits and bugs parts)
* glotpress global feed

Because these can contain information of different value and will
require parsing. Writing parsers for these feeds will update profiles
depending on parsed and found usernames and their activity.

One problem here, trac doesn't reflect full ticket changes in timeline
feed, and patching doesn't look like a good solution here. So I'm
leaving this for later...

GlotPress might require a patch to get a full timeline feed with users
activity, though I'm pretty sure I can write that patch.

Karma
-----

Parsers (SimplePie?!) will trigger actions, so I will be able to hook
and update any user profile once I get the signal. Karma will be saved
as user metadata. Karma values can be discussed/set later, creating a
screen with options for every type of update with a karma value is a
must.

Cron(ing)
---------

This one is tricky. The best would be to somehow make every service
independently notify us when there are updates, though this isn't quite
possible without using something like PubSubHubbub (which would be
awesome, though it will require every service we use to be able to ping
a hub). So the classic way to get the updates is to schedule our
"spider" for parsing the services.

Scheduling should not generate queues, so one parser doesn't wait the
other one. So the best is to use wp-cron, and enable an external dummy
bot to ping the new profiles/.org page to make sure wp-cron works when
there are no visitors too.

Storing data
------------

Post types for updates, with different names for every type of update.
So profile metadata/karma can be recalculated anytime :P

Custom taxonomy or Tag for every kind of update to mark/identify the
service and be able to query for the same data from other users. (This
one will only be useful for end users)

UI
--

Users will be visible as blog authors, so all I need to do is customzie
`author.php` ?! Easy.

Why not BuddyPress
------------------

I'm not missing any of the features BuddyPress can offer with the
workflow I described above, why should I add it as a dependency?!


Sorry for long post.
Feedback welcome.
Thanks.



More information about the wp-hackers mailing list