wiki:Organization

Organization in GeoNetwork's domain model (originating from Nationaal Georegister)

Date 2009/09/03
Contact(s) Heikki Doeleman
Last edited Timestamp
Status draft
Assigned to release 2.5
Resources The work may be done in the NGR project

Overview

In GeoNetwork there is no concept of "Organization". In NGR and in 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.

An Organizations page lists all the organizations in your GeoNetwork node and provides a quick search link to search metadata by organization.

After this discussion on the IRC channel, I have made two class diagrams to be discussed, differing in how user roles are handled (see below).

Proposal Type

  • Type: GUI Change, Core Change
  • App: GeoNetwork
  • Module: Data Manager, Group Manager, GUI

  • Email discussions:

on geonetwork-devel: Proposals to include NGR functionality to GeoNetwork trunk

  • IRC discussions:

September 1st, 2009 on GeoNetwork's IRC channel
September 8th, 2009 on GeoNetwork's IRC channel

Voting History

  • None as yet

Motivations

The motivations for these changes are :

1. The notion of Organization is lacking in GeoNetwork's domain model
2. The Organization Page gives more exposure to organizations publishing metadata and services, and improves search functionality

Proposal

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.

Class diagram 1

The second class diagram builds on the first one but has the added feature that a User may have more than one <Organization, UserRole> combination. This combination is called a Participant. Every User is associated with at least one Participant. A Participant has one UserRole and participates in one 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.

Class diagram 2

This second model, being a larger change from the current model, is therefore more work to implement but it also greatly increases the sophistication of GeoNetwork's domain model.

The Organization page as it is in NGR is reprinted here:


Backwards Compatibility Issues

1. a database change is required. SQL script to update existing DBs will be available
2. a database content change is required. A migration script to update existing DB's content will be available

Risks

Participants

  • As above

Feedback

Last modified 15 years ago Last modified on Sep 8, 2009, 4:04:19 AM

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.