Kotti/kotti_navigation — pull request #6 by geojeff (2013-04-05 22:57:16+00:00)
Title: Multi location nav

This effort brings significant new design and renaming of configuration parameters, views, and methods and functions, done for several reasons:

* The old way of handling slots and the top location separately was causing difficulties, so a general way of handling configuration was needed.

* After moving toward a more general treatment, it became easy to allow configuration of nav displays in multiple locations, so the branch was renamed accordingly.

* Previously there were some Bootstrap style choices unavailable, so the additional ones were brought in to the configuration. In the process, the terms tree and list were somewhat confusing, when compared to the use of these terms in Bootstrap. So, an explicit set of names was created, broken into vertical vs. horizontal aspect (hor_tabs is a horizontal display of tab items; ver_tabs_stacked is the equivalent of the old "tree" choice). Plus, explicit display types were added for breadcrumbs and menu.

Much of the experimentation associated with this effort was related to naming of views and designing template code to somehow get the location of a given view. At one time, POST params were passed from ``__init__`` to pass the location to the slot-rendering machinery. Ultimately this approach was abandoned, and replaced with explicit names of views, and with several ways that view methods can find the location. If the name of the view is available, the location can be parsed off the end. It can also be found in request.path when available. However it is found, once the location is known, the other parameters can be fetched from settings. For example, in the view methods you will see where first the display type is found in settings with settings['{0}_display_type'.format(location)], where location would be 'left', 'abovecontent', etc.

Other changes done along the way will hopefully be apparent in the readme, in tests, and in the development.ini, which has a kind of torture test of multiple nav display locations.

Several items were added to the TODOS.