Skip to main content
deleted 39 characters in body
Source Link
Yash
  • 916
  • 5
  • 8

We have designed a very basic Workflow with the following activities:

  1. The first activity is Manual and in diagram we have set the Approval State as "Publish_Stage", which means that the page with this component can only be published to Staging & not to Live.

  2. The second activity is "Automatic" with Approval State as "Publish_Stage" and this assigns the task to group of Approver based on some business logic.

  3. The third task is to either "Approve" the content or "Return to Editor" which ends the Workflow with the Approval Status as "Publish_Live" & "Publish_Stage" respectively.

The problem we are facing is that the component locked by the WF can still be published to Live, though we have the Minimal Approval Approval Status set "Publish_Live" at Publication targetwhich is somehow getting set automatically overriding the Approval Status I have set in Workflow Diagram i.e. "Publish_Stage"

When I analyzed the issue, I found that the approval status set in visio diagram is overridden by the last status set in the component, which I can explain it with the following scenario:

  • Edit an existing/approved Component which has the Approval Status as “Publish_Live“, now check-in the component.
  • The Workflow gets invoked on that component and a manual activity is assigned to the editor with the Approval Status as “Unapproved”.
  • Now Editor open the activity and click “Finish Activity”, the Approval Status changes to “Publish_Live” instead of “Publish_Stage“ even though being explicitly set in Visio diagram.
  • At this stage if someone try to publish the page to Live, it gets published successfully being component locked by the WF.

I have reached to the conclusion that Visio setting is overridden by the last Approval Status because I tried another scenario:

  • Edit an approved Component which has the Approval Status as “Publish_Live“, now check-in the component.
  • Open the Admin console and force finish the Workflow by setting the Approval Status to "Publish_Stage".
  • The component is now saved & checked in with Approvals Status as “Publish_Stage”.
  • Now edit the same component, and check-in after making changes, the component gets saved with status “Unapproved” and locked by the Workflow.
  • Editor clicks on “Finish Activity”, and this time the Approval Status being printed in logs as “Publish_Stage” (i.e. the last state of the Component).

I have put the loggers to get the Approval Status on different events like:

 EventSystem.Subscribe<Component, SaveEventArgs>(ComponentSaved, EventPhases.TransactionCommitted);
 EventSystem.Subscribe<ActivityInstance, FinishActivityEventArgs>(FinishActivityCall, EventPhases.Initiated);
 EventSystem.Subscribe<ActivityInstance, AssignActivityEventArgs>(AssignActivityCall, EventPhases.Initiated);
 EventSystem.Subscribe<ActivityInstance, ReAssignActivityEventArgs>(ReAssignActivityCall, EventPhases.Initiated);

Can someone please provide some pointers what could be the reason for such strange behavior, because the Workflow diagram is not really complex and its very straight forward.

The SDL version is 2013SP1.

Thanks in advance.

We have designed a very basic Workflow with the following activities:

  1. The first activity is Manual and in diagram we have set the Approval State as "Publish_Stage", which means that the page with this component can only be published to Staging & not to Live.

  2. The second activity is "Automatic" with Approval State as "Publish_Stage" and this assigns the task to group of Approver based on some business logic.

  3. The third task is to either "Approve" the content or "Return to Editor" which ends the Workflow with the Approval Status as "Publish_Live" & "Publish_Stage" respectively.

The problem we are facing is that the component locked by the WF can still be published to Live, though we have the Minimal Approval Approval Status set "Publish_Live" at Publication target.

When I analyzed the issue, I found that the approval status set in visio diagram is overridden by the last status set in the component, which I can explain it with the following scenario:

  • Edit an existing/approved Component which has the Approval Status as “Publish_Live“, now check-in the component.
  • The Workflow gets invoked on that component and a manual activity is assigned to the editor with the Approval Status as “Unapproved”.
  • Now Editor open the activity and click “Finish Activity”, the Approval Status changes to “Publish_Live” instead of “Publish_Stage“ even though being explicitly set in Visio diagram.
  • At this stage if someone try to publish the page to Live, it gets published successfully being component locked by the WF.

I have reached to the conclusion that Visio setting is overridden by the last Approval Status because I tried another scenario:

  • Edit an approved Component which has the Approval Status as “Publish_Live“, now check-in the component.
  • Open the Admin console and force finish the Workflow by setting the Approval Status to "Publish_Stage".
  • The component is now saved & checked in with Approvals Status as “Publish_Stage”.
  • Now edit the same component, and check-in after making changes, the component gets saved with status “Unapproved” and locked by the Workflow.
  • Editor clicks on “Finish Activity”, and this time the Approval Status being printed in logs as “Publish_Stage” (i.e. the last state of the Component).

I have put the loggers to get the Approval Status on different events like:

 EventSystem.Subscribe<Component, SaveEventArgs>(ComponentSaved, EventPhases.TransactionCommitted);
 EventSystem.Subscribe<ActivityInstance, FinishActivityEventArgs>(FinishActivityCall, EventPhases.Initiated);
 EventSystem.Subscribe<ActivityInstance, AssignActivityEventArgs>(AssignActivityCall, EventPhases.Initiated);
 EventSystem.Subscribe<ActivityInstance, ReAssignActivityEventArgs>(ReAssignActivityCall, EventPhases.Initiated);

Can someone please provide some pointers what could be the reason for such strange behavior, because the Workflow diagram is not really complex and its very straight forward.

The SDL version is 2013SP1.

Thanks in advance.

We have designed a very basic Workflow with the following activities:

  1. The first activity is Manual and in diagram we have set the Approval State as "Publish_Stage", which means that the page with this component can only be published to Staging & not to Live.

  2. The second activity is "Automatic" with Approval State as "Publish_Stage" and this assigns the task to group of Approver based on some business logic.

  3. The third task is to either "Approve" the content or "Return to Editor" which ends the Workflow with the Approval Status as "Publish_Live" & "Publish_Stage" respectively.

The problem we are facing is that the component locked by the WF can still be published to Live, though we have the Minimal Approval Approval Status set "Publish_Live" which is somehow getting set automatically overriding the Approval Status I have set in Workflow Diagram i.e. "Publish_Stage"

I can explain it with the following scenario:

  • Edit an existing/approved Component which has the Approval Status as “Publish_Live“, now check-in the component.
  • The Workflow gets invoked on that component and a manual activity is assigned to the editor with the Approval Status as “Unapproved”.
  • Now Editor open the activity and click “Finish Activity”, the Approval Status changes to “Publish_Live” instead of “Publish_Stage“ even though being explicitly set in Visio diagram.
  • At this stage if someone try to publish the page to Live, it gets published successfully being component locked by the WF.

I have reached to the conclusion that Visio setting is overridden by the last Approval Status because I tried another scenario:

  • Edit an approved Component which has the Approval Status as “Publish_Live“, now check-in the component.
  • Open the Admin console and force finish the Workflow by setting the Approval Status to "Publish_Stage".
  • The component is now saved & checked in with Approvals Status as “Publish_Stage”.
  • Now edit the same component, and check-in after making changes, the component gets saved with status “Unapproved” and locked by the Workflow.
  • Editor clicks on “Finish Activity”, and this time the Approval Status being printed in logs as “Publish_Stage” (i.e. the last state of the Component).

I have put the loggers to get the Approval Status on different events like:

 EventSystem.Subscribe<Component, SaveEventArgs>(ComponentSaved, EventPhases.TransactionCommitted);
 EventSystem.Subscribe<ActivityInstance, FinishActivityEventArgs>(FinishActivityCall, EventPhases.Initiated);
 EventSystem.Subscribe<ActivityInstance, AssignActivityEventArgs>(AssignActivityCall, EventPhases.Initiated);
 EventSystem.Subscribe<ActivityInstance, ReAssignActivityEventArgs>(ReAssignActivityCall, EventPhases.Initiated);

Can someone please provide some pointers what could be the reason for such strange behavior, because the Workflow diagram is not really complex and its very straight forward.

The SDL version is 2013SP1.

Thanks in advance.

added 446 characters in body
Source Link
Yash
  • 916
  • 5
  • 8

The problem is that the Workflow works fine in case of new component when the Approval State is "Undefined" but once the component is approved and the Approval State is set to "Publish_Live" and if we try to modify this component, the Approval Status set to "Unapproved".

But onceThe problem we are facing is that the editor "Finish Activity"component locked by the 1st Manual activityWF can still be published to Live, though we have the Minimal Approval Approval Status is set to "Publish_Live" (don't know why) wherein the Workflow diagram sets it to "Publish_Stage"at Publication target.

In shortWhen I analyzed the issue, what I have seen isfound that whateverthe approval status set in visio diagram is overridden by the last Approval Statusstatus set toin the component, which I can explain it with the Workflow diagram setting gets overridden by that.following scenario:

  • Edit an existing/approved Component which has the Approval Status as “Publish_Live“, now check-in the component.
  • The Workflow gets invoked on that component and a manual activity is assigned to the editor with the Approval Status as “Unapproved”.
  • Now Editor open the activity and click “Finish Activity”, the Approval Status changes to “Publish_Live” instead of “Publish_Stage“ even though being explicitly set in Visio diagram.
  • At this stage if someone try to publish the page to Live, it gets published successfully being component locked by the WF.

I concluded this by taking another scenario, where I invoked the WF by updating an existing component but then Forced Finish it from Admin console by setting the Approval Statushave reached to "Publish_Stage" and then when I re-invoked the WF on the same component with the normal WF cycle all the conclusion that Visio setting wereis overridden by the "Publish_Stage" this time except at the last activity where Component gets released from WF with the status "Publish_Live".Approval Status because I tried another scenario:

  • Edit an approved Component which has the Approval Status as “Publish_Live“, now check-in the component.
  • Open the Admin console and force finish the Workflow by setting the Approval Status to "Publish_Stage".
  • The component is now saved & checked in with Approvals Status as “Publish_Stage”.
  • Now edit the same component, and check-in after making changes, the component gets saved with status “Unapproved” and locked by the Workflow.
  • Editor clicks on “Finish Activity”, and this time the Approval Status being printed in logs as “Publish_Stage” (i.e. the last state of the Component).

I have put the loggers to get the Approval Status on different events like:

But on each event, I am getting the Approval Status as "Publish_Live" which is the maximum approval status and hence, the page containing the component locked by Workflow can also be published to "Live".

PleaseCan someone please provide some pointers what could be the reason for such strange behavior, because the Workflow diagram is not really complex and its very straight forward.

The problem is that the Workflow works fine in case of new component when the Approval State is "Undefined" but once the component is approved and the Approval State is set to "Publish_Live" and if we try to modify this component, the Approval Status set to "Unapproved".

But once the editor "Finish Activity" the 1st Manual activity, the Approval Status is set to "Publish_Live" (don't know why) wherein the Workflow diagram sets it to "Publish_Stage".

In short, what I have seen is that whatever is the last Approval Status set to the component, the Workflow diagram setting gets overridden by that.

I concluded this by taking another scenario, where I invoked the WF by updating an existing component but then Forced Finish it from Admin console by setting the Approval Status to "Publish_Stage" and then when I re-invoked the WF on the same component with the normal WF cycle all the setting were overridden by the "Publish_Stage" this time except at the last activity where Component gets released from WF with the status "Publish_Live".

I put the loggers to get the Approval Status on different events like:

But on each event, I am getting the Approval Status as "Publish_Live" which is the maximum approval status and hence, the page containing the component locked by Workflow can also be published to "Live".

Please provide some pointers what could be the reason for such strange behavior, because the Workflow diagram is not really complex and its very straight forward.

The problem we are facing is that the component locked by the WF can still be published to Live, though we have the Minimal Approval Approval Status set "Publish_Live" at Publication target.

When I analyzed the issue, I found that the approval status set in visio diagram is overridden by the last status set in the component, which I can explain it with the following scenario:

  • Edit an existing/approved Component which has the Approval Status as “Publish_Live“, now check-in the component.
  • The Workflow gets invoked on that component and a manual activity is assigned to the editor with the Approval Status as “Unapproved”.
  • Now Editor open the activity and click “Finish Activity”, the Approval Status changes to “Publish_Live” instead of “Publish_Stage“ even though being explicitly set in Visio diagram.
  • At this stage if someone try to publish the page to Live, it gets published successfully being component locked by the WF.

I have reached to the conclusion that Visio setting is overridden by the last Approval Status because I tried another scenario:

  • Edit an approved Component which has the Approval Status as “Publish_Live“, now check-in the component.
  • Open the Admin console and force finish the Workflow by setting the Approval Status to "Publish_Stage".
  • The component is now saved & checked in with Approvals Status as “Publish_Stage”.
  • Now edit the same component, and check-in after making changes, the component gets saved with status “Unapproved” and locked by the Workflow.
  • Editor clicks on “Finish Activity”, and this time the Approval Status being printed in logs as “Publish_Stage” (i.e. the last state of the Component).

I have put the loggers to get the Approval Status on different events like:

Can someone please provide some pointers what could be the reason for such strange behavior, because the Workflow diagram is not really complex and its very straight forward.

Source Link
Yash
  • 916
  • 5
  • 8

Why Approval Status set in VISIO for Workflow is Overridden?

We have designed a very basic Workflow with the following activities:

  1. The first activity is Manual and in diagram we have set the Approval State as "Publish_Stage", which means that the page with this component can only be published to Staging & not to Live.

  2. The second activity is "Automatic" with Approval State as "Publish_Stage" and this assigns the task to group of Approver based on some business logic.

  3. The third task is to either "Approve" the content or "Return to Editor" which ends the Workflow with the Approval Status as "Publish_Live" & "Publish_Stage" respectively.

The problem is that the Workflow works fine in case of new component when the Approval State is "Undefined" but once the component is approved and the Approval State is set to "Publish_Live" and if we try to modify this component, the Approval Status set to "Unapproved".

But once the editor "Finish Activity" the 1st Manual activity, the Approval Status is set to "Publish_Live" (don't know why) wherein the Workflow diagram sets it to "Publish_Stage".

In short, what I have seen is that whatever is the last Approval Status set to the component, the Workflow diagram setting gets overridden by that.

I concluded this by taking another scenario, where I invoked the WF by updating an existing component but then Forced Finish it from Admin console by setting the Approval Status to "Publish_Stage" and then when I re-invoked the WF on the same component with the normal WF cycle all the setting were overridden by the "Publish_Stage" this time except at the last activity where Component gets released from WF with the status "Publish_Live".

I put the loggers to get the Approval Status on different events like:

 EventSystem.Subscribe<Component, SaveEventArgs>(ComponentSaved, EventPhases.TransactionCommitted);
 EventSystem.Subscribe<ActivityInstance, FinishActivityEventArgs>(FinishActivityCall, EventPhases.Initiated);
 EventSystem.Subscribe<ActivityInstance, AssignActivityEventArgs>(AssignActivityCall, EventPhases.Initiated);
 EventSystem.Subscribe<ActivityInstance, ReAssignActivityEventArgs>(ReAssignActivityCall, EventPhases.Initiated);

But on each event, I am getting the Approval Status as "Publish_Live" which is the maximum approval status and hence, the page containing the component locked by Workflow can also be published to "Live".

Please provide some pointers what could be the reason for such strange behavior, because the Workflow diagram is not really complex and its very straight forward.

The SDL version is 2013SP1.

Thanks in advance.