Stream: IG creation
Topic: Artifacts empty
Brian Reinhold (Oct 24 2018 at 11:34):
When I build the IG (using Lloyd's build system) I no longer get anything under the 'Artifacts' header. Previously I did. However, all the 'Artifacts' are still listed in the table of contents. What has changed and what do I need to do to get them back? Can I delete the Artifacts header (it used to be required)?
Lloyd McKenzie (Oct 25 2018 at 03:47):
You're going to need to update to a newer version of the framework - it's changed to reflect changes in ImplementationGuide. You can grab the current version from the GenomicsReporting, SDC or CRD IGs
Brian Reinhold (Oct 25 2018 at 23:20):
You're going to need to update to a newer version of the framework - it's changed to reflect changes in ImplementationGuide. You can grab the current version from the GenomicsReporting, SDC or CRD IGs
@Lloyd McKenzie Doing so gives me this error right at the very end.
Installing null#dev to the package cache [java] java.io.IOException: Attempt to import a mis-identified package null [java] at org.hl7.fhir.utilities.cache.PackageCacheManager.addPackageToCache(PackageCacheManager.java:284) [java] at org.hl7.fhir.igtools.publisher.Publisher.generate(Publisher.java:2884) [java] at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:597) [java] at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:526)
Lloyd McKenzie (Oct 25 2018 at 23:32):
That looks exciting... Try wiping your temp and your src-generated folder. If that doesn't work, try wiping your [user]/.fhir/packages folder. If that still doesn't work, I'm afraid you're going to need to poke Grahame...
Brian Reinhold (Oct 25 2018 at 23:47):
That looks exciting... Try wiping your temp and your src-generated folder. If that doesn't work, try wiping your [user]/.fhir/packages folder. If that still doesn't work, I'm afraid you're going to need to poke Grahame...
@Lloyd McKenzie Same error on all above attempts ...
@Grahame Grieve Any ideas?
I guess I can revert back to what I had before updating the Framework. I may not have gotten the Artifacts, but I was able to build the rest of the IG.
Grahame Grieve (Oct 26 2018 at 13:28):
I don't understand the problem, but it sounds like a framework one. We really need to get rid of the framework...
Brian Reinhold (Oct 26 2018 at 14:01):
I don't understand the problem, but it sounds like a framework one. We really need to get rid of the framework...
@Grahame Grieve I don't understand the problem either and am not sure where to start looking.
Lloyd McKenzie (Oct 26 2018 at 14:35):
I just ran genomics-reporting and SDC with the newest version of the IGPublisher and they both worked fine. (CRD has an issue related to a change to Coverage.)
Lloyd McKenzie (Oct 26 2018 at 14:42):
The Coverage change is going to require an update to the Java files again.
Grahame Grieve (Oct 26 2018 at 14:43):
I will do this once I get home
Grahame Grieve (Oct 26 2018 at 14:43):
or maybe I should wait until the end of this week, and only burn time updating the java files once
Brian Reinhold (Oct 26 2018 at 14:44):
The Coverage change is going to require an update to the Java files again.
I am trying to build with the old framework and see if that builds with the current ig publisher. I am not expecting to get artifacts
---> result; it builds. 5 min 57 sec. Guide looks as it should but missing artifacts under the artifacts header.
Now I will update the framework and see what happens
bummer - failure. Same error; right at the end
[java] Jekyll: Generating... (00:03:45.0551sec) [java] Jekyll: done in 21.297 seconds. (00:04:06.0873sec) [java] Installing null#dev to the package cache [java] Fetching:.|Publishing Content Failed: Attempt to import a mis-identified package null (00:04:07.0619sec) [java] (00:04:07.0619sec) [java] Use -? to get command line help (00:04:07.0619sec) [java] (00:04:07.0619sec) [java] Stack Dump (for debugging): (00:04:07.0619sec) [java] java.io.IOException: Attempt to import a mis-identified package null [java] at org.hl7.fhir.utilities.cache.PackageCacheManager.addPackageToCache(PackageCacheManager.java:284) [java] at org.hl7.fhir.igtools.publisher.Publisher.generate(Publisher.java:2884) [java] at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:597) [java] at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:526) [java] at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:4925) [java] Exception in thread "main" java.lang.NullPointerException [java] at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:4935) [java] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
Lloyd McKenzie (Oct 26 2018 at 15:12):
Do you have a bad package name somewhere?
Brian Reinhold (Oct 26 2018 at 15:40):
Do you have a bad package name somewhere?
@Lloyd McKenzie not sure what is considered a 'package'. I did make the name change in the ImplementationGuide resource so 'package' is now 'grouping' and 'groupingId'. I can't think of what else might be a package.
Lloyd McKenzie (Oct 26 2018 at 15:42):
In your ig, what's the NPM name?
Brian Reinhold (Oct 26 2018 at 15:48):
In your ig, what's the NPM name?
Not sure what that is. There is no such element in the IG resource. My groupingId is 'hl7.fhir.uv.phd'.
Lloyd McKenzie (Oct 26 2018 at 15:56):
ImplementationGuide.packageId = what?
Rob Hausam (Oct 26 2018 at 15:57):
I think he's saying that he changed that tag to groupingID, which wouldn't be correct.
Brian Reinhold (Oct 26 2018 at 15:57):
ImplementationGuide.packageId = what?
That does not exist anymore. It has been replaced by groupingId.
Rob Hausam (Oct 26 2018 at 15:57):
no, packageId is still there
Rob Hausam (Oct 26 2018 at 15:58):
as "NPM Package name for IG"
Brian Reinhold (Oct 26 2018 at 16:01):
as "NPM Package name for IG"
Miscommunication. I am talking about the package id that used to be for the definition (pages and resources)
I have never used the packageId element standalone. But looking at the current IG I see it is required. A change I did not catch.
Is that arbitrary or must it also be related to the Id?
Rob Hausam (Oct 26 2018 at 16:04):
ImplementationGuide.packageId is where you need to have 'hl7.fhir.uv.phd'.
Lloyd McKenzie (Oct 26 2018 at 16:04):
It needs to be the npm package id for your IG - as assigned by Grahame. If he hasn't done that yet, you can guess. As an example, the genomics reporting one is hl7.fhir.uv.genomics-reporting
Brian Reinhold (Oct 26 2018 at 16:05):
ImplementationGuide.packageId is where you need to have 'hl7.fhir.uv.phd'.
I also use that for grouping (now a separate entry). Is that okay?
Lloyd McKenzie (Oct 26 2018 at 16:06):
grouping is generally a human-friendly name. It'll show up in your artifact index.
Lloyd McKenzie (Oct 26 2018 at 16:06):
I have groupings for "profiles", "Extensions", "Terminology", etc.
Rob Hausam (Oct 26 2018 at 16:07):
There isn't a 'grouping' or 'groupingId' at the resource root level - they're in 'definition'.
Brian Reinhold (Oct 26 2018 at 16:07):
I have groupings for "profiles", "Extensions", "Terminology", etc.
Okay, once I see the artificats I can then change them accordingly
Brian Reinhold (Oct 26 2018 at 16:08):
There isn't a 'grouping' or 'groupingId' at the resource root level - they're in 'definition'.
Yes, that's all I have ever used. I never had a packageId. if it was required, it did not affect the build. But I guess now it does with the new framework.
Rob Hausam (Oct 26 2018 at 16:09):
It's been something we've had to have for a while now (prior to the change to 'grouping'). But maybe the build wasn't complaining enough before.
Rob Hausam (Oct 26 2018 at 16:11):
And I don't think you would have been putting 'hl7.fhir.uv.phd' inside your 'definition', right?
Brian Reinhold (Oct 26 2018 at 16:14):
And I don't think you would have been putting 'hl7.fhir.uv.phd' inside your 'definition', right?
It's just an identifier so I have. Was using it when it was called package. It did not affect anything, But I was not getting artifacts anymore.
Rob Hausam (Oct 26 2018 at 16:14):
Well hopefully changing that fixes it.
Lloyd McKenzie (Oct 26 2018 at 16:16):
"package" got renamed to grouping. As well, packageId got added. You need to do both changes.
Brian Reinhold (Oct 26 2018 at 16:18):
Well hopefully changing that fixes it.
Having the packageId solves the problem. I did not have it originally since it was not required. It was (0..1) I didn't catch that requirement change; just the grouping change. And Now I get artifacts. I am still using hl7.fhir.uv.phd for the groupingId and I do not see any ill affects in the Artifacts....yet
Rob Hausam (Oct 26 2018 at 16:36):
Hmm. Oddly enough, after all of this discussion, I've just now discovered that the Artifacts for the LIVD IG (using Lloyd's framework) are now missing from the page. They were always there before, and I've always had the 'packageId' populated (as <packageId value="hl7.fhir.uv.livd"/>) in the IG resource (livd.xml). I'm doing further investigation.
Brian Reinhold (Oct 26 2018 at 16:37):
Hmm. Oddly enough, after all of this discussion, I've just now discovered that the Artifacts for the LIVD IG (using Lloyd's framework) are now missing from the page. They were always there before, and I've always had the 'packageId' populated (as <packageId value="hl7.fhir.uv.livd"/>) in the IG resource (livd.xml). I'm doing further investigation.
You need to update to his latest Framework
I copied the one from his genomes IG. That solved the problem.
The pacakgeId was not the reason for no Artifacts; it was the reason I could not build after updating the Frameworks
Rob Hausam (Oct 26 2018 at 16:39):
Right. He said that before and I was just contemplating how best to do that. I'm assuming it's just a clean replacement? - if so then it shouldn't be a problem.
Brian Reinhold (Oct 26 2018 at 16:40):
Right. He said that before and I was just contemplating how best to do that. I'm assuming it's just a clean replacement? - if so then it shouldn't be a problem.
that's all I did. Copy and paste overwriting everything that was already there.
Rob Hausam (Oct 26 2018 at 16:41):
However, I don't necessarily want to do a wholesale replacement, as I'd like, if possible, to have the changes tracked in Git. I'm wondering if there is a less drastic approach to updating the framework. @Lloyd McKenzie?
Brian Reinhold (Oct 26 2018 at 16:42):
However, I don't necessarily want to do a wholesale replacement, as I'd like, if possible, to have the changes tracked in Git. I'm wondering if there is a less drastic approach to updating the framework. @Lloyd McKenzie?
That's why I did a copy and replace. I could see all the changes in git from what it was.
... even if those changes are beyond anything I will really ever look at. The idea is that I do not have to touch it; I only need to handle the material that I need to author.
Lloyd McKenzie (Oct 26 2018 at 16:44):
Delete the Framework folder and replace it with the new Framework folder. A copy has the risk of leaving something hanging around that shouldn't be there.
Rob Hausam (Oct 26 2018 at 16:45):
OK. Will do that, then.
Brian Reinhold (Oct 26 2018 at 16:45):
Delete the Framework folder and replace it with the new Framework folder. A copy has the risk of leaving something hanging around that shouldn't be there.
oohhh....
There is a single new file
framework/config/_config.yml
everything else is a modification of what was there
Rob Hausam (Oct 26 2018 at 16:49):
Presumably the repo for CRD is davinci-crd? I've cloned that one already and will update it.
Brian Reinhold (Oct 26 2018 at 16:50):
Presumably the repo for CRD is davinci-crd? I've cloned that one already and will update it.
Hopefully they are all the same. I am using genomics-reporting
Rob Hausam (Oct 26 2018 at 16:52):
Sounds like that should be fine. I just wanted to check with @Lloyd McKenzie that I have the "CRD" that he meant.
Lloyd McKenzie (Oct 26 2018 at 16:53):
So what's happening for you now?
Brian Reinhold (Oct 26 2018 at 16:55):
So what's happening for you now?
For me everything is now rosy.
Rob Hausam (Oct 26 2018 at 16:55):
I'm just trying out the build with the updated framework from davinci-crd. I'll let you know in a moment.
Rob Hausam (Oct 26 2018 at 16:56):
Still Fetching... :(
Brian Reinhold (Oct 26 2018 at 16:57):
Still Fetching... :(
set the tool versio to 3 in the package.json in .fhir and avoid that long fetching everytime.
Rob Hausam (Oct 26 2018 at 16:58):
I haven't done that because of Grahame's warning about the main build.
Rob Hausam (Oct 26 2018 at 16:58):
I can now confirm that my artifacts are back, though! :)
Rob Hausam (Oct 26 2018 at 16:59):
I'm not sure why the IG title is showing as "LOINC – IVD Test Code (LIVD) Mapping 0.1.0 - ${ballotstatus}", though. That's not great.
Brian Reinhold (Oct 26 2018 at 17:00):
I haven't done that because of Grahame's warning about the main build.
In the end I can see that but while you are trying to get something to work who wants to wait so long?
Rob Hausam (Oct 26 2018 at 17:00):
makes sense
Rob Hausam (Oct 26 2018 at 17:00):
thoughts on the title, @Lloyd McKenzie?
Brian Reinhold (Oct 26 2018 at 17:02):
thoughts on the title, @Lloyd McKenzie?
Do you mean the title of the IG in the top row? Mine appears to be okay.
I know there was a bug once where there was hard-coded reference to genome IG in the frameworks and I had to edit that. But it has been corrected in the genomes IG project at least
Lloyd McKenzie (Oct 26 2018 at 17:03):
There's properties.txt file - make sure you're setting the same properties as the IG you copied the framework from
Last updated: Apr 12 2022 at 19:14 UTC