CMDBuild Forum

Compile cmdbuild 3.4.1 source code

I am trying to compile the cmdbuild 3.4.1 source code. The entire project can be compiled into a war package, but I found that the ui and ui were missing during runtime_ The dev folder should not have compiled the front-end files, but I am not sure how to compile the extjs project. Can you provide a more complete compilation step. Also, when I tried to compile the front-end files, it seems that the. sencha directory is missing. Could you please help me check the situation?
sencha

To build the frontend you need SenchaCmd, it will populate that folder:
https://www.sencha.com/products/extjs/cmd-download/

They use 6.2.2, I haven’t tried any newer versions. SenchaCmd needs Java 8, and doesn’t work with anything newer, so download the JRE included version if you use Mac or Win.

I documented my build experiences on Linux in this repo: https://gitlab.com/infeeeee/cmdbuild-community

1 Like

Thank you for your help, but I found it missing the build directory during packaging. How can I build the build directory
image

What command are you running?

After the successfull ui build, sencha should create a dir ui/build. You can try to run the sencha commands manually, and try to find the exact error:

# go to the dir of the ui:
cd src/ui
sencha app install
sencha app clean
sencha -J-Xmx2048m app build testing
sencha -J-Xmx2048m app build production

After these commands you should get a build dir.

It seems you are using sencha 7.7, while the developers use sencha 6.2.2. There is a check in ui/pom.xml to check the version of sencha, so if you are using a different version it won’t build the ui, maybe that’s your problem:

https://gitlab.com/infeeeee/cmdbuild-community/-/blob/upstream/src/ui/pom.xml#L63

If you want to use different version of sencha, and build the ui as part of the maven build process, you have to modify this file.

The other option is to build the ui before the maven build, and comment out that part in ui/pom.xml as I did. I ran these commands in the docker build process, in a separate container, not with maven:

# Commands in the Dockerfile:
https://gitlab.com/infeeeee/cmdbuild-community/-/blob/main/docker/Dockerfile#L53
# Commented out ui/pom.xml:
https://gitlab.com/infeeeee/cmdbuild-community/-/blob/main/src/ui/pom.xml
1 Like

The packaged war package lacks UI and UI_ Dev directory,
Do I still need to configure the source code I downloaded from the official website in the compiler
image

Thank you again for your help. I have tried using Sencha to create and package projects under Windows and Linux respectively. Everything looks normal on Windows, but there is an error message when creating projects under Linux. The error message is as follows:
[ERR] The specified string cannot be converted into a valid namespace identifier
[ERR] Invalid namespace : etest

I also tried to package directly on Linux, but I also reported an error as follows:
[INF] Using GPL version of Ext JS version 6.2.0.981 from /home/admin/cmdbuild-3.4.1src/ui/ext.
[INF] The implications of using GPL version can be found here
[INF] Processing Build Descriptor : cmdbuild
[WRN] the following remote package repository directories did not initialize properly :
[WRN] - /home/admin/Sencha/Cmd/repo/.sencha
[WRN] - /home/admin/Sencha/Cmd/repo/pkgs
[ERR] javax/xml/bind/DatatypeConverter

I came up with the idea of packaging a project under Windows and then copying it to Linux. It also reported an error message as follows:
image
I don’t know how to continue now

I got this error with wrong java version. As I wrote before Sencha 6.2.2 supports ONLY java 8. Run senchacmd with java 8. It works on windows, because windows senchacmd version comes with java/jre included, but on linux you have to set this up manually.

2 Likes

Hello! is it possible to run cmdbuild on wildfly? what needs to be done for this?

I don’t know. And I think it’s a bit offtopic here, maybe you can get better results if you start a new topic about this question. This topic is about building the ui, not deployment.

Anyway I think it’s worth a try, however CMDBuild is very picky about the versions of everything, so I guess it won’t be an easy ride. You are on your own. Please document it somewhere if you succeed, maybe you can help someone else in the future.