0

We have one Component A1, it has child Components B1 & B2. B1 has child Components like C1 & C2 and B2 has child Components C3 & C4.

When publishing our A1 Component, we are adding used items (B1 & B2) into the resolved items object in a custom resolver, but then Tridion is publishing A1, B1 and B2 only, it is not publishing C1, C2, C3 and C4.

How to publish all child Components when we publish a parent Component using a custom resolver?

1 Answer 1

1

It is not entirely clear to me what you exact question is about, so perhaps you can edit your question based on my answer in case this doesn't answer it.

Let me start of with some resolving basics:

  • When Component A has a link to Component B, publishing Component A will not publish Component B.

    When you publish Component A, it does not mean Component B has changed, so it does not need to be republished.

  • When you publish Component B it will trigger Component A to be (re)published.

    The rule behind this is that the link to Component B creates a dependency, and when you publish Component B, it assumes that any Page where Component A is on, will need to be republished too.

  • The above is all talking about embedded Component Presentations on a Page, when we are talking about Dynamic Component Presentations, the logic differs to the extend that the Component will be published with all linked Dynamic Component Templates.

Now you mention your Component have child Component, I'm assuming you mean that there is a link in the (parent) Component to the (what you call) child Component. So then the behaviour you see seems to be correct, if you are only adding B1 and B2 in a resolver when publishing A1. If you also want C1-C4 to be added to the resolved items, you should separately resolve B1 and B2 and have that add C1-C4.

The main question I would have is, why do you actually need that? Can you explain the use case why you need to add in linked Components to your resolved items list? If you update your question with that information, maybe my answer can be different too.

2
  • There is a component named A and it has component links (child components for instance B1 and B2). These child components in turn have component links and so on(C1, C2, ...). So when we publishing parent component(in above case 'A'), we want to publish all child components up to n level using custom resolver(i.e., B1, B2, C1, C2, ...). Sep 11, 2014 at 11:04
  • @Rameshponna That part of your question was clear, what is unclear is that you mention B1 and B2 are published, but you don't mention how you accomplished that. Also what is unclear is why you need it, since the default behaviour of Tridion makes sense to me, but what you want must be because of a specific reason. Please edit and update your question and add that information, if my answer is not useful, let's not start a long discussion thread in the comments, when you edit your question I can update my answer based on the additional info, and others can answer also. Sep 11, 2014 at 12:39

Your Answer

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

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