1

I'm making workflow on Tridion 2011 SP1.

If someone publishes a component which is in a workflow process, is the component's content publised to Web site under following conditions?

  • Component's content is modified in workflow.
  • Component's approval status meets publication target's minimum approval status.
  • Component is still in workflow(workflow process is not yet finished).

I thought 'Yes', but it was not published until the workflow process finished. On this behaviour Approval status seems to be useless, because when component is still in workflow the content is never published to Web site, and after the workflow is finished, the conmponent can be published to any publication target regardless of approval stauts on 2011 SP1.

Is it possible to publish modified content to Web site, when component is still in workflow?

How can I use approval status with effect on Tridion 2011 SP1?

Regards,

1 Answer 1

0

The answer to this is Yes. You can create an automatic activity as part of the workflow process to do this, with the following code:

PublishInstructionData publishInstruction = new PublishInstructionData(); publishInstruction.ResolveInstruction = new ResolveInstructionData(); publishInstruction.RenderInstruction = new RenderInstructionData();

//Needed for publishing workflow revision/version

publishInstruction.ResolveInstruction.IncludeWorkflow = true;

ReadOptions read = new ReadOptions();

PublicationData pubData = (PublicationData)SessionAwareCoreServiceClient.Read(Put the ID of the publication here, read);

pubData.ShareProcessAssociations = true;

XmlDocument docx = new XmlDocument();

docx.LoadXml(pubData.Metadata);

string stagingTarget = string.Empty;

XmlNodeList stagingTargetNodeList = docx.GetElementsByTagName("Staging");

if (stagingTargetNodeList.Count >= 1) { stagingTarget = stagingTargetNodeList[0].InnerText; }

//Staging publication target URI String[] targets = new[] { stagingTarget };

IList itemsToPublishList = new List();

//Then add the Id of the page in the workflow to the list here

// Then publish

PublishTransactionData[] publishTransactions = SessionAwareCoreServiceClient.Publish(itemsToPublishList.ToArray(), publishInstruction, targets, PublishPriority.Normal, null);

However, when a component is in a workflow, the version of the component published if published manually, will be how the component was prior to the workflow being started, until the workflow process is complete.

1
  • On 2011 SP1 only VBScript is available in workflow automatic activity, but VBScript has same option(activateWorkflow) at 'Component.Publish' function. Set 'True' to the option, content that is modified in workflow is published.Also I noticed that when selecting component on 'My work list' and publish from there, modified content is published, only if approval status meets target. When selecting component on CME's folder, content before workflow started is published. Jun 3, 2016 at 5:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.