| 1 | = Organization in GeoNetwork's domain model (originating from [http://nationaalgeoregister.nl Nationaal Georegister]) = |
| 2 | |
| 3 | || '''Date''' || 2009/09/03 || |
| 4 | || '''Contact(s)''' || [http://wiki.osgeo.org/wiki/User:Heikki Heikki Doeleman] || |
| 5 | || '''Last edited''' || [[Timestamp]] || |
| 6 | || '''Status''' || draft || |
| 7 | || '''Assigned to release''' || 2.5 || |
| 8 | || '''Resources''' || The work may be done in the NGR project || |
| 9 | |
| 10 | == Overview == |
| 11 | |
| 12 | In !GeoNetwork there is no concept of "Organization". In [http://nationaalgeoregister.nl NGR] and in [http://www.geocat.ch/ SwissTopo] the concept was needed and has been implemented as a small addition to the existing notion of "Group". It would be better, though, to not mix up those two concept and implement Organization as a first-class citizen in !GeoNetwork's domain model.[[BR]][[BR]] |
| 13 | An Organizations page lists all the organizations in your !GeoNetwork node and provides a quick search link to search metadata by organization.[[BR]][[BR]] |
| 14 | After [http://logs.qgis.org/geonetwork/%23geonetwork.2009-09-01.log this discussion on the IRC channel], I have made two class diagrams to be discussed, differing in how user roles are handled (see below). |
| 15 | |
| 16 | === Proposal Type === |
| 17 | * '''Type''': GUI Change, Core Change |
| 18 | * '''App''': !GeoNetwork |
| 19 | * '''Module''': Data Manager, Group Manager, GUI |
| 20 | |
| 21 | === Links === |
| 22 | |
| 23 | * '''Email discussions''': on geonetwork-devel: [http://n2.nabble.com/Proposals-to-include-NGR-functionality-to-GeoNetwork-trunk-td3365623.html#a3365623 "Proposals to include NGR functionality to GeoNetwork trunk"] |
| 24 | * '''IRC discussions''': [http://logs.qgis.org/geonetwork/%23geonetwork.2009-09-01.log September 1st, 2009 on GeoNetwork's IRC channel] |
| 25 | |
| 26 | === Voting History === |
| 27 | |
| 28 | * None as yet |
| 29 | |
| 30 | ---- |
| 31 | |
| 32 | == Motivations == |
| 33 | The motivations for these changes are : |
| 34 | |
| 35 | '''1.''' The notion of Organization is lacking in !GeoNetwork's domain model[[BR]] |
| 36 | '''2.''' The Organization Page gives more exposure to organizations publishing metadata and services, and improves search functionality[[BR]] |
| 37 | |
| 38 | == Proposal == |
| 39 | |
| 40 | The first class diagram extends my original proposal [here] in order to allow for "departments", i.e. an Organization that has a parent Organization. It also explicitly models the system groups "all", "intranet" and "guest", which are Groups but are not Organizations. |
| 41 | |
| 42 | The second class diagram builds on the first one but has the added feature that a User may have more than 1 <Organization, !UserRole> combination. This combination is called a Participant. Every User is associated with at least one Participant. A Participant has 1 !UserRole and participates in 1 Group, and is the type of entity that can be logged in. This way, a User can act with more than one role in one or more Groups. A Group of course can have any number of Participants. |
| 43 | |
| 44 | The Organization page as it is in [http://nationaalgeoregister.nl NGR] is reprinted here: |
| 45 | |
| 46 | === Backwards Compatibility Issues === |
| 47 | |
| 48 | '''1.''' a database change is required. SQL script to update existing DBs will be available[[BR]] |
| 49 | '''2.''' a database content change is required. A migration script to update existing DB's content will be available[[BR]] |
| 50 | |
| 51 | == Risks == |
| 52 | |
| 53 | == Participants == |
| 54 | * As above |
| 55 | |