Redmine upgrades - WIP

Hi all,

As you all know, our Redmine instance is very very old, so I just wanted to give a quick note about where I got to with upgrading it, and some notes if anyone wants to take over, since I likely won't have time to push this forward while I'm away. The TLDR is that plugins are a pain...

There are 3 main areas that need dealing with before we can upgrade Redmine: code changes, db migration testing, and plugin compatibility.

For the code changes, I've finished this. At [1] you'll find a set of branches containing rebased code for each of the Redmine version branches. This will enable us to migrate up through 3.0, 3.1 etc.

For the db:migrate testing, I've run db:migrate with a recent backup of the production DB, on each of those branches, using psql 9.6. and ruby 2.1 (I couldn't get 2.0, which is on the Redmine box, to install on my laptop for some reason). No issues found, all migrations are fine.

Plugins is where we hit some issues. Firstly, Redmine Backlogs has no compatibility above 2.X, so we'll have to drop it. I don't *think* anyone is actually using the backlog feature, but we do need the Release field it provides. We can either add this as a custom field (requiring updates to our automation) or create a small new plugin that replicates just this bit of functionality. Either way, some work is required.

All other plugins appear to migrate fine, although things like GitHub auth can't be tested since they involve redirecting to the real site - there are no code errors at least. I have updated the submodule commits in my branches, where needed (lightbox2 has a bunch of versions).

We have requests for two new plugins as well:

* Marek - Question Plugin

I believe this is
http://www.redmine.org/projects/redmine/wiki/PluginQuestion but that hasn't been updated in a long time. I haven't tried it yet, but I'd be surprised if it works out of the box for Redmine 3.

I don't see anything similar in the 3.4.3-compatible plugin list [2], so it may be necessary to get our hand dirty if we want this.

* Walden - Kanban plugin

https://github.com/edavis10/redmine_kanban - Same problem (both were developed by the same person, who shut down his efforts in 2013). Not updated since 2011 gives me little hope here...

http://www.redmine.org/plugins/redhopper may be an alternative, seems maintained. There's also http://www.redmine.org/plugins/scrum-plugin but that seems overkill (but could be a replacement for Backlogs, if we want it).

So, the outstanding tasks are:

* Resolve the Release field we need from the defunct Backlogs plugin * (optional) Find a Questions plugin and test it (or write one) * (optional) Test one of the kanban plugins

If someone wants to volunteer to fix the Release field problem, I can do the migration very easily one evening. I would guess an hour's downtime is enough, given I've done all the rebasing already.

[1] https://github.com/GregSutcliffe/redmine/branches/active [2] http://www.redmine.org/plugins?page=17&sort=&utf8=%E2%9C%93&v=3.4

Greg