3

We are publishing an xml file from our CMS. We have to add some additional information in that xml file before it get deployed. I want to edit it in the storage extension. How can we achieve this?

In the XML file I want to add some xml nodes.

  • 1
    If you make your question more concrete, you will get more valuable answers - what information are you adding, and why do you want to add it in a storage extension, rather than at publish time? – Will Price Oct 4 '13 at 13:57
  • How is the XML file generated and published, is it based on a Component or it is just a Page? And is there a hard requirement to update it in a Storage Extension, or could that also be done at Publish time in a Template for example? – Bart Koopman Oct 4 '13 at 14:46
6

Once you have added the "additional information" using Engine.PublishContext.RenderedItem.AddMetadata, you can use a Deployer Extension. Here is an example (framework) to deal with Deployer Extensions:

Custom Deployer Extensions Framework

On a side note, if what you need to do is to add more nodes to your xml, you can do it in the template as well, not necessarily using the .AddMetadata method but modifying the Output instead. If this is something you need strictly to happen at deployment time, using the framework above, you can write your own CustomAction which gets the page output (there's utils methods to access the pages.xml within the deployment package) and modify the xml (add more nodes) based on your requirements and then saves it back to the original xml file.

| improve this answer | |
4

You can add metadata to the rendered item, try the Engine.PublishContext.RenderedItem.AddMetadata method. all the metadata you add there can be accessed in the Storage Layer or Deployer Extension.

| improve this answer | |

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.