Issue 12066

Refactor Dataset.networkOfOrigin to use a organization UUID

12066
Reporter: mdoering
Assignee: mdoering
Type: Improvement
Summary: Refactor Dataset.networkOfOrigin to use a organization UUID
Priority: Major
Resolution: Fixed
Status: Closed
Created: 2012-10-23 14:15:06.483
Updated: 2013-12-06 12:06:41.836
Resolved: 2012-10-23 21:25:03.036
        
Description: External datasets are grouped by a network of origin, e.g. KNB, ILTER or GBIF, which are registered organizations.
Dataset currently uses a hardcoded enum for these with no relation the the organization keys. In order to be flexible allowing new networks and updated titles the dataset class should use the organizations uuid key instead of the enum (which will be removed).

The refactored property should still be read only, ie live in Dataset not WritableDataset, and be called networkOfOriginKey]]>
    


Author: trobertson@gbif.org
Comment: This looks reasonable, but needs to be well documented in the API as to what it holds for GBIF datasets
Created: 2012-10-23 14:17:15.316
Updated: 2012-10-23 14:17:15.316


Author: mdoering@gbif.org
Created: 2012-10-23 14:28:55.626
Updated: 2012-10-23 14:28:55.626
        
we would need a known GBIF Secretariat organization key.
Probably we could even reclaim this one and rename it: http://gbrds.gbif.org/browse/agent?uuid=fbca90e3-8aed-48b1-84e3-369afbd000ce
    


Author: trobertson@gbif.org
Created: 2012-10-23 14:31:46.997
Updated: 2012-10-23 14:31:46.997
        
Or null?

"Should the dataset be discovered outside of the GBIF network, the network or original will identify the organization through which the associated network is connected.  For all datasets directly registered with GBIF, this will return null"

If it is not null, then clients will all need to know the GBIF uuid to distinguish between them.




    


Author: mdoering@gbif.org
Created: 2012-10-23 14:38:12.299
Updated: 2012-10-23 14:38:12.299
        
to distinguish what? The dataset.type should tell you right away if its external or not.
Null would be fine too - on the other hand non null fields are attractive for coding.

    


Author: mdoering@gbif.org
Created: 2012-10-23 14:42:58.235
Updated: 2012-10-23 14:42:58.235
        
wrong. We can get a pure metadata dataset registered via the IPT, so its network of origin would be GBIF and its type metadata.
So you need to know GBIFs uuid to detect non gbif datasets. But is that needed for anything? We should keep the UUID in an api constant anyway like we do for the nub dataset now and we could make use of that to have a boolean method originatesFromGbif or so to tell us whether it originated from the registry (we also have a isNub flag on usages). Im not sure what we need that for though.

Would things look different if we use UUIDs also for external datasets?
    


Author: mdoering@gbif.org
Comment: patch created for review http://dev.gbif.org/code/cru/CR-GBIFCOM-3
Created: 2012-10-23 14:52:27.898
Updated: 2012-10-23 14:52:27.898


Author: mdoering@gbif.org
Created: 2012-10-23 21:25:03.116
Updated: 2012-10-23 21:25:03.116
        
http://code.google.com/p/gbif-common-resources/source/detail?r=1164
http://code.google.com/p/gbif-common-resources/source/detail?r=1165