FHIR Chat · Changing canonical name of IG --> trouble · IG creation

Stream: IG creation

Topic: Changing canonical name of IG --> trouble


view this post on Zulip Saul Kravitz (Oct 30 2020 at 20:40):

As part of a technical correction to the Davinci-pdex drug formulary IG (v1.0.1) we are trying to change the canonical name from:

* from http://hl7.org/fhir/us/Davinci-drug-formulary
* to: http://hl7.org/fhir/us/davinci-drug-formulary

You can see the source here: https://github.com/HL7/davinci-pdex-formulary
I suspect we are running into something (intentionally) fundamental.

You can see the failure in http://build.fhir.org/ig/HL7/davinci-pdex-formulary/branches/master/failure/build.log

The problem starts

See http://build.fhir.org/ig/HL7/davinci-pdex-formulary/branches/master/failure/build.log

Installing hl7.fhir.us.davinci-drug-formulary#1.0.0 to the package cache
Fetching:.
Installing: java.io.IOException: Attempt to import a mis-identified package. Expected hl7.fhir.us.davinci-drug-formulary, got hl7.fhir.us.Davinci-drug-formulary
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.addPackageToCache(FilesystemPackageCacheManager.java:356)
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.loadPackage(FilesystemPackageCacheManager.java:499)
at org.hl7.fhir.igtools.publisher.PreviousVersionComparator.startChecks(PreviousVersionComparator.java:185)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:3876)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:3788)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:870)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:725)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:8342)

With appropriate tribute paid for the trouble being caused, is there a path forward?

Regards,
Saul
@Dave Hill

view this post on Zulip Eric Haas (Oct 30 2020 at 22:58):

Note that when you push a folder or file name change which only changes the case GitHub won't update the case.

https://stackoverflow.com/questions/17683458/how-do-i-commit-case-sensitive-only-filename-changes-in-git

view this post on Zulip Saul Kravitz (Oct 31 2020 at 03:19):

@Eric Haas file content changing, not file name.

view this post on Zulip Brian Postlethwaite (Nov 02 2020 at 03:17):

Especially on windows you need to do a git command line activity
git mv FileName.json filename.json

view this post on Zulip Saul Kravitz (Nov 02 2020 at 16:47):

It looks like it rebuilt for a while, the canonical names for all of the profiles are davinci with a lower case 'd'.
Any thoughts on why build currently fails much appreciated. @Grahame Grieve

view this post on Zulip Grahame Grieve (Nov 02 2020 at 20:25):

what

view this post on Zulip Grahame Grieve (Nov 02 2020 at 20:25):

what is the error message?

view this post on Zulip Saul Kravitz (Nov 02 2020 at 21:23):

http://build.fhir.org/ig/HL7/davinci-pdex-formulary/failure/build.log
The problem starts with:

Installing hl7.fhir.us.davinci-drug-formulary#1.0.0 to the package cache
Fetching:.
Installing: java.io.IOException: Attempt to import a mis-identified package. Expected hl7.fhir.us.davinci-drug-formulary, got hl7.fhir.us.Davinci-drug-formulary
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.addPackageToCache(FilesystemPackageCacheManager.java:356)
at org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager.loadPackage(FilesystemPackageCacheManager.java:499)
at org.hl7.fhir.igtools.publisher.PreviousVersionComparator.startChecks(PreviousVersionComparator.java:185)
at org.hl7.fhir.igtools.publisher.Publisher.checkConformanceResources(Publisher.java:3876)
at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:3788)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:870)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:725)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:8342)

view this post on Zulip Saul Kravitz (Nov 04 2020 at 15:07):

@Grahame Grieve Any thoughts on what I'm doing wrong?

view this post on Zulip Eric Haas (Nov 04 2020 at 17:08):

@Saul Kravitz is this on your local build? Did you delete the packaged caches?

view this post on Zulip Saul Kravitz (Nov 04 2020 at 17:25):

Hi @Eric Haas This is on all builds, local and the CI build process. http://build.fhir.org/ig/HL7/davinci-pdex-formulary/failure/build.log. (Packaged caches are the stuff under ~/.fhir?... if so, then yes on my local build).

view this post on Zulip Lloyd McKenzie (Nov 04 2020 at 20:46):

What's the 'id' in your ig.json?

view this post on Zulip Saul Kravitz (Nov 04 2020 at 22:51):

@Lloyd McKenzie -- I'm building with SUSHI, so I think the ig.json is generated.
In the build directory I have:
ig.ini with:
ig = input/ImplementationGuide-hl7.fhir.us.davinci-drug-formulary.json

In build/input/ImplementationGuide-hl7.fhir.us.davinci-drug-formulary.json
"id": "hl7.fhir.us.davinci-drug-formulary",

@Chris Moesel

view this post on Zulip Saul Kravitz (Nov 04 2020 at 22:57):

The original canonical name was Davinci with a capital 'D'.
We are trying to change to davinci with a lower case 'd'.

view this post on Zulip Chris Moesel (Nov 04 2020 at 23:06):

I've got nothing to add to what @Saul Kravitz said -- only that I can't find anywhere in his master branch that the capital D could sneak back in -- and yet the IG Publisher is finding it. I feel like the IG Publisher is looking up information from some other server and then getting this mismatch based on the data coming back. But I honestly don't know -- that's just the only way I can think of the D getting into the build process.

view this post on Zulip Grahame Grieve (Nov 04 2020 at 23:35):

the error is in the guide that is referencing it, not the drug formulary itself

view this post on Zulip Grahame Grieve (Nov 04 2020 at 23:36):

the case will be wrong in the pdex-formulary dependency

view this post on Zulip Saul Kravitz (Nov 05 2020 at 04:32):

@Grahame Grieve What is my action item?

view this post on Zulip Saul Kravitz (Nov 09 2020 at 13:55):

@Grahame Grieve Is this something that is on the radar for the eagerly awaited 1.1.40? Or is this an orthogonal issue?
There is urgency on resolving this one since it relates to publishing an update to the Formulary IG.

view this post on Zulip Grahame Grieve (Nov 09 2020 at 19:10):

there's nothing for me to resolve, so far as I can see.

view this post on Zulip Grahame Grieve (Nov 09 2020 at 19:25):

@Lloyd McKenzie running this IG:

Unrecognized package-list status: draft for release 0.1.0

it should recognise the status draft

view this post on Zulip Lloyd McKenzie (Nov 09 2020 at 19:32):

Should 'draft' versions show up in the Jira dropdowns?

view this post on Zulip Grahame Grieve (Nov 09 2020 at 19:32):

if they've bene published, maybe. I'm not sure. But it certainly should not terminate the process

view this post on Zulip Lloyd McKenzie (Nov 09 2020 at 19:35):

It terminates the process because I need to know what to do with them. Any new status we introduce has to be handled

view this post on Zulip Lloyd McKenzie (Nov 09 2020 at 19:36):

I can't know if they've been published or not - I have to drive from the information in the file. So either they get put into the list of versions always or never (i.e. status needs to change before they'll get added to Jira)

view this post on Zulip Grahame Grieve (Nov 09 2020 at 20:51):

so make it an entry in qa.html.

view this post on Zulip Lloyd McKenzie (Nov 09 2020 at 21:05):

I can't, not from there

view this post on Zulip Lloyd McKenzie (Nov 09 2020 at 21:06):

It's supposed to blow up. Whenever there's new statuses added, the template will have to be updated before they can be used. I'm going to go with "don't put them in Jira" for now.

view this post on Zulip Lloyd McKenzie (Nov 09 2020 at 21:07):

Updated template pushed

view this post on Zulip Saul Kravitz (Nov 10 2020 at 16:48):

@Lloyd McKenzie @Grahame Grieve -- should a rebuild of Formulary work now? Or is there some other dependency?

view this post on Zulip Lloyd McKenzie (Nov 10 2020 at 17:50):

Should work

view this post on Zulip Grahame Grieve (Nov 10 2020 at 19:00):

actually, this is a big deal, now I realise what to look at

view this post on Zulip Grahame Grieve (Nov 10 2020 at 19:00):

@Martijn Harthoorn what will happen in the package registry if a package id changes case?

view this post on Zulip Lloyd McKenzie (Nov 10 2020 at 19:35):

"this" = the rename, not the 'draft' status?

view this post on Zulip Grahame Grieve (Nov 10 2020 at 19:45):

yes

view this post on Zulip Saul Kravitz (Nov 10 2020 at 21:10):

I just republished successfully. Is that a surprise or expected? THANKS

view this post on Zulip Lloyd McKenzie (Nov 10 2020 at 21:12):

Expected. But the lack of surprise is still appreciated :)

view this post on Zulip Grahame Grieve (Nov 10 2020 at 21:41):

well, the ci-build will run. it would always have run from the pov of the case change. But I'm screwed downstream...

view this post on Zulip Martijn Harthoorn (Nov 23 2020 at 14:58):

@Grahame Grieve, in our server casing is irelevant (and if it isn't we will make it so). In the npm standard they have moved to package ids must be lower case. In the FHIR package spec, I think we should set it to:
"A package id (name) SHOULD be lower case. A package server MUST ignore caseing when searching or matching on package id"

view this post on Zulip Grahame Grieve (Nov 24 2020 at 03:44):

well, that's something, at least.

view this post on Zulip Grahame Grieve (Nov 24 2020 at 03:44):

and I agree.


Last updated: Apr 12 2022 at 19:14 UTC