2 Replies Latest reply on Jan 30, 2008 9:46 AM by joe_jboss

    Upgrading deployed workflow tasks to the new version

    epaquette75

      Is there a way to upgrade deployed workflow tasks to the new version of the workflow. I don't want to use multiple versions of the same workflow.

      For example, if the deployed workflow pattern goes like:

      A -> B -> C

      I would like to upgrade the deployed tasks so that it goes:

      A -> C -> D

      where B tasks would go to A or C using to new version of the workflow.

      We have documents that may be in the workflow for many months. Sometimes policies change on how they are to be processed. If the policies grandfather the existing documents, then leaving them in the older workflow version is fine. However, the policies may very well dictate that they be moved to the new flow and continue through it. We need to be prepared for that situation so that we can support it.

      Thanks in advance

        • 1. Re: Upgrading deployed workflow tasks to the new version
          kukeltje

          First what you probably mean os updating a processinstances (that is what you want) to run with the latest (at that time) processdefinition. Secondly, this has been discussed in the forum before.

          You have to learn the jbpm object model and probably some of he database model to be able to do this.

          Some generic design tips for processes:
          - keep them short as possible. As an example I always say there is no 'mortgage process' just a mortgage in some 'sleeping' state. In this state it is referencing specific versions of services and or small process which need to run if something changes. Much simpler
          - Keep your domain model out of the process as much as possible
          - Rethink if really, really need to update the processinstances. Think out of the box when designing the process initially

          • 2. Re: Upgrading deployed workflow tasks to the new version
            joe_jboss

            It sounds like you want some type of effective date either on the process instances or on the task nodes themselves.