Configuring Knowledge approval on multiple phases

Version 2
    Share This:

    Environment 8.x 9.x


    With current design, if we configure another phase at another knowledge article status then all the approvers from different phases are attached to articles at all the phases.


    This is because knowledge management is designed to have single phase approval which starts at Publish Approval phase.


    The modules lacks the dynamic nature and advanced approval configuration as we have for Change Management.


    I have prepared this document in order to help people to have different approval process at different phase and approvals should get attach only for those phases.


    Basic configurations:

    Approval Process Configuration

    1) OOTB Phase: RKM Approval

    2) New Phase: RKM Approval SME


    Approval Mappings:

    1) Approval for OOTB phase:

    2) Approval for new phase:


    Approval Chain Configuration:

    1) Enabled the OOTB chain for RKM_Level_All


    2) Created new approval chain.


    NOTE: If you use Publish Approval status for ArticleStatusEnglish when article is approved then approval for Publish Approval phase does not trigger. This is because the approval process for publish approval is triggered even before the SME Review phase is completed in all back end forms.




    Till here, we do all OOTB configuration to get one approval in SME Review phase and another approval in Publish Approval phase. But this does not work. In SME Review phase, both the approvals are attaching for both phases. This is because there is no validation on Approval definition id from Approval Process Configuration form which decides which phase is attached to article. To resolve this, I have created couple of new rules and modified couple of existing rules in AP:Rule Definition form for process : RKM_Level_All




    New rules:

    Rule no 1: RKM_Level:GetAuthorityGetAPDID - Company

    For Process:  RKM_Level_All

    Order : 0


    Qual: 'From Status Text'  =   $ArticleStatusEnglish$  AND   ('Company'  =   $Company$ )   AND  'Form Name01' = "RKM:KnowledgeArticleManager" AND  'Status' =1


    This rule will set Approval phase name in Char Field 1 if Begin status matches with ArticleStatusEnglish on Article form for that company specific entry in Approval Process Configuration form.


    Rule No 2: RKM_Level:GetAuthorityGetAPDID - Global

    For Process: RKM_Level_All

    Order : 1

    Run If: $Char Field 1$ = $\NULL$

    Run IF: $Char Field 1$ = $\NULL$


    This rule will only execute if it does not find company specific entry in Approval Process Configuration form.


    Qual: 'From Status Text'  =   $ArticleStatusEnglish$  AND   ('Company'  =  "- Global -" )   AND  'Form Name01' = "RKM:KnowledgeArticleManager" AND  'Status' =1


    Modified Rules:

    Rule No 1: RKM_Level:Get Next Approver


    The qualification has bee appended with AND ( 'Approval Phase Name' = $Char Field 1$).

    So it looks like ('Assignment Availability' = "Yes") AND ( 'InstanceId' =  $InstanceId$ )  AND (  'DocID' =  $DocID$ ) AND ('Group/Individual Flag' = 0) AND ('APR Phase Company' =  $Temp Char 1$) AND ( 'Approval Phase Name' = $Char Field 1$)


    Rule No 2: RKM_Level:Get Next Approver-Grp


    The qualification has bee appended with AND ( 'Approval Phase Name' = $Char Field 1$).

    So it looks like ('Assignment Availability' = "Yes") AND ( 'InstanceId' =  $InstanceId$ )  AND (  'DocID' =  $DocID$ ) AND ('Group/Individual Flag' = 1) AND ('APR Phase Company' =  $Temp Char 2$) AND ( 'Approval Phase Name' = $Char Field 1$)



    Examples of solution in Smart IT.


    SME Review approval phase

    Once this phase is approved by Mary, the article will remain in SME Review status. Then you need to manually move it to Publish Approval.


    Publish Approval phase




    With above changes, you will see correct approvals from correct phases in your knowledge article.


    Appreciate your comments if I miss any use case or you find any issue in this configuration.