Platform 8 gettering started: Failed to parse expression 'return = "Pong"

I’m following the platform 8 getting started tutorial. When I try to deploy the process model downloaded from here:

https://docs.camunda.io/docs/guides/getting-started/implement-service-task/

Deployment fails and I get these errors:

Flow_1vlnqoi > conditionExpressionfailed to parse expression ' return != "Pong"': Expected (ifOp | forOp | quantifiedOp | disjunction):1:2, found "return != "

and

Flow_0qhnfdq > conditionExpressionfailed to parse expression ' return = "Pong"': Expected (ifOp | forOp | quantifiedOp | disjunction):1:2, found "return = \""

I’m on Mac OS 12.2.1

Hey @Chuck_Irvine!
Thanks for raising that issue. :slight_smile: I have tried to reproduce it and run in the same problem.
A possibility to fix this is to rename the variable inside the expression.

Instead of =return != "Pong" use =var != "Pong".
Additionally you need to run zbctl create worker test-worker --handler "echo {\"var\":\"Pong\"}"

I will try to fix this in the getting started tutorial. :slight_smile:
Hopefully you will get it to work as well!
Best,
Thomas

I also discovered that changing the variable name fixes the problem. I was kind of surprised to see this error in the context of the getting started documentation. I’ve been a little disappointed in the getting started docs in general. Camunda has always had such great documentation, especially the getting started tutorials. BPM newbies will have trouble with the Platform 8 docs. With Platform 7 being essentially deprecated, I think Platform 8 docs ought to become a priority.

A quick clarification. I was only referring to the platform 8 getting started documentation. I haven’t got very far but I’m finding all of the other docs to be helpful.

And, I shouldn’t have complained about the getting started docs. Sorry.

Maybe “return” is a reserved work now?

Hi @Chuck_Irvine, thank you for the feedback. Camunda Platform 7 docs have had a lot of eyeballs on them for a long time. As the Open Source adage goes: “with enough eyeballs, all bugs are shallow”.

Your specific feedback on Camunda Platform 8 docs is incredibly valuable to help identify larger structural issues, as are PRs to fix small tactical issues.

The more specific feedback you give about the getting started docs, the more we can improve them for all users. No need to apologise for that. We appreciate specific, actionable feedback. That is the Open Source way.

Josh

In general, I think the getting started docs should be very specific and explicit. The goal should be quick and predictable success in getting through the exercise. I’ll give a few examples of problems from the section on getting started with human tasks:

8. Assign this task to a user group using the properties panel.

First, the reference to “zeebe:AssignmentDefinition” seems out of place and is just confusing to a someone new to Camunda.

More importantly, the reader is never told to make any user assignment. Based on my experience in going through the tutorial, a user assignment here is never utilized further on in the tutorial.

10. Create two sequence flows (represented by the arrows) from…

Here, instead of the note following paragraph #10, I would have preferred detailed instructions on how to set the expressions on the flow.

Implement a form

In addition to the steps provided, there should be a step provided for specifying a values for the Select field label and key, for example, “Dinner” and “dinner” respectively.

(i) As mentioned earlier, you’ll need to insert the defined variable values into the appropriate sequence flows to execute your process. In this example, our sequence flows will now have the expressions of = chicken=true and = salad=true.

Here, the expressions for the flows out of the gate are given. But are these expressions correct? Based on my understanding of the form described in section “Implement a form” these expressions probably are not correct. Based on my Platform 7 knowledge, I guess that the expressions should be something like:

= dinner = “chicken”
= dinner = “salad”

What ever the case, more detail should be added to the instructions on creating a form.

In general, I think the getting started docs should be very specific and explicit. The goal should be quick and predictable success in getting through the exercise. I’ll give a few examples from the section on getting started with human tasks:

“8. Assign this task to a user group using the properties panel.”

First, the reference to “zeebe:AssignmentDefinition” seems out of place and is just confusing to a someone new to Camunda.

More importantly, the reader is never told to make any user assignment. Based on my experience in going through the tutorial, a user assignment here is never utilized further on in the tutorial.

“10. Create two sequence flows (represented by the arrows) from…”

Here, instead of the note following paragraph #10, I would have preferred detailed instructions on how to set the expressions on the flow.

“Implement a form”

In addition to the steps provided, there should be a step provided for specifying a values for the Select field label and key, for example, “Dinner” and “dinner” respectively.

" (i) As mentioned earlier, you’ll need to insert the defined variable values into the appropriate sequence flows to execute your process. In this example, our sequence flows will now have the expressions of = chicken=true and = salad=true.”

Here, the expressions for the flows out of the gate are given. But are these expressions correct? Based on my understanding of the form described in section “Implement a form” these expressions probably are not correct. Based on my Platform 7 knowledge, I guess that the expressions should be “= dinner = “chicken” and “= dinner = “salad”. What ever the case, more detail should be added to the instructions on creating a form.

After instructions are given for creating a form, the next section describes deployment of the process model. Before that, there should have been a description on how to associate the form with the process model.

2 Likes