User management - Profile

Target release3.4
Epic OLMIS-4734 - Getting issue details... STATUS
Document status
DRAFTED
PriorityHIGH
eLMIS StatusImplemented
OpenLMIS StatusPartially Implemented
PATH Amanda BenDor (Unlicensed)
OpenLMIS Sam Im (Deactivated)
JSI Ashraf Islam (Unlicensed)

Goals/Scope

Ability to allow the users to view/update their own profile

Status in eLMIS: Implemented.

Status in OpenLMIS: Partially Implemented

Priority: High priority for Tanzania, Zanzibar, Zambia

Background

User's email, address may change. The user may want to set some preferences 

Assumptions

User is registered with the database and have roles assigned 

User Stories

#TitleUser StoryLabelImportanceNotesJIRA Tickets
1

Users

As a user I would like to be able to view and edit my own profileUsersMust have

See screenshot below









Diagrams


View from eLMIS:

Here are screenshots from the current version of OpenLMIS (3.3 on UAT taken 5 Apr 2018)

Current Profile Screen (Clicking Logged in as administrator link in top right corner)

Administration>Users>Edit User Screen

Administraton>Users>Edit Role for User

Feature Scope:

  • User interface
    • Display more information on the page:
      • First Name
      • Last Name
      • Email Address
      • Home Health Facility
      • Read only table of current roles
        • Link to action in the event that current roles aren't appropriate
    • Add a Reset Password Button
      • Administrators should be able to toggle whether to display this button
  • Role Based Access Controls
  • Data model/microservice changes
    • ReferenceData
    • Auth
  • Audit Log implications (as we are working on the feature, each ticket should have audit logs for any edits)
  • Automated Messaging
    • Email verification (including business logic)



RequirementUser StoryJira ticket

User profile page & editability, with audit logging

  • First Name
  • Last Name
  • Email Address (validate email address format is correct)
  • Home Health Facility
  • Job Title
  • Phone Number (validate phone number format?)


OLMIS-4730 - Getting issue details... STATUS

Password Reset by user

OLMIS-4731 - Getting issue details... STATUS

View user Roles tables (or Roles tabs)

Read-only



OLMIS-4732 - Getting issue details... STATUS
  • Suggestion: Show a table of all roles (Table includes Program, Facility, and Rights for each), then allow a user to filter based on Program and/or Facility
    • Should user be able to filter by facility name, district, region, etc?
    • Tabs (same as in 3.3) plus a filter?

Filter Roles by Program or Facility (filter by Program or Facility, Program and Facility) 

OLMIS-4828 - Getting issue details... STATUS

OLMIS-4830 - Getting issue details... STATUS

Removed OLMIS-4733 filter roles because it is not required for this feature. 


Email verification (including business logic) OLMIS-4833 - Getting issue details... STATUS

Admin configures Password Reset button on user profile page



Allow a user to edit their own time zone (affects UI and reports)

Default preferences: Program, Supervised Facility

  • Option 1: Instead of navigation on each page within each component, there would be a navigation at the top of the page (by user name). Once a program and facility is selected, it is applied to all pages and components. User can still change the program or facility once they get to the page.
  • Option 2: There is a default navigation in the user profile. Once they select the default navigation it is used for all pages and components. User can still change the program or facility once they get to the page.
  • Option 3: There is a default navigation for each component that a user sets on their profile page: Requisitions, CCE, Stock Mgmt. Performance cannot be degraded. User can still change the program or facility once they get to the page. Explanation of which pages are impacted by default navigation. 


Whether the user receives notifications (this can be complex)


Dependencies

DescriptionLink
None at this time


Open Questions

Below is a list of questions to be addressed as a result of this requirements document:

#QuestionOutcomeStatus
1Ashraf, how much of the screen shot is in scope for this features? Currently we have the viewing of ones profile and could make fields editable. Do you know which fields have been the most useful to users? Or which get changed the most? Have there been issues with users typing in incorrect emails?

2What are the implications on the database's Role Based Access Controls? Currently an administrator has access to edit this user information and I expect we would need to change who has edit permissions with row-level-detail.

3Do we need the additional fields of job title and phone numbers?

4What does the automated messaging feature mean? Email verification? Ashraf

5Should the admin be able to configure the Reset Password button for each user? Or is the configuration system wide? Ashraf

6Should a user be able to opt out of email notifications? What emails? Notifications to approve, or convert to order emails? Ashraf

7


Notes from Gap Estimation Meeting 4/11/2018


  • We think we can group some of these profile & opting out
    • Profile:
      • User profile to show the roles the user has (same as on admin screen).
        • Immutable
      • User info
        • We'd allow the user to modify certain "rows" of the User info:  e.g. name, email, etc
    • Opt out
      • eLMIS allows admin to opt a user out of
      • 3 ways:
        • Individual user: no emails
        • In role
      • in v3 we recommend the user doing it on their profile with a checkbox to opt out of supervisory emails
      • Some future ideas:
        • Push more data to tools like rapid pro
        • Tag within roles

Out of Scope

  • Dashboard preferences are out of scope because we do not have dashboards in 3.3