Migrate Activiti 6 to Flowable 6 latest

Hi Guys,

What is the process for migrating from activiti 6 to flowable 6. We have running instances in high volumes which need to be migrated over as well. Is there any documentation how to migrate from activiti to flowable?

Regards

Brian

Hey guys,

has anyone any advice on this? I have read the other forum entries on the migration method but they are based on flowable 5. Apart from the job queue and dead letter queue issue pointed to in one of the posts, are there any other considerations.

Thanks for any help.

Brian

Hey Brian,

Which version of Activiti 6? If it was the beta from Summer 2016 then it should just work. A bunch of stuff was dumped in Activiti 6 after that (some of which looked very familiar) and we haven’t looked at it in detail, but I don’t think there was anything much in the way of schema changes.

May be someone else in the community has done it and can help with their experience, but knowing the exact Activit 6 version wil be key.

Cheers
Paul.

Hi Paul,

Thanks for responding. They are currently on activiti 6.0.1.

Regards

Brian

I don’t think 6.0.1 has actually ever been released - it’s still a snapshot. Probably need a commit to identify what it’s actually got in it. Basically, anything after 1st Oct 2017 is not our team’s work (unless someone happened to copy it in from Flowable).

Taking a quick look at the schema changes, that looks ok, except the schema version number will have been bumped up, so interferes with the Flowable 6 schema versions. You can probably solve that by editing the DB directly and putting the version back to 6.0.0.4 (https://github.com/Activiti/Activiti/commits/ff0ebdd81ffb1d4732d905e78513124250aa87aa/modules/activiti-engine/src/main/resources/org/activiti/db/create/activiti.mysql.create.engine.sql).

Other than that, the migration (along with package renames, as mentioned for going Flowable 5 -> 6) should be similar to Flowable 6.0 -> current. Until someone reports they’ve done it successfully, you’re the guinea-pig, I’m afraid. We’d love someone to get it working and report on how, of course :slight_smile:

Cheers, Puaul.

Hello, I have done a migration from Activiti 6 to Flowable a couple of times on a test system. It does seem to just work :grinning:.
Happy to work with you to verify / validate the process…

And is that Activiti 6.0.0+ ? Great to hear it just worked!

Cheers
Paul.

Yes, we are using activiti-6.0.0. Let me know how you get on…

Hi Patrick,

Good to hear it is relatively straight forward. We will be migrating from 6.0.1 so I will run through a migration on this version and see how it goes.

What steps did you follow for the migration. Also, how did you verify that the migration was a success?

Regards

Brian

To migrate, we just pointed Flowable at the Activiti database. When we started Flowable it automatically migrated the data. The only verification we have done is that tasks look like they are still there.
Happy to do some more formal checks if it would help you…

Patrick,
I am testing a move from Activiti 6.0.0 to Flowable 6.0.0. in my app and it seemed to work, except I am seeing this error:

Exception while invoking TaskListener: Incompatible type set on field declaration 'language' for class org.activiti.engine.impl.bpmn.listener.ScriptTaskListener. Declared value has type org.flowable.engine.impl.el.FixedValue, while expecting org.activiti.engine.delegate.Expression

I have a process that has a task listener on a user task and it is deployed with the reference to org.activiti.engine.impl.bpmn.listener.ScriptTaskListener. Also I have some DRL rule files that are deployed with the process and they have references to import org.activiti.engine.task.Task. In Flowable 6 all org.activiti was replaced with org.flowable as I understand. How do all the existing org.activiti references work?

Thanks,
Ivan

Hi Ivan,
Not sure my reply is going to be any help.

We use the REST API and haven’t changed anything from 'org.activiti' to 'org.flowable'.

We don’t have any ScriptTaskListener tasks and haven’t seen any other issues (other than the task id has now changed to a uuid by default).

Let me know if you have any questions,
Patrick

Have you got the compatibility module on the classpath with the proper configs? If so, the existing process definitions will be handled by the v5 compatible engine. See https://flowable.com/open-source/docs/migration/