2

We are developing a deployer extension which will send notification to custom application whenever Page, Component or Category is published with details of item published and user name who published it.

We were able to achieve this for Page and Component by usage of TBB that will add user name in metadata in package during publish time which can be accessed in deployer extension.

For Category, since there is no TBB involved, need some input on how can we pass user name in metadata of the package which can be accessed in deployer extension?

1
  • To clarify further, I am looking for a way using which I can add more custom information to the package.
    – Hiren Kaku
    Sep 24 '14 at 20:58
3

I think that in this scenario the only option is a Custom Transport Handler. You can see details in my answer here Custom Transport Handler

In your case you will need to replace this Handler

<add itemType="Tridion.ContentManager.ContentManagement.Category">
    <handler type="Tridion.ContentManager.Publishing.Transporting.TaxonomyTransportPackageHandler" assembly="Tridion.ContentManager.Publishing.Transporting, Version=7.1.0.1290, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b" />
</add>

Note that this is not a documented / supported extension point

UPDATE Here a sample for a Taxonomy Transport Handler getting access to the User Taxonomy Transport Handler

3
  • as already mentioned the user who published particular item is not available in the transport package so even if I use custom transport handler that will not help.
    – Hiren Kaku
    Sep 24 '14 at 20:17
  • 1
    I think what you are saying is not correct. Check this Blog Post where I show how to develop a Transport Handler for Taxonomies that get access to the user that is Publishing the Category erichuiza.blogspot.com/2014/09/…
    – Eric Huiza
    Sep 25 '14 at 3:12
  • thanks for clarifying. That was really helpful. I was not aware that even if user is not part of package published still you can access the user details.
    – Hiren Kaku
    Sep 25 '14 at 5:27
3

If you don't want to use a Custom Transport Handler, another way to handle that could be using the Event System.

You create in a folder one component per category (Use a specific schema, as the purpose of this is just create a mapping).

When you publish a category, using event system you publish the component that maps the category.

Doing this, you end up in the same scenario that you have already resolved, as you can use a TBB. In the deployer extension, you identify that this component maps to a category and perform the proper notification.

2
  • The approach is valid however there are chances that we will add more overhead on publishing as per my understanding.
    – Hiren Kaku
    Sep 25 '14 at 18:15
  • 1
    Agree, there will be some overhead, however, that depends how often a category needs to be publish. In most of the implementations, the Categories and Keywords do not change very often, so the overhead shouldn't be a problem
    – Miguel
    Sep 26 '14 at 16:00

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.