Generalize and simplify the menu management system implemented for IGAD.
The generic implementation to be ported upstream should provide a model to define menus and a generic "placeholder" concept to be integrated inside custom tempaltes through template tags.
Models
-
menu_placeholder: represents a logical container for menus. A template tag will provide the list of menus linked to this placeholder to be rendered in a specific area of the template HTML.
-
menu: the links container. With bootstrap it could be rendered as a dropdown title
- id
- title
- placeholder_id: FK to menu_placeholder
- order: menus within the same placeholder will be rendered according to this (optional) value. It represents a relative weight

- menu_item:
- id
- title
- menu_id: FK to menu
- order
- blank_target: boolean flag to specify if the link should open a new page
- url: free input. Internal pages will be define with relative urls, external pages with absolute url.

Template tags
A set of template tags should be implemented to provide the template developer the option to obtain:
- list of menu objects for a certain placeholder
- list of menu_item objects for a certain menu

We would also provide a "rendered" option to obtain a complete placehoder and / or single menu rendered according to a default template, i.e. Bootstrap themed as the other menus in vanilla GeoNode.

Generalize and simplify the menu management system implemented for IGAD.
The generic implementation to be ported upstream should provide a model to define menus and a generic "placeholder" concept to be integrated inside custom tempaltes through template tags.
Models
menu_placeholder: represents a logical container for menus. A template tag will provide the list of menus linked to this placeholder to be rendered in a specific area of the template HTML.
menu: the links container. With bootstrap it could be rendered as a dropdown title
Template tags
A set of template tags should be implemented to provide the template developer the option to obtain:
We would also provide a "rendered" option to obtain a complete placehoder and / or single menu rendered according to a default template, i.e. Bootstrap themed as the other menus in vanilla GeoNode.