Extending User Management
ORIGAM root model packages come with a user management tools included. One of the usual tasks your customers will request is to store enhanced information in your user database (e.g. phone number, assignment to teams, etc.).
Following are the steps you need to do in these cases.
Prerequisites
The following steps require you to use Root Menu package.
If you do not use this package and you created your own entities/screens, you will need to implement the similar logic as described here but using your own modeling.
Add new fields
When you want to add some new fields to your user profile, add any desired fields to the Data > Partner Management > BusinessPartner entity.
Extend the UI
After adding more fields you need to extend the default screen which displays just the basic information.
- Locate the User Interface > Screen Sections > __System > Users
- Right click and select New > Alternative
- A new screen designer will open and you will be able to change how your screen looks like
- Save the screen section.
Now your new design will be used instead of the default one.
You need to do the same in the following sections:
- User Interface > Screen Sections > __System > Users - Appears in the user management screen
- User Interface > Screen Sections > Security > UserProfile - A screen where the active user can change his details
- User Interface > Screen Sections > Security > BusinessPartner_NewUser - A screen where new user is being created
Provide Defaults
If you added some mandatory fields for your users you need to provide some default values, otherwise e.g. workflow for creating a new user will stop working.
In order to do this add the defaults under Data > Data Structures > Security > UserProfile_New > Defaults. All your defaults will be applied when creating a new user record.
Provide Filters
It might happen that you indicate the user records in the BusinessPartner entity by a flag or a category field (e.g. bool IsUser).
In order to display just these records in the user management screen you need to provide a corresponding filter under Data > Data Structures > Security > UserProfile > GetUsers.