| 1 | = Development of the Haiku web presence = |
| 2 | [[PageOutline]] |
| 3 | |
| 4 | This document is an overview of all the smaller and larger projects to improve Haiku's web services. |
| 5 | |
| 6 | == Drupal == |
| 7 | |
| 8 | Drupal is powering the [http://www.haiku-os.org/ main website]. |
| 9 | |
| 10 | === Port the website to Drupal 7 === |
| 11 | |
| 12 | 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. |
| 13 | |
| 14 | Work involves: |
| 15 | * Reviewing the currently used modules, clear out unused ones and finding Drupal 7 substitutes |
| 16 | * Porting the website theme to Drupal 7 |
| 17 | * Doing some low-level cleaning to properly deal with a lot of legacy content |
| 18 | |
| 19 | === New screenshot tour/galleries === |
| 20 | |
| 21 | The current [https://www.haiku-os.org/slideshows/haiku-tour Slideshow] has aged and the [https://www.haiku-os.org/gallery current galleries] run on a custom wrapper around Flickr. Both are up for a Drupal-native rewrite to integrate them better into the website. |
| 22 | |
| 23 | == Trac == |
| 24 | |
| 25 | Trac is powering [http://dev.haiku-os.org/ this website] and is currently a fundamental part in Haiku development. |
| 26 | |
| 27 | === Getting the source browser back === |
| 28 | |
| 29 | 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. |
| 30 | |
| 31 | Tasks: |
| 32 | * Try out the [http://trac.edgewall.org/browser/cboos.git/tracopt/versioncontrol/git experimental pygit2 plugin] |
| 33 | * Do some profiling |
| 34 | * Do some development to get Haiku's use of hrev/btrev tags working |
| 35 | |
| 36 | == Pootle == |
| 37 | |
| 38 | Pootle is powering the [http://i18n.haiku-os.org/pootle translator website]. It is currently working quite well and is already a part of regular Haiku contributions. Pootle is built on the Django framework. |
| 39 | |
| 40 | === Allow the translation of images in Pootle === |
| 41 | |
| 42 | In the future we would like to switch off the [http://i18n.haiku-os.org/userguide 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. |
| 43 | |
| 44 | This task is: |
| 45 | * Write an '''app''' for Pootle keeps track of resources |
| 46 | * If a resource is changed, the 'translated' resources need to be updated |
| 47 | * This app has to integrate with the rest of Pootle |
| 48 | |
| 49 | === Add support for third-party apps in Pootle === |
| 50 | |
| 51 | It has been requested to allow authors of third-party apps to get the help of our translators to translate their apps. |
| 52 | |
| 53 | The task is: |
| 54 | * Allow authors of apps to update the original English catalog to Pootle |
| 55 | * Allow authors of apps to download translations (requires some work since currently translations are post-processed) |
| 56 | * 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) |
| 57 | |
| 58 | == API Documentation == |
| 59 | |
| 60 | Currently the [http://api.haiku-os.org/ 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. |