Overview
UHIMS Events refers to messages that UHIMS publishes to the UH Message Broker. It is a convenient way of receiving identity, affiliation, and contact information about the students, faculty and staff that your application serves. The data comes from several official sources, including Banner, PeopleSoft, RCUH, SECE and WPMS. UHIMS digests the information from these various systems and makes it available in one place.
Message Specs
- UHIMS Events - Message Specs , includes retrofit messages deployed Aug 14, 2012 at 5pm HST
- UHIMS Events - Message Specs (new)
- Effective Jan 22, 2013 at 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>
- Note that <messageRoutingKey> in the above specs is not an actual XML tag. It represents the message routing key for the message being described.
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 |
Reading UHIMS Events
Retrofit Messages
Your application usually tracks people who are currently active. It will typically do an initial load of all active people from UHIMS, followed by ongoing synchronization via UHIMS Events. One problem with this model occurs when a previously inactive person becomes active: UHIMS will not generate an <addPerson> (because person already exists in UHIMS), and your application will receive an <addAffiliation> message for a person that it has not previously encountered.
We solve this problem by generating retrofit messages that contain all data about a person. Retrofit messages are sent prior to any <addAffiliation>, <addUsername>, <addEmail> or <addContactInfo> messages:
<retrofitPerson> (always)
<retrofitUsername> (if person has a username)
<retrofitEmail> (if person has email)
<retrofitContactInfo> (if person has contact info)
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.