How to create sub menuitem in intellij plugin - intellij-idea

I have create a Menu item under the Main menu however I want to create a submenu item like this image
I have used this xml tag in the plugin.xml for menu. I want to create a submenuitem like the red marking on the image.
<actions>
<!-- Add your actions here -->
<group id="MyPlugin.test" text="_" description="test">
<add-to-group group-id="MainMenu" anchor="last" />
<!--<action id="Myplugin.Textboxes" class="Mypackage.TextBoxes" text="Text _Boxes" description="A menu item" />
<action id="Myplugin.Dialogs" class="Mypackage.MyShowDialog" text="Show _Dialog" description="A menu item" />-->
<action id="testAndroidPlugin.MyAction" class="com.test.bijesh.MyActionClass" text="Create String"
description="The action implemented by MyActionClass class">
<!--<add-to-group group-id="MainMenu" anchor="after" relative-to-action="WindowMenu"/>-->
<keyboard-shortcut keymap="$default" first-keystroke="ctrl alt S"/>
</action>
<action id="testAndroidPlugin.ManageResources" class="com.test.bijesh.actions.ColorActions" text="Create Color"
description="The action implemented by ColorAction class">
<!--<add-to-group group-id="MainMenu" anchor="after" relative-to-action="WindowMenu"/>-->
<keyboard-shortcut keymap="$default" first-keystroke="ctrl alt C"/>
</action>
</group>
</actions>

Here's how we do it in Ceylon IDE:
<actions>
<group text="Ceylon" icon="/icons/ceylon.png" popup="true">
<action> ...</action>
<add-to-group group-id="ToolsMenu" anchor="last"/>
</group>
</actions>
This results in Tools > Ceylon > .... I think your version does not work because text="_" generates an empty text (_ is used for keyboard shortcuts).

A nested action:
<actions>
<group id="YourCompany.All" popup="true" class="com.company.CompanyActionGroup">
<add-to-group group-id="MainMenu" anchor="before" relative-to-action="HelpMenu"/>
</group>
<group id="YourCompany.All.Foo" popup="true" class="com.company.FooActionGroup">
<add-to-group group-id="YourCompany.All" anchor="first"/>
<action
id="some.action"
text="Do Action"
description="This will do the action."
class="com.yourcompany.FooAction"
icon="/icons/foo.svg"
/>
</group>
</actions>
This gives
Menu: A > B > Do Action
(Where the text for A & B are defined in the class's referenced).

Related

How can I create a special character shortcut for an IntelliJ plugin?

I would like to attach the shortcut ctrl + [ to an action in an IntelliJ plugin I'm writing.
For ctrl plus any letter, this works. However, for a square bracket, this doesn't seem to work. I have tried escpaing using \[.
For example, this doesn't work:
<action id="DoTheThingAction" class="DoTheThingAction" text="Do It" description="Does The Thing">
<keyboard-shortcut first-keystroke="ctrl \[" keymap="$default" />
</action>
While this works:
<action id="DoTheThingAction" class="DoTheThingAction" text="Do It" description="Does The Thing">
<keyboard-shortcut first-keystroke="ctrl w" keymap="$default" />
</action>
Do I need to do anything special to create a shortcut for a special character like "["?
You can't use [ or \[ directly. You need to use OPEN_BRACKET.
For example, this works:
<action id="DoTheThingAction" class="DoTheThingAction" text="Do It" description="Does The Thing">
<keyboard-shortcut first-keystroke="ctrl OPEN_BRACKET" keymap="$default" />
</action>

Publishing Outlook add-in which uses Outlook preview element - SupportsSharedFolders

I am developing Outlook add-in which will work with shared mailboxes.
Currently, office add-ins are not available on delegate scenarios but MS has released preview build which supports these scenarios.
https://learn.microsoft.com/en-us/office/dev/add-ins/reference/manifest/supportssharedfolders
My problem is since the manifest.xml has preview elements; I can't upload the it at outlook.office365.com under my add-ins. I get following error.
This app can't be installed. The manifest file doesn't conform to the schema definition. The element 'DesktopFormFactor' in namespace 'http://schemas.microsoft.com/office/mailappversionoverrides/1.1' has invalid child element 'SupportsSharedFolders' in namespace 'http://schemas.microsoft.com/office/mailappversionoverrides/1.1'. List of possible elements expected: 'ExtensionPoint' in namespace 'http://schemas.microsoft.com/office/mailappversionoverrides/1.1'... The element 'DesktopFormFactor' in namespace 'http://schemas.microsoft.com/office/mailappversionoverrides/1.1' has invalid child element 'SupportsSharedFolders' in namespace 'http://schemas.microsoft.com/office/mailappversionoverrides/1.1'. List of possible elements expected: 'ExtensionPoint' in namespace 'http://schemas.microsoft.com/office/mailappversionoverrides/1.1'.
Anyone know any other way to deploy the add-in for users or even test it out without being to upload xml file?
Thanks in advance.
Copy of my manifest.xml file is here.
<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp
xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides"
xsi:type="MailApp">
<Version>1.0.0.0</Version>
<ProviderName></ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="Sample1" />
<Description DefaultValue="First Sample Angular Add-in"/>
<IconUrl DefaultValue="xxxx.jpg" />
<HighResolutionIconUrl DefaultValue="https://localhost:3000/assets/hi-res-icon.png"/>
<!--If you plan to submit this add-in to the Office Store, uncomment the SupportUrl element below-->
<SupportUrl DefaultValue="https://localhost:3000/support.html" />
<!-- Domains that will be allowed when navigating. For example, if you use ShowTaskpane and then have an href link, navigation will only be allowed if the domain is on this list. -->
<AppDomains>
<AppDomain>AppDomain1</AppDomain>
<AppDomain>AppDomain2</AppDomain>
<AppDomain>AppDomain3</AppDomain>
</AppDomains>
<!--End Basic Settings. -->
<Hosts>
<Host Name="Mailbox" />
</Hosts>
<Requirements>
<Sets>
<Set Name="Mailbox" MinVersion="1.1" />
</Sets>
</Requirements>
<FormSettings>
<Form xsi:type="ItemRead">
<DesktopSettings>
<SourceLocation DefaultValue="https://localhost:3000/index.html"/>
<RequestedHeight>250</RequestedHeight>
</DesktopSettings>
</Form>
</FormSettings>
<Permissions>ReadWriteItem</Permissions>
<Rule xsi:type="RuleCollection" Mode="Or">
<Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />
</Rule>
<DisableEntityHighlighting>false</DisableEntityHighlighting>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
<Description resid="residDescription" />
<Requirements>
<bt:Sets DefaultMinVersion="1.3">
<bt:Set Name="Mailbox" />
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<!-- add information on form factors -->
</Host>
</Hosts>
<Resources>
<!-- add information on resources -->
</Resources>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
<Requirements>
<bt:Sets DefaultMinVersion="1.3">
<bt:Set Name="Mailbox" />
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<!-- Location of the Functions that UI-less buttons can trigger (ExecuteFunction Actions). -->
<FunctionFile resid="functionFile" />
<SupportsSharedFolders>true</SupportsSharedFolders>
<!-- Message Read -->
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<!-- Use the default tab of the ExtensionPoint or create your own with <CustomTab id="myTab"> -->
<OfficeTab id="TabDefault">
<!-- Up to 6 Groups added per Tab -->
<Group id="msgReadGroup">
<Label resid="groupLabel" />
<!-- Launch the add-in : task pane button -->
<Control xsi:type="Button" id="msgReadOpenPaneButton">
<Label resid="paneReadButtonLabel" />
<Supertip>
<Title resid="paneReadSuperTipTitle" />
<Description resid="paneReadSuperTipDescription" />
</Supertip>
<Icon>
<bt:Image size="16" resid="icon16" />
<bt:Image size="32" resid="icon32" />
<bt:Image size="80" resid="icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="messageReadTaskPaneUrl" />
</Action>
</Control>
<!-- Go to http://aka.ms/ButtonCommands to learn how to add more Controls: ExecuteFunction and Menu -->
</Group>
</OfficeTab>
</ExtensionPoint>
<!-- Go to http://aka.ms/ExtensionPointsCommands to learn how to add more Extension Points: MessageRead, AppointmentOrganizer, AppointmentAttendee -->
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<!-- add information on resources -->
</Resources>
</VersionOverrides>
</VersionOverrides>
</OfficeApp>
Explaining #Bubuhubu's answer, and hopefully helping other people out who hit this issue.
If you use the yo generator to initially create your manifest, as is documented in the following Microsoft how to article:
https://learn.microsoft.com/en-us/outlook/add-ins/addin-tutorial
You will notice that the <VersionOverrides> tag is created without a version number. This version of the VersionOverrides element does NOT support the <SupportsSharedFolders> tag, but the 1.1 version DOES.
You might think that you could simply change the xmlns and type tags of the VersionOverrides tag to 1.1 to get the tag supported, but apparently a 1.1 VersionOverrides tag is not supported within an OfficeApp tag. It is however, supported as a child element of a VersionOverrides 1.0 tag.
As a result the simplest way to fix this is to take your manifest.xml from the yo generatort and find:
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
And right after it add:
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
So that it now looks like this:
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
Likewise, near the end-of the document, find:
</VersionOverrides>
and change it to:
</VersionOverrides>
</VersionOverrides>
You can now utilize the <SupportsSharedFolders>, e.g. Your manifest.xml should look something like the following:
. . .
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
<Requirements>
<bt:Sets DefaultMinVersion="1.3">
<bt:Set Name="Mailbox" />
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<SupportsSharedFolders>true</SupportsSharedFolders>
. . .
</VersionOverrides>
</VersionOverrides>
</OfficeApp>
Hopefully this helps save someone some time.
BTW, apparently when you add a plugin in Outlook it can take up to 60 seconds for it to show up. As a result if you don't see your icon immediately, don't assume at first that it didn't work (Like I originally did).
I've experienced the same issue today. I was able to solve it by moving the
SupportsSharedFolders tag to the beginning of the DesktopFormFactor tag.
Instead of this:
...
<DesktopFormFactor>
<!-- Location of the Functions that UI-less buttons can trigger (ExecuteFunction Actions). -->
<FunctionFile resid="functionFile" />
<SupportsSharedFolders>true</SupportsSharedFolders>
<!-- Message Read -->
...
it should look like this
...
<DesktopFormFactor>
<SupportsSharedFolders>true</SupportsSharedFolders>
<!-- Location of the Functions that UI-less buttons can trigger (ExecuteFunction Actions). -->
<FunctionFile resid="functionFile" />
<!-- Message Read -->
...
Here is sample manifest file which worked for me.
<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp
xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides"
xsi:type="MailApp">
<!-- Begin Basic Settings: Add-in metadata, used for all versions of Office unless override provided. -->
<!-- IMPORTANT! Id must be unique for your add-in, if you reuse this manifest ensure that you change this id to a new GUID. -->
<Id>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX</Id>
<!--Version. Updates from the store only get triggered if there is a version change. -->
<Version>1.0.0.0</Version>
<ProviderName></ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<!-- The display name of your add-in. Used on the store and various places of the Office UI such as the add-ins dialog. -->
<DisplayName DefaultValue="" />
<Description DefaultValue=""/>
<!-- Icon for your add-in. Used on installation screens and the add-ins dialog. -->
<IconUrl DefaultValue="" />
<HighResolutionIconUrl DefaultValue="https://localhost:3000/assets/hi-res-icon.png"/>
<!--If you plan to submit this add-in to the Office Store, uncomment the SupportUrl element below-->
<SupportUrl DefaultValue="https://localhost:3000/support.html" />
<!-- Domains that will be allowed when navigating. For example, if you use ShowTaskpane and then have an href link, navigation will only be allowed if the domain is on this list. -->
<AppDomains>
<AppDomain>AppDomain1</AppDomain>
<AppDomain>AppDomain2</AppDomain>
<AppDomain>AppDomain3</AppDomain>
</AppDomains>
<!--End Basic Settings. -->
<Hosts>
<Host Name="Mailbox" />
</Hosts>
<Requirements>
<Sets>
<Set Name="Mailbox" MinVersion="1.1" />
</Sets>
</Requirements>
<FormSettings>
<Form xsi:type="ItemRead">
<DesktopSettings>
<SourceLocation DefaultValue="https://localhost:3000/index.html"/>
<RequestedHeight>250</RequestedHeight>
</DesktopSettings>
</Form>
</FormSettings>
<Permissions>ReadWriteItem</Permissions>
<Rule xsi:type="RuleCollection" Mode="Or">
<Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />
</Rule>
<DisableEntityHighlighting>false</DisableEntityHighlighting>
<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>
<!-- Location of the Functions that UI-less buttons can trigger (ExecuteFunction Actions). -->
<FunctionFile resid="functionFile" />
<!-- Message Read -->
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<!-- Use the default tab of the ExtensionPoint or create your own with <CustomTab id="myTab"> -->
<OfficeTab id="TabDefault">
<!-- Up to 6 Groups added per Tab -->
<Group id="msgReadGroup">
<Label resid="groupLabel" />
<!-- Launch the add-in : task pane button -->
<Control xsi:type="Button" id="msgReadOpenPaneButton">
<Label resid="paneReadButtonLabel" />
<Supertip>
<Title resid="paneReadSuperTipTitle" />
<Description resid="paneReadSuperTipDescription" />
</Supertip>
<Icon>
<bt:Image size="16" resid="icon16" />
<bt:Image size="32" resid="icon32" />
<bt:Image size="80" resid="icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="messageReadTaskPaneUrl" />
</Action>
</Control>
<!-- Go to http://aka.ms/ButtonCommands to learn how to add more Controls: ExecuteFunction and Menu -->
</Group>
</OfficeTab>
</ExtensionPoint>
<!-- Go to http://aka.ms/ExtensionPointsCommands to learn how to add more Extension Points: MessageRead, AppointmentOrganizer, AppointmentAttendee -->
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="icon16" DefaultValue="https://localhost:3000/assets/XXXX-16.png"/>
<bt:Image id="icon32" DefaultValue="https://localhost:3000/assets/XXXX-32.png"/>
<bt:Image id="icon80" DefaultValue="https://localhost:3000/assets/XXXX-80.png"/>
</bt:Images>
<bt:Urls>
<bt:Url id="functionFile" DefaultValue="https://localhost:3000/function-file/function-file.html"/>
<bt:Url id="messageReadTaskPaneUrl" DefaultValue="https://localhost:3000/index.html"/>
</bt:Urls>
<bt:ShortStrings>
<bt:String id="groupLabel" DefaultValue="My Add-in Group"/>
<bt:String id="customTabLabel" DefaultValue="My Add-in Tab"/>
<bt:String id="paneReadButtonLabel" DefaultValue="Display all properties"/>
<bt:String id="paneReadSuperTipTitle" DefaultValue="Get all properties"/>
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties. This is an example of a button that opens a task pane."/>
</bt:LongStrings>
</Resources>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
<Requirements>
<bt:Sets DefaultMinVersion="1.3">
<bt:Set Name="Mailbox" />
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<SupportsSharedFolders>true</SupportsSharedFolders>
<!-- Location of the Functions that UI-less buttons can trigger (ExecuteFunction Actions). -->
<FunctionFile resid="functionFile" />
<!-- Message Read -->
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<!-- Use the default tab of the ExtensionPoint or create your own with <CustomTab id="myTab"> -->
<OfficeTab id="TabDefault">
<!-- Up to 6 Groups added per Tab -->
<Group id="msgReadGroup">
<Label resid="groupLabel" />
<!-- Launch the add-in : task pane button -->
<Control xsi:type="Button" id="msgReadOpenPaneButton">
<Label resid="paneReadButtonLabel" />
<Supertip>
<Title resid="paneReadSuperTipTitle" />
<Description resid="paneReadSuperTipDescription" />
</Supertip>
<Icon>
<bt:Image size="16" resid="icon16" />
<bt:Image size="32" resid="icon32" />
<bt:Image size="80" resid="icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="messageReadTaskPaneUrl" />
</Action>
</Control>
<!-- Go to http://aka.ms/ButtonCommands to learn how to add more Controls: ExecuteFunction and Menu -->
</Group>
</OfficeTab>
</ExtensionPoint>
<!-- Go to http://aka.ms/ExtensionPointsCommands to learn how to add more Extension Points: MessageRead, AppointmentOrganizer, AppointmentAttendee -->
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="icon16" DefaultValue="https://localhost:3000/assets/XXXX-16.png"/>
<bt:Image id="icon32" DefaultValue="https://localhost:3000/assets/XXXXX-32.png"/>
<bt:Image id="icon80" DefaultValue="https://localhost:3000/assets/XXXX-80.png"/>
</bt:Images>
<bt:Urls>
<bt:Url id="functionFile" DefaultValue="https://localhost:3000/function-file/function-file.html"/>
<bt:Url id="messageReadTaskPaneUrl" DefaultValue="https://localhost:3000/index.html"/>
</bt:Urls>
<bt:ShortStrings>
<bt:String id="groupLabel" DefaultValue="My Add-in Group"/>
<bt:String id="customTabLabel" DefaultValue="My Add-in Tab"/>
<bt:String id="paneReadButtonLabel" DefaultValue="Display all properties"/>
<bt:String id="paneReadSuperTipTitle" DefaultValue="Get all properties"/>
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties. This is an example of a button that opens a task pane."/>
</bt:LongStrings>
</Resources>
</VersionOverrides>
</VersionOverrides>
</OfficeApp>

UserInputPanel Radio Button ignoring conditionid value izpack

I'm running the installer in debug mode and I want to hide a radio button based on a condition.
The value of the conditions are correct but my panel is ignoring the conditions and showing all of the radio buttons.
<condition type="variable" id="gains.show.radio.custom.passwords">
<name>show.radio.custom.passwords</name>
<value>true</value>
</condition>
<condition type="variable" id="gains.show.radio.default.passwords">
<name>show.radio.default.passwords</name>
<value>true</value>
</condition>
<!-- Variables to control which radio buttons are shown for password options-->
<variable name="show.radio.custom.passwords" value="false" />
<variable name="show.radio.default.passwords" value="true" />
<panel order="15">
<field size="2" txt="Password Options" type="title" />
<field align="top" type="divider" />
<field type="radio" variable="gains.radio.password.selection">
<description align="left" txt="Choose password option:" />
<spec>
<choice txt="Use Gains preset default users passwords" value="default passwords selected" conditionid="gains.show.radio.default.passwords"/>
<choice txt="Use custom set passwords" value="use custom passwords" set="true" conditionid="gains.show.radio.custom.passwords" />
<choice txt="Reset Gains default users passwords" value="reset passwords selected"/>
</spec>
</field>
<field align="bottom" type="divider" />
</panel>

Add-in command menu on MessageReadCommandSurface gets disabled in Outlook for Mac

We have an Outlook add-in which uses add-in commands that works great in Outlook 2016 for Windows and OWA but has a problem in Outlook 2016 for Mac with menu type controls on the main Outlook Home TAB (MessageReadCommandSurface). For this type of add-in command the menu becomes broken in that you cannot select items past the first two items on the list.
As you cursor down the menu each button is selected but once you get to the 3rd item the selection disappears and you cannot activate any buttons. If you cursor up past the top of the menu you regain selectability for the top two items, but if you cursor down again the problem returns. Even menus with 2 items have a problem as if you move the cursor down past the bottom of the list the menu becomes inactive until you move the cursor up past the top and back down.
In case it was something we did I tried creating a super trimmed-down manifest with a simple task pane triggered from its two buttons:
<DesktopFormFactor>
<FunctionFile resid="functionFile" />
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<OfficeTab id="TabDefault">
<Group id="group1">
<Label resid="strProdGroupName" />
<Control xsi:type="Menu" id="menu1">
<Label resid="strAbout" />
<Supertip>
<Title resid="strAbout" />
<Description resid="lsOpenAboutTaskPane" />
</Supertip>
<Icon>
<bt:Image size="16" resid="logo-icon-16" />
<bt:Image size="32" resid="logo-icon-32" />
<bt:Image size="80" resid="logo-icon-80" />
</Icon>
<Items>
<Item id="item1">
<Label resid="strAbout" />
<Supertip>
<Title resid="strAbout" />
<Description resid="lsOpenAboutTaskPane" />
</Supertip>
<Icon>
<bt:Image size="16" resid="logo-icon-16" />
<bt:Image size="32" resid="logo-icon-32" />
<bt:Image size="80" resid="logo-icon-80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="aboutPage" />
</Action>
</Item>
<Item id="item2">
<Label resid="strAbout" />
<Supertip>
<Title resid="strAbout" />
<Description resid="lsOpenAboutTaskPane" />
</Supertip>
<Icon>
<bt:Image size="16" resid="logo-icon-16" />
<bt:Image size="32" resid="logo-icon-32" />
<bt:Image size="80" resid="logo-icon-80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="aboutPage" />
</Action>
</Item>
</Items>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
This simple menu reproduced the issue.
Some details:
The menu works fine if you pop out the email and use the menu from the email's Message TAB.
You have to open a task pane from the menu twice to trigger the issue.
Popping out an email then closing it restores the menu.
Issue does not occur in Outlook for Windows or OWA.
I realize this is a weird issue and might be something we are doing wrong, but testing suggests it isn't something we are doing.
Questions:
Has anyone else encountered this issue?
It would be ideal to try a different add-in which uses an add-in command menu on the MessageReadCommandSurface. Does anyone know of an Outlook add-in with such a menu that we can try? Maybe something free from the Store?
Any suggestions what we can try to nail down this issue?
Does anyone know of a known issues list for office.js add-ins running under Outlook for Mac?
Thanks
Thanks for letting us know.
Will you be able to share the outlook and OS version?
Also, are you able to repro it every time or is the issue intermittent?

does not change the locale with using LocaleAction

i use struts 1.3 and want to make localization.
that's what I'm doing:
in struts-config.xml:
<form-bean name="English" type="org.apache.struts.action.DynaActionForm">
<form-property name="language" type="String" initial="en" />
</form-bean>
<form-bean name="Russian" type="org.apache.struts.action.DynaActionForm">
<form-property name="language" type="String" initial="ru" />
</form-bean>
<action-mappings>
<action path="/English" name="English"
type="org.apache.struts.actions.LocaleAction">
<forward name="success" path="/index.jsp" />
</action>
<action path="/Russian" name="Russian"
type="org.apache.struts.actions.LocaleAction">
<forward name="success" path="/index.jsp" />
</action>
<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" />
on jsp.page
<html:link action="/Russian">
<bean:message key="jsp.header.russian"/>
</html:link>
<html:link action="/English">
<bean:message key="jsp.header.english"/>
</html:link>
maybe i do something wrong? any ideas?
P.S. yes, i have messages_ru.properties and messages_en.properties.
Oh, I found the reason, struts do not know of this type as a String.
<form-property name="language" type="java.lang.String" initial="en" />