wiki:BluePrint/UserManagement

Version 5 (modified by Michael Howden, 9 years ago) ( diff )

--

BluePrint: User Management

Introduction

BluePrints for User Registration and Management. This functionality is already well developed in Sahana Eden and this page is primarily a place to record additional desired enhancements.

Description

<Briefly describe the solution, e.g. start with a user story> <Name existing solutions, e.g. in other applications>

Use-Cases

When a User registers and is approved, Sahana will automatically create them:

  • Staff Record (if they request it & Admin agrees)
  • Volunteer Record (if they request it & Admin agrees)
  • Member Record (if they request it & Admin agrees)
  • Membership of auth_groups (Roles)
    • minimally AUTHENTICATED
  • Membership of pr_groups (Teams, Mailing Lists)
  • Contacts
    • minimally EMAIL
  • Extra fields (as per configuration)

Requirements

  • a deployment_setting to control what type of records (Staff, Vol, Member, etc) can be created for a new user
  • allow a URL var to be used to automatically determine the type of record to be created for that user, and hide the widget on the registration form
  • Show the administrator what types of records will be created for the user when they are approved.
  • Extra fields to collect (configurable - possibly included in above deployment_setting & possibly a separate one), e.g.:
    • Disclaimer(s) - just a client-side JS requirement to tick box before submit
    • Organisation - unless in email domain
    • Facility (org_site)
    • Mailing Lists (pr_group memberships)
    • Contacts (Mobile Phone, Landline, Twitter, Skype, etc)
    • Address
    • Date of Birth
    • Skills
    • Comments (e.g. ‘Why should you be given access?’)

Design

  • auth_user record would have to contain some sort of tracking of what types of records are linked to it.
  • s3_link_user would be extended to link the user to the different types of records

Implementation

To Do

  • Don't force re-entry of password for Admin (or use a different screen for just changing the password?) on user update
  • Approve email should contain link to the specific User page
  • Populate sites widget from Organisation
  • Option to choose to create Staff or Volunteer
  • Email & Mobile -> Use Inline Form framework (when complete)
  • Multiple OrgAdmin approvers & asyn send of emails
  • Move all auth.settings & auth.messages to deployment_settings
  • Write Automated tests (DeveloperGuidelines/Testing) for the following workflows:
    • Register with settings:
      • Verify & Approve
      • Verify & Approve with Mobile & image
      • Not Verify & Approve
      • Not Verify or Approve
  • Register an existing Person
  • Create User
    • with Mobile & image
  • Create User for an existing person
  • Update User
  • Update Person
  • Update HR
  • Import Users w/o Organisation
  • Import Users as staff - these should link the organisations
  • Roles being imported multiple times
  • Assign Staff to Sites
  • Roles tab on HRM - Role not displayed correctly

BluePrints

Note: See TracWiki for help on using the wiki.