Edgewall Software

Ticket #2348 (closed enhancement: fixed)

Opened 3 years ago

Last modified 11 months 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

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

Changed 2 years ago by markus

  • type changed from defect to enhancement
  • milestone changed from 1.0 to 0.11

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

Changed 2 years ago by cmlenz

  • priority changed from normal to high

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

Changed 12 months ago by ThurnerRupert <rupert.thurner@…>

  • cc rupert added

Changed 11 months ago by cboos

  • owner changed from jonas to nkantrowitz
  • milestone changed from 0.11.1 to 0.11

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.

Changed 11 months ago by cboos

  • keywords ctxtnav added
  • status changed from new to closed
  • resolution set to fixed

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

Add/Change #2348 (Make third level navigation controllable by the INavigationContributor extension point)

Author



Change Properties
<Author field>
Action
as closed
Next status will be 'reopened'
to The owner will change from nkantrowitz. Next status will be 'closed'
 
Note: See TracTickets for help on using tickets.