Different types of menu defs are distinguished by the value of the intended_use property. The property name was selected to be in sync with Kiwix and the agreements regarding metadata, though I'm not sure anyone else uses it. The list of types has evolved and could now be extended and rationalized.
The purpose of this field to to tell the dynamic menuing system how to generated the link, so we need a unique value for each unique rule. The intention is to describe navigation in a generic way that holds true across deployments or at least those that follow our conventions.
| Current |
Improved |
Meaning |
| html |
module |
Content served by the web server and residing in the modules directory |
| webroot |
webroot or app |
Content served by the web server, but in its own directory |
| info |
info |
No link, just text and icon |
| zim |
kiwix |
A zim file served by kiwix-serve |
| kalite |
kalite |
Content served by kalite-serve |
| calibre |
calibre |
Content served by Calibre |
| osm |
osm |
The original iiab osm module. Probably could be handled by webroot. |
| Possible Additions |
|
|
| NA |
download |
apks, other software |
We could also introduce a sub type, such that kiwix, kalite, etc are all 'service' with the name of the service as a sub type, but it adds complexity to both the json (for an editor) and the javascript (for a developer).
Different types of menu defs are distinguished by the value of the intended_use property. The property name was selected to be in sync with Kiwix and the agreements regarding metadata, though I'm not sure anyone else uses it. The list of types has evolved and could now be extended and rationalized.
The purpose of this field to to tell the dynamic menuing system how to generated the link, so we need a unique value for each unique rule. The intention is to describe navigation in a generic way that holds true across deployments or at least those that follow our conventions.
We could also introduce a sub type, such that kiwix, kalite, etc are all 'service' with the name of the service as a sub type, but it adds complexity to both the json (for an editor) and the javascript (for a developer).