When I first wanted to upgrade Active Collab to Version 5, it was a disaster. But it’s been almost half a year and a51 has realized that Heartbeat wasn’t a good idea, so after they removed it from the package, I decided to give an AC a last chance.
The basic installation was very easy and done within a few minutes. If you want to set up a completely new system, you shouldn’t run into any problems.
The migration hasn’t changed a lot since the last time. When I started the scripts, I got the same error as in July:
Error #1: Query failed with message 'SELECT command denied to user 'XXXXXX'@'localhost' for table 'access_logs'' (SQL: CREATE TABLE `XXXXXX`.`access_logs` LIKE `YYYYYY`.`access_logs`)
At this point, I already regret that I gave AC another try. Because the migration scripts obviously have only improved a little, I decided to set up both systems locally, so that I can easily debug the migration process.
After some tries with very annoying error messages (“Migration not possible. Please upgrade legacy system to ActiveCollab 4.2.17 or newer and try again”—but this is 4.2.22!), I finally made it work locally. The update of my live database then was much harder than expected: Due to restrictions of my host, I cannot give my MySQL user super rights, which caused about 10 error messages. I clicked them away and AC 5 seems to work, but hopefully I didn’t break anything in the back.
After setting the unique project ID to the one from my local config, I was finally able to log in.
I was a bit surprised, that my mail settings weren’t migrated, but it’s not a big effort to add them again. When I was clicking through my projects, I saw that all of them have a unique mail address where people can send “tasks and other items” to. I didn’t set up a catch-all mail address, so I wonder how this should work.
The search is now powered by Elastic Search. After I found out, that AC requires ES 1.7.x to be installed (this information should really be added to their help pages), it didn’t take much time to make it run. I simply downloaded an ES Docker image, installed it on my DiskStation, set the URL and port in AC and started to rebuilt the search index via
php activecollab-cli.php rebuild_search_index
While the old AC accepted HTTP cronjobs, the new version does not. You are required to either set up a local cronjob or process them via SSH. Both solutions didn’t work on my host due to limited permissions, so I had to create some PHP scripts that are being called by HTTP and execute my tasks.
<?php echo exec('php /PATH/TO/YOUR/AC/tasks/cron_jobs/check_imap_every_3_minutes.php');
“Webhooks” are plural and might indicate more than one webhook, but this is not true. Sure, AC allows you to set up as many hooks as you want, but they are all restricted to the same actions. It’s not possible to set up different hooks for different projects yet (f.e. assign an individual Slack channel for each project), so they are useless for my purposes.
Some things you should know
A lot of functions have been removed/not added. It’s not possible to put AC into maintenance mode or display messages to users.
Email logs are shown, but the contents cannot be viewed. This is not an archive like it was in AC 4.
AC 5 lists time entries with state 0, that aren’t displayed in AC 4. When I create an invoice and choose “all uninvoiced items”, entries that have been deleted in AC 4 appear. This is very critical! I had differences between AC 4 and AC 5 in many projects!
Also, you have to add tax to every single invoice item, even though it’s set globally.
After merging the data, notebooks are completely unordered. It’s pretty hard to find the information you are looking for when you’ve used notebooks a lot in the past.
When you’ve archived companies and users, they are shown separately. Outside the archive users are shown within their company.
Custom reports aren’t supported any longer.
It’s now possible to enter times like “1.5” without AC transferring it into “15:00”.
I’ll write a full conclusion after some months of usage. AC 5 is just too different to get an impression after day one.