Step 1 - Download the Script
Use the bellow location to download the “PSKnowhow” DB script:
https://github.com/PublicisSapient/PSknowHOW/tree/master/database-scripts/installation-script
After downloading, you will get the following scripts:
authentication-and-authorization.js - This script is used to set up authentication and authorization details like creating roles, permissions and policy rules, etc.
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.
kpi-default-configuration.js - This script is used to set up the default configuration for fetching the KPIs data.
kpi-definitions.js - This script is used to set up the Kpis category and KPI metadata.
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.
create-database-indexes.js - This script is used to set up the indexes on the “PSKnowhow” DB.
Step 2 - Execute the scripts
Option 1 - Using Docker Shell
Download the “PSKnowhow” DB script onto your server
After login to you server i.e ssh execute the following commands to login to mongodb container
Code Block docker exec -it mongodb /bin/bash
Once you are inside (exec) into monogdb container, Open mongo shell
Code Block mongo admin -u ${MONGO_INITDB_ROOT_USERNAME} -p ${MONGO_INITDB_ROOT_PASSWORD}
Create kpidashboard DataBase,
Code Block use kpidashboard
Option 2 - Using Mongo Client
Open your preferred Mongo Client , if not installed on your local download one, Recommended is NoSqlBooster
Establish connection to the Knowhow MongoDB Server as shown in bellow
Provide DB name and Credentials by clicking on Authentication as shown
After connection is establish open Shell Tab using “Ctrl + T“
Type “use kpidashboard” and click on Run to create/switch to kpidashboard as shown
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
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
Go to database collection → open hierarchy_levels table
By default, the user will see the following existing script
Default hierarchy_levels table
Application view
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.
Go to database collection → open kpi_category table.
By default, the user will see the following existing script.
Default kpi_category table
Application view
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.
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:
Go to database collection → open global_config table.
By default, the user will see the following existing script.
Update emailServerDetails object with the required details.