metacatui
metacatui copied to clipboard
The package landing page can handle the solr place-holder doc of an object
Describe the feature you'd like
Currently a resource map object can be indexed successfully only when all components in the resource map have been indexed. Any missing solr doc of a data object will make the package landing page look like that it doesn't have any data objects at all. This issue confuses a lot of users.
Now DataONE-indexer can index a resource map successfully even though some component objects don't have a solr doc. The solution is to add a place-holder solr doc for it. This solr doc only has bare-bone fields which hold the relationships like documents, isDocumentedBy and et al. The example of a document for the object urn:uuid:b1e00ef1-8c9a-4a38-8d40-ae5f48a924b5 looks like:
<doc>
<str name="id">urn:uuid:b1e00ef1-8c9a-4a38-8d40-ae5f48a924b5</str>
<str name="identifier">urn:uuid:b1e00ef1-8c9a-4a38-8d40-ae5f48a924b5</str>
<str name="sku">urn:uuid:b1e00ef1-8c9a-4a38-8d40-ae5f48a924b5</str>
<str name="title">dataone-indexer-placeholder-title-please-ignore</str>
<arr name="isDocumentedBy">
<str>urn:uuid:4d4849ea-ec99-43df-b546-79323cebb130</str>
</arr>
<arr name="resourceMap">
<str>resource_map_urn:uuid:b011a1d6-63a7-478d-9143-48528fb51234</str>
</arr>
<long name="_version_">1845984155993636864</long>
</doc>
However, current MetacatUI can't recognize this object as part of the package resource_map_urn:uuid:b011a1d6-63a7-478d-9143-48528fb51234. It doesn't show it on the object table. We need to modify the code to show it up. Also this object should be indicated differently to the other regular objects.