Opened 9 years ago
Closed 9 years ago
#12409 closed defect (worksforme)
Upgrading is Unstable
Reported by: | Owned by: | Cinc-th | |
---|---|---|---|
Priority: | normal | Component: | MultipleWorkflowPlugin |
Severity: | normal | Keywords: | |
Cc: | Trac Release: | 1.0 |
Description
I think the new version of the MultipleWorkflowPlugin is absolutely stonkingly brilliant -- thanks and congratulations. But I've had a frightful time upgrading from the earlier version.
Details in the first comment.
Attachments (0)
Change History (3)
comment:1 Changed 9 years ago by
comment:2 Changed 9 years ago by
It may be you have some mix of old and new plugin versions.
Please check if there are no *.py and *.pyc (or *.egg) files of your old installation are left in any plugin dir of any of your projects. (I assume you use a central plugin directory inherited by all Trac environments).
Depending on your setup of multiple Trac instances the first found *.py/*.egg is loaded when opening a project and used for the rest of the projects no matter if there is another plugin version in the local plugin directory or the global plugin directory.
The extra lines are normal behaviour when manually enabling/disabling components from the trac admin page. In any case
[components] multipleworkflowplugin.* = enabled
should be sufficient to enable all parts of the plugin.
comment:3 Changed 9 years ago by
Resolution: | → worksforme |
---|---|
Status: | new → closed |
No feedback. Issue seems to be resolved.
I have half a dozen production trac projects/installations, and one "sandbox" one for testing/development. The production projects all have minimal
trac.ini
files which essentially just identify the project "inherit" a common ".ini" file (and through that commonplugins
andtemplates
directories. The "sandbox" has its owntrac.ini
which is (meant to be) very similar to the shared one. And it has its owntemplates
andplugins
directories.All these projects have been running the old/original version of MultipleWorkflowPlugin for a couple of years.
When I realised that there was a version of the plugin that would cope with a user changing a ticket type to one that was inconsistent with its state, I decided to upgrade. This was Not At All Easy.
Upgrading the "sandbox" project was painless. The "plugins" directory contained two files from August 2013:
MultipleWorkflowPlugin.py
andMultipleWorkflowPlugin.pyc
.I downloaded the zip file, followed the instructions and ran
python setup.py bdist_egg
to create a.egg
file, and then placed this in the sandboxplugins
directory, in place of the ".py" and ".pyc" files. I restarted HTTP, and then browsed and modified tickets in the "sandbox" installation. All totally wonderful. Really happy.So I went to the
plugins
directory used by all the production installations, and did the same thing there -- i.e. removed the ".py" and ".pyc" files, and replaced them with the ".egg" I had created, and then restarted HTTPD.This broke track in all those installations. Completely. It would not do anything at all. Accessing any page (ticket details, wiki page, admin -- anything) just produced an error screen, saying
Nothing like this had happened in the Sandbox: that had "just worked". Baffled, I put the ".py" and ".pyc" files back (alongside the ".egg", and restarted HTTPD. Now, Trac worked, and in particular I could go to the "Admin" -> "Plugins" page. This showed that I had "MultipleWorkflowPlugin 1.1.0" installed (just as I had in the sandbox). But whereas in the Sandbox it had two sub-components, here it had three. Two of which were disabled. There was no "Workflows" entry in the "Ticket System" menu. When I enabled the two extra components (restarted HTTPD and reloaded), the "Workflows" entry appeared.
From this state, I tried removing the ".pyc" and ".py" files. Trac continued to work, only now the plugin had only two sub-components.
When I investigated, I noticed that enabling the extra components had added two lines to the installations ".ini" file:
Removing these lines from the installation's ".ini" broke trac until I added them to the shared ".ini".
Prior to the upgrade, both the shared ".ini" file and the one in the "sandbox" installation had contained the following:
But while those lines were sufficient for the sandbox, the "production" projects will not run without the two new lines.
I don't understand why this should be, but I fear others will lose a lot of time upgrading unless you can get to the bottom of it, or at least provide some update instructions.