Edgewall Software

Opened 17 years ago

Closed 15 years ago

#2348 closed enhancement (fixed)

Make third level navigation controllable by the INavigationContributor extension point

Reported by: kroymann@… Owned by: Noah Kantrowitz
Priority: high Milestone: 0.11
Component: general Version: 0.9
Severity: normal Keywords: ctxtnav
Cc: kroymann@…, rupert Branch:
Release Notes:
API Changes:
Internal Changes:


At the moment, the third level of navigation is controlled by each main component (Wiki, Browser, etc.) via its process_request method and its ClearSilver template, while the first and second level of navigation (i.e. the 'mainnav' and the 'metanav' categories) is generated using the INavigationContributor extension point. If only the latter method was used, the third level of navigation would be extendable by TracPlugins. This will require changes to the 'header.cs' template, to the main component templates and to the instantiations of INavigationContributor and IRequestHandler.

Attachments (0)

Change History (5)

comment:1 by markus, 16 years ago

Milestone: 1.00.11
Type: defectenhancement

IMHO this should be implemented as soon as we switch to Genshi as more and more plugin devs are in need of it.

comment:2 by Christopher Lenz, 16 years ago

Priority: normalhigh

This is becoming increasinly important… I'm planning to look into it soon-ish.

comment:3 by ThurnerRupert <rupert.thurner@…>, 15 years ago

Cc: rupert added

comment:4 by Christian Boos, 15 years ago

Owner: changed from Jonas Borgström to Noah Kantrowitz

This is now doable, but in a different way.

The context navigation (ctxtnav) usually needs much more logic than simply being added to a list, like the INavigationContributor does for mainnav and metanav. So the solution is now to use add_ctxnav while rendering the page, as the ctxtnav <div> content is generated programmatically and should not be placed in templates anymore.

Plugins that want to alter existing ctxtnavs can use the ITemplateStreamFilter approach.

comment:5 by Christian Boos, 15 years ago

Keywords: ctxtnav added
Resolution: fixed
Status: newclosed

Done in log:/sandbox/ctxtnav@6363, merged in trunk in r6357.

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Noah Kantrowitz.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Noah Kantrowitz to the specified user.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.