3

I'm working with Workflow in Tridion 2009.

I have already created my process and attached it to a schema. When someone creates or edits a component based on this schema, the workflow process starts.

If the person who modified the component publishes it in STAGING I would like to see the changes, before he has finished the first step. I have read: "If an item is checked out through Workflow, the in-workflow version can be published only if it meets minimum approval status."

I don't want to publish the component to LIVE if the workflow is not finished. But I would like to publish it to STAGING in the first step.

  • Can you please make your question grammatically correct as it is very difficult to follow and is generating ambiguous problem statements? In addition, it would be great if you can simplify the language. – Pankaj Gaur May 14 '13 at 9:27
  • Sorry... If I publish to staging when the workflow is already start, what I'm publishing is the last version before the workflow. And I would like to see in Staging the last version. I have seen that I can related the target "Staging" with a step in the workflow. I have tried, but I can not see the changes.... – Aroma May 14 '13 at 9:39
  • @Aroma - Pankaj is asking that you edit the question to improve it. I will edit it to correct some English grammar issues. Please make sure that my edits make sense. – Dominic Cronin May 14 '13 at 21:34
5

Here's what you should know for workflow to work within those constraints...

  1. Change your Publication Target for the LIVE target to have a "Minimum Approval Status" that is equal to the Highest Approval Status you can reach through workflow. Items that are NOT in workflow will always publish to this target, while items that are IN workflow, will only publish to this target if they have at least this approval status.
  2. Create a Workflow activity that publishes your component(s) to the staging environment or educate your editors to publish from their "My Tasks" screen instead of the standard CME views.
  3. Educate your editors that only the person who made the changes ("owns the workflow activity") can publish these changes. If other users publish the same component they will publish the previously checked-in version (because that's the only version they can read)
  4. If using SiteEdit, when the user that owns the activity gets to the staging site and clicks on any field, Tridion will reload the content with whatever is currently stored in the CM. This means that even if the editor did not publish the content after changes, they'll still be able to see the latest version of the content (and work on it if required)

Oh, and if you run into the very common use case that you can't publish content from the publication where content is created (99% of the cases), I recommend you read this article from Alvin: http://www.tridiondeveloper.com/no-faking-publish-from-a-parent-publication-without-faking-a-publication-target

  • Thank you Nuno. Talking about the second point and Alvin's article: When I modify the component and I try to publish from "My Tasks" screen, I get always the same error: "Object reference not set to an instance of an object.". If the component is not in the workflow I can publish successfully. Do you know about this error? – Aroma May 15 '13 at 8:30
  • Hello, I was wondering how I can find the error... If I publish the component from the "Web Site Management" publications I don't get the error, because is NOT rendering the last version. If I use the template builder is also rendering the same version. If I publish from "My task" I get the error... But I've just change a letter from the other version.... I don't know how to find the error... – Aroma May 15 '13 at 13:10
  • Looks like a template issue then - it might be trying to load something that only exists in the website publication – Nuno Linhares May 15 '13 at 13:14
  • Regarding the > very common use case that you can't publish content from the > publication where content is created how does the "hack or trick" work when your SDL Tridion license limits the number of Publishable publications (number of publications from where you are entitled to publish)? – Husain Zahid Oct 29 '13 at 12:59
  • AFAIK, the license terms restrict the number of publications you use to publish a site from. In this case you are not publishing a site, just using a work-around, so I would assume you're not violating your license terms. I'd double check with support and/or the sales account manager anyway. – Nuno Linhares Oct 31 '13 at 21:08
1

It is useful to note here that publishing the component will ONLY take the 'in workflow version' of the component if it is published as a dynamic component presentation and NOT if it is statically assembles on a page!

If you have components in workflow that are statically assembled on a page the workflow engine will not allow you to publish the 'in workflow version' of the component to the staging environment (not taking possible event system driven solutions as stated above into account).

Publishing a page with statically embedded component presentations where you want to use the 'in workflow version' of the component into account requires you to programmatically take the component out of workflow and putting it back in workflow after publishing which in my opinion is too much of a pandora's box to even consider...

  • 1
    Bjørn, that's technically not true. You can publish a component in workflow that is statically embedded on a page, as long as you do it programmatically (from a workflow automatic activity for instance). – Nuno Linhares May 14 '13 at 13:33
  • 1
    Interactions between Page workflows and Component workflows are tricky, and can easily lead to situations where the end users don't have a good way to understand what's going on. One person changes something, the other doesn't see the change, and so forth. More of a subject for a blog article, I'd say. – Dominic Cronin May 14 '13 at 21:44
  • Nuno, I'm not saying that you cannot automatically publish the component; I'm only saying that when the page is rendered you will not be able to render against the in-workflow-version of both the component and page so having workflow on components and pages (the most common scenario I've encountered so far) there is NO simple solution... – Bjørn van Dommelen May 17 '13 at 12:38
1

There may be other solutions, but I have done the following (I hope I have understood your question correctly):

  1. Make use on the Event System to capture the Workflow Activity related event (or the Approval Status related event per your case)
  2. Use C# code to publish the component programatically.

I hope it helps

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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