sudo mkdir -p /opt/ide
sudo wget -cq https://downloads.camunda.cloud/release/camunda-modeler/5.7.0/camunda-modeler-5.7.0-linux-x64.tar.gz -P /opt/ide
sudo tar -xzf /opt/ide/camunda-modeler-5.7.0-linux-x64.tar.gz -C /opt/ide
sudo rm -rf /opt/ide/camunda-modeler-5.7.0-linux-x64.tar.gz
sudo wget -cq https://camunda.com/wp-content/uploads/2022/02/Secondary-Logo_Rounded-Black-300x300.png\
-O /opt/ide/camunda-modeler-5.7.0-linux-x64/camunda-modeler.png
cat << EOF | sudo tee /usr/share/applications/CamundaModeler.desktop >>/dev/null
[Desktop Entry]
Name=Camunda Modeler 5
Comment=SpringSource Tool Suite 4
Exec=/opt/ide/camunda-modeler-5.7.0-linux-x64/camunda-modeler
Icon=/opt/ide/camunda-modeler-5.7.0-linux-x64/camunda-modeler.png
StartupNotify=true
Terminal=false
Type=Application
Keywords=Camunda,Modeler,BPMN,IDE,Development
Categories=Development;IDE;BPMN;
EOF
version: '3.4'
services:
academia-poc:
image: camunda/camunda-bpm-platform:run-latest
container_name: academia_poc
restart: always
ports:
- 127.0.0.1:15010:8080
volumes:
- ./h2:/app/camunda-h2-default
- ./forms:/app/client/xc-tasklist/forms
vim /etc/hosts
#127.0.0.1 camuda.dev.chorke.org
mkdir /var/log/apache2/camuda.dev.chorke.org
cat <<'EOF' > /etc/apache2/sites-enabled/00-camuda.dev.chorke.org.conf
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAdmin [email protected]
ServerAlias camunda.dev.chorke.org
ServerName www.camunda.dev.chorke.org
<Location />
Order Allow,Deny
Allow from all
RequestHeader set "Host" "camunda.dev.chorke.org"
ProxyPass http://127.0.0.1:15010/ nocanon
ProxyPassReverse http://127.0.0.1:15010/
</Location>
ErrorLog ${APACHE_LOG_DIR}/camunda.dev.chorke.org/error.log
CustomLog ${APACHE_LOG_DIR}/camunda.dev.chorke.org/access.log combined
</VirtualHost>
EOF
a2enmod headers
sudo apachectl -t
sudo systemctl restart apache2
sudo systemctl daemon-reload
<repositories>
<repository>
<id>camunda-bpm-artifactory</id>
<name>camunda-bpm-artifactory</name>
<url>https://camunda.jfrog.io/artifactory/public/</url>
</repository>
</repositories>
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/camunda/camunda-bpm-tomcat-7.16.0/server/apache-tomcat-9.0.52/ tomcat
chown -R tomcat /opt/camunda/camunda-bpm-tomcat-7.16.0/server/apache-tomcat-9.0.52/{webapps,work,temp,logs}
chgrp -R tomcat /opt/camunda/camunda-bpm-tomcat-7.16.0/server/apache-tomcat-9.0.52/
chmod -R g+r /opt/camunda/camunda-bpm-tomcat-7.16.0/server/apache-tomcat-9.0.52/conf
chmod g+x /opt/camunda/camunda-bpm-tomcat-7.16.0/server/apache-tomcat-9.0.52/conf
vim /etc/systemd/system/camunda.service
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
Before=httpd.service
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-armhf/jre
Environment=CATALINA_PID=/opt/camunda/camunda-bpm-tomcat-7.16.0/server/apache-tomcat-9.0.52/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/camunda/camunda-bpm-tomcat-7.16.0/server/apache-tomcat-9.0.52
Environment=CATALINA_BASE=/opt/camunda/camunda-bpm-tomcat-7.16.0/server/apache-tomcat-9.0.52
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/camunda/camunda-bpm-tomcat-7.16.0/server/apache-tomcat-9.0.52/bin/startup.sh
ExecStop=/opt/camunda/camunda-bpm-tomcat-7.16.0/server/apache-tomcat-9.0.52/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
<version.chorke.spring.cloud>2021.0.0</version.chorke.spring.cloud>
<version.chorke.spring.boot>2.6.3</version.chorke.spring.boot>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${version.chorke.spring.cloud}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
package io.xpresscover.services.camunda
import org.springframework.scheduling.annotation.Scheduled
import org.springframework.stereotype.Service
import org.camunda.bpm.engine.RuntimeService
import org.camunda.bpm.engine.ProcessEngine
import org.slf4j.LoggerFactory
import java.io.BufferedReader
@Service
class ExportProcessModel(
var runtimeService: RuntimeService,
var processEngine: ProcessEngine
) {
val log = LoggerFactory.getLogger(ExportProcessModel::class.java)
@Scheduled(fixedDelay = 15000, initialDelay = 15000)
fun export() {
val mutableList = processEngine.getRepositoryService().createProcessDefinitionQuery().list()
for (processDefinition in mutableList) {
val inputStream = processEngine.getRepositoryService().getProcessModel(processDefinition.id)
val bufferedReader = BufferedReader(inputStream.reader())
var xml: String
try {
xml = bufferedReader.readText()
log.info("Model: \n{}", xml)
} finally {
bufferedReader.close()
}
}
}
}
WITH stored_dataflow AS (
SELECT
id_ AS "id", rev_ AS "revision",
generated_ AS "is_generated", tenant_id_ AS "tenant_id",
type_ AS "type", create_time_ AS "created_on", root_proc_inst_id_ AS "root_proc_inst_id",
removal_time_ AS "deleted_on", name_ AS "name", convert_from(bytes_, 'UTF8') AS "dataflow"
FROM act_ge_bytearray
),
stored_workflow AS (
SELECT
id, name, type, revision, is_generated,
created_on, deleted_on, root_proc_inst_id,
CAST(dataflow AS xml) AS "workflow", dataflow
FROM stored_dataflow
WHERE starts_with(dataflow, '<?xml version="1.0" encoding="UTF-8"?>')
AND xml_is_well_formed_document(dataflow)
ORDER BY name ASC, created_on DESC
)
SELECT * FROM stored_workflow;
WITH xpath_metadata AS (
SELECT
(
SELECT
array_agg(array[
cast(raw_xpath_namespace->>0 AS varchar),
cast(raw_xpath_namespace->>1 AS varchar)
])
FROM jsonb_array_elements('[
["bpmn", "http://www.omg.org/spec/BPMN/20100524/MODEL"],
["bpmndi", "http://www.omg.org/spec/BPMN/20100524/DI"],
["dc", "http://www.omg.org/spec/DD/20100524/DC"],
["di", "http://www.omg.org/spec/DD/20100524/DI"],
["modeler", "http://camunda.org/schema/modeler/1.0"],
["camunda", "http://camunda.org/schema/1.0/bpmn"]
]'::jsonb) AS raw_xpath_namespace
) AS "namespaces",
'/*/bpmn:process/*/*/*/*/camunda:inputParameter[@name="url" or @name="payload"]' AS "fetch_url_and_payload_query",
'count(/*/bpmn:process/*/*/*/*/camunda:inputParameter[@name="url" or @name="payload"])' AS "count_url_and_payload_query"
),
stored_dataflow AS (
SELECT
id_ AS "id", rev_ AS "revision",
generated_ AS "is_generated", tenant_id_ AS "tenant_id",
type_ AS "type", create_time_ AS "created_on", root_proc_inst_id_ AS "root_proc_inst_id",
removal_time_ AS "deleted_on", name_ AS "name", convert_from(bytes_, 'UTF8') AS "dataflow"
FROM act_ge_bytearray
),
stored_workflow AS (
SELECT
sd.id, sd.name, sd.type, sd.revision, sd.is_generated,
sd.created_on, sd.deleted_on, sd.root_proc_inst_id,
CAST(sd.dataflow AS xml) AS "workflow",
sd.dataflow
FROM stored_dataflow sd
WHERE xml_is_well_formed_document(sd.dataflow)
ORDER BY sd.name ASC, sd.created_on DESC
)
SELECT
sw.*,
xpath(xm.fetch_url_and_payload_query, sw.workflow, xm.namespaces) AS "fetch_url_and_payload",
(xpath(xm.count_url_and_payload_query, sw.workflow, xm.namespaces))[1]::text::int AS "count_url_and_payload"
FROM stored_workflow sw
INNER JOIN xpath_metadata xm ON true
WHERE (xpath(xm.count_url_and_payload_query, sw.workflow, xm.namespaces))[1]::text::int > 0