You can create an entitlement callback to send data about a completed lab.

Procedure

  1. Click Integrations > Entitlement Callbacks. The Entitlement Callback list opens.
  2. To open the Create Entitlement Callback form, on the Entitlement Callback page, click Create New .
  3. Enter the following information on the Create form:
    1. To activate or deactivate the callback you are creating, select or clear the Enabled check box.
    2. To apply the callback for all labs in the account, select the Global check box.
    3. Name: Enter a name for the callback (for example, TestEntitlementCallback1).
    4. Type: Select a value from the drop-down menu to determine how the system sends the lab data. Note that the callback type cannot be changed after the entitlement callback is created.
      Option Description

      URL

      If you select URL, then you must enter a web address, authentication method, username/header, and a password/token. Selecting URL results in the lab data being posted to the URL you have provided. A service can use that data in some manner (for example, to create statistics).

      Note:

      Token authentication depends upon your server and its requirements. What you enter in the Username/Header field becomes the header KEY, and what you enter in the Password/Token value becomes the VALUE. The result is customized according to your web endpoint. For example, if you were posting back to VMware Lab Platform, then the header would be neeToken and the token would be a long string key with the encoded user name with other such data.

      Email

      If you select Email, then you must enter an email address and email subject in the Subject field.

      Saba

      Saba is a Learning Management System (LMS) that you can configure for VMware Lab Platform. If you select Saba, then you must enter values for the Client ID and Client Secret text boxes. You can find both those values while configuring Saba.

  4. To receive the entitlement callbacks, enter an email address for it.
  5. Click Next. The system creates your entitlement callback and opens the Update Data form.
  6. On the Update Data form, enter the following information:
    1. For Data Type, select JSON or CSV (comma-separated values) as the format for data returned by the callback.
    2. For Date Format, select the date format to use for dates included in the data returned by the callback.
    3. For Fields, select the date format and the fields that the return data must include:
      Option Description

      firstName

      First name of the student who took the lab.

      lastName

      Last name of the student who took the lab.

      displayName

      Name as it appears in the lab console.

      language

      Language with which the student took the lab.

      location

      Location at which the lab was launched.

      lastStart

      Date on which the student started the lab.

      timeAlloted

      Amount of time a student is allotted to finish the lab.

      timeElapsed

      Amount of time that has elapsed since the student started the lab.

      expirationDate

      Date on which timeAllotted expires.

      completionDateTime

      Date on which the student completed the lab.

      completionStatus

      Status regarding whether the student completed the lab.

      ipAddress

      IP address used by the student that took the lab.

      returnUrl

      Return method URL.

      extensionCount

      Number of times the time limit has been extended. This value refers to the time allotted for the lab.

      Note:

      The account’s configuration determines whether users can extend the time limit themselves, and how many times the users can extend the time.

      Primary Bookmark

      Value for the primary bookmark for an entitlement. This bookmark is for the current page, the page to which the system takes the user upon starting the lab - so users do not have to remember where they last were in the manual.

      Note:

      VMware La Platform automatically adds and manages bookmarks having a name starting with the characters "vlp". The bookmarks are not always present.

      maxStepNo

      Maximum step number that the user viewed in the lab manual.

      Example: If a manual has 50 steps and the highest step number the user viewed was 40, then the number 40 is returned.

      entitlementMetadata

      Metadata that results from adding custom metadata to the entitlement. You can add custom metadata by including it as a text string within a POST Entitlement API call, or by entering text in the Metadata text box of the Update Entitlement form (click Entitlement>User Entitlements to open the Entitlements List).

      For example, you can include the following metadata text string to an API call: {'metadata': This is an example of metadata'}. In this example, the system adds the metadata. This is an example of metadata to the entitlement.

      labMetadata

      Metadata entered in the Callback Metadata text box of the Lab form. This metadata is included in the returned email or URL. The following is an example of a formatted JSON:

       { "entitlementKey": "NEE-34505_7095222167", "account": "[email protected]", "sku": "EDU-ICM-1400-HOL", "tenant": "HOL", "eventTime": "06-05-2015 12:46:38 UTC", "event": "end", "firstName": "John", "lastName": "Smith", "displayName": "John Smith", "language": "en", "location": "NA-WEST", "lastStart": "01-07-2016 12:36:34 UTC", "timeAllotted": 120, "timeElapsed": 15, "expirationDate": "01-07-2016 12:40:55 UTC", "completionDateTime": "01-07-2016 12:46:36 UTC", "completionStatus": "expired", "ipAddress": "Unknown", "returnUrl": "/", "extensionCount": 0, "laststepcompleted": 1, "metadata": “Test Callback Metadata”, }

      trackingCode

      Used to track the link by which an end user found a lab.

      vAppinfo

      Includes the information on vApp's deployed for the lab.

      seatLocation

      Includes the student's seat location in a class, when applicable.

      requiredStepsVisitedPercentage

      Includes the percentage of steps that must be completed for the lab.

      requiredMinimumTimeSpent

      Includes the time the student spent on the lab.

      manualStepCount

      Includes the number of steps completed by the student.

      manualStepsVisitedCount

      Includes the number of steps visited by the student.

      completionStatusForLabCriteria

      States the criteria for lab completion.

      Entitlement Location

      Includes the geographical location for the entitlement.

      saasConsole

      The attached SaaS console(s) to the lab. There are a couple of lab types:

      1. Normal labs that have a deployment pool and are deployed as a lab template in vCD (vCloud Director).

      2. SaaS labs that have SaaS consoles attached to them instead of deployment pools. For example, in VMware Lab Platform, you can create a new org account and a test vCD org, all of this through some APIs, therefore it is a SaaS lab with a SaaS console attached.

      labName

      Displays the name of the lab that is being/was taken.

      companyName

      Displays user's company name. All account are associated with a company name.

  7. After you have completed the Update Data form, click Next. The Update Event Triggers form opens.
  8. In the Update Event Triggers tab, select the events for which the system must send data back.
    Option Description

    enrollment

    System sends the data when the end user enrolls into a lab. Example: entitlementKey, account, eventTime, event NEE-929289_82627133_, [email protected], 01-13-2015 22:15:50 UTC, enroll

    Note:

    The enrollment event is not available for Saba Entitlement callbacks.

    ready

    System sends the data when a lab has been made ready, which means that a deployed vApp is running in the cloud and is associated with the entitlement even though the entitlement has not yet started. Typically, a vApp is not associated with an entitlement until the entitlement has started. An entitlement can be made ready by an administrator or by an instructor, but an end user cannot make an entitlement ready.

    start

    System sends the data when the end user resumes a lab. Example: entitlementKey,account,eventTime,event NEE-929289_82627133_,[email protected],01-13-2015 23:13:30 UTC,resume

    resume

    System sends data when an end user resumes a lab. Example: entitlementKey, account, eventTime, event NEE-929289_82627133_, [email protected], 01-13-2015 23:13:30 UTC, resume

    gone

    System sends the data when the end user’s lab session expires due to inactivity. This event occurs when the end user did not explicitly end/exit the lab. Instead, the lab was inactive for a prolonged period and the system marked the inactivity as a gone entitlement.

    Example: entitlementKey, account, eventTime, event NEE-929289_82627133_, [email protected], 01-13-2015 23:50:30 UTC, gone

    incomplete

    System sends the data when the lab is not currently active but has not been ended. Typically, this occurs when an end user has exited the lab or has closed the browser.

    expired

    System sends the data when the end user reaches lab’s expiration time. Example:entitlementKey, account, eventTime, event NEE-929289_82627133_, [email protected], 01-13-2015 22:40:54 UTC, expire

    complete

    System sends the data when the end user ends a lab. This event does not trigger a callback if the lab was canceled. Example: entitlementKey, account, eventTime, event NEE-929289_82627133_, [email protected], 01-11-2015 22:39:38 UTC, canceled

    canceled

    System sends the data when the end user cancels a lab. Example: entitlementKey, account, eventTime, event NEE-929289_82627133_, [email protected], 01-13-2015 23:19:35 UTC, canceled

    awaitingGrade

    System sends data if the lab is in the awaiting grading status. The awaiting grading status is an interim status between an entitlement being started and ended. Example: entitlementKey, account, eventTime, event NEE-929289_82627133_, [email protected], 02-16-2016 13:44:27 UTC, awaiting grade

    graded

    System sends the data if the lab has the Graded option activated (Update Settings on the Create lab form).

    Example: entitlementKey, account, eventTime, event NEE-929289_82627133_, [email protected], 02-16-2016 13:45:28 UTC, graded

    consoleReady

    System sends the data when a console is ready for use.

  9. After you are done selecting callback event types, click Done.
  10. Click Finish. The system creates your entitlement callback.

What to do next

After you configure a callback, you can preview the callback data, or test it to see if your callback successfully processes. You can find the Preview and Test command on the menu you see when you click the three dots next to a callback name.

When you are satisfied with your work, associate the entitlement callback to a lab using Lab Configuration on the Create lab form.