Building a functional navigation API for the Kolibri WebUI Toolkit
The goal of this project is a model-driven navigation that can be embedded in the context of Kolibri.
Implementation and management should be accessible and well documented for developers. Users will find a rich and interactive visualization of the navigation in Kolibri single page applications. The approaches pursued are provided with unit tests and validated with user tests.
The Kolibri navigation support will also be integrated into the official Kolibri project. The result of this project will be a functional prototype. The implementation should adhere to the Kolibri design guidelines.
In the course of the predecessor project "Navigation support for Kolibri", a first prototype for a navigation approach for the Kolibri WebUI Toolkit was created. This prototype enabled the creation of flat navigations for single-page-applications, which were created with Kolibri.
This IP6 project "Extended Navigation Support for the Kolibri WebUI Toolkit" is now based on this approach. The prototype will primarily be expanded in such a way that the navigation support is model-driven and supports multi-depth navigation hierarchies.
Furthermore, new statuses and properties of the individual navigation nodes will be stored as attributes in the page model. For example, the visibility of a navigation node in the navigation, the child nodes of a navigation node, the active status of a navigation node, the icon of a navigation node and much more will represent attributes in the model. These attributes should also be easily extensible, so that the developer can easily add use-case-specific attributes.
The results of this project are twofold.
First of all, the project provides a technological baseline with its architecture on how navigation should work in Kolibri web applications.
The design principles are implemented with the NavigationModel and NavigationController and offer an easily extensible interface for future navigational systems.
The NavigationProjectorTemplate serves as a baseline for the view.
The second results are the many different navigation projectors that have been implemented to showcase the rich functionality of Kolibri navigation.
All of these projectors are simultaneously displayed on the index.html of this project's final prototype.
| Project Type: | IP6 |
| Start: | 19.09.2022 |
| End: | 24.03.2023 |
| Scope: | total: 720h, 360h per team member |
| Team Size: | 2 |
Prof. Dierk Koenig, dierk.koenig@fhnw.ch
Fabian Affolter, fabian.affolter@fhnw.ch
Dirk Lemmermann, External Expert
Florian Schnidrig, iCompetence, florian.schnidrig@students.fhnw.ch
Cedric Altermatt, Computer Science, cedric.altermatt1@students.fhnw.ch
Prof. Dierk Koenig, dierk.koenig@fhnw.ch
Fabian Affolter, fabian.affolter@fhnw.ch