Development of the Haiku web presence
This document is an overview of all the smaller and larger projects to improve Haiku's web services.
Drupal
Drupal is powering the main website.
Port the website to Drupal 7
The current website has been running Drupal 6 for years now. Drupal 7 has been around and with Drupal 8 fast approaching, we are hinging on legacy software. The goal of this project is to prepare and perform an update of our website to Drupal 7, with an upgrade path to Drupal 8 already in place.
Work involves:
- Reviewing the currently used modules, clear out unused ones and finding Drupal 7 substitutes
- Porting the website theme to Drupal 7
- Doing some low-level cleaning to properly deal with a lot of legacy content
New screenshot tour/galleries
The current Slideshow has aged and the current galleries run on a custom wrapper around Flickr. Both are up for a Drupal-native rewrite to integrate them better into the website.
Trac
Trac is powering this website and is currently a fundamental part in Haiku development.
Getting the source browser back
With the switch to Git we lost the ability to show the repository. Trac has support for git, unfortunately on a repository of our size it is too slow to do any meaningful work. The trac guys are working on a newer version (using PyGit2) which will improve performance.
Tasks:
- Try out the experimental pygit2 plugin
- Do some profiling
- Do some development to get Haiku's use of hrev/btrev tags working
Pootle
Pootle is powering the translator website. It is currently working quite well and is already a part of regular Haiku contributions. Pootle is built on the Django framework.
Versioning and automated server deployment
The current Pootle deployment consists of a selection of scripts and a specific checkout of Pootle's subversion repository. I would like to automate the deployment of new Pootle versions, preferably with versioning and change logs to keep a list of things that change between deployments.
The task is thus:
- Write a fabfile.py that will document and automate deployment to i18n.haiku-os.org
- Versioning of various deployments
Allow the translation of images in Pootle
In the future we would like to switch off the userguide translator. There have been people that were willing to try to improve it, but unfortunately the assignment was returned stating that the code was too much of a mess to save in any reasonable way. Using some intermediate scripts it is possible to translate the userguide into files that can be handled by Pootle, but what's missing is the ability to 'translate' the screenshots and other images.
This task is:
- Write an app for Pootle keeps track of resources
- If a resource is changed, the 'translated' resources need to be updated
- This app has to integrate with the rest of Pootle
Add support for third-party apps in Pootle
It has been requested to allow authors of third-party apps to get the help of our translators to translate their apps.
The task is:
- Allow authors of apps to update the original English catalog to Pootle
- Allow authors of apps to download translations (requires some work since currently translations are post-processed)
- Automate this process in such a way that it does not require a lot of manual intervention from administrators (apart from processing the initial request)
API Documentation
Currently the API Documentation is generated by Doxygen. That tool is powerful, but it is quite inaccessible since the source of the documentation lies in the Haiku repository. Ideally it would be moving to a hybrid system that both allows wiki-like editing, but keeps powerful doxygen features like validating the documentation against the C++ code.