MR External Security (Realm Security: Setting Up a Bootstrap User)

If you have WebFOCUS MR/CUS configured for external security, also known as AKA Realm security, you would typically have the default pmfadmin user ID set up within your security system of record when installing PMF. That user ID would be attached to the MR administrator group, which is linked to the Performance Management Framework MR Domain as the default group of PMF administrators. This enables you to log in to PMF and perform basic functions to complete setup of PMF at your site.

However, if you are unwilling to set up the pmfadmin user as advised in your security system of record, you will not be able to log in to PMF and perform activities such as “bootstrap” the system to set up other users.

In this situation you can use the FOCEXEC procedural code, shown below, to set up a bootstrap user. You will need to run this procedure from within the MR environment and be logged in as a valid administrator there.

Note: As of PMF 5.2.3, this code is included with PMF in the procedure/apps/pmfdata/pmf_bootstrap_user.fex.

-*FOCEXEC: pmf_bootstrap_admin_id.fex
-*   This is pmf_bootstrap_admin_id.fex
-*   If creates a new PMF Administrator OWNER_ID from scratch.
-*   This is to be used in the situation where external security is turned
on and you cannot get into PMF using any of the standard delivered IDs.
-*   It is strongly recommended that this be used once and only once - to
create the first PMF Administrator ID.
-*   After that, all additional IDs should be created using standard PMF tools
-INCLUDE A_DEFAULTS
-**** Edit THESE ****
-SET &OWNER_ID                   = '[owner ID to create]' ;
-SET &FIRST_NAME                 = '[owner first name to use]' ;
-SET &LAST_NAME                  = '[owner last name to use]' ;
-SET &OWNER_EMAIL                = '[owner e-mail to use]';
-*  Clean out existing OWNER
SQL &RDBMS
   delete from OWNERS
   where OWNER_ID = &OWNER_ID.QUOTEDSTRING ;
END
-RUN
-*  Clean out existing entries in Scorecard Security
SQL &RDBMS
   delete from SCORECARD_SECURITY
   where OWNER_ID = &OWNER_ID.QUOTEDSTRING ;
END
-RUN
EX PMF_OWNERS_FORM_UPDATE ENCODE_CNT=8,
                          Action_Field_Edit          = 'i',
                          OWNER_ID                   = &OWNER_ID.QUOTEDSTRING,
                          ENCODE_FLD01               = 'OWNER_ID',
                          FIRST_NAME                 = &FIRST_NAME.QUOTEDSTRING,
                          ENCODE_FLD02               = 'FIRST_NAME',
                          LAST_NAME                  = &LAST_NAME.QUOTEDSTRING,
                          ENCODE_FLD03               = 'LAST_NAME',
                          OWNER_PASSWORD             = ,
                          ENCODE_FLD04               = 'OWNER_PASSWORD',
                          OWNER_EMAIL                = &OWNER_EMAIL.QUOTEDSTRING,
                          ENCODE_FLD05               = 'OWNER_EMAIL',
                          SCORECARD_ID               = 1,
                          SCORECARD_ID_OLD           = 0,
                          GROUP_ID                   = 'administrator',
                          ROW_LVL_SEC_TYPE           = 'R',
                          ROW_LVL_SEC_TYPE_PREV      = ,
                          OWNERS_ROW_LVL_SEC_ID      = 1,
                          OWNERS_ROW_LVL_SEC_ID_PREV = 1,
                          TODAY_PAGE_ID              = 1,
                          UNITS_CONVERSION_CLASS_ID  = 0,
                          EMPLOYEE_ID                = ,
                          ENCODE_FLD06               = 'EMPLOYEE_ID',
                          COST_CENTER                = ,
                          ENCODE_FLD07               = 'COST_CENTER',
                          CHANGE_ID                  = 'pmfadmin',
                          ENCODE_FLD08               = 'CHANGE_ID'
-RUN
-*   Set the Scorecard ID to a legit Scorecard ID
SQL &RDBMS
   update OWNERS
   set SCORECARD_ID =
      (select min(SCORECARD_ID)
       from SCORECARDS)
   where OWNER_ID = &OWNER_ID.QUOTEDSTRING ;
END
-RUN
-*   Get the standard Administrator Dashboard
SQL &RDBMS
   update OWNERS set TODAY_PAGE_ID = (select min(LAUNCH_PAGE_ID) from LAUNCH_PAGES 
      where LAUNCH_PAGE_DESC = 'Administrator'’s Dashboard - 01') 
      where OWNER_ID = &OWNER_ID.QUOTEDSTRING ;
END
-RUN
SQL &RDBMS
   commit ;
END
-RUN

WebFOCUS