Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • UHIMS Events - Message Specs
  • History
    • 7/17/2013 5pm HST
      • Adds <uids> to every message where <uhUuid> is the key, e.g

        No Format
        <addContactInfo>
         <messageData>
          <uhUuid> 00000000 </uhUuid>
          <uids>
           <uid> jsmith </uid>
          </uids>
          ...
        
        • This is useful for apps that use the UH Username as the key identifier.
        • It lists all usernames a person has at the time of the message. Most people should have only one username, but it is not impossible to see multiple usernames.
        • <uids> is skipped if the person does not have any usernames
        • <uids> is not included in username messages (addUsername, modifyUsername*, deleteUsername) because their key is a single <uid>.
    • 1/23/2013 5pm HST
      • Adds optional <displayName> to <addPerson> and <retrofitPerson>
      • Adds a new value to <role>, staff.executive.overload, its roleCategory in message routing key is staff)
      • Deleted references to date of birth and SSN because they are not usually included:
        • Deleted <modifyPersonSsn>
        • Deleted <modifyPersonDob>
        • Deleted <dob>
    • 8/14/2012 5pm HST

Connection Settings

Setting

Value

Comments

Host

esb.hawaii.edu

 


Port

5671

SSL

Vhost

uhims

 


Exchange

uhims-exchange

 


User, Password

(app-specific)

This will be provided when you request your UH Message Broker account

Queue and Bindings

(app-specific)

This will be provided when you request your UH Message Broker account

To request access to UHIMS Events, refer to Consuming UHIMS Events

...

We solve this problem by generating retrofit messages that contain all data about a person.  Retrofit messages are sent prior to any <addAffiliation>, <addScopedHomeOrg>, <addUsername>, <addEmail> or <addContactInfo> messages:

<retrofitPerson> (always)
<retrofitUsername> (if person has a username)
<retrofitEmail> (if person has email)
<retrofitContactInfo> (if person has contact info)
<retrofitScopedHomeOrg> (if person has a home org for 'hris' and/or 'sis', see uhScopedHomeOrg)

We will only include retrofit messages for data that exists for that person. For example, if the person has no username, email or contact info, we will only generate a <retrofitPerson> message prior to generating an <addAffiliation> message.

An efficient way of using retrofit messages is to cache them and use them only when an unknown-person condition is encountered:

  • Cache all the retrofit messages as they arrive.
  • Process the subsequent add/modify/deleteSomething message if the message is applicable to your application. Otherwise ignore the message and clear the cached retrofit messages.
  • When processing as an applicable message, catch exceptions due to the person not being known to your application.   The exception handling should use the cached retrofit messages to retroactively add the person to your application.

UHIMS Events Request Form

...