How to install Activiti Explorer with Alfresco Community?

This week, I wanted to install the latest Alfresco Community on my local and do some tests. One of the test was about testing a custom workflow. Because I'm always working on Alfresco Enterprise, I use very often the embedded Activiti Explorer to re-deploy a workflow or to delete some instances. And I realized that the Activiti Explorer was not provided by Alfresco. The only available tool is the workflow console which is almost impossible to use. Because Activiti is open-source, I wanted to check if I was able to install the Activiti Explorer in an other webapp and connect it to Alfresco. The answer is YES, and here is how I did it.

First, I'm using Alfresco Community v5.1.0. If you are using an other version, the instructions may differ. The first thing is to get the Activiti version bundled in Alfresco. I connected to my database and run this command:

mysql> SELECT * FROM ACT_GE_PROPERTY WHERE NAME_ = 'schema.version';
+----------------+----------+------+
| NAME_          | VALUE_   | REV_ |
+----------------+----------+------+
| schema.version | 5.20.0.0 |    1 |
+----------------+----------+------+
1 row in set (0.00 sec)

I opened the Activiti Download page (http://activiti.org/download.html) and I downloaded the version 5.20.0.0. I unzipped it and I moved the file "activiti-explorer.war" (from the folder "wars") in my webapps folder. Before to restart it, I updated 2 files:

./webapps/activiti-explorer/WEB-INF/classes/db.properties
db=mysql jdbc.driver=org.gjt.mm.mysql.Driver jdbc.url=jdbc:mysql://127.0.0.1:8889/alfresco jdbc.username=a
lfresco jdbc.password=alfresco

,/webapps/activiti-explorer/WEB-INF/classes/engine.properties
# demo data properties create.demo.users=false create.demo.definitions=false create.demo.models=false create.demo.reports=false # engine properties engine.schema.update=false engine.activate.jobexecutor=false engine.asyncexecutor.enabled=true engine.asyncexecutor.activate=true engine.history.level=full

And I restarted my Tomcat instance. But, my log file was showing an exception:

version mismatch: activiti library version is '5.20.0.2', db version is 5.20.0.0 Hint: Set <property name="databaseSchemaUpdate" to value="true" or value="create-drop" (use create-drop for testing only!) in

The only option that I had was to update the Activiti database. It represents a high risk, because this is the same database as the one used internally in Alfresco. So, I checked the different migration scripts available in the folder "database/upgrade" from the ZIP file. I checked the 2 relevant files "activiti.mysql.upgradestep.52000.to.52001.engine.sql" and "activiti.mysql.upgradestep.52001.to.52002.engine.sql". The SQL code seems harmless. I changed the property "engine.schema.update" to "true" in the file "engine.properties" and I restarted. The database has been updated, and now, it's time to start if I can login.

Because the explorer embedded in Alfresco is fully integrated, I can just use Alfresco username and password. Obviously, in my case, it doesn't work like that. So, I created 2 groups and one user in the database manually by executing these queries:

INSERT INTO `ACT_ID_GROUP` (`ID_`, `REV_`, `NAME_`, `TYPE_`) VALUES
('admin', NULL, 'ADMIN', 'security-role'),
('user', NULL, 'USER', 'security-role');

INSERT INTO `ACT_ID_USER` (`ID_`, `REV_`, `FIRST_`, `LAST_`, `EMAIL_`, `PWD_`, `PICTURE_ID_`) VALUES ('ben', NULL, 'Ben', 'Chevallereau', 'b.chevallereau@bataon.com', 'password', NULL);

INSERT INTO `ACT_ID_MEMBERSHIP` (`USER_ID_`, `GROUP_ID_`) VALUES ('ben', 'admin'), ('ben', 'user');

And that's it! Then, I was able to login to Activiti Explorer using ben / password. I have access to the "Manage" page where I can re-deploy my workflows. You'll notice that the UI is completely different. You have to be aware as well that everything won't work as expected. So, this kind of installation has to be used very carefully.

 

 

 

Comments

I have done step by step but no result when i go to the url that you give <server:port>/activiti-explorer/ but i keep getting server 404

thanks in advance.

If you get a 404 errror, it means that the WAR file is not deployed properly in your Tomcat instance. Are you sure that you dropped the activiti-explorer.war in the right folder? <TOMCAT_HOME>/webapps ?

Hello,
I can't use alfresco username and password. Can you help me Sir?
thanks

As explained in the article, you can't use Alfresco usernames. You need to follow the instructions explained in this post to create new users directly in the Activiti DB.

hello,

what you mean with: "Because the explorer embedded in Alfresco is fully integrated, " What explorer are you talking about?

thank you!

When I refer to the explorer, I refer to the Activiti Explorer in this blog post. In Alfresco Enterprise, the Activiti Explorer is properly embedded and I can use my Alfresco credentials.

Hello, thanks for the guide. just followed it and could conect activiti-explorer (and even new activiti-app fron activiti6) to alfresco communiti. but it not absoluely clean. both have the same issue.if i go process-->my instances i get error that alfrescoScriptNode is unknown variable type. in catalina.out i can see that it redult of select statement from ACT_RU_VARIABLE table. the similar is described here: https://github.com/Activiti/Activiti/issues/784, but solution ( if it really works) is connected to change code (not parametization somewere in *.xml). Did anyone else have similar problem too and how it was fixed?

Hi. It's a known issue and there is a fix for that. Unfortunately, I didn't have the time to fiix this issue yet :/

Add new comment