Proposal number : ? Proposal title : Self-Registration System
Date | 2009/03/23 |
Contact(s) | Simon Pigot |
Last edited | Timestamp |
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
Links
- 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