Tridion Stack Exchange is a question and answer site for Tridion developers and administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Am I missing it or is there nothing in the API to allow us to access the Workflow (and Translation) settings tab in a Publication through the Core Service?

I basically want to set the Enable Workflow Process Associations in Shared Schemas and Structure Groups on the Workflow Tab to checked.

share|improve this question

Translation settings tab is most likely app data, workflow might be the same. So to change these settings you'd have to change the app data on that Publication, but you'd have to figure out what format it is exactly in (it is XML, but what elements etc.) and under which application ID it sits.

See App data tm:Rights (as an example)

share|improve this answer
    
I'd figured as much Bart - meaning not really supported to mess with the XML. I've reached out to support to with our suggestion to see what they come back with. Thanks again. I'll confirm they are App Data and mark as the answer when/if that's the case. – Dylan .. Mark Saunders Feb 3 at 12:28
    
App data with the application ID tm:Rights :( – Dylan .. Mark Saunders Feb 3 at 12:31

As far as workflow inheritance, that's a property on the Publication object. you can translate my PowerShell to something meaningful to you... :)

$tridionPub = Get-TridionPublication -Name $PublicationName -AllPublications $AllPublications
#$Inherit is param, either $true or $false
$tridionPub.ShareProcessAssociations = $Inherit
Update-TridionItem -Item $tridionPub
share|improve this answer
    
Interesting - I can set it in the scope of writing the value out but I can't find any way to save / commit the change back into the CM. – Dylan .. Mark Saunders Feb 3 at 23:25
    
core service has Update method. for me, it's like this: $client = Get-TridionCoreServiceClient $client.Update($Item, (New-Object Tridion.ContentManager.CoreService.Client.ReadOptions)) – Warner Soditus Feb 4 at 17:17
up vote 2 down vote accepted

Using LinqPad and CoreService we can easily access the ShareProcessAssociations value thus:

var allPubs = Tridion.Publications;

foreach (var pub in allPubs)
{
    var pubData = (PublicationData) Tridion.Read(pub.Id, new ReadOptions());
    string pubName = pub.Title + " [" + pub.Id + "]";
    string wflow = "WFLOW = N";

    if(pubData.ShareProcessAssociations == true){
        wflow = "WFLOW = Y";
    }
    Console.WriteLine(wflow + "\t" + pubName);
}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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