Updating a deployed app method and system
View Patent ↗For an improved updating of deployed apps, a method is provided. The app is deployed on a target device and the app includes at least one current workflow that is processed by a computing platform, respectively. The method includes providing an app development user interface (UI) of an app development platform to a user. User's input relating to at least one amendment of the respective current workflow is captured in response to user interactions with the app development UI. At least one respective difference between the respective current workflow and the respective amended workflow is determined. The method determining if the determined respective difference is conflicting or non-conflicting. If the determined respective difference is determined to be non-conflicting, the method includes updating the respective current workflow to the respective amended workflow, and updating the deployed app on the target device. The updated app includes the respective updated workflow.
1 . A method of updating a deployed app, wherein the deployed app is deployed on a target device, wherein the deployed app comprises at least one current workflow that is processed by a computing platform, respectively, the method being computer-implemented and comprising:
providing an app development user interface (UI) of an app development platform to a user for developing the deployed app;
capturing user input of the user relating to at least one amendment of the respective current workflow in response to user interactions with the app development UI;
determining at least one respective difference between the respective current workflow and a respective amended workflow;
determining if the determined respective difference is conflicting or non-conflicting; and
when the respective difference is determined to be non-conflicting:
updating the respective current workflow to the respective amended workflow; and
updating the deployed app on the target device, the updated deployed app comprising the respective updated workflow,
wherein the respective amendment of the respective amended workflow is relatable to one or more amended workflow definitions, one or more amended workflow instances, one or more amended workflow activities, or any combination thereof, and
wherein the method further comprises:
determining at least one of the following differences as a non-conflicting difference:
an addition of a workflow activity in a not yet executed path of the current workflow;
a removal of a workflow activity in an executed path of the current workflow;
a re-ordering of a workflow activity in an executed path of the current workflow;
changes in properties of a workflow activity or in an outcome of a workflow activity;
an addition of an outcome in an exclusive split, of a call-microflow, or of a user task activity;
a change in a context entity, in a referenced microflow, in a referenced page, or in a referenced workflow; or
any combination thereof.
2 . The method of claim 1 , further comprising:
determining a hash value for the respective workflow, the hash value depending on a respective workflow activity identifier, a respective workflow activity type, parallel split branches, a respective workflow activity outcome identifier, or any combination thereof, and
comparing the respective hash values of the respective current workflow and the respective amended workflow, such that a version change between the respective workflows is identified.
3 . The method of claim 1 , further comprising:
determining a list of all current workflow activities of the respective workflow;
determining the respective instances of the workflow activities of the determined list; and
identifying a version change of the respective amended workflow when at least one of the determined instances is not related to the respective amended workflow.
4 . The method of claim 1 , further comprising, when the respective determined difference is determined to be non-conflicting:
cloning the respective current workflow activities, such that respective updated workflow activities are obtained; and
executing the respective updated workflow activities and deactivating the respective current workflow activities.
5 . The method of claim 1 , further comprising:
determining as conflicting difference:
a removal of a current workflow activity in the current workflow definition;
an introduction of a parallel branch in an already executed path;
an introduction of a workflow activity in an already executed path;
replacement or deletion of a selected workflow outcome;
moving an already executed workflow activity to a position in the workflow definition that will cause the already executed workflow activity to be re-executed;
a removal of a workflow definition;
moving a current workflow activity outside a parallel branch; or
any combination thereof.
6 . The method of claim 1 , further comprising:
displaying at least one conflict resolution option to the user via the app development UI for a given conflicting difference relating to a conflicting workflow, wherein the at least one conflict resolution option comprises aborting the given conflicting workflow, restarting the given conflicting workflow, continuing the given conflicting workflow, or any combination thereof;
capturing user input relating to a selection of one of the displayed, at least one conflict resolution option for the given conflicting workflow in response to user interactions with the app development UI; and
aborting, restarting, or continuing the given conflicting workflow according to the selected at least one conflict resolution option for the given conflicting workflow.
7 . The method of claim 6 , further comprising, during the development of the amended workflow app or the amended app:
determining at least one respective difference between the respective current workflow and the respective amended workflow;
determining when the determined respective difference is conflicting or non-conflicting;
displaying the at least one conflict resolution option for the respective conflicting difference to a user via the app development UI, the at least one conflict resolution option comprising aborting the given conflicting workflow, restarting the given conflicting workflow, continuing the given conflicting workflow, or any combination thereof;
capturing user input relating to a selection of one of the displayed at least one conflict resolution option for the respective conflicting difference in response to user interactions with the app development UI; and
resolving the respective conflicting difference according to the selected at least one conflict resolution option for the respective conflicting differences.
8 . The method of claim 7 , further comprising:
determining the respective conflict resolution option that is available for resolving the respective conflicting difference; and
displaying the determined, respective conflict resolution option for the respective conflicting difference to a user via the app development UI.
9 . A computer system comprising:
a processor configured to update a deployed app, wherein the deployed app is deployed on a target device, wherein the deployed app comprises at least one current workflow that is processed by a computing platform, respectively, the processor being configured to update the deployed app comprising the processor being configured to:
provide an app development user interface (UI) of an app development platform to a user for developing the deployed app;
capture user input relating to at least one amendment of the respective current workflow in response to user interactions with the app development UI;
determine at least one respective difference between the respective current workflow and a respective amended workflow;
determine if the determined respective difference is conflicting or non-conflicting; and
when the respective difference is determined to be non-conflicting:
update the respective current workflow to the respective amended workflow; and
update the deployed app on the target device, the updated deployed app comprising the respective updated workflow,
wherein the respective amendment of the respective amended workflow is relatable to one or more amended workflow definitions, one or more amended workflow instances, one or more amended workflow activities, or any combination thereof, and
wherein the processor is further configured to:
determine at least one of the following differences as a non-conflicting difference:
an addition of a workflow activity in a not yet executed path of the current workflow;
a removal of a workflow activity in an executed path of the current workflow;
a re-ordering of a workflow activity in an executed path of the current workflow;
changes in properties of a workflow activity or in an outcome of a workflow activity;
an addition of an outcome in an exclusive split, of a call-microflow, or of a user task activity;
a change in a context entity, in a referenced microflow, in a referenced page, or in a referenced workflow; or
any combination thereof.
10 . In a non-transitory computer-readable storage medium that stores instructions executable by a computer system to update a deployed app, wherein the deployed app is deployed on a target device, wherein the deployed app comprises at least one current workflow that is processed by a computing platform, respectively, the instructions comprising:
providing an app development user interface (UI) of an app development platform to a user for developing the deployed app;
capturing user input relating to at least one amendment of the respective current workflow in response to user interactions with the app development UI;
determining at least one respective difference between the respective current workflow and a respective amended workflow;
determining if the determined respective difference is conflicting or non-conflicting; and
when the respective difference is determined to be non-conflicting:
updating the respective current workflow to the respective amended workflow; and
updating the deployed app on the target device, the updated deployed app comprising the respective updated workflow,
wherein the respective amendment of the respective amended workflow is relatable to one or more amended workflow definitions, one or more amended workflow instances, one or more amended workflow activities, or any combination thereof, and
wherein the instructions further comprise:
determining at least one of the following differences as a non-conflicting difference:
an addition of a workflow activity in a not yet executed path of the current workflow;
a removal of a workflow activity in an executed path of the current workflow;
a re-ordering of a workflow activity in an executed path of the current workflow;
changes in properties of a workflow activity or in an outcome of a workflow activity;
an addition of an outcome in an exclusive split, of a call-microflow, or of a user task activity;
a change in a context entity, in a referenced microflow, in a referenced page, or in a referenced workflow; or
any combination thereof.