Doors NG - create/update Resource Shape by OSLC
Dear Jazz support team,
I have the following application setup and version. I realized it's supported to update/create artifacts through OSLC. Howeve, I didn't find the way to update or create a new artifact type by writing Resource Shape through OSLC. My use case is to add some custom attributes when creating new artifacts. It would be nice to know if it is supported or not. Or I can only do it through the Web UI. Thank you
2 answers
You can't do this via the standard OSLC API, but DOORS Next 7.1 has just introduced a new Type API
Comments
Thank you Davyd. It's very helpful.
I tried it out the following two URIs which gave me the corresponding API endpoints in ELM-client. However, the two corresponding endpoints with POST responded to me with http 404 errors.
http://jazz.net/ns/rm/dng/types#AttributeDefinition
http://jazz.net/ns/rm/dng/types#ArtifactType
I guess it's not implemented yet as I get the working API from http://jazz.net/ns/rm/dng/types#TypeImportSession
http://jazz.net/ns/rm/dng/types#ArtifactType
I guess it's not implemented yet as I get the working API from http://jazz.net/ns/rm/dng/types#TypeImportSession
I am just wondering why it is not supported, or I may use it incorrectly.
I understand it is probably not the place to ask it as Ralph mentioned, but my IBM support portal is not working, and I already contacted the registration support and am still waiting for the response. It will be helpful to know if this new type API is really supported in the version I provided. Thank you very much
The specification document says explicitly that PUT isn't yet implemented; certainly GET is, haven't tried POST to create a new type.
However those don't look like endpoint URLs to me - e.g. they should have your server name in the URL, and NOTE you'll have to provide the configuration with the POST. You discover the endpoint URLs (for the factories and queries) in the services.xml
They're definitely in 7.1SR1 so I'm not sure why you're referring to http://jazz.net/ns/rm/dng/types#TypeImportSession
For example:
<oslc:queryCapability>
<oslc:QueryCapability>
<oslc:resourceType rdf:resource="http://jazz.net/ns/rm/dng/types#ArtifactType"/>
<oslc:queryBase rdf:resource="https://jazz.ibm.com:9443/rm/artifactTypeQuery"/>
<dcterms:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>ArtifactType Query Capability</dcterms:title>
</oslc:QueryCapability>
</oslc:queryCapability>
<oslc:QueryCapability>
<oslc:resourceType rdf:resource="http://jazz.net/ns/rm/dng/types#ArtifactType"/>
<oslc:queryBase rdf:resource="https://jazz.ibm.com:9443/rm/artifactTypeQuery"/>
<dcterms:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>ArtifactType Query Capability</dcterms:title>
</oslc:QueryCapability>
</oslc:queryCapability>
and:
<oslc:creationFactory>
<oslc:CreationFactory>
<oslc:usage rdf:resource="http://open-services.net/ns/core#default"/>
<oslc:resourceType rdf:resource="http://jazz.net/ns/rm/dng/types#ArtifactType"/>
<oslc:creation rdf:resource="https://jazz.ibm.com:9443/rm/artifactTypeFactory"/>
<dcterms:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>ArtifactType Factory</dcterms:title>
</oslc:CreationFactory>
</oslc:creationFactory>
<oslc:CreationFactory>
<oslc:usage rdf:resource="http://open-services.net/ns/core#default"/>
<oslc:resourceType rdf:resource="http://jazz.net/ns/rm/dng/types#ArtifactType"/>
<oslc:creation rdf:resource="https://jazz.ibm.com:9443/rm/artifactTypeFactory"/>
<dcterms:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>ArtifactType Factory</dcterms:title>
</oslc:CreationFactory>
</oslc:creationFactory>
As mentioned above, it looks like you are trying to use the namespace for the type system, and not a valid URL for your server. You need to first GET the service catalog for your project area, and look inside it for the creation Factory for the various namespace URLS in the API spec document. Then you need to use the real URL in that definition. For instance, my server has the following:
https://<my example server>.clm.ibmcloud.com/rm/attributeTypeFactory?projectURL=https%3A%2F%2F<my example server>.clm.ibmcloud.com%2Frm%2Fprocess%2Fproject-areas%<some unique identifier>
This is a community forum and not a support page. If you need support, contact support e.g. follow https://jazz.net/forum-guidelines.jsp .
"How does that API work" is not a support question.