Opened 10 years ago

Last modified 7 years ago

#11821 closed enhancement

Features for next version of plugin — at Version 1

Reported by: Ryan J Ollos Owned by: Richard Liao
Priority: normal Component: TracTicketChangelogPlugin
Severity: normal Keywords:
Cc: Steffen Hoffmann Trac Release:

Description (last modified by Ryan J Ollos)

Here are some thoughts I have on the next version of the plugin, from reviewing the codebase over the weekend:

  1. Create a ticket-changeset relation table. The table would be populated by implementing IRepositoryChangeListener. It looks like the original author had similar ideas: tracticketchangelogplugin/0.12/ticketlog/model.py@13954 is currently unused. This should make the plugin faster, and extraction of the referenced tickets from the changeset message can be made more precise since we won't have to use a LIKE clause in the query (see next item).
  2. The configuration settings of CommitTicketUpdater can be used to determine which tickets are referenced by a changelog message, rather than redefining redundant configuration settings. The CommitTicketUpdater configuration settings can be seen on the TracIni#ticket-section page: commit_ticket_update_commands.close, commit_ticket_update_commands.refs, commit_ticket_update_envelope, ... We might even want to subclass CommitTicketUpdater so that we can reuse the message parsing code, which should be more robust and will allow us to fix #7884 and maybe #8428.
  3. Remove TICKETLOG_VIEW permission (as well as the unused TICKETLOG_EDIT and TICKETLOG_ADMIN). TICKETLOG_VIEW appears to be redundant with LOG_VIEW if the purpose is to control the ability to view a resource. TICKETLOG_VIEW would provide the ability to control whether the log is present for some users, but I'm not sure this is needed. We would probably be better off showing the log to all users with LOG_VIEW, but having it be initially collapsed so it is out of the way. If greater control is needed to tune this to user preferences, we can follow the lead of trac:#9807 by implementing a user preference on the Preferences panel.
  4. Add an HTML template for the changelog section. Currently the HTML is constructed in JavaScript. We can probably use an ITemplateStreamFilter to insert the HTML and avoid the need for JavaScript entirely (provided there are no performance issues with Genshi).

Change History (1)

comment:1 Changed 10 years ago by Ryan J Ollos

Description: modified (diff)
Note: See TracTickets for help on using tickets.