如果添加VersionOverrides元素以定义自定义功能区按钮来启动外接程序的任务窗格,则自定义窗格的选项卡在Outlook 2016中不再可见,但在Outlook Online/OWA中可见。它是在没有任何激活规则的情况下定义的,因此它应该出现在每个读取的消息中。那么,如果我定义了一个自定义功能区按钮来启动它,那么这个选项卡是隐藏的,是错误还是设计的呢?如果删除VersionOverrides元素,则选项卡将再次出现。
编辑2016年11月。对于Outlook加载项,自定义窗格被认为是过时的https://dev.office.com/blogs/make-your-add-ins-available-in-the-office-ribbon
旧答案:
我已经和一位Office可扩展性高级产品经理讨论过类似的话题。我希望他不会介意我引用他的话。Outlook web加载项应考虑自定义窗格:
只是对目前不支持Office命令的客户端的遗留支持。命令提供了一种更直观、更自然、更吸引人的方式来使用插件,这就是为什么我们非常努力地推动它们。
话虽如此,OWA还不支持命令。Owa在清单中查找旧的FormSettings
元素,并在插件命令不存在时显示与以前相同的自定义窗格。Office 2016也是如此,因为出于追溯兼容性的目的,清单中没有VersionOverrides
元素。
现在,我们这些插件开发人员很难在OWA和Desktop之间提出一个具有完全不同用户体验的插件。然后,如果您想让自定义窗格与Outlook Desktop 2016中的加载项命令一起工作(在撰写本文时,只有支持命令的主机),则必须在VersionOverrides
中使用类型为xsi:type="CustomPane"
的ExtensionPoint
来指定它。请参阅此示例
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
<Requirements>
<bt:Sets DefaultMinVersion="1.3">
<bt:Set Name="Mailbox" />
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<FunctionFile resid="functionFile" />
<ExtensionPoint xsi:type="CustomPane">
<RequestedHeight>250</RequestedHeight>
<SourceLocation resid="customPaneUrl"/>
<Rule xsi:type="RuleCollection" Mode="Or">
<Rule xsi:type="ItemIs" ItemType="Message"/>
</Rule>
</ExtensionPoint>
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<OfficeTab id="TabDefault">
<Group id="msgReadDemoGroup">
<Label resid="groupLabel" />
<Tooltip resid="groupTooltip" />
<Control xsi:type="Button" id="msgReadOpenPaneButton">
<Label resid="paneReadButtonLabel" />
<Tooltip resid="paneReadButtonTooltip" />
<Supertip>
<Title resid="paneReadSuperTipTitle" />
<Description resid="paneReadSuperTipDescription" />
</Supertip>
<Icon>
<bt:Image size="80" resid="test-icon-80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="taskPaneUrl" />
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
</Resources>
</VersionOverrides>