You are viewing limited content. For full access, please sign in.

Question

Question

Best practice for modifying forms & business process in Production

asked on September 7, 2016

I've referenced the Answers posts below, but still don't seem to have an answer that addresses my situation.

https://answers.laserfiche.com/questions/68915/Production-EnvironmentOffline-Environment-and-How-it-Affects-LF-Forms-Reporting-on-Current-Processes#repliesToMain

 

https://answers.laserfiche.com/questions/81253/Modifying-forms--best-practice#repliesToMain

I modified both the production form and the production business process while I had three instances started with the old form and business process still In Progress.

When I look at the three instances they show as In Progress but do not show any tasks open.  When I go into each instance, two show tasks completed up to a point with no End task while one shows up with and End task and then shows the task that was completed this morning.  All show as open.

Since these are still test versions, I have no problem terminating them to stop them running, but I need to know what is the best methodology when updating a form and business process at the same time you have production documents in process?  Please advise.  Thanks.

9-7-16 process not complete.PNG
9-7-16 process not complete2.PNG
9-7-16 process not complete3.PNG
0 0

Answer

SELECTED ANSWER
replied on September 8, 2016 Show version history

Thanks Michelle. There are two possible changes that you can make, one is to make changes to the form, another is to make changes to the process modeler or both. I'm not sure which one you are referring to.

 

If you only want to make some changes to the existing form, I suggest you copy the existing form and make changes on the new form, then select/replace the new form in the message start event/user tasks/etc. In this way, you should be able to keep both old and new instances, i.e., the old instances will still use the previous form, and new instances will use the new form. These data both will be in reporting (dashboards, etc.).

 

It will be tricky if you would like to modify the structure of the existing process modeler (e.g., removing a user task), this will affect all the existing running instances (e.g., all the running instances on that user task step will be terminated). If you don't want the change to affect on existing running instances, it will be better to copy the process to a new one, and make changes there. But this way, for reporting, you won't see the old data, the old data will remain in the old process, while the new data is in the copied process. Data continuity is irrelevant to process names.

3 0

Replies

replied on September 8, 2016

Maybe you can try to copy the production business process. It will copy all the forms inside as well but without any previous instances. You can make all the changes there, and do testing there.

 

If you don't want the original business process any more, you can just delete the process, it will automatically stop and remove all the running instances.

0 0
replied on September 8, 2016

Ming,  I am not as worried about the three processes I had running as I am about what I do when I have this form and business process in production and I need to make changes.

I could copy the business process and forms within, but that makes it a new version different from the one prior.  How do I keep the continuity of the form data for reporting if it is now running as a different business process? 

 

Are you suggesting that this copy could then be renamed to the production name and thus keep that continuity?  But what then happens with the forms operating under the old business process?  Sorry to sound dense, but I'm still trying to get my hands around how forms works.

0 0
SELECTED ANSWER
replied on September 8, 2016 Show version history

Thanks Michelle. There are two possible changes that you can make, one is to make changes to the form, another is to make changes to the process modeler or both. I'm not sure which one you are referring to.

 

If you only want to make some changes to the existing form, I suggest you copy the existing form and make changes on the new form, then select/replace the new form in the message start event/user tasks/etc. In this way, you should be able to keep both old and new instances, i.e., the old instances will still use the previous form, and new instances will use the new form. These data both will be in reporting (dashboards, etc.).

 

It will be tricky if you would like to modify the structure of the existing process modeler (e.g., removing a user task), this will affect all the existing running instances (e.g., all the running instances on that user task step will be terminated). If you don't want the change to affect on existing running instances, it will be better to copy the process to a new one, and make changes there. But this way, for reporting, you won't see the old data, the old data will remain in the old process, while the new data is in the copied process. Data continuity is irrelevant to process names.

3 0
replied on September 9, 2016

Ming, your answer fits just what I needed.  I was making changes to both form and business process and in so doing 'broke' my running instances.  But, you mentioned that removing the user task would terminate the instance.  In my case, I didn't see that happen.  The instances continued to appear as if running although there were no more tasks open.  Weird. 

But now I know the best way is to copy the process, make my changes, test, and then put into production.  Thank you.

 

0 0
replied on September 9, 2016

Ming,  Another question regarding best way to make a change to the business process:

  • When I copy BP1 to BP2 they both have different URLs for accessing the form that kicks off the business process.
  • When I want to take BP2 to production, I would then change the URL for BP2 to the URL for BP1 correct?
    • Do I need to un-publish BP1 prior to changing the URL so that no one starts a new instance of BP1?
    • By un-publishing, do I stop any running instances of BP1?

Is this the best way to handle this?

0 0
replied on September 9, 2016

Thank you Michelle. First to make it clear, if you delete a user task, only the running instances whose task is that user task will be terminated, like Lifei said too. For example, if you have User task 1 and User task 2 (User task 1 is before User task 2), 2 instances running, Instance 1 is at stage user task 1, and the other Instance 2 is at User task 2. Then if the User task 1 is deleted in process diagram, the Instance 1 will be terminated, but Instance 2's status will not be affected.

 

Regarding the new question, publishing/unpublishing won't affect the status of existing instances, it will just hide the BP from public. If you don't want anybody to start a new instance from BP1, unpublishing BP1 is what you want. If you want BP2 to take place of BP1 in production, you can use the URL from BP2.

0 0
replied on September 14, 2016 Show version history

Ming, from your second paragraph of your response you stated if I want BP2 to take the place of BP1 in production that I can use the URL from BP2.  But what if I don't want to change the URL that has been given to users? (i.e. via desktop shortcuts etc.)  Would I then do the following:

  • Unpublish BP1 to remove from public sight
  • Change BP2 URL to URL of BP1 (would it be good to change BP1 URL to something else so that if it were accidentally republished that it wouldn't tread on the new production version?)
  • Publish BP2 to be the new production version

Please advise, thanks.

0 0
replied on September 14, 2016

If you don't want to change the URL that has been given to users, your steps to change the URL is perfect. 

 

After you unpublish BP1 and apply the original URL to BP2, you will not be able to publish BP1 with the same URL again (on purpose or accidentally), an error stating "Another business process is already using this URL. Please specify a unique URL. [LFF305-DuplicateFriendlyName]" will pop up. So your BP2 is safe with that URL.

0 0
replied on September 14, 2016

YES!  thank you for the guidance in getting best practices together for updates to forms and their business processes.  I am documenting internally since I may not always be the one making these changes and I certainly wouldn't want any production business process in progress to be affected adversely by a change.

1 0
replied on September 8, 2016

Hi Michelle,

 

In Forms, running instances are binding to variables and steps. This means your process in production should be fine if form layout/name changed; however, if a step in process modeler gets deleted, it depends on whether your instance has hit that step or not. (The instance would be terminated if the step gets deleted while it has been triggered).

In terms of your question:

Two show tasks completed up to a point with no End task while one shows up with and End task and then shows the task that was completed this morning.  All show as open.

There’s also a chance that your instance hit a “terminated” status , if your process is not properly configured (for example: there's a gateway/task goes to no where)

 

Form your screen shot, I note that you have inclusive gate way and parallel gateway happened after it’s already hit the “end new change” event. I‘m wondering if you have other tasks still open (aka in-progress), in which case the process should still stay in-progress, as expected. If this is not the case, please open a support case so we can take a closer look at it.

 

Thank you.

Lifei

0 0
replied on September 9, 2016

Lifei,  When I changed my business process, I removed two exclusive gateways associated with those tasks. So that would be my 'gateway to no where' situation.  I should have been thinking about those three in process before making any changes to the existing business process.  Ming's answer helped me visualize what order in which changes need to be made.  Thank you both!

Michelle

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.