• 3 replies
  • Latest Post - ‏2014-08-25T05:50:35Z by Ahmed Abdelsamad
35 Posts

Pinned topic Constructing a Case URL

‏2012-09-04T11:28:31Z |
Hi gurus!

We have a requirement to automatically open a case as a part of a workflow. My initial thoughts on this one was to construct a URL to a case, but looking at the structure of a case URL, this is not a trivial task. I also worked out that the minimum parameters needed are pageContext, casesPageID, actionType and caseGUID. I can also see where the caseGUID value comes from.
However, I don't know what the other parameters are, and how I can identify what they should be, beyond the fact that they seem to be the same for all case URLs for a given solution.

So, two questions:
1) How can I derive the values for these parameters to construct a case URL?
2) Is there a better way of automagically opening a specific case than calling a URL?

Updated on 2012-09-10T12:10:06Z at 2012-09-10T12:10:06Z by SystemAdmin
  • SystemAdmin
    35 Posts

    Re: Constructing a Case URL

    I've at partly answered my own question here. I found a Dave Gomez posting about generating case URLs - helpfully without necessarily having to have the case in question open...

    1) Build and execute the CMIS query to retrieve the list of cases based on a given criteria.
    <protocol>://<hostname>:<port>/CaseManager/resources/<Target Object Store>/Query?q=<Query>
    Query = SELECT * FROM CmAcmCaseFolder WHERE <Criteria>
    SELECT * FROM CmAcmCaseFolder WHERE CmAcmParentSolution = 'ido_00B2E347-A312-4036-AA0B-F7494F0E5FB6:idt_616EA2CB-2F81-4AE7-8E9E-A787A0B224AF:idx_81AD3A8D-42C5-4E58-ADA0-1BAB004F7879' AND CmAcmCaseState > 1 AND (CCD_SocialSecurityNumber = '253-86-2301') ORDER BY cmis:lastModificationDate ASC
    2) Parse the XML response and extract:
    Case Type = cmis:objectTypeId
    Case GUID = cmis:objectId (stripped from CMIS folder prefix idf_)
    3) Build and execute the CASEREST query to retrieve the target page ID necessary for the Case Details page URL
    <protocol>://<hostname>:<port>/CaseManager/CASEREST/v1/casetype/<Case Type>/page?TargetObjectStore=<Target Object Store>&pageType=CasePage
    4) Extract from the JSON response:
    Target Page ID = PhysicalPageId
    5) Build the Case Detail page URL
    <protocol>://<hostname>:<port>/mum/enabler#pid=<Target Page ID>&pageContext={"actionType":"2","caseType":"<Case Type>","caseGUID":"<Case GUID>"}

    Thanks, Dave!

    However, I still have the question about how to 'auto-open' a case...



    -------------------------------------------------------------------------------------------------"There are times when the wolves are silent and the moon howls"
  • Ahmed Abdelsamad
    Ahmed Abdelsamad
    16 Posts

    Re: Constructing a Case URL


    Hi  there, did you ever manage to auto-open the case ?
    I have a similar scenario on-hand.
    i need to open a case once it is saved.

  • Ahmed Abdelsamad
    Ahmed Abdelsamad
    16 Posts

    Re: Constructing a Case URL


    I have found a way to do this in Case Manager v5.2

    To do this i send an event to the Page Container Widget using a script adapter with the following payload


    An icm.model.CaseEditable object that represents the case that is to be opened.


    An icm.base.Coordination object that is used internally by the widgets in the same page.


    I do not know how in your case to access a case object, in my case it was an available outgoing event from the case toolbar widget.

    i wired that event to a script adapter that created a new coordination object and passed it along with the caseEditable to the PageContainer's

    icm.OpenCase event.

    The code snippet was as follows


    payload.caseEditable = payload.CaseEditable; // different naming between case toolbar widget and required for Page Container

    payload.coordination = new icm.util.Coordination() // in the info center it says it should be under base, but i guess that is old this is the
    // correc package url

    return payload;


    Hope i helped.