Tender for design and implementation of “All about LibreOffice” community and developer dashboard (#201510-01)

The Document Foundation (TDF), the charitable entity behind the world’s leading free office suite LibreOffice, seeks for companies or individuals to

design and implement an “All about LibreOffice” community and developer dashboard

to start work as soon as possible.

TDF wants to invest in a webpage showing latest activity, summaries and trends of the LibreOffice project in all areas, like development, QA, user-to-user support and other key areas of the project. The developed webpage should be easily extensible for developers providing scripts analysing current and historic data from various project infrastructure.

Further details on this project can be found at http://listarchives.documentfoundation.org/www/board-discuss/msg03653.html

TDF is looking for an individual or company to, as a turnkey project, design and implement the following:

  1. a dashboard that displays the latest events and actions happening in the project, with a maximum latency of 2 hours
    1. on a webpage
    2. in RSS and Atom feeds for displaying in feedreaders and embedding into websites
    3. both including displaying of graphics, images and charts
    4. an integration into our Silverstripe content management system, for easy implementation of the generated content into our website
  2. extensive support of individual filters, queries, tags and summaries, to modify the output
  3. a feature to have fixed subpages for incorporation and reference in our existing websites
  4. support for filtering if an event creates or resolves an action item for a specific subproject
    Samples based on Bugzilla: regression filed would be qa-task-created (need confirmation/triage), regression triaged/moved to NEW (qa-task-resolved, dev-task-created), regression fixed (dev-task-resolved).
  5. collection of historic data for displaying and analysis
  6. a statistics feature, to output contributor numbers and top contributors like on our credits page (http://www.libreoffice.org/about-us/credits/)
  7. implementation of an easy theming features for designers to improve the visual layout of the dashboard
  8. adding data to the dashboard should be possible by providing a RSS or Atom newsfeed, created by common *nix script languages (Python, Perl, Ruby, PHO); optionally also support for C/C++/Haskell/Ocaml
  9. for #8, integration with our existing Gerrit instance for authentication
  10. proper documentation, including a working Salt recipe for deployment and installation of the dashboard on Debian 8-based machines
  11. regular blogposts about the project progress, and a final blog posts that advertises the dashboard to the LibreOffice community and invite contributions

The developer area should be a git repository containing scripts (Python/Perl/Ruby/PHP/etc.) generating RSS and Atom feeds. These will be triggered to be run in regular intervals of approximately five minutes and their output will be published for the database cronjob to pick up. The same is true for scripts creating images, graphics and charts. Ideally, the developer area regularly polls the hosted repository on e.g. gerrit for updates, thus adding new events/actions/summaries to the database (and thus the websites which present a view on the database). Additionally there should be an directory that can be read from the scripts, but isn’t part of the repository to store auth tokens/credentials for scripts to access their source systems (e.g. bugzilla, askbot, git, etc.) if needed.

Required Skills

Programming Languages and Framework

  • Frameworks, languages and tools used should be popular and widely used to allow the result to be community maintained and sustained after initial development. Extensibility should allow developers to refine the dashboard without deep insight in the used frameworks and tools.
  • We exclusively use free, libre and open source (FLOSS) software for development whereever possible and the resulting work must be licensed under MPLv2.
  • For the creation of the frontend (website, feeds) a lean web framework like Django or CodeIgniter should be used. The use of a full-blown CMS should be avoided. Both the language and the framework should have a reasonable wide community supporting it (e.g. Top10 at http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html) and more popular that most of the competition at http://www.alternative.to/. The Backend DBMS is recommended to be PostgreSQL.
  • Website and feeds should be delivered by a small application based on a lean web framework presenting the data out of the backend database. The application layer should really be thin — it should essentially only present the database as as good-looking webpage and well-formed feeds. A cronjob running on this machine will fetch a set of RSS/Atom feeds and import them into the database.

Other Skills

  • English (Conversationally fluent in order to coordinate and plan with members of TDF)

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

TDF is looking forward to receiving your applications, your financial expectations (name the final price for the turnkey project), and the earliest date of your availability, via e-mail to Florian Effenberger at floeff@documentfoundation.org no later than November 2, 2015. You can encrypt your message via PGP/GnuPG.

Applicants who have not received feedback by December 2, 2015 should consider that their application, after careful review, was not accepted.