Edgewall Software

Opened 14 years ago

Last modified 9 years ago

#9673 new enhancement

Some TracIni settings should be user configurable — at Initial Version

Reported by: Christian Boos Owned by: Christian Boos
Priority: normal Milestone: next-major-releases
Component: general Version: 0.13dev
Severity: normal Keywords: preferences
Cc: itamarost@…, leho@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description

Richer User Preferences

Many aspects of Trac are configurable, via the TracIni settings. A lot of these switches are presentation or slight behavior tweaks that are largely a matter of personal taste and preferences. As those are TracIni settings, this has the effect that the project owners' preferences are enforced, not necessarily the same as those of their users.

It should however not be hard to allow some of these options to be tailored to the end users' needs. As suggested in #3360, we could extend our Option descriptors with an extra user parameter.

For example:

    section = Section('ticket', N_('Ticket Settings'))

    chronological_order = BoolOption('ticket', 'chronological_order',
        default=True, 
        user=N_("Show Change History in Chronological Order"),
        doc=N_("""
        Controls in which direction the Change history is displayed. 
  
        ''(since 0.13)''
        """)

We could use this parameter to pass the option summary that the user will see in a new preference panel.

We could either have one user panel, with field sets grouping options from a given section, or we could have one panel per section (but then we need to fix the layout of panel tabs to allow for having lots of panels).

For getting back the values, we could think about having a helper function userpref(env, req, section, option), or something smarter that would fetch the value first from the req.session and only if not found pick the environment's default.

A few tickets are concerned by this new feature:

Change History (0)

Note: See TracTickets for help on using tickets.