Skip to content

User Management

kutila edited this page Nov 15, 2012 · 7 revisions

This page contains details related to user management in PODD.

A user in PODD can represent an individual that accesses the PODD system or any individual that is referred to in PODD artifacts. Those with the ability to access PODD are categorized as "Active" users while those who do not have access rights are "Inactive" users.

A PODD user is uniquely identified using an internally generated URI. An email address, supplied at user creation time, is used as the unique username for authenticating with PODD. A user can be created in two methods:

  1. Via the user creation web service
  2. Generated by the PODD system when referred to inside a PODD artifact

User creation service

  • This service can only be used by an authenticated user with appropriate authorization (e.g. a PODD Repository Administrator)
  • Http Method: POST
  • URL: http://<server_path>/user/create
  • Mandatory parameters:
    • email: User's email address that is used as the login username
    • password: The password must be at least 6 characters and can only contain upper case characters (A-Z), lower case characters (a-z), numbers (0-9) or the underscore (_) character
    • firstname: User's first name
    • lastname: User's last name
    • status: user status (Active, Inactive)
  • Optional parameters:
    • orcidid: User's ORCID identifier
    • organization: Organization the user is affiliated with
  • Expected responses:
    • 200: Success
    • 400: Bad Request: invalid user details, user already exists
    • 401: Unauthorized: the user has insufficient access to create the requested user
    • 500: Internal Server Error: an error occurred while saving the user
  • If an "Inactive" user exists with the given email address, the existing user will be updated with the provided details.

System generated user accounts

When adding artifacts to PODD (or modifying an artifact), users can be specified using an email address. The excerpt below shows how a Project Principal Investigator is referenced in this manner.

<rdf:Description rdf:about="urn:temp:object:5726">
<rdf:type rdf:resource="http://purl.org/podd/ns/poddScience#Project"/>
    ...
<poddBase:hasPrincipalInvestigator rdf:resource="mailto:john.doe@csiro.au"/>
    ...
</rdf:Description>

If a user account does not exist for the provided email address, PODD will create a new "Inactive" user account. This Inactive account will not contain any other information about the user and cannot be used to access PODD. Independently, the resource identifier will be changed from mailto:john.doe@csiro.au to an internally generated unique URI.

Structure of a user record

Other associated web services: (To Be Described)

  • User listing service
  • Authentication service
  • Logout service

Clone this wiki locally