Feature #62
Navigation generation
0%
Description
Over the long haul, we're going to be migrating the main Oberlin website onto Philo, which means there will be a necessity for navigation. The navigation could be generated in a number of ways. The end result should probably nested lists of dictionaries, like so:
[ { 'url': '<some_url>', 'verbose_name': '<some_verbose_name>' 'children': [{...}] } ]
Possible generation methods include:
1. Create a ManyToOne field (like a manytomany) to allow metadata on a foreignkey relationship. Use this metadata to handle ordering and anything else about the relationship.
2. Use a ManyToMany field for nodes, implementing a more graph-like structure. Use metadata on a through model to handle ordering.
3. Create an independent "navigation" model that can be attached to a node to handle navigation.
4. Put data on a node to handle navigation.
All these generation methods assume that url grounding is the responsibility of the node and that relative url generation/link naming is the responsibility of the view, though a method of overriding a given section of the navigation could be useful.
Related issues
History
Updated by Stephen Burrows over 13 years ago
- Category changed from Core to Shipherd
- Status changed from New to Resolved
Navigation has been implemented in the shipherd branch. There is still the question of auto-generating navigation for multiviews, but that is not what this ticket is about.