"Fossies" - the Fresh Open Source Software Archive

Member "PURELIB/trac/wiki/default-pages/TracNavigation" (27 Aug 2019, 5488 Bytes) of package /windows/misc/Trac-1.4.win32.exe:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "TracNavigation": 1.2.3_vs_1.2.4.

    1 = Trac Navigation
    2 
    3 The main and meta navigation entries can be customized in several ways. The `[mainnav]` and `[metanav]` configuration sections can be used to customize the navigation item text and link, change the ordering of the navigation items, disable them and add new ones.
    4 
    5 The primary attributes that can be customized are `href`, `label`, `order` and `permission`.
    6 
    7 === `[mainnav]` #mainnav-bar
    8 `[mainnav]` corresponds to the '''main navigation bar''', the one containing entries such as ''Wiki'', ''Timeline'', ''Roadmap'', ''Browse Source'' and so on. This navigation bar is meant to access the default page of the main modules enabled in Trac that are accessible for the current user.
    9 
   10 
   11 ** [=#Example Example] ** 
   12 
   13 In the following example we rename the link to WikiStart //Home//, and make the //View Tickets// entry link to a specific report.
   14 {{{#!ini
   15 [mainnav]
   16 wiki.label = Home
   17 tickets.href = /report/24
   18 }}}
   19 
   20 Note the entries on the main navigation are displayed in uppercase regardless of the casing of the `label`, unless this aspect of the styling is overridden through [TracInterfaceCustomization#SiteAppearance interface customization].
   21 
   22 === `[metanav]` #metanav-bar
   23 `[metanav]` corresponds to the '''meta navigation bar''', by default positioned above the main navigation bar and below the ''Search'' box. It contains the ''Login'', ''Logout'', ''!Help/Guide'' etc. entries. This navigation bar is meant to access some global information about the Trac project and the current user.
   24 
   25 There is one special entry in the  `[metanav]` section: `logout.redirect` is the page the user sees after hitting the logout button.  The ''!Help/Guide'' link is also hidden in the following example.
   26 [[comment(see also #Trac3808)]]
   27 
   28 ** Example ** 
   29 
   30 {{{#!ini
   31 [metanav]
   32 help = disabled
   33 logout.redirect = wiki/Logout
   34 }}}
   35 
   36 === Extra Navigation Entries #nav-extra-entries
   37 
   38 New navigation entries can be arbitrarily defined and added
   39 to the navigation. A new entry can be defined by providing a name with value `enabled`. At a minimum, the `href` attribute should be specified to define a useful navigation entry. If the `label` attribute is not defined the entry's name will be used for the label.
   40 
   41 The following example creates two new navigation items, one named //My Reports// and the other named //builds//. //My Reports// is only visible to users with `REPORT_VIEW` permission.
   42 {{{#!ini
   43 [mainnav]
   44 myreports = enabled
   45 myreports.href = /report/9
   46 myreports.label = My Reports
   47 myreports.permission = REPORT_VIEW
   48 
   49 [metanav]
   50 builds = enabled
   51 builds.href = https://travis-ci.org/edgewall/trac
   52 }}}
   53 
   54 The entry names are always read as lowercase, as is the case for all keys in the trac.ini file due to the way the configuration parser is configured. If the example above used `BUILDS` rather than `builds` for the name, the entry would still be displayed as `builds`. Use the `label` attribute for case-sensitive customization of the navigation entry text.
   55 
   56 === Relocating Entries #nav-relocating-entries
   57 
   58 Navigation entries provided by Trac and plugins can be moved from the meta navigation bar to the main navigation bar, and vise-versa. The entry should be defined in the desired category as if it was a new entry. For example, to move the //Admin// entry to the metanav and rename it to //Administration//:
   59 {{{#!ini
   60 [metanav]
   61 admin = enabled
   62 admin.label = Administration
   63 }}}
   64 
   65 Attributes of the navigation item that are not overridden by the configuration will be preserved. 
   66 
   67 === URL Formats
   68 Possible URL formats for `.href` or `.redirect`:
   69 || '''config''' || '''redirect to''' ||
   70 || `wiki/Logout` || `/projects/env/wiki/Logout` ||
   71 || `http://hostname/` || `http://hostname/` ||
   72 || `/projects` || `/projects` ||
   73 
   74 
   75 === Ordering #nav-order
   76 The `order` attribute specifies the order in which the navigation items are displayed. This can be particularly useful for plugins that add navigation items.
   77 
   78 Non-negative floating point values may be used for the `order` attribute. The navigation items will be arranged from left to right in increasing order. Navigation items without an `order` attribute are sorted alphabetically by name.
   79 
   80 The default values are:
   81 {{{#!ini
   82 [mainnav]
   83 browser.order = 4
   84 newticket.order = 6
   85 roadmap.order = 3
   86 search.order = 7
   87 tickets.order = 5
   88 timeline.order = 2
   89 wiki.order = 1
   90 
   91 [metanav]
   92 about.order = 5
   93 help.order = 4
   94 login.order = 1
   95 logout.order = 2
   96 prefs.order = 3
   97 }}}
   98 
   99 === Permissions #nav-permissions
  100 The `permission` attribute controls the visibility of the navigation item on the navigation bar. This is mainly useful for new entries in the navigation bar. Note that it does not provide access control to the URL that the navigation item directs to, and cannot override permission checks done by Trac and plugins. 
  101 
  102 For example, the //Roadmap// navigation item will only display for users with `ROADMAP_VIEW`. Adding the attribute `roadmap.permission = MILESTONE_VIEW` will require both `ROADMAP_VIEW` and `MILESTONE_VIEW` for the entry to be visible, but as noted will not provide access control for the `/roadmap` path. TracFineGrainedPermissions should be used for access control to modules provided by Trac and plugins.
  103 
  104 === Context Navigation #ctxtnav-bar
  105 
  106 Note that it is still not possible to customize the '''contextual navigation bar''', i.e. the one usually placed below the main navigation bar.
  107 
  108 ----
  109 See also: TracInterfaceCustomization