5

Have a bundle that goes through workflow and needs to be published to two different targets (staging & live) at different times of the workflow. Both targets have a minimum approval status which gets set in the activity step prior to publishing.

The bundle gets queued for publishing when the target is staging but I never see the bundle in the publishing queue when the target is live. I can iterate through the bundle and add some individual items (but doesn't seem like all) and those queue.

What could be the issue/difference between publishing to the two different targets?

Also two different activity steps calling the same C# class to do the publishing

    foreach (WorkItemData wid in activityInstance.WorkItems)
        {
            int value = Convert.ToInt32(Enum.Parse(typeof(ItemType), "VirtualFolder"));
            if (wid.Subject.IdRef.EndsWith(value.ToString()))
            {
               itemsToPublishList.Add(wid.Subject.IdRef);
             }                    
    }

PublishTransactionData[] publishTransactions = CoreServiceClient.Publish(itemsToPublishList.ToArray<String>(), publishInstruction, targets, PublishPriority.Normal, null);

The variable targets get set with a string[] of either the tcm:1-1-65538 (staging) or tcm:1-2-65538 (live)

6
  • Welcome to the community and asking for a clear question. What is in the variable "targets" can you double check during debug that while this method to invoke for publishing to Live, the URI of Live target is getting filled in the this variable. Commented Aug 13, 2014 at 13:49
  • 1
    The targets variable gets set an array of strings using the TcmID of the Target. Logging tells me that the bundle gets added and points to the correct target TcmID. If the code iterates and adds each item of the bundle, page items do queue and publish (components seem not to though) I'd rather queue the bundle as a whole though to minimize transports. Commented Aug 13, 2014 at 14:32
  • "I can iterate through the bundle and add some individual items (but doesn't seem like all) and those queue." - does this mean you can't iterate through some or that you can't publish some? If the latter, can you confirm the approval status is correct for the items that don't publish? Commented Aug 14, 2014 at 7:50
  • Logging indicates that each item is seen/iterated through in the bundle and each item received the approval status but of a bundle one page and two components, trying to interate and publish each item staging published the bundle and the one pages while live only published the page. Both targets didn't queue the components (although staging ultimately got them because the bundle queued) Commented Aug 14, 2014 at 12:26
  • Got some event logs and see that the database throws an error stating that the TCM for the transport package (to live) does not exist. I'm not sure though if that is a cause or more just another error caused by the root issue. Commented Aug 14, 2014 at 14:42

1 Answer 1

1

Turns out the issue stems from making the publish event the last event of the workflow and setting the bundle to dissolve at the end of the workflow. Also I had publish resolve instructions to allow workflow revisions set to true.

Not dissolving the bundle at the end of the workflow cycle changes the issue, but as I wish for the bundles to dissolve at the end I will add code to wait/check for the publish event to occur prior to ending the workflow cycle.

Your Answer

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

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