nw  

Extended Navigation Support for the Kolibri WebUI Toolkit

Summary

Building a functional navigation API for the Kolibri WebUI Toolkit

Keywords
  • Javascript
  • HTML
  • CSS
  • Reactive Programming
  • MVC
  • Projector Pattern
Goals

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.

Baseline

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.

Results

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 Data
Project Type: IP6
Start: 19.09.2022
End: 24.03.2023
Scope: total: 720h, 360h per team member
Team Size: 2
Project Customers

Prof. Dierk Koenig, dierk.koenig@fhnw.ch
Fabian Affolter, fabian.affolter@fhnw.ch
Dirk Lemmermann, External Expert

Project Team

Florian Schnidrig, iCompetence, florian.schnidrig@students.fhnw.ch
Cedric Altermatt, Computer Science, cedric.altermatt1@students.fhnw.ch

Contact Details

Prof. Dierk Koenig, dierk.koenig@fhnw.ch
Fabian Affolter, fabian.affolter@fhnw.ch

zurück