-
Notifications
You must be signed in to change notification settings - Fork 3
RNG: Refactor Product/Portal Schema #187
Copy link
Copy link
Labels
area:validationAbout validation of XML (RNC), TOML, or any other partsAbout validation of XML (RNC), TOML, or any other partskind:breakingChanges that break APIs, configs, or backward compatibility.Changes that break APIs, configs, or backward compatibility.kind:refactorCode cleanup without logic change.Code cleanup without logic change.
Metadata
Metadata
Assignees
Labels
area:validationAbout validation of XML (RNC), TOML, or any other partsAbout validation of XML (RNC), TOML, or any other partskind:breakingChanges that break APIs, configs, or backward compatibility.Changes that break APIs, configs, or backward compatibility.kind:refactorCode cleanup without logic change.Code cleanup without logic change.
Situation
As discussed in Meeting Portal Datamodel, some structures in the RNC need to be change. The RNC schema needs to be adjusted to make it flexible for our upcoming use cases.
Use Case
The RNC schema served us well, but we have now use cases we need to cover:
<product>or<docset>as root elements in their files.Possible Implementation
The RNC schema need to refactored in certain ways:
General
<portal>Content model changes<portal>as root element.<product>).portal/categorieselementportal/productfamilieselementportal/serieselement<product>Content model changes<descriptions>that holds multiple elements.seriesattribute.familyattribute.rankattribute. This determines the order of the product tile on the homepage.docsetlevel<categories>to allow local categoriessite-sectionsseriesattribute<docset>Content model changes<overridedesc>to<description><categories>and<category>Content model changesAdd a new
<categories>elementGroup
<category>for language, not category ID. For example:<deliverable>Content model changesAdd
<html>(name subject to change) as a sibling of<dc>. These are internal documentation that are marked as "external" because we haven't the capabilities to do so.The content model would look like:
Possible names:
<resource>,<document>,<doc>,<entry>, or<item>. Or create a more general element that can contain both types?<internal>and<external>Content model changesAllow
descriptionsin internal links to customize descriptions:Allow
descriptionsin external links:Removed Content models
Some elements which aren't used or not really useful anymore:
ds.deliverablerestrictedds.paramds.buildcontainer(includingds.type.hexdigestandds.type.containerref)Some attributes which aren't used or not really useful anymore:
metaincludes-productnametranslation-typeOther Content model changes
Should we simplify the
languageelement in regards to thetranslation-typeattribute?Do we need a
<metadata>element somewhere?Change the
<ref/>element to allow to point to any deliverable file:=> Can we consolidate that and don't distinguish between DC and HTML anymore? Maybe a more general
entryrefattribute?