1
votes

I'm working on an Office web add-in for Outlook (desktop version primarily) appointments (calendar) but I'm having some issues figuring out, how to make my button appear the in the right spots.

I want my button to appear on the appointment form in read-mode (no in compose-mode) and I want it to appear for both the attendees and the organizer of an appointment - and this is where my problems begin.

In the manifest I can specify the ExtensionPoint as AppointmentAttendeeCommandSurface or AppointmentOrganizerCommandSurface but not both. Does this mean that I need to make 2 different add-ins in order to get a button for both parties?

Also, even though I have in my rule collection a rule (my only rule) that says

<Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Read" />

the button also appears on the compose-form of an appointment instead of just on the read-form as I want it to.

Any help would be much appreciated :)

Let me know if you need additional information.

UPDATE: 2017-12-04

I have run into another obstacle in this addin...

Some of the users are looking at shared calendars and are therefore not Organizer nor Attendees.

The button does still appear for them though and I also want it to, but it's in a disabled state although visible.

Is this something that can be configured in the manifest somewhere?

1

1 Answers

2
votes

For Appointments the mode is tied to whether you are an attendee or an organizer for the meeting. As an attendee, you will always find the appointment form in read mode(so only AppointmentAttendeeCommandSurface buttons will show up) and if you're the organizer, you will always find the appointment form in compose mode(only AppointmentOrganizerCommandSurface buttons will show up). There is no concept of an AppointmentRead when you are the organizer. You can use both the extension points in your manifest as well if you'd prefer.

Also, as far as the rule goes, since you are using the version Overrides section in your manifest, the rule section is legacy and does nothing - Version overrides takes precedence over the legacy section.