This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Build MasterData URL in Attestation - approval required Mail Template OIM 8.0.1

Hey folks,

So I have been customizing some mail templates and so far so good for the most part. My current focus is on a new joiner use case, in which I trigger an API call to the application server to insert a person. Thanks to the help of some fine folks here, I have been able to get the attestation policies, and custom workflows working as desired, with inbound emails to the attestor.

At this point, I am looking for the approver to have as many options as possible when certifying the new person. So I have also copied/customized the  "Attestation - approval required Mail" template, and added parameters to the "VI_Attestation_AttestationHelper send mail new task for approver" process to get additional data into the mail template.

For the most part I am getting certain info into the email, but there are some dynamic links that I am not able to build properly.

  1. To reduce the number of mouse clicks necessary for an approver to review a new person, I would like to build a link to the target person's "Master Data" in ITShop page so that the attestor can just open that from the email and make any adjustments necessary.

    1. I attempted to walk the objects back to the person and dynamically create a link that takes the person to the master data page.
      1. Created a param name
      2. Created the param value (pardon the misspell)
      3. Add param to mail template
  2. Now about the link I am trying to build

    I notice that there are a bunch of other scripts in the template, but I thought that this would be easier for me. I am thinking now that the template is less dynamic in this case so I am open to suggestions. Otherwise, this is how I am building the link

    1. Value = Connection.GetConfigParm("QER\WebPortal\BaseURL") & "/page.axd?RuntimeFormID=3905b4d9-3d87-44ad-866c-1293ec3fe5d3&aeweb_handler=p&aeweb_rp=&wproj=0&ObjectKey=" & $FK(UID_AttestationCase).ObjectKeyBase$ & "&ContextID=VI_Common_ObjectSheet"



      1. So I recognize that the link above is an abomination as I simply attempted to piece together the URL from what I copied from the browser, and inserted the elements that I thought would be necessary to derive the appropriate URL. I did not realize at the time that the RundTimeFormID changes for every person (not even sure I need that), so while the link takes me to the page with all of the tiles for the user, I still have to click into the "Master Data" tile to get to that detail.

It could very well be that there is a better way to accomplish this that I am not aware of. Totally open to getting different perspectives on how others are handling such scenarios.

Thanks!

  • Meant to add the following as well:

    The derived link looks like this:

    https://itshop.mydomain.com/oim//page.axd?aeweb_handler=p&aeweb_rp=&wproj=0&MenuID=Portal_IAM_MyIdentity&ObjectKey=<Key><T>Person</T><P>4a523484-b6ff-4a55-a1ed-30811f1705b0</P></Key>&ContextID=VI_Common_ObjectSheet

    The link takes me to this:

    If I click on the "Master Data" tile, I get taken to the correct URL.

    https://itshop.mydomain.com/oim/page.axd?RuntimeFormID=34712a2f-6dba-4bad-a327-d70530eac1de&aeweb_handler=p&aeweb_rp=&wproj=0&ObjectKey=%3cKey%3e%3cT%3ePerson%3c%2fT%3e%3cP%3e4a523484-b6ff-4a55-a1ed-30811f1705b0%3c%2fP%3e%3c%2fKey%3e&ContextID=VI_Common_ObjectSheet

    The rendered page (this is the one that I want to send the link to.)

    Thanks!

  • Hi pacman,

    are you sure that the desired page is a module? You can only link directly to modules!

    so you should extend the landing page in Web Designer, that you want to go directly to the master data.

    Is it really necessary to go to the master data? The new overview page shows you much more information than the master data page. It is also faster, as everything is loaded read only. If the approver is also a manger of the person, he could make some changes there, and then forget about that he was in the mood for attestations. 

  • Hey Geraldine,

    Thanks for your reply. I have been neck deep in production deliverables and have not been able to engage.

    I am not sure if the desired view is a module or not, but I do agree with the premise that we have the ability to provide as much context as possible for the approver while not having to navigate away from the attestation approval page.

    Perhaps I should recalibrate what I am asking for here.

    • I have made copies of the "New User Certification" &  "User Recertification" attestation policies.

      • No changes except for in the condition where the query points to itself as the policy (away from the default)

        • dbo.QBM_FGIConfigparmValue ('QER\Attestation\UserApproval')='1' 
          And ApprovalState=1
          And IsNull(ImportSource,'')=''
          And Not Exists
          (select top 1 1 
          from AttestationCase
          where UID_AttestationPolicy='d3c73eb6-dfd4-4cc0-9eb2-0b3c794c62e1'
          And ObjectKeyBase=Person.XObjectKey
          And IsClosed=0)
    • I have made a copy of the "User Certification" attestation procedure.

      • Changed the properties of the template from the default to the following showing the default and the custom settings:

        • Default Attestation Procedure

          Default attestation procedure

        • Custom Attestation Procedure

          Custom Attestation Procedure

    So when I insert a new person, everything fires off as expected, but as the manager, when I login to the web portal as the attestor, I do not see the dialog that allows me to "Report incorrect information", nor do I see the assigned manager (even though it exists).

    This is attestation case of the default policy/procedure:

    If I do an attestation run with the default attestation policy I see both of these things. My ultimate goal is to display everything that the attestor will want to understand about the person in the attestation, and also have the ability to edit/report any information that he/she deems incorrect.

    From what I can discern, there is no real difference between the two items other than the attestation procedures and policies, each with minimal differences between them from an orchestration perspective.

    Two questions:

    1. What governs the display of the option to "Report incorrect info"? How do I get that back when using custom attestation procedures/policies?

    2. Once I am able to display this option again, what would the approach be to then make it possible to also either change or report info about other things that I would like to see change as the attestor.

      1. For instance, when I click the "Report incorrect information" link in the New user certification attestation instance, it brings me to the following:

    Appreciate any insights you or anyone else can share.

    Thanks!

  • Have you made an object dependent reference and build your own product editor for your attestation policy? Otherwise the default is used.

    You can extend VI_Attestation_Detail_EmployeeCertification or make an object copy from that and build your own component. If you don't need the default just make the extensions. There you can "report" things like the primary department....

    But without the object dependent reference the system won't be able to determine that you your special product editor should be used.