wiki:proposals/UserProfileByGroup

Define more than one profile per user

Date 2012/06/07
Contact(s) François Prunayre, Florent Gravin
Last edited
Status Draft
Assigned to release 2.9.0
Resources Available (funding Ifremer)
Ticket # #1071
Git repo https://github.com/fxprunayre/core-geonetwork/tree/feature/user-with-profiles

  1. Overview
    1. Editor configuration
    2. Proposal Type
    3. Links
    4. Voting history
  2. Proposal
    1. DB changes
    2. User interface changes
    3. Java changes
    4. Related fix
  3. Risks
  4. Participants

Overview

Add the capability to have more than one profile for a user. Catalogue users could be:

  • administrator or
  • user administrator and/or reviewer and/or editor and/or registered user

A reviewer in a group is also an editor for this group.

Editor configuration

The main change of this proposal is in the user configuration page which now allows to set for each profiles the list of groups the user is member of.

draft UI for discussion

If user is an administrator, profiles and group lists are not displayed.

Proposal Type

  • Type: User & group
  • App: GeoNetwork
  • Module: All
  • Documents:

Voting history

Vote proposed by Francois on 2012/07/05, result was

  • +1 Jeroen, Patrizia, Francois

Proposal

DB changes

  • add a profile field in the usergroups table
  • the profile in the users table is the main profile which means the profile with the more privileges for the user according to Jeeves user-profiles settings (eg. if a user is Editor in Group1 and UserAdministrator in Group2, the main profile for the user is UserAdministrator).

User interface changes

  • Metadata
    • New metadata :
      • only list group where current user is editor
      • add exception if user try to create a metadata in other groups (#979)
    • Metadata insert :
      • only list group where current user is editor
      • add exception if user try to insert a metadata in other groups (#979)
    • Privileges :
      • only list group where current user is editor|registered
      • only allow publish on internet if current user is reviewer for the metadata group
      • If publish to all groups option is set, display all groups
  • Administration
    • User management :
      • only display if current user is Administrator or userAdmin of one group
      • for userAdmin, only display users part of current user groups
    • User list : only display user member of the groups where current user is userAdmin
    • User info : only display groups where current user is userAdmin in order to not allow to make a user member of a group userAdmin is not part of
  • Search
    • Search privileges filter : add groups where current user is editor|registered
    • Group criteria : only list group where current user is editor

Note: the groups where a user is a reviewer, this user is also an editor for those groups.

Java changes

  • service xml.info also provide a profile parameter to get user groups per profile
    xml.info?type=groups&profile=Editor
    
  • GetMine also procide a config parameter profile to get the list of user group for a specific profil.
  • ServiceNotAllowed exception is added when:
    • a user try to insert a metadata in group the user is not member of (#979)
    • a editor (also reviewer) try to publish a record to internet/intranet/guest while he is not reviewer

Related fix

  • Widgets / clean other action menu : remove "new owner" for editor or guest. Do not suggest create metadata action for guest (#781)

Risks

Participants

  • Francois Prunayre
  • Florent Gravin
Last modified 10 years ago Last modified on Oct 28, 2012, 9:52:01 AM

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.