3

I need to retrieve the CME path of dynamic components in Rendition Engine. Is it possible using oData or Ambient framework API. OOO just provides me the path of pages and not dynamic components.

6

Tridion has a loosely coupled architecture that means that the CD side it not tight to the CM side, there is no information about the dynamic component path in the CD side.

If it is necessary to use the path in your web application I would suggest to use custom metadata for it. There are few ways to do it.

  1. Add a path field in the metadata section of your dynamic component schema, then you can populate the path of your dynamic component via event system (save, move, copy).
  2. Use the AddMetadata method (RenderedItem) in your template to pass the path as an XML node, then you need to write a deployer module in the CD side to read that field and do something like append it to the item custom metadata.

I am curious, why do you need the CM path in the CD side?

| improve this answer | |
  • +1 on the approaches. I'd imagine wanting paths is related to a delivery-side authorization, profiling, and/or analytics requirement. I'd be careful here, though--the loose coupling Eric describes means components can easily be moved. It's worth confirming if you need the paths as they were published or the paths as they exist in the CMS now. – Alvin Reyes Sep 16 '13 at 17:42
  • Thanks Eric. I have 650 existing web pages deployed from Documentum that renders around 3200 widgets stored in file system based on the widget path. Now as we migrated to SDL Tridion, all widgets been created as dynamic components following the same old folder hierarchy. As per the BRD, the content of web pages will not be modified. So i planned to write a oData service to map the dynamic component with cme folder path thereby retrieving the dynamic component content. – Jaison Prabhu Doss Sep 16 '13 at 18:03
  • Second approach: Use a deployer extension class to read instructions.xml and get the cme folder path. Then create the dynamic components in deployer based on the folder hierarchy during publishing the component using the deployer extension. Please suggest me the best approach. – Jaison Prabhu Doss Sep 16 '13 at 18:10
  • Thanks alvin for the comments. I need the path as the component been published and i believe that the published components cant be moved before unpublishing. If not i can write a custom event to stop it. – Jaison Prabhu Doss Sep 16 '13 at 18:14
  • 2
    even better, if you can use pages, you can define the same paths that your rendition engine is expecting at publishing time. Also you can manage different file extensions like .content (very common in documentum). – Eric Huiza Sep 16 '13 at 20: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.