The diagram button is not displayed

I am not able to see the process diagram button of a process.

Does this only happen for deleted processes like this one or every process?

But this one is nit deleted

This is why I asked:

I will double check again

Please check attached image which is correct process completed

Al so see my definition

<?xml version="1.0" encoding="UTF-8"?>

<definitions id="introExample"
             xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
             xmlns:flowable="http://flowable.org/bpmn"
             targetNamespace="http://flowable.org/examples">

    <process id="intro">

        <startEvent id="start"/>

        <sequenceFlow id="flow1" sourceRef="start" targetRef="introTask" />

        <serviceTask id="introTask" flowable:class="com.example.demo.flowable.IntroTask" />

        <serviceTask id="introTask2" flowable:class="com.example.demo.flowable.IntroTaskTwo"  />

        <sequenceFlow id="flow2" sourceRef="introTask" targetRef="introTask2" />
        <sequenceFlow id="flow3" sourceRef="introTask2" targetRef="end" />

        <endEvent id="end" />

    </process>

</definitions>

The java code

public static void main(String[] args) {
    ProcessEngineConfiguration cfg = new StandaloneProcessEngineConfiguration()
            .setJdbcUrl("jdbc:mysql://127.0.0.1:3306/flowable?characterEncoding=UTF-8")
            .setJdbcUsername("root")
            .setJdbcPassword("password")
            .setJdbcDriver("com.mysql.jdbc.Driver")
            .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE);

    ProcessEngine processEngine = cfg.buildProcessEngine();

    RepositoryService repositoryService = processEngine.getRepositoryService();
    Deployment deployment = repositoryService.createDeployment()
            .addClasspathResource("lastry.bpmn20.xml")
            .deploy();

    ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
            .deploymentId(deployment.getId())
            .singleResult();
    System.out.println("Found process definition : " + processDefinition.getName());

    RuntimeService runtimeService = processEngine.getRuntimeService();

    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("employee", "makri ka JAAL");
    variables.put("nrOfHolidays", 10);
    variables.put("description", "nothing");
    ProcessInstance processInstance =
            runtimeService.startProcessInstanceByKey("intro", variables);

    System.out.println(processInstance.isEnded());



}

It looks like you have a completely stand alone app. Flowable Admin uses the REST APIs to query process state, etc. I am surprised you are seeing anything at all. Do you have the Rest or Task app pointed at the same database and Admin pointed at one of those? Are you tied to a standalone application? The spring boot starters make it fairly easy to enable the REST API.

Well I am using the same database. I have deployed apps pointing to MYSQL

I am pointing Admin to the same database as standalone

I’ll eventually use the springboot but this was just testing.

even if I use springboot the code will be in the springboot application not on the rest api

can you provide me example maybe I can use that and see if that works.

Also I had one more question

My processi basically process the file then I’ll have to pass the data to other tass in the same flow

Should I use the variable for this?

I’ve been thinking about putting a project together that builds a spring boot app and deploys it and all of the management UI apps to docker containers. I finally got around to it today:

To your question about passing data between tasks:
Process variables are generally the way to go. If there’s data that does not need to be stored in the database, you could also use transient variables.

ok I obviously want to pass the data only between tasks but not to store that as it will be 50K lines of text.

Actually this was not the issue really. The XMLhas to be downloaded from the modeller. Someone replied on Github and its all working now

But I am not seeing the failed flows though

I saw Tijs’s reply. I didn’t even think about the model needing the diagram information.

What do you mean by failed flows?

For example if a task of delegates class throws exception
I don’t see that in admin Ui

I don’t think Admin has the ability to show most errors, you’ll get most of your error information from the app’s log. To understand why you need to understand how Flowable keeps its state consistent:

Flowable uses database transactions to maintain a consistent state. When the processes executes each task is executed in turn and the resulting change is staged in a transaction. The transaction does not get committed until the process hits the end or a wait state, a task or event that requires the process to wait for something. That wait state could be a user task, a timer intermediate event, or something like an async service task. If there is an exception before Flowable hits a wait state, the transaction gets rolled back. If there was a previous wait state that was committed, you’ll see that state in Admin. On the other hand, if there’s an exception before any wait state is hit in a process execution even the start of the execution gets rolled back and you’ll see nothing in the database or admin.

Will

That’s not good approach

This means failed ones will not be viewed by users

Anyway overcome this

If you have a service task that is likely to error out, you can catch the exception and rethrow a BpmnError then use an error boundary event to model what you’d like to happen:

image

Even though its showing now but how could someone find out where it failed ?

My bad I was supposed throw BpmError

can you tell me how do I get the error details here?