NASA-PDS / pds4-information-model

The software tools and data necessary for generating the Information Model including PDS4 ontology, data, and information model.
https://nasa-pds.github.io/pds4-information-model/
Other
9 stars 6 forks source link

LDDTool is not using the version number of the discipline dictionary to populate <version_id> #568

Closed mace-space closed 1 year ago

mace-space commented 1 year ago

Checked for duplicates

Yes - I've already checked

🐛 Describe the bug

When I looked at some discipline dictionary XMLs – for example, https://github.com/pds-data-dictionaries/ldd-spectral/blob/main/build/release/1.19.0.0/PDS4_SP_1J00_1311.xml – the is given incorrectly.

🕵️ Expected behavior

Instead of =1.25, I expect 1.3.1.1

📜 To Reproduce

No response

🖥 Environment Info

No response

📚 Version of Software Used

No response

🩺 Test Data / Additional context

No response

🦄 Related requirements

🦄 #xyz

⚙️ Engineering Details

No response

jshughes commented 1 year ago

This is not an issue but the question does periodically come up. The =1.25 is the version of the product that labels the XML Schema and Schematron files and not the version of the LDD itself. The product, Product_XML_Schema, is generated once per build and each time the version id is bumped up one. So to date, there are 25 versions of Product_XML_Schema.

jordanpadams commented 1 year ago

@mace-space ☝️

@jshughes so shouldn't that be the version of that specific Product_XML_Schema, e.g. that particular schema product should be version 1.0, no? since we have not regenerated it?

jshughes commented 1 year ago

It is reasonable that the first Product_XML_Schema product label created for a particular build should have v1.0. This however will require that the build identifier be included in the logical_identifier. I will look into whether this will have any significant impact.

jordanpadams commented 1 year ago

@jshughes I see. 1.25 is the overall PDS4 IM version (if somehow transform the 4-part version x.x.x.x to 2-part x.x). I feel like that explicit versioning info should maybe be captured elsewhere in the metadata? do we need a schema LDD or something to maintain that metadata?

jshughes commented 1 year ago

The LDDTool config.properties is where this versioning is currently kept. We could create an LDD for the config.properties file and manage it accordingly. -- BTW, at some point I plan to divide the config.properties file into two parts, common properties and LDD properties . Currently it is not always clear how far back through the IM versions a change or addition to the LDD properties needs to be propagated. Having a single LDD properties file resolves that.