Gerrit activity feeds :: a design and infrastructure sneak peak

Gerrit provides nice views by changes, but doesn’t offer synthetic and consolidated views.

Activity feeds will be timelines to offer these views;

  • What are the users’ last activities (commits, patchsets, merges) on Gerrit?
  • What’s going on on the mediawiki/extensions/SemanticMediaWiki repository?

Here the homepage dashboard:


And here the wireframe of the project activity feed:


About the design

This code is built on the top of Foundation, a responsive CSS framework. This allows to provide a smooth experience for your phone or tablet: columns will collapse into a more linear view if resolution width is narrow.

Avatars uses Gravatar. When an user doesn’t have a Gravatar account, identicons are used.

About the infrastructure and code

A Node service acts as proxy, and mirrors the Gerrit events stream, so it’s available to any simple TCP connexion instead to require a SSH connection.

I’ll provide access to this Node server to the community, so any tool with socket and JSON support with be able to interact with Gerrit events. If you’ve a need for a push model, ie to post notifications, please let me know the format and I will take care of that.

Then, a script reads the stream and write the XML feeds. It also monitors the Node -> SSH connection, to relaunch the service if needed (e.g. if the Jenkins server is rebooted). These XML feeds are publicly accessible, so you can also create a service based on them.

Finally, XSLT will be used to render these feeds in HTML and RSS documents. That’s for the humans and the most generic tools..

It will be at this moment time to take care of special needs, like combined feeds for Google Summer of Code or the Outreach Program for Women.

What do you think of this and do you need?

Please tell me what you think of this tool, and what you would like to find on this tool.

We also need a cool name for the application.

One thought on Gerrit activity feeds :: a design and infrastructure sneak peak

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.