Archibus Extension for Microsoft Exchange
Avoiding Impersonation of User Accounts
To avoid impersonating every user account on Exchange, you set an option in the \WEB-INF\config\context\applications\reservations.properties file. (See Configuration section below.)
This topic describes how the application works when impersonation is disabled. For information on working with impersonation, see Using Exchange Impersonation.
Note: Multi-room reservations are not supported when using room mailboxes with Exchange.
This topic has the following sections:
Also see:
Configuration
To enable or disable impersonation, set the exchange.impersonateUsers
property in \WEB-INF\config\context\applications\reservations.properties, Set this to False to establish the behavior outlined in this topic.
# # Impersonate users in Exchange to create / update / cancel meetings. # When disabled 1) the Reservations Application uses the room mailbox as the meeting organizer in Exchange, # and 2) reservations created from Exchange or the Outlook Plugin cannot be modified from Web Central; # exchange.impersonateUsers=false
Creating and Editing Reservations from Archibus
Using room mailboxes
When someone creates a reservation via Archibus, the room mailbox is considered the organizer for the meeting in Exchange. The reservation requestor (email address in reserve.email
) in Archibus is an attendee of the meeting in Exchange.
Typically, these reservations and meetings created via Archibus are editable and can be canceled only via Archibus. Only people with full access to the room’s calendar in Exchange also have the option to update or cancel the meeting via Outlook / Exchange; they do so by going into the room’s calendar directly.
Reservations initially created via Archibus can also be edited via Archibus.
-
If an existing reservation in a room with a room mailbox is changed to a different room, the application cancels the original meeting in Exchange and creates a new one, using the new room as the organizer for the new meeting.
-
The existing meeting is retained when the linked room mailbox remains the same; that is, when only changing to a different arrangement type of the same room.
Not using room mailboxes
For rooms not linked to a room mailbox in Exchange, the exchange.organizerAccount
specified in \WEB-INF\config\context\applications\reservations.properties will be the meeting organizer in Exchange.
The organizerAccount’s calendar is not monitored for changes via Exchange, so all changes to meetings and reservations in rooms without a mailbox should be made through Archibus when user impersonation is disabled. The meeting in Exchange is retained when changing to a different room.
Here is the description of exchange.organizerAccount
in reservations.properties:
# # Email address of the reservations organizer account. Required for supporting non-Exchange # users of the Reservations Application. This account will be the meeting organizer in # Exchange for Reservation Requestors that do not have a mailbox on the connected Exchange, and also # for reservations in rooms without a mailbox if user impersonation is disabled. # exchange.organizerAccount=
Creating Reservations from Exchange / Outlook
When user impersonation is disabled, users can still create meetings and reservations directly from Exchange (when using room mailboxes) or via the Archibus Outlook Plugin (when not using room mailboxes). These meetings and reservations then cannot be edited via Archibus.
When the user submits a reservation update that should propagate to Exchange, if the meeting was not created via Archibus, then the Reservations application displays an error message without applying any changes. This includes differences in the meeting time, subject, location string, body and attendees.
Retrieving Attendee Information from Exchange
Without user impersonation, Archibus can still show free-busy information for attendees in the Reservations Calendar Console if their calendars are not hidden, using the exchange.organizerAccount
defined in reservations.properties. Free-busy information cannot be retrieved if impersonation is disabled and no organizerAccount
is specified.
Attendee responses are only shown in the Reservation Details pop-up for reservations created via Archibus. For other reservations, the Details pop-up lists the attendees specified in the reserve.attendees
field with response status "Unknown"; this is similar to not using Exchange Integration.
Canceling Reservations from Archibus
Reservations can still be canceled / rejected from Archibus regardless of how they were created. You cannot choose to cancel or keep the connected meeting in Exchange because that depends only on how the meeting and reservation were created.
The option "cancel corresponding meeting on people’s calendars" is not shown on the cancellation pop-ups if impersonation is disabled. This applies to three pop-ups that appear on the Reservations Calendar Console > My Reservations grid view when:
-
canceling a single reservation
-
selecting multiple reservations and using the ‘cancel selected’ button
-
canceling a recurring reservation
If the reservation was created from Exchange / Outlook, the meeting will not be canceled in Exchange when canceling the reservation from Archibus. Instead, the room will send a decline message to the meeting organizer. The meeting organizer then needs to take appropriate action, like creating a new reservation in another room or on another time, or canceling the meeting.
If the reservation was created from Archibus, the room is the meeting organizer in Exchange. When such a reservation is canceled, the meeting is also canceled in Exchange.
Outlook Plugin and Room Mailboxes
When Archibus Reservations integrates with room mailboxes, Outlook users can create, edit, and cancel reservations via standard Outlook features. The Exchange Calendar Monitor processes all changes on the room calendars similar to when the user applies them through OWA.
Outlook users can still use the Outlook Plugin – it supports room mailboxes from v2022.02. It can be used to quickly find available rooms based on filter criteria defined in Archibus and to reserve non-default room arrangements (if rooms are defined with multiple arrangements).
Calendar Monitoring Actions (source of meeting is Archibus)
The table below shows what happens when working with a meeting created from Archibus without user impersonation; that is, having the room as the meeting organizer in Exchange.
User action | Real-time monitor status | Real-time monitor action (if connected) | Calendar sync action (at 2:30am or when monitor reconnects) |
---|---|---|---|
Update a meeting directly on the room calendar |
Connected |
If room is available, update connected reservation, including item id and change key. Or, If the room is not available, cancel meeting, cancel reservation, and notify reservation requestor. |
If update was accepted, item id and change key match between meeting and reservation → no action. Or If meeting was canceled, no action. |
Update a meeting directly on the room calendar |
Not connected |
N/A |
If room is available, update connected reservation, including item id and change key Or, If the room is not available, cancel meeting, cancel reservation, and notify reservation requestor. |
Cancel a meeting directly on the room calendar |
Connected |
Cancel or disconnect reservation and notify reservation requestor. |
No action |
Cancel a meeting directly on the room calendar |
Not connected |
N/A |
If meeting was already recorded in previous sync state, cancel or disconnect reservation and notify reservation requestor; otherwise no action. |
Create new reservation via Archibus Web Central |
Connected |
Populate item id and change key of reservation. |
Item id and change key match between meeting and reservation → no action |
Update a reservation via Archibus Web Central |
Connected |
Update item id and change key of reservation. |
Item id and change key match between meeting and reservation → no action |
Cancel a reservation via Archibus Web Central |
Connected |
Detects deleted meeting without linked reservation → no action. |
Detects deleted meeting without linked reservation → no action. |