Edgewall Software
Modify

Opened 10 years ago

Closed 10 years ago

Last modified 6 years ago

#8908 closed enhancement (fixed)

Docutils version information consistency

Reported by: Thijs Triemstra <lists@…> Owned by: Remy Blank
Priority: low Milestone: 0.12
Component: general Version:
Severity: normal Keywords:
Cc: ryano@… Branch:
Release Notes:
API Changes:

Description

When I visit the About page of my Trac 0.11.stable it shows:

System Information

Trac: 0.11.6
Python: 2.6.4 (r264:75706, Nov 9 2009, 18:11:10) [GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)]
setuptools: 0.6c11
SQLite: 3.6.13
pysqlite: 2.5.5
Genshi: 0.5.1
mod_wsgi: 3.1 (WSGIProcessGroup WSGIApplicationGroup %{GLOBAL})
Pygments: 1.1.1
Subversion: 1.5.6 (r36142)
RPC: 1.0.6

But I'm like, what wait, where is my docutils info?

Only after visiting a rst enabled file in the browser like:

Property svn:eol-style set to native
Property svn:mime-type set to text/x-rst

And then going back to About will suddenly show my docutils version. This is confusing and seems to be session related or something. Would be nice if Trac shows the correct details, eg.:

System Information

Trac: 0.11.6
Python: 2.6.4 (r264:75706, Nov 9 2009, 18:11:10) [GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)]
setuptools: 0.6c11
SQLite: 3.6.13
pysqlite: 2.5.5
Genshi: 0.5.1
mod_wsgi: 3.1 (WSGIProcessGroup WSGIApplicationGroup %{GLOBAL})
Pygments: 1.1.1
Subversion: 1.5.6 (r36142)
RPC: 1.0.6
Docutils: 0.6

Attachments (0)

Change History (8)

comment:1 by Christian Boos, 10 years ago

Milestone: 0.11.7

"Fixing" that would require that we either:

  1. change the way __init__ is called for Component; currently it's on first use in a given environment
  2. implement another interface, one for which the extension point has already been invoked at the time we hit the /about page (e.g. IEnvironmentSetupParticipant)
  1. is hackish, 1. might be worth doing anyway for fixing #8658.

in reply to:  1 comment:2 by Remy Blank, 10 years ago

Replying to cboos:

  1. implement another interface, one for which the extension point has already been invoked at the time we hit the /about page

Or implement a new interface for providing system information:

class ISystemInfoProvider(Interface):
    """Provider of system information, displayed in the "About Trac" page."""
    def get_system_info():
        """Return a list of `(name, version)` tuples describing the name and
        version information of external packages used by a component.
        """

comment:3 by Remy Blank, 10 years ago

Milestone: 0.12
Owner: set to Remy Blank

#8921 is related, and asks for separating plugin version information from system information.

comment:4 by Ryan Ollos <ryano@…>, 10 years ago

Cc: ryano@… added

comment:5 by Remy Blank, 10 years ago

Resolution: fixed
Status: newclosed

New interface added in [9242], and converted all relevant uses of env.systeminfo to the new interface. The database backends still use env.systeminfo, so that only the database backend actually used is shown.

comment:6 by Remy Blank, 10 years ago

Converted TracMercurial to ISystemInfoProvider in [9243].

(OT: The diff shown for [9243] is massively exagerated. Subversion shows a much smaller diff, as _setup_ui() only has a whitespace change, and get_supported_types() a one-liner.)

comment:7 by Remy Blank, 10 years ago

ISystemInfoProvider documented in TracDev/ApiChanges/0.12@29.

comment:8 by Ryan J Ollos, 6 years ago

The remaining few classes directly appending to env.systeminfo were modified to implement ISystemInfoProvider in #11587.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Remy Blank.
The resolution will be deleted. Next status will be 'reopened'.
to as closed The owner will be changed from Remy Blank to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.