We have evaluated CVE-2022-22963 and CVE-2022-22965, the "Springshell" vulnerability, and have determined that ConnectALL is not vulnerable. Details are posted on this page.


Configuring Activity API for Comment Processing


Introduction

This document explains the configuration to use the Activity API for comment processing.

Configuration in ConnectALL

  1. Map the JournalUpdates field of MicroFocus Service Manager to the Comment field of the destination adapter.



  2. Click the highlighted button in the above image to configure the comment handling logic. The below screen will be displayed.



  3. Select one of the Comment Handling logic listed below to process the comments (for the existing application link, the Journal Regex option will be selected by default).
    1. Journal Regex
    2. Activity API
  4. To use the Comment Visibility Configuration, select the Activity API option. The Activity API requires additional APIs to be configured in the server; the details of the API are provided in the HPSM Activity API section below.


Private Comments Synchronization

To synchronize the private & public comments details to the HPSM application, the “Activity API” configuration must be used in the configuration. In addition to the configuration, the “CustomerVisible” field should be available as a part of the field. To add the field, please check this link.

Field Details to be Added

Field

Caption

Cust.visible

CustomerVisible

HPSM Activity API

The “Activity API” is supported only for the below issue types:

  • Interaction
  • Incident
  • Problem
  • Problem task
  • Request

To retrieve the activity details, an API has to be created for the appropriate issue types.

Interaction

  1. Navigate to Tailoring> Web Services> Web Service Configuration.



  2. Provide the new values listed below in the appropriate fields.
    1. ServiceName – activityservicemgt
    2. Name – activityservicemgt
    3. Object Name – activityservicemgt
  3. Click the Allowed Actions tab and provide the value as mentioned in the screenshot.



  4. Click the Fields tab and add the below fields.


    FieldCaption            
    datestampDatestamp
    typeType
    operatorOperator
    thenumberJournalEntryNumber
    descriptionDescription
    numberNumber
    cust.visibleCustomerVisible



  5. Click the RESTful Tab, set the values as shown in the screenshot.




  6. Click +Add from the top menu.

Workaround to Log the Activity

  1. Navigate to Tailoring>Tailoring tools> Display screens.



  2. In the Screen ID field, enter "sd.view".



  3. Navigate to Main>Initializations tab.
  4. Comment the code "cleanup($sm.activity)" that will be around the line number 26 (if the scripts are not customized).
  5. Save the changes.

Incident

  1. Navigate to the Tailoring -> Web Services -> Web Service Configuration.



  2. Provide the below values in the appropriate fields.
    1. Service Name – Activity
    2. Name – activity
    3. Object Name – activity
  3. Click the Allowed Actions tab and provide the values as mentioned in the screenshot.



  4. Click the Fields tab and add the below fields.


    FieldCaption            
    datestampDatestamp
    typeType
    operatorOperator
    thenumberJournalEntryNumber
    descriptionDescription
    numberNumber
    cust.visibleCustomerVisible



  5. Click the RESTful tab and set the values shown in the screenshot.





  6. Click +Add from the top menu.

           

Problem

  1. Navigate to the Tailoring -> Web Services -> Web Service Configuration.



  2. Provide the below values to the appropriate fields.
  3. Click the Allowed Actions tab and provide the values mentioned in the screenshot.



  4. Click the Fields tab and add the below fields.


    FieldCaption            
    datestampDatestamp
    typeType
    operatorOperator
    thenumberJournalEntryNumber
    descriptionDescription
    numberNumber
    cust.visibleCustomerVisible



  5. Navigate to the ReSTful tab and set the values as shown in the screenshot.






  6. Click +Add from the top menu.

Workaround to Log the Activity

  1. Navigate to Tailoring>Tailoring tools> Display screens.



  2. Search for 'Problem' in the object name field.

  3. Click the Expressions tab.



  4. Add the command $pm.activity='external update'; before the "cleanup($rc.update)
  5. Save the changes.
  6. Type 'db' in the command line.



  7. Type 'activityactions' in the Table: field and click the Magnifying lens icon to search.



  8. Enter 'Update Activities' and 'rootcause' in the Name and Table field respectively.


  9. Add the below details before the last line and save.


    NameExternal Update          
    Condition

    $G.bg and not (null($rc.update)) and (lng(denull($rc.update))>0 or $rc.update~={""}) and $rc.update~={} and $pm.activity="external update"

    Description$rc.update


Problem Task

  1. Navigate to Tailoring>Web Services> Web Service Configuration.



  2. Provide the below values in the appropriate fields.
    1. Service Name – ActivityProblemTasks
    2. Name – activityproblemtasks
    3. Object Name – activityproblemtasks


  3. Click the Allowed Actions tab and provide the values as mentioned in the screenshot.



  4. Click the Fields tab and add the below fields.


    FieldCaption            
    datestampDatestamp
    typeType
    operatorOperator
    thenumberJournalEntryNumber
    descriptionDescription
    numberNumber
    cust.visibleCustomerVisible




  5. Click the RESTful tab and set the values as shown in the screenshot.




  6. Click +Add from the top menu.


Request

  1. Navigate to the Tailoring > Web Services > Web Service Configuration.



  2. Provide the below values in the appropriate fields.
    1. Service Name – ActivityProblemTasks
    2. Name – activityproblemtasks
    3. Object Name – activityproblemtasks


  3. Click the Allowed Actions tab and provide the values as mentioned in the screenshot.



  4. Click the Fields tab and add the below listed fields.


    FieldCaption            
    datestampDatestamp
    typeType
    operatorOperator
    thenumberJournalEntryNumber
    descriptionDescription
    numberNumber
    cust.visibleCustomerVisible




  5. Click the RESTful tab and set the values as shown in the screenshot.



  6. Click +Add from the top menu.


Workaround to Log the Activity

HPSM 9.4

  1. Backup the workflows used for request management before making the subsequent changes. 
    1. Navigate to Tailoring > Process Designer > Copy Existing Workflow


    2. Select the workflow to be done.
    3. Provide a name for the workflow, click to select the Copy rule sets? option, and provide the ruleset prefix.



    4. Click OK to clone the workflow.



  2. Remove the ruleset *rm.clean.update.action which is used in the request workflow. Below are the steps to remove the ruleset.
    1. Navigate to Tailoring -> Process Designer -> Workflows
    2. Choose the workflow you want to remove. For example: Request Workflow



    3. Click Edit Workflow Properties > Workflow Based Rule Sets > On Exit > Choose the rm.clean.update.action > Delete and save



    4. Click the Initialization tab and choose the rm.clean.update.action > Delete and save


  3. Backup ruleset *rm.initial.display which used in the request workflow.
    1. Tailoring -> Process Designer -> Rule Sets
    2. Enter the rm.initial.display into the ID field and Search
    3. Click More -> Clone -> Save and Exit
  4. Navigate to Tailoring -> Process Designer -> Rule Sets
  5. Search for the rm.initial.display.
  6. Click to select the second rule of this ruleset "Run JavaScript to clear Activity Type" and click Remove Rule/Group and save the ruleset.
  7. Add a function into SL: RequestService
    1.  Enter sl into the command line
    2.  Enter RequestService into the Name field and Search
    3.  Add the following lines into the bottom of the script

      function clearActivityVarsOfRequest() {

        system.functions.cleanup(vars['$rm.activity']);

        system.functions.cleanup(vars['$update.action']);

        var record=vars['$L.file'];

        if (record != null) {

          record['cust.visible']=false;

        }

      }

    4. Click Compile > Execute > Save 
  8. Add two lines as below into the table activity action with 'request' and name 'update activities'.
    1. Enter db into the command line
    2. Enter activity actions into the Table field and click Search
    3. Enter 'Update Activities' into the Name field and 'Request' into the Table field
    4. Add two lines as below 

      Name External Update
      Condition$G.bg and not (null($update.action)) and (lng(denull($update.action))>0 or $update.action~={""}) and $update.action~={} and $rm.activity="external update"
      Description$update.action
      Name Make this item the last row to clear variables
      Conditionnull($mass.action) and jscall("RequestService.clearActivityVarsOfRequest") 
      Description$update.action

HPSM 9.6

  1. Backup the workflows used for the Request Management before making the subsequent changes.
    1. Navigate to the  Tailoring -> Process Designer -> Copy Existing Workflow



    2. Select the Workflow to clone.
    3. Provide a name for the workflow, click to select the Copy rule sets? option, and provide the ruleset prefix 



    4. Click OK to clone the Workflow.



  2. Remove the ruleset *rm.clean.update.action which used in the request workflow. Below are the steps to remove the ruleset.
    1. Navigate to Tailoring -> Process Designer -> Rule Sets
    2. Enter the rm.clean.update.action into the ID field and Search
    3. Click View Rule Set Used In, and choose the workflow you want to remove. For example Request workflow.



    4. Click Edit Workflow Properties > Workflow Based Rule Sets > On exit > Choose the rm.clean.update.action > Delete and Save 



    5. Click the Initialization tab and choose the rm.clean.update.action > Delete and save


  3. Backup ruleset *rm.initial.display which used in the request workflow.
    1. Tailoring -> Process Designer -> Rule Sets
    2. Enter the rm.initial.display into the ID field and Search
    3. Click More -> Clone -> Save and Exit
  4. Navigate to Tailoring -> Process Designer -> Rule Sets
  5. Search for the rm.initial.display.
  6. Click to the the second rule of this ruleset "Run JavaScript to clear Activity Type" and click Remove Rule/Group and Save the ruleset.
  7. Add a function into SL: RequestService
    1. Enter sl into the command line
    2. Enter RequestService into the Name field and Search
    3. Add the following lines into the bottom of the script

      function clearActivityVarsOfRequest() {

        system.functions.cleanup(vars['$rm.activity']);

        system.functions.cleanup(vars['$update.action']);

        var record=vars['$L.file'];

        if (record != null) {

          record['cust.visible']=false;

        }

      }

    4. Click Compile > Execute > Save
  8. Add two lines as below into the table activityaction with table "request" and name "Update Activities".
    1. Enter db into the command line
    2. Enter activityactions into the Table field and click Search
    3. Enter Update Activities into Name field and request into Table field
    4. Add two lines as below:

      Name External Update
      Condition$G.bg and not (null($update.action)) and (lng(denull($update.action))>0 or $update.action~={""}) and $update.action~={} and $rm.activity="external update"
      Description$update.action
      Name Make this item the last row to clear variables
      Conditionnull($mass.action) and jscall("RequestService.clearActivityVarsOfRequest") 
      Description