Proposal number : ? Proposal title : Self-Registration System

Date 2009/03/23
Contact(s) Simon Pigot
Last edited

Error: Failed to load processor Timestamp
No macro or processor named 'Timestamp' found

Status draft - complete in BlueNetMEST sandbox
Assigned to release 2.4
Resources Available

Overview

Registration of new users - assigning user name/password, entering their details in the GeoNetwork Users database - is a fairly hefty manual administration task. This proposal is to add simple forms and a service to allow users to enter their own details, for GeoNetwork to generate a user name and password and then email them to the new user.

Proposal Type

  • Type: User interface and core functionality additions
  • App: GeoNetwork
  • Module: Add new services
  • This has been available in the BlueNetMEST sandbox for some time - tested by users in the BlueNet project

Voting history

  • Vote proposed : 20090326
  • Vote passed: 20090328
    • Jeroen Ticheler +1
    • Andrea Carboni +1
    • Patrizia Monteduro +1
    • Emanuele Tajariol +1
    • Francois Prunayre +1
    • Simon Pigot +1
    • Archie Warnock +1

Motivations

See overview.

Proposal

A new link in the banner is added called 'Register' which is only visible to users that have not logged in and only appears if the necessary system configuration has been done (see dot point 2 below). Clicking on this link brings up a form which accepts the user details as a Modalbox (Javascript widget) overlaid on the main page. The form is prepared by the user.register.service (an xslt only service). Information on the form (is checked and then submitted to the user.register.submit service. This service performs the following:

  • generates a username from supplied firstname and surname and some digits if simple concatenation doesn't work and a password
  • checks to see that the mailServer/host and mailServer/port and a number of other parameters have been configured in the Administration->System administration screen. If they aren't self-registration fails.
  • checks to see whether the supplied email address and generated username are already present in the user database
  • inserts the user details into the user database - user is added as a registereduser to the predefined group called GUEST
  • email is sent to the user (and the geonetwork feedback email address) giving them the details and a link to the site

See code in BlueNetMEST sandbox: src/org/fao/geonet/services/register/SelfRegister.java

Results of registration including any errors are shown to the user. See the service definition for user.register.submit in the BlueNetMEST sandbox: web/geonetwork/WEB-INF/config.xml

GUEST group is treated as a group that any user can assign privileges too (same as for all and intranet). This requires changes to the privileges display.

Backwards Compatibility Issues

The groups database should have the GUEST group predefined. Existing 2.2 installations will not have this.

Risks

The 'Register' form should be protected from scripting.

Participants

  • IntelliSense - wrote the original version
  • Craig Jones - some enhancements
  • Simon Pigot - some enhancements