Issue 12329
Refactor API so it becomes simpler and more consistent
12329
Reporter: mdoering
Type: Epic
Summary: Refactor API so it becomes simpler and more consistent
Priority: Major
Status: Open
Created: 2012-11-16 12:47:38.041
Updated: 2014-01-20 10:57:22.297
Description: The api has been designed by looking at the 3 main parts (registry, checklistbank and occurrence) individually and therefore lack some overall consistency.
A main refactoring is proposed to adress this and include various enhancements in one go. The currently open api issues are listed in http://dev.gbif.org/issues/secure/IssueNavigator.jspa?mode=hide&requestId=11103.
The list of known inconsistencies that should be addressed includes:
- new Tag API
- make sure we use dataset & constituent everywhere. CLB uses checklistKey and dataset for a constituent. Messages use datasetUuid instead of datasetKey
- flatten out class hierarchies in registry and checklstbank creating interfaces for some used base classes instead
- rethink some registry class names. Would an outsider understand them? In particular consider:
- NetworkEntity -> RegisteredEntity
- NetworkEntityComponent -> RegisteredEntityRelated or for some cases DatasetRelated?
- streamline 3 Identifier classes, consider converting NameUsageComponent base class into an interface
- similarily streamline Image classes
- add a PhysicalCollection registry class?
- EML issues: http://dev.gbif.org/issues/secure/IssueNavigator.jspa?mode=hide&requestId=11102]]>