NCEAS / metacat

Data repository software that helps researchers preserve, share, and discover data
https://knb.ecoinformatics.org/software/metacat
GNU General Public License v2.0
27 stars 13 forks source link

Add the CN base url on the node document #1275

Open taojing2002 opened 6 years ago

taojing2002 commented 6 years ago

MetacatUI or other applications need the cn url information.

mbjones commented 1 year ago

@taojing2002 I don't understand this issue. Could you elaborate what the issue is, and whether we need it for 3.0.0? Thanks.

taojing2002 commented 1 year ago

@mbjones This is a request from Lauren. Here is an example of our member node document:

https://knb.ecoinformatics.org/knb/d1/mn

It has the base url of member node. But it doesn't have the cn information. So Lauren wanted us to add the cn url into the member node document to indicate in which cn env it is. So metacatui can point to that cn automatically.

mbjones commented 1 year ago

OK, this seems reasonable, and could be added with our existing CN_* extension properties. I added an example on the last line of this KNB example that I got from the CN. The property I propose is: <property key="CN_env_url">https://cn.dataone.org/cn/v2/</property>

By making this a CN_ property, it would need to be added by the CN, which presumably could happen when a node gets approved in the environment in which it is registered. How does that sound? See in context below as well:

<ns3:node xmlns:ns2="http://ns.dataone.org/service/types/v1" xmlns:ns3="http://ns.dataone.org/service/types/v2.0" replicate="true" synchronize="true" type="mn" state="up">
    <identifier>urn:node:KNB</identifier>
    <name>KNB Data Repository</name>
    <description>The Knowledge Network for Biocomplexity (KNB) is a national network intended to facilitate ecological and environmental research on biocomplexity.</description>
    <baseURL>https://knb.ecoinformatics.org/knb/d1/mn</baseURL>
    <services>
        <service name="MNCore" version="v1" available="true"/>
        <service name="MNCore" version="v2" available="true"/>
        <service name="MNRead" version="v1" available="true"/>
        <service name="MNRead" version="v2" available="true"/>
        <service name="MNAuthorization" version="v1" available="true"/>
        <service name="MNAuthorization" version="v2" available="true"/>
        <service name="MNStorage" version="v1" available="true"/>
        <service name="MNStorage" version="v2" available="true"/>
        <service name="MNReplication" version="v1" available="true"/>
        <service name="MNReplication" version="v2" available="true"/>
        <service name="MNPackage" version="v1" available="true"/>
        <service name="MNPackage" version="v2" available="true"/>
        <service name="MNView" version="v2" available="true"/>
    </services>
    <synchronization>
        <schedule hour="*" mday="*" min="0/3" mon="*" sec="10" wday="?" year="*"/>
        <lastHarvested>2023-04-04T23:27:56.286+00:00</lastHarvested>
        <lastCompleteHarvest>1900-01-01T00:00:00.000+00:00</lastCompleteHarvest>
    </synchronization>
    <subject>CN=urn:node:KNB,DC=dataone,DC=org</subject>
    <contactSubject>CN=Christopher Jones A2108,O=Google,C=US,DC=cilogon,DC=org</contactSubject>
    <property key="CN_operational_status">operational</property>
    <property key="CN_date_operational">2012-07-23T00:00:0.000Z</property>
    <property key="CN_node_name">Knowledge Network for Biocomplexity</property>
    <property key="CN_logo_url">https://raw.githubusercontent.com/DataONEorg/member-node-info/master/production/graphics/web/KNB.png</property>
    <property key="CN_info_url">https://knb.ecoinformatics.org/</property>
    <property key="CN_location_lonlat">-119.697933,34.420222</property>
    <property key="upgrade_status">success</property>
    <property key="metacat_version">2.18.0</property>
    <property key="CN_env_url">https://cn.dataone.org/cn/v2/</property>
</ns3:node>
taojing2002 commented 1 year ago

@mbjones Sounds good. If I remember correctly, the properties starting with CN can NOT be added/overwritten to CN by the client through the register API, so we don't need to worry about the property in the cn node.