26
Using Resource25 WebServices to Augment Event Management Matthew Robinson CollegeNet Conference – July 2008

Using Resource25 WebServices to Augment Event Management

  • Upload
    dyllis

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Using Resource25 WebServices to Augment Event Management. Matthew Robinson CollegeNet Conference – July 2008. The institution at a glance…. Live with Schedule25 for academic scheduling since Spring 2007 CollegeNet PeopleSoft interface with some custom mods - PowerPoint PPT Presentation

Citation preview

Page 1: Using Resource25 WebServices to Augment Event Management

Using Resource25 WebServices to Augment Event Management

Matthew RobinsonCollegeNet Conference – July 2008

Page 2: Using Resource25 WebServices to Augment Event Management

The institution at a glance….

• 710 Acre Main Campus in a suburban setting

• 8,800 Students• 4,2000 Residents• 64 Undergraduate

Programs• 25 Master’s or

Doctoral Programs

•Live with Schedule25 for academic scheduling since Spring 2007

•CollegeNet PeopleSoft interface with some custom mods•Approximately 3,500 courses scheduled each semester•WebViewer went live at this time for space availability checking

•Live with Resource25 for events scheduling/management since January 2008

•3,600 special events scheduled since that time

•Decentralized Scheduling•Approximately 110 R25 users•~30 Security Groups (seems to change every week, so I can’t keep track…)•Extensive use of Assignment Policies & Object-Level Security

Page 3: Using Resource25 WebServices to Augment Event Management

What we wanted to get out of R25

• Ability to make more efficient use of space.• Collect utilization statistics• Make our campus’ decentralized scheduling &

highly territorial attitude on space more transparent.– Everyone on one system

• Make one request at one place– Eliminate need to call 12 different offices to find a meeting place.

• Accountability for service providers– Ability for Self-Service

Page 4: Using Resource25 WebServices to Augment Event Management

Moving Towards Self-Service Requests

• WebViewer– Strengths

• Easily share space availability & basic event details with the campus population

– Shortcomings as Delivered• How do we enforce space takedown & setup times?• How do we enforce event lead-time requirements?• How can we be sure users only request spaces & resources that are

actually available for their events?• Have to list all available options for Organizations, Spaces &

Resources in one huge drop-down list– Can’t find tune the space you’re looking for by space features, categories,

etc.– Can’t get detailed information on spaces & resources before choosing them

» e.g.: Pricing, Comments– All valid organizations are easily displayed for anyone to choose

• No options for space layout

Page 5: Using Resource25 WebServices to Augment Event Management

More Shortcomings of the WebViewer

• Events created as Drafts– A centralized event office must route events to appropriate

folders, and turn space & resource preferences into requests• Event Status

– Who notifies the user that an event is good to go?– Who turns a Tentative event into a Confirmed one?– How can a user track the status of assignment policy requests?– How does a user know whom to contact in regards to a certain

space or resource?• Changes

– How can a user modify an existing request?• Billing

– How can a user track what their costs for an event will be» Can they get historic data?

Page 6: Using Resource25 WebServices to Augment Event Management

Solution…. WebServices!ReservIt is an AJAX-based

WebViewer request form replacement built on top of R25 WebServices

Development started in October 2007– WebServices 1.7.1

• Only database connection– PHP 5

• CollegeNet’s PHP<->WS Wrapper (available on Faqiki)

• An implementation of PHP’s XML classes

– JavaScript

Page 7: Using Resource25 WebServices to Augment Event Management

What’s It Do?

• Guides the user through 4 stages of event creation modeled in a way similar to SpeedBook

• Stage 1: Event Details– Event Name, Headcount, Type & Category– Event occurrence information– Organization information– Various other information (Custom Attributes)

Page 8: Using Resource25 WebServices to Augment Event Management

Stage 1: Event Details• Headcount

– Used to suggest possible spaces for stage 2• Event Type

– Only 5 options as the event type cannot be changed• Event Category

– Defines event lead-time & setup & takedown requirements• Requirements defined in JavaScript, can be bypassed if JavaScript is turned off, but then, the rest

of the application doesn’t work…• Dates cannot before the lead-time requirement cannot be selected• Ability to Override these requirements

Page 9: Using Resource25 WebServices to Augment Event Management

How Overriding Works• A new code is generated daily And is placed in the MOTD on the myR25 page by:• GETting the current MOTD– Preference.xml?name=Motd&type=S

• Changing the current value to the new value and PUTting the data back– PHP Code:

Page 10: Using Resource25 WebServices to Augment Event Management

…Overriding• AJAX-ness checks the

MOTD to see if the code entered is a match.– If they do, JavaScript

removes date constraints from the calendar and session variables that control more than just UI elements are modified.

Page 11: Using Resource25 WebServices to Augment Event Management

Organization Info & Custom Attributes• We didn’t want every single

organization to be listed in a drop-down.– The user’s organizations that they

have a contact role with are listed as bubbles• GET organizations.xml?

contact_id=[contact id of user]– Option to open a new window that

allows a user to look up additional organizations by SpeedType (account number)• Can then be added to the organization’s

contacts to appear as an option the next time they use ReservIt

• A few custom attributes are listed for entry.– Contact name & Phone filled in from

current user’s contact record.

Page 12: Using Resource25 WebServices to Augment Event Management

Stage 2: Spaces

• Shows spaces that are available for the dates/times needed and have the capacity to hold the event’s headcount

• Allows a user to filter spaces by certain criteria• Allows a user to enter instructions for the

space as well as choose valid space layouts and see photos of each layout (magic of JavaScript)

Page 13: Using Resource25 WebServices to Augment Event Management

More on Stage 2

Page 14: Using Resource25 WebServices to Augment Event Management

How Stage 2 Works

• GETs:spaces.xml?category_id=[SpacesWeUse]

&scope=extended&include=layouts+features+categories+text+attributes

• Generates XML to POST to space_avail.xml with the space_id for the spaces we got before

• From the result set, the spaces that are available are output into the HTML with some hidden data embedded.– These are flags for the JavaScript space filtering options to go by.– JavaScript hides spaces that do not match the filtering options

Page 15: Using Resource25 WebServices to Augment Event Management

Stage 3: Resources• Breaks resources down into categories for

searching & selection• Provides detailed information on the resource

through mouseovers– Images– Pricing Information (Stored as a custom attribute)– Descriptions

• Tabulates a running total of estimated charges• Differentiates between resources that are

“Yes/No” and those that expect a quantity.

Page 16: Using Resource25 WebServices to Augment Event Management

How Stage 3 Works

• Grab all resource categories– GET rscat.xml

• For each resource category, grab the associated resources

• GET resources.xml?scope=extended&include=attributes+text&category_id=[Category ID]

• Slap this all together in HTML.– Organize the data by category and allow users to search

for text matching the resource’s name or description– Hidden data elements for pricing information

• JavaScript calculates pricing on the fly

Page 17: Using Resource25 WebServices to Augment Event Management

Stage 3 Example

Page 18: Using Resource25 WebServices to Augment Event Management

Stage 4: Confirmation• Display everything the user has done thus far and ask

them to confirm.– Allow them to go back to previous stages to make

corrections.• At this stage, ReservIt calculates where to route the

event.– Our cabinets are set up to run through Fiscal Years (Jul 1 to

Jun 30)– JavaScript already enforces events to exist inside one

Fiscal Year, but PHP will do some similar checking at this stage.

– All ReservIt events are routed into a “ReservIt Events” folder

Page 19: Using Resource25 WebServices to Augment Event Management
Page 20: Using Resource25 WebServices to Augment Event Management

Stage 5: Create the Event

• Create the event in R25 through WebServices– POST to events.xml– WebServices behaves the same for event creation

as it does for R25: Assignment & Notification Policies run their courses the same way, so workflow is automatically generated.

• The user is sent an email informing them that their event is awaiting approval and also giving them a link to check their event’s status.

Page 21: Using Resource25 WebServices to Augment Event Management
Page 22: Using Resource25 WebServices to Augment Event Management

Event Status Checking• The event

status page also allows modifications to be made by the requestor

• Mouse-overs on workflow items tell us whom to contact regarding approval status.

Page 23: Using Resource25 WebServices to Augment Event Management

Event Confirmation

• ReservIt creates events with a tentative state

• Who marks events as Confirmed (or Cancelled)?– The user!

Page 24: Using Resource25 WebServices to Augment Event Management

How?• Script is scheduled to run every few hours• Checks events.xml for events last modified since the

last time the script was run• GET

Events.xml?scope=extended&cabinet_id={$cabinet}&modified_since={$checkSince}

• Looks through each workflow item for each event.• If no workflow for the event is marked as “In Progress”

and the event’s custom attribute of “SentReadyToConfirmMessage” is not set to True, then this attribute is flagged as true and an email is generated and sent to the event’s Requestor.

Page 25: Using Resource25 WebServices to Augment Event Management

Confirmation

• A link in the email directs the user to the status page, which now has an option to Confirm the event by giving a final headcount and clicking “Confirm”– The event state is changed to Confirmed

• Once Confirmed, the event is ‘locked’ and may no longer be edited through ReservIt.

Page 26: Using Resource25 WebServices to Augment Event Management

All Done!Thanks for listening to me ramble!

Time for Demo?Questions?

• Contact information:Matthew RobinsonApplications Integration SpecialistComputing & Information Technology ServicesUniversity of Massachusetts [email protected]: [email protected]