This is the camunda BPM webapplication backend and assembly. Clean, package and install it via Maven.
The structure is as follows:
core
- camunda core application and plugin infrastructurewebapp
- camunda web applicationdistro/{container}
- projects that produce camunda web application for the different bpm platform containers
They are 3 webapps available for the camunda BPM platform, they are:
- cockpit: is an administration interface for the processes
- tasklist: provides an interface to process user tasks
- admin: is used to administer users, groups and their authorizations
The webapps above are relying on 2 libraries:
- JS SDK: provides tools for developers who want interact with the platform using Javascript
- commons: is a set of shared scripts, templates and assets, used in the different webapps
Parts of the cockpit application may be extended using plugins. The aim of these plugins is to provide the application with additional views on process engines provided by a camunda BPM platform installation.
See plugin development guide for details.
Has tools to work with the REST API and forms.
Contains resources like images and .less
stylesheets as well as some angular.js modules.
You need node.js - we recommend using nvm to install node.js.
Optionally you could globally install grunt (using npm install -g grunt-cli
).
They are some grunt tasks aimed to ease the development setup process, but they can not be considered as stable and might do some mess with your NPM linking (at least with the camunda related packages). You need to install grunt globally to use that method.
To give it a try:
# cd <path to your workspace>
git clone [email protected]:camunda/camunda-bpm-webapp.git
cd camunda-bpm-webapp/
npm install
grunt setup
# cd <path to your workspace>/camunda-bpm-webapp
grunt
You can additionally use the --update option (who will refresh the maven dependencies).
Depending on your needs, you might want to clone the following repositories:
# cd <path to your workspace>
git clone [email protected]:camunda/camunda-bpm-webapp.git
git clone [email protected]:camunda/camunda-commons-ui.git
git clone [email protected]:camunda/camunda-bpm-sdk-js.git
git clone [email protected]:camunda/camunda-tasklist-ui.git
git clone [email protected]:camunda/camunda-admin-ui.git
git clone [email protected]:camunda/camunda-cockpit-ui.git
git clone [email protected]:camunda/camunda-cockpit-plugin-base.git
To ease development and provide live-reloading, you can link the projects as follow:
# cd <path to your workspace>
cd camunda-bpm-sdk-js
npm link
cd ..
cd camunda-commons-ui
npm link
cd ..
cd camunda-cockpit-ui
npm link
npm link camunda-commons-ui
npm link camunda-bpm-sdk-js
cd ..
cd camunda-tasklist-ui
npm link
npm link camunda-commons-ui
npm link camunda-bpm-sdk-js
cd ..
cd camunda-admin-ui
npm link
npm link camunda-commons-ui
npm link camunda-bpm-sdk-js
cd ..
Note: if you do not link the projects, you will have to run npm install
in each of them.
From the camunda-bpm-webapp
directory:
# might (or not) be needed
cd ../camunda-cockpit-plugin-base
mvn clean install
cd ../camunda-bpm-webapp
cd webapp
mvn clean install jetty:run -Pdevelop,livereload
The webapps are then available pointing a browser at http://localhost:8080
You can now start developing using the ./node_modules/grunt-cli/bin/grunt auto-build
command in the directories (you need a separate terminal/process for each of them)
camunda-cockpit-ui
camunda-tasklist-ui
camunda-admin-ui
camunda-commons-ui
camunda-bpm-sdk-js
If you made the linking, the pages in your browser should reload when a change is made to the scripts of those projects.
The supported browsers are:
- Chrome
- Firefox
- Internet Explorer 9+
You are more than welcome to take part on the development of this project!
You can submit issues in the camunda Jira.
Clone the repository, add, fix or improve and send us a pull request.
But please take care about the commit messages, our conventions can be found
here.
In place of a guide, just follow the formatting of existing code (and / or use the .editorconfig files provided).
- Documentation
- Stackoverflow
- Google groups for users and developers
- Daniel meyerdan Meyer - @meyerdan
- Valentin zeropaper Vago - @zeropaper
- Nico Nikku Rehwaldt - @nrehwaldt
Unless otherwise specified this project is licensed under Apache License Version 2.0.