CRM 2013: 2 level flyout menus RRS feed

  • Question

  • Hello,

    We are been using MSCRM 2011 for a number of years and have customised the Ribbon to include a 2 level flyout menu.  i.e.

    > Reports                                          <-- This is the 1st level Flyout
        - Report 1
        - Report 2
        - Report 3
        > Other Team Reports                     <-- This is a 2nd level Flyout
               - Report 4
               - Report 5
         > Other Entity Reports                    <-- This is a 2nd level Flyout
               - Report 6
               - Report 7

    This worked perfectly in that you would have a FlyoutAnchor in the RibbonDiff XML and then when it called the PopulateQueryCommand function in our JScript we'd provide another FlyoutAnchor (when the user hovered over).  Then when the user hovered over the 2nd level FlyoutAnchor we'd load the menu items.

    We made it dynamically load 2 levels because we didn't want to cause a large hit to return the records which were occasionally used, but still needed (we've done a bit of work to make the reports scope to the users)

    We have migrated to MSCRM 2013 (SP1 RU1) and found some change in behaviour :-

    1. FlyoutAnchor 2nd Level doesn't work.  When you hover over the menu it reports 'No actions available'.  The code to load the menu items doesn't fire.

       - We have worked around this by loading the <Menu> items directly in the first PopulateQueryCommand JScript.  Not ideal, but it works

    2. 2nd level menu items available but unclickable after the first load - With the 2nd level Flyout menu items we have experienced weird behaviour.  The first view of the menu items are clickable, but for subsequent views they are not. 

       - After a bit of playing, and mucking around I found that if the Flyout Id for the 2nd level has a random number in it then it doesn't experience the issue.  Think there is some odd caching occurring - even with CacheMenuVersions = False.

    The whole thing is odd, because it did work perfectly in CRM 2011.  Anyone got 2nd level flyouts to work in CRM 2013?

    Below is the 2nd level Flyout JScript code snippet.

    " <FlyoutAnchor Id=\"RASV.Report.Flyout.RunBatchReportOtherEntities." + Math.floor((Math.random() * 1000000) + 1) + "\" " +
    										" PopulateQueryCommand=\"RASV.Report.RunBatchReport.PopulateMenuSSRSOtherEntities." + screenType + "\" " +
                                            					" CacheMenuVersions=\"false\" " +
    										" PopulateDynamically=\"true\" " +
    										" PopulateOnlyOnce=\"false\" " +
    										" LabelText=\"In Other Entities ...\" " +
    										" Command=\"Mscrm.ReportMenu.Grid\" " +
    										" ToolTipTitle=\"More Reports\" " +
    										" ToolTipDescription=\"List reports used by other teams.\" " +
    										" Sequence=\"1010\" > " +
    			                                menuItemXML + 
                                        " </FlyoutAnchor> ";       

    Tuesday, October 28, 2014 4:21 AM

All replies

  • Hi Glenn, this is a very old thread but on the off chance... I am very interested that you are able to even show the second tier options on the flyout! When I paste my dynamically generated PopulationXML in the customizations.xml and import the entity form ribbon solution all works as expected but when populating dynamically from the static top flyout the second tier simply shows 'No actions available'. To your knowledge is the ordering of the xml node attributes important? Thanks, Chris
    Friday, June 30, 2017 6:53 AM