Need to be able to pull topic's information into map's topicref on check-in.

On check-in operation on the map I would like to pull topic's prolog/metadata information into map's topicref/topicmeta/metadata tag. I am wondering this is possible through configuration or some other way in TD 13?

For example:

<map>

<topicref href="GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" format="dita">
<topicmeta>
<metadata>
<othermeta name="TopicMetadataName" content="TopicMetadataContent"/>
</metadata>
</topicmeta>
</topicref>

<map>

<task id="GUID-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" xml:lang="en-US">
....
<prolog>
<metadata>
<othermeta name="TopicMetadataName" content="TopicMetadataContent" />
</metadata>
</prolog>
</task>

Parents
  • Hi Pankaj,

    Yes, this is theoretically possible using the IWritePlugin and IBackgroundTask framework.

    So you can create an IWritePlugin which would trigger a BackgroundTask synchronizing the topicmeta structures in the DITAMAP based upon the prolog information of each and every included topic.

    The reason to implement it in this way is that this process might be a time consuming process as a DITAMAP might have many topicref elements included and  you need to download/open all of them.

    HOWEVER there are some remarks and concerns which I would like to point out to you about this envisioned process.

    1/ Which information should be included (from which version of the topic)?

    As the DITAMAP only as a reference to the topic GUID you might get the in appropriate prolog information included.
    The publication object has the baseline information which will define which version of the topic should be used. When working on the DITAMAP you do not have the baseline information available and one DITAMAP could be reused in many publications which could include conflicts in the version to be used of the topic.

    So would you process always use the latest available topic version to include the topicmeta structure?

    2/ What happens if the topic prolog is changed afterwards?

    As you are only synchronizing the prolog information from the topic into the DITAMAP upon checkin of the DITAMAP any update to the topîc itself can cause data which is out of sync.
    So updating/checking in the topic will not trigger the synchronization process and cause the information to be out of sync.

    Is this an issue for you?
    If it is an issue, how will this be solved in your process?

    3/ Why you want to do this?

    This step is automatically done by DITA-OT when publishing the content, so what is the business requirement you try to solve with this functionality.
    When this process is executed by DITA-OT you have the correct information available as the publishing process is exporting the correct versions of the topics and ditamaps and hence the information will be accurate.

    Conclusion

    Although it is theoretically possible to implement such synchronization flow I would not advise to do this as it might cause confusion and/or out of sync information as indicated on items 1 and 2 above.
    The gap you try to solve might be solved in a different way but for that the use case that you try to solve should be explained.

    Kind Regards,

    Raf

  • Hi Raf,

    Thanks for the detailed response, much appreciated! I am totally aligned with your points #1 and #2. I should have added some context in my question that I was looking for some sort of automated way to collect topic's prolog into map which can be done by an admin (or specified user role) on demand (on duplicated map). We DONT envision this as a general process for Tridion or a background task. More context; for several reasons our legacy taxonomy/hierarchy information was hardcoded in topics and we need that info in parent map to guide our new taxonomy system that we are currently building as well support legacy system until it’s EOL. The metadata in question here is non-Tridion and version independent and we want to maintain it elsewhere. This is one time task that we are looking to automate. 

    I will give a pass for iWritePlugin as I am not an expert in that area but I I’ll look for exporting the publication and manipulating using XSL or using Oxygen's resolved map functionality to achieve this.

    Pankaj

Reply
  • Hi Raf,

    Thanks for the detailed response, much appreciated! I am totally aligned with your points #1 and #2. I should have added some context in my question that I was looking for some sort of automated way to collect topic's prolog into map which can be done by an admin (or specified user role) on demand (on duplicated map). We DONT envision this as a general process for Tridion or a background task. More context; for several reasons our legacy taxonomy/hierarchy information was hardcoded in topics and we need that info in parent map to guide our new taxonomy system that we are currently building as well support legacy system until it’s EOL. The metadata in question here is non-Tridion and version independent and we want to maintain it elsewhere. This is one time task that we are looking to automate. 

    I will give a pass for iWritePlugin as I am not an expert in that area but I I’ll look for exporting the publication and manipulating using XSL or using Oxygen's resolved map functionality to achieve this.

    Pankaj

Children
No Data