I started event system code for my project, where I am getting Target Types for a Publication. Please suggest how to get the Publication Targets based on the Target Type:

My Requirement is : I need to unpublish the component based on the Expiration Date (Metadata field) while publishing the component. I am using following event (PublishEventArgs).

EventSystem.Subscribe<Component, PublishEventArgs>(OnComponentPublishPost, EventPhases.TransactionCommitted);

I am following below snippet code

private void OnComponentPublishPost(Component component, PublishEventArgs args, EventPhases phase)
    foreach (PublishingTarget ty in args.Targets)
       string targettype = ty.Id;

Here I am getting Target type (ty.id). In unpublishing method I need to pass the Publication Target(targets).

PublishEngine.UnPublish(items, unpublishInstruction, targets);

Please suggest how to get the Publication Targets.

  • 1
    I think it will help if you edit your question and specify a bit more detail. Like what event are you subscribing to, and why you need the Publication Target? Apr 10, 2017 at 14:03
  • One of the answers in this post has the snippet that might help you.
    – Guest19876
    Apr 12, 2017 at 7:34
  • What TCM version do you use? Starting from 8.1 there is an overload of UnPublish method that takes in target types.
    – AntonM
    Apr 14, 2017 at 8:16


Your Answer

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

Browse other questions tagged or ask your own question.