I would like to maintain my Tridion schema definitions in an external management system (in this case, GIT). To do this I am accessing the Tridion content manager via webdav. When I do so, in general, the links to other system items are transformed to webdav urls.
When I have a reference to a category, this becomes more difficult, as the namespace URI includes an embedded reference to the publication. Here is an extract from the webdav view of one of my schemas:
<xsd:import namespace="tcm:0-3-1/Categories.xsd"
schemaLocation="/webdav/01%20Definitions/Categories.xsd"/>
If the publication IDs are different between system, this will be a problem. My first thought was that seeing as namespace URIs are in principle opaque, I could just replace it with my own system-neutral value. Unfortunately, it appears that the content manager parses the namespace URI to determine the schema location, and if it doesn't recognise the first part of the string as a URI the save fails.
Is there a way of achieving my goal by editing the schema in some other way? Are there any alternative approaches?
I don't know if you can do anything with client side GIT hook scripts, but otherwise an event handler might be able to do something. When you try to Save a Schema you could match the publication I'd with the owning publication.
Not a direct answer, but a suggestion. Maybe it brings you further.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With