The ontology oeo and the textual oeo viewer pages are all served in one djnago view. It works but is hard to maintian and extend. To solve this the view must be refactored into smaller parts. The chellange is to keep the current functionality.
While doing this it is a good idea to improve the page loading as some pages can take a few secons to be availabe because the oeo must be parsed on the server first.
Modularization of the code by introducing helper functions, e.g. for parsing the oeo content in Python
Provision of multi-pe URLs that enable access to new views
introduce htmx in templates to load additional page content after a first page is already available and display a load spinner to better represent the active page loading process.
Description of the issue
The ontology oeo and the textual oeo viewer pages are all served in one djnago view. It works but is hard to maintian and extend. To solve this the view must be refactored into smaller parts. The chellange is to keep the current functionality.
While doing this it is a good idea to improve the page loading as some pages can take a few secons to be availabe because the oeo must be parsed on the server first.
Ideas of solution
Restructur the main view of the ontology pages into several views for the oeo class viewer and the overview pages https://github.com/OpenEnergyPlatform/oeplatform/blob/5802cf7c3cb651f6d293de25e0f9929832219196/ontology/views.py#L99
Modularization of the code by introducing helper functions, e.g. for parsing the oeo content in Python
Provision of multi-pe URLs that enable access to new views
introduce htmx in templates to load additional page content after a first page is already available and display a load spinner to better represent the active page loading process.
Workflow checklist