Edgewall Software
Modify

Ticket #2348 (closed enhancement: fixed)

Opened 6 years ago

Last modified 4 years ago

Make third level navigation controllable by the INavigationContributor extension point

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

Description

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

Change History

comment:1 Changed 5 years ago by markus

  • Milestone changed from 1.0 to 0.11
  • Type changed from defect to enhancement

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 Changed 5 years ago by cmlenz

  • Priority changed from normal to high

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

comment:3 Changed 4 years ago by ThurnerRupert <rupert.thurner@…>

  • Cc rupert added

comment:4 Changed 4 years ago by cboos

  • Milestone changed from 0.11.1 to 0.11
  • Owner changed from jonas to nkantrowitz

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 Changed 4 years ago by cboos

  • Keywords ctxtnav added
  • Resolution set to fixed
  • Status changed from new to closed

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

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
to The owner will be changed from nkantrowitz. Next status will be 'closed'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.