Project

General

Profile

Feature #62

Navigation generation

Added by Stephen Burrows over 13 years ago. Updated over 13 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Shipherd
Target version:
-
Start date:
11/09/2010
Due date:
% Done:

0%

Estimated time:

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

Related to Philo - Bug #63: Tree modelingResolved11/09/2010

Actions

History

#1

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.

Also available in: Atom PDF