Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn More

View all

Sign in to view all badges

How to track workflow from being edit?

Avatar

Avatar
Validate 1
Level 1
XyNaiz
Level 1

Likes

0 likes

Total Posts

11 posts

Correct Reply

1 solution
Top badges earned
Validate 1
Affirm 1
View profile

Avatar
Validate 1
Level 1
XyNaiz
Level 1

Likes

0 likes

Total Posts

11 posts

Correct Reply

1 solution
Top badges earned
Validate 1
Affirm 1
View profile
XyNaiz
Level 1

30-04-2021

Hi Everyone,

I have some work policy to enforce some fields in the workflow properties after someone edit the workflow.

I try to use the XML tag <leave> and put it into xtk:workflow input form to check after someone edit the form but it is not working.

 

I'm not quite sure that I'm doing at the correct location or not.

Please suggest.

Thank you.

 

 

Accepted Solutions (0)

Answers (1)

Answers (1)

Avatar

Avatar
Give Back
Level 2
CedricRey
Level 2

Likes

5 likes

Total Posts

10 posts

Correct Reply

2 solutions
Top badges earned
Give Back
Boost 5
Affirm 1
Establish
Boost 3
View profile

Avatar
Give Back
Level 2
CedricRey
Level 2

Likes

5 likes

Total Posts

10 posts

Correct Reply

2 solutions
Top badges earned
Give Back
Boost 5
Affirm 1
Establish
Boost 3
View profile
CedricRey
Level 2

04-05-2021

Hello XyNaiz,

Yes, you can use the <leave> element on the xtk:workflow form.

If you wnat to force some fields to be set, use the <set> element :

<leave>
 <if expr="[/ignored/@type]='a'">
  <set value="1" xpath="@myField"/>
 </if>
 <if expr="[/ignored/@type]='b'">
  <set value="2" xpath="@myField"/>
 </if>
</leave>

You can use this on container, subForm or at the end of the global form.

You can use temporary fields (not saved) with /tmp or /ignored elements.

Cédric

XyNaiz

Hi CedricRey,

Thanks for the reply.

I try to put the <leave> at the end of the form but as I said - look like it not working as expect.

Here is my sample code that I have added into the xtk:workflow form. --> Just try to modify the history field in the workflow properties to 31.

Not sure what I did wrong :'(

XyNaiz_0-1620201017474.png

 

CedricRey

Hello XyNaiz,

It can be difficult to debug console forms.

I gave it a try, but I change one thing in the <leave> element, can you try this in your side ? I change the value attribute to expr. (if your field is a string, please add the quote marks '')

 

  <leave>
    <set expr="desc + ' form test...'" xpath="desc"/>
  </leave>
</form>

 

 

Also, the change is only available when user save the workflow (so an another change has to be made). If the form is opened and close without change, the attribute is not updated. If needed, there may be a solution (I know there is some "setNotifySaved" or other things that could help)

Cédric

XyNaiz

Hi Cedric,

I try to do like this but still not working :'(

 

   <leave>
     <set expr="31" xpath="@history"/>
   </leave>
</form>

 

XyNaiz_0-1620205138335.png

 

The field is integer

XyNaiz_1-1620205264790.png

 

XyNaiz
I can do this <leave> modification on nms:delivery form -> it working fine. Not sure that is there any limitation on changing the xtk:workflow form or not.
CedricRey

Hi XyNaiz,

You can certainly change the xtk:workflow, I did it a lot of time (and very carrefully...).

The example I gave you (<set expr="desc + ' form test...'" xpath="desc"/>) add some text to the "desc" element of the workflow, and I tested it successfully this morning.

I just did the exact same modification as you, and it worked. Also, 2 important things to know :

- When you edit the workflow form, you have to "refresh" this one into the console. Just leave the "workflow" view in the Explorer (select anything else like "Delivery" view,"Recipient" I don't know). Then come back into the workflow view, it should refresh the form. The other thing that most user do (and I don't suggest to do this as it is not necessary most of time) is to clear the console cache : File Menu > Clear local cache (or something like that, my console is not in english sorry). A tip to see if your modifications are updated into the console is to change something clearly visible into the interface (for example, change the properties button label adding "1" to the end, you can increment this during your developements )

- User have to do a modification to the workflow (for example, add just a space at the end of label) and save to execute the "set" order and change the @history value.

 

Cedric