Web Portal Profile Properties

When you open up the profile > main data, fields will show up. How can you setup this fields to not be edited. In the JSON i can see those fields are "readonly=true".

Where can I set these specific fields to readonly?

Parents
  • I have the same question after looking around this is what I figured out. (Version: OneIM92)

    projects\qer\src\lib\profile\profile.component.ts
    Line 236: this.columns = (await this.projectConfig.getConfig()).PersonConfig.VI_PersonalData_Fields;

    I could not find any configurable settings for 'VI_PersonalData_Fields' in the 'Administration Portal'
    Administration Portal > Configuration > Webportal
    Search: VI_PersonalData_Fields

    There is an option for the Identity\Main Data' (what a manager sees for his employees)
    Administration Portal > Configuration > Webportal
    Search: VI_Employee_MasterData_Attributes

    Feature configuration (QER)\Identity data / Personal data
    Here you can add/remove the fields shown in the Identity\Main Data'

    If you look futher in: projects\qer\src\lib\profile\profile.component.ts
    Line 249: isReadOnly: () => !column.GetMetadata().CanEdit(),

    I think here the read-only status is determined based on the 'CanEdit' property per column(field):
    So the logged on user gets his rights via the base role VI_4_ALLUSER that has the permission group: VI_4_ALLUSER assigned.
    The permisison group VI_4_ALLUSER has edit rights on the Person table filtered by Edit condition clause so only the person entry of the logged on user is shown.

    exists (select top 1 1 from QER_FTPersonsAreMe_S('%UserUID%') f
    where f.UID_Person=Person.UID_Person)

    Don't take the following as advise or best practise. I'm not a webdeveloper, this is just my simple view on matters.
    And I hope that someone more knowledgeable comes along and shares his advise.

    Option 1 - Custom permission group for VI_4_ALLUSER
    The bottom up approach would be to make a copy of the permission group VI_4_ALLUSER > CCC_VI_4_ALLUSER and remove the edit rights on the Person table.
    or alter the Edit condition so only centain users can edit there profile.

    pros:
    - Most secure (lowest permission level)
    - Configurable by admins, but be very careful!
    - No/less web development needed 

    cons:
    - Major impact on OOTB configuration and future permission changes in VI_4_ALLUSER (updates/hotfixes have to be closely tracked and tested.)
    - If you have issues and want support from Quest you will probably have to rollback to the default permission group config of VI_4_ALLUSER

    Option 2 - Customize the API server: QER.CompositionApi.Server.PlugIn.dll
    Extend the API server plugin with configurable settings for: VI_PersonalData_Fields for
    1 Remove/Add fields shown in Profile Main Data setting
    2 Option to overide fields that can be edited on the database level to read-only

    pros:
    - Secure
    - Very easy to configure via the Admin portal

    cons:
    - Web development needed
    - Customize the 'QER.CompositionApi.Server.PlugIn.dll' as far as I am aware this is closed source?

    Option 3 - Customize Web front-end (HTML5 applications)
    pros:
    - Supported
    - Relatively easy to configure when implemented: If you want to change the editability/visibility of a profile field you will have to redeploy the HTML app.

    cons
    - Web development needed
    - Less secure (the permissions are still there via the API Server)

    Regards,
    Niels

Reply
  • I have the same question after looking around this is what I figured out. (Version: OneIM92)

    projects\qer\src\lib\profile\profile.component.ts
    Line 236: this.columns = (await this.projectConfig.getConfig()).PersonConfig.VI_PersonalData_Fields;

    I could not find any configurable settings for 'VI_PersonalData_Fields' in the 'Administration Portal'
    Administration Portal > Configuration > Webportal
    Search: VI_PersonalData_Fields

    There is an option for the Identity\Main Data' (what a manager sees for his employees)
    Administration Portal > Configuration > Webportal
    Search: VI_Employee_MasterData_Attributes

    Feature configuration (QER)\Identity data / Personal data
    Here you can add/remove the fields shown in the Identity\Main Data'

    If you look futher in: projects\qer\src\lib\profile\profile.component.ts
    Line 249: isReadOnly: () => !column.GetMetadata().CanEdit(),

    I think here the read-only status is determined based on the 'CanEdit' property per column(field):
    So the logged on user gets his rights via the base role VI_4_ALLUSER that has the permission group: VI_4_ALLUSER assigned.
    The permisison group VI_4_ALLUSER has edit rights on the Person table filtered by Edit condition clause so only the person entry of the logged on user is shown.

    exists (select top 1 1 from QER_FTPersonsAreMe_S('%UserUID%') f
    where f.UID_Person=Person.UID_Person)

    Don't take the following as advise or best practise. I'm not a webdeveloper, this is just my simple view on matters.
    And I hope that someone more knowledgeable comes along and shares his advise.

    Option 1 - Custom permission group for VI_4_ALLUSER
    The bottom up approach would be to make a copy of the permission group VI_4_ALLUSER > CCC_VI_4_ALLUSER and remove the edit rights on the Person table.
    or alter the Edit condition so only centain users can edit there profile.

    pros:
    - Most secure (lowest permission level)
    - Configurable by admins, but be very careful!
    - No/less web development needed 

    cons:
    - Major impact on OOTB configuration and future permission changes in VI_4_ALLUSER (updates/hotfixes have to be closely tracked and tested.)
    - If you have issues and want support from Quest you will probably have to rollback to the default permission group config of VI_4_ALLUSER

    Option 2 - Customize the API server: QER.CompositionApi.Server.PlugIn.dll
    Extend the API server plugin with configurable settings for: VI_PersonalData_Fields for
    1 Remove/Add fields shown in Profile Main Data setting
    2 Option to overide fields that can be edited on the database level to read-only

    pros:
    - Secure
    - Very easy to configure via the Admin portal

    cons:
    - Web development needed
    - Customize the 'QER.CompositionApi.Server.PlugIn.dll' as far as I am aware this is closed source?

    Option 3 - Customize Web front-end (HTML5 applications)
    pros:
    - Supported
    - Relatively easy to configure when implemented: If you want to change the editability/visibility of a profile field you will have to redeploy the HTML app.

    cons
    - Web development needed
    - Less secure (the permissions are still there via the API Server)

    Regards,
    Niels

Children