Trac 1.2 will be released soon. Portions of the deprecated API have been 
removed (1), and many plugins will not yet work with Trac 1.2. If you are 
running any plugins that are not yet tagged as being compatible with Trac 
1.2, now would be a good time to test them in order to smooth your upgrade 
experience.

Here what you can do:
 1. Check whether the plugin is compatible with Trac 1.2. If it is 
compatible, the plugin's wiki page should be tagged with "1.2" (2). Even if 
the plugin is tagged with 1.2, you may still want to test it. Several 
plugins were tagged with "1.1", which is very ambiguous, and I changed many 
of those to have tag "1.2" after briefly inspecting the code.
 2. Test the plugin in a clean installation environment. The procedure is 
described below. If the plugin works with the latest Trac trunk, please tag 
the page with 1.2. If the plugin does not work, please open a ticket and 
include the information suggested below. Many of the changes are fairly 
easy to fix. I'll be fixing as many of the unmaintained plugins as I can 
find time for.

Testing plugins on Linux (if there is need, I'll write up procedures for 
Windows and OSX):
1. Install required packages using package manager. For a Debian-like OS: 
"apt-get install python python-setuptools python-virtualenv"
2. Create a virtual environment and install Trac
$ mkdir plugin-test
$ cd plugin-test
$ virtualenv pve
$ source pve/bin/activate
$ easy_install genshi babel pytz docutils pygments
$ svn co http://svn.edgewall.org/repos/trac/trunk/ trac-trunk
$ cd trac-trunk
$ python setup.py install
$ cd ..

$ trac-admin trac initenv "trac" "sqlite:db/trac.db"
$ trac-admin trac permission add anonymous TRAC_ADMIN
$ trac-admin trac config set logging log_level DEBUG
$ trac-admin trac config set logging log_type stderr

3. Install plugins (example here is for the popular TagsPlugin).
$ svn co https://trac-hacks.org/svn/tagsplugin/trunk tagsplugin-trunk
$ cd tagsplugin-trunk
$ python setup.py install

4. Run the plugin test suite, if it has one,
$ python setup.py test

5. Enable the plugin, start Trac and test the plugin,
$ cd ..
$ trac-admin trac config set components tractags.* enabled
$ trac-admin trac upgrade
$ tracd -p 8000 -s trac

In the case of TagsPlugin, you'll see that many tests fail, and the plugin 
fails at "trac-admin trac upgrade" with output (3).

Check whether a ticket has already been opened for the issue. In the case 
of TagsPlugin, there is already a ticket (4).

If a ticket needs to be opened, please include the following information:
1. Version of Trac that you tested against.
2. Errors from the logs.
3. Version of plugin that you tested with.

Much more could be done of course. Testing could be done with PostgreSQL 
and MySQL. Many plugins have optional dependencies - TagsPlugin has 
XmlRpcPlugin as an optional dependency. Testing with a real webserver 
rather than TracStandalone may uncover some issues as well. I may writeup 
more steps later if this proves to be useful in stimulating effort towards 
testing plugins.

- Ryan

(1) http://trac.edgewall.org/wiki/TracDev/ApiChanges/1.1
(2) https://trac-hacks.org/tags/1.2
(3) 

The upgrade failed. Please fix the issue and try again.


AttributeError: 'Environment' object has no attribute 'get_db_cnx'

16:19:19 Trac[console] ERROR: Exception in trac-admin command: 

Traceback (most recent call last):

  File "build/bdist.macosx-10.10-x86_64/egg/trac/admin/console.py", line 
108, in onecmd

    rv = cmd.Cmd.onecmd(self, line) or 0

  File 
"/usr/local/Cellar/python/2.7.10_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cmd.py",
 
line 220, in onecmd

    return self.default(line)

  File "build/bdist.macosx-10.10-x86_64/egg/trac/admin/console.py", line 
286, in default

    return self.cmd_mgr.execute_command(*args)

  File "build/bdist.macosx-10.10-x86_64/egg/trac/admin/api.py", line 127, 
in execute_command

    return f(*fargs)

  File "build/bdist.macosx-10.10-x86_64/egg/trac/env.py", line 976, in 
_do_upgrade

    self.env.upgrade(backup=no_backup is None)

  File "build/bdist.macosx-10.10-x86_64/egg/trac/env.py", line 738, in 
upgrade

    participant.upgrade_environment(*args)

  File "build/bdist.macosx-10.10-x86_64/egg/tractags/db.py", line 79, in 
upgrade_environment

    TicketTagProvider(self.env)._fetch_tkt_tags(db)

  File "build/bdist.macosx-10.10-x86_64/egg/trac/core.py", line 144, in 
__call__

    self.__init__()

  File "build/bdist.macosx-10.10-x86_64/egg/tractags/ticket.py", line 53, 
in __init__

    db = self.env.get_db_cnx()

AttributeError: 'Environment' object has no attribute 'get_db_cnx'


(4) https://trac-hacks.org/ticket/12137

-- 
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/trac-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to