Meta Data Setup

Step 1 - Download the Script

Use the bellow location to download the โ€œPSKnowhowโ€ DB script:

PSknowHOW/database-scripts/installation-script at master ยท PublicisSapient/PSknowHOW

After downloading, you will get the following scripts:

  1. authentication-and-authorization.js - This script is used to set up authentication and authorization details like creating roles, permissions and policy rules, etc.

  2. global-configs.js - This script is used to set up โ€œPSKnowhowโ€ instance-level configurations like setup authentication types (standard, AD-based login), email server details and processor names, etc.

  3. kpi-default-configuration.js - This script is used to set up the default configuration for fetching the KPIs data.

  4. kpi-definitions.js - This script is used to set up the Kpis category and KPI metadata.

  5. project-organization-structure.js - This script is used to set up the default hierarchy of any organization. you can define the hierarchy levels and entries under these levels via this script.

  6. create-database-indexes.js - This script is used to set up the indexes on the โ€œPSKnowhowโ€ DB.

Step 2 - Execute the scripts

  1. Open your preferred Mongo Client , if not installed on your local download one, Recommended is NoSqlBooster

  2. Establish connection to the Knowhow MongoDB Server as shown in bellow

Provide DB name and Credentials by clicking on Authentication as shown

  1. After connection is establish open Shell Tab using โ€œCtrl + Tโ€œ

  2. Type โ€œuse kpidashboardโ€ and click on Run to create/switch to kpidashboard DB as shown

  3. After switching to kpidashboard run all the scripts mentioned in step1

Open the github repo and navigate to database-scripts/installation-script/ and copy file contents on each file and past it in mongo shell tab as shown and click on Run




6. Once after all the scripts are run do

docker restart customapi

Step 3 - Change/Update the Project Hierarchy

PSknowHOW enables users to define different hierarchy levels that users may require to have to manage a project within. For example, an organization may follow below the hierarchy level to manage a project:

Organization (Highest) โ†’ Business unit โ†’ Portfolio โ†’ Project (Lowest)

By default, PSknowHOW suggests 3 levels of hierarchy to create the project. However, the user has the flexibility to change the hierarchy levels based on the project hierarchy followed in the respective organization with the help of a database. The upper and lower limit of the project hierarchy is 6 & 0 respectively. If 0 project hierarchy is created only the project level will be created.

Below are the steps to achieve the desired hierarchical level.

Step

  1. Go to database collection โ†’ open hierarchy_levels table

  2. By default, the user will see the following existing script

Default hierarchy_levels table

Application view

ย 

  1. If the user doesnโ€™t want any level of hierarchy in the respective project, the user can clear the collection of the above table and run the changes in the database.

Good To Know

  • The hierarchy level label name in the application will be determined by the hierarchy_levels table in the database.

  • It is highly recommended that the user maintain a uniform/hierarchical level throughout one instance. In case the user opts to change the existing hierarchical level, the user should delete the existing projects from the application UI, follow Step 2 above and create desired hierarchy level.

  • Auto suggestions - when a user creates a hierarchical level, he/she can provide the option of certain suggestions on the dropdown and these would be fetched from the hierarchy_level_suggestions table based on values stored in the respective hierarchyLevelId. Please note that whenever we create a new hierarchy on the hierarchy_levels table a similar hierarchy shall replicate on the hierarchy_level_suggestions table

hierarchy_level_suggestions table

Application view

Step 4 - Change/Update the KPI Groups

PSknowHOW allows users to create categories on Dashboard and reshuffle the KPIs among them based on the userโ€™s convenience to use the application.

By default, the user will see seven different dashboard tabs on the application header. The above 7 tabs can be classified into static and dynamic categories.

  • Static Category โ†’ User is restricted to make any changes to these categories. The Category includes My Knowhow, Iteration, Release, Backlog, and KPI Maturity.

  • Dynamic Category โ†’ Users have the flexibility to personalize these categories based on project requirements and convenience. Users also can add/remove these categories within the limit of 0 to 7. It means a maximum of 7 user-defined categories can be created and at minimum user can remove all dynamic categories to 0.

Below are the steps to achieve the desired dynamic dashboard categories.

  1. Go to database collection โ†’ open kpi_category table.

  2. By default, the user will see the following existing script.

ย 

ย 

ย 

Default kpi_category table

Application view

ย 

  1. If the user wants to modify the existing dynamic category setup-

  • Adding a new category - In the Default kpi_category table, the user can insert a new record with new โ€œcategoryIdโ€ & โ€œcategoryNameโ€ (refer to the snippet in the step above) and run the database script.

  • Removing existing category - The user can clear the collection of the above table and run the changes in the database.

  1. When the user creates a new dashboard category, in order to set up KPI user shall replicate similar

โ€œcategoryIdโ€ in kpi_category_mapping table along with desired kpiId and Kanban status (true - if user willing to add KPI in Kanban board) and run the database script.

ย 

Step 5 - Update Global Configuration

PSknowHOW allows users to send notifications on different events. But to enable this feature user has to change the email configuration.

Below are the steps to change the default settings:

  1. Go to database collection โ†’ open global_config table.

  2. By default, the user will see the following existing script.

  1. Update emailServerDetails object with the required details.

ยฉ 2022 Publicis Sapient. All rights reserved.