Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics CRM (Archived)

Ribbon unable to restore a previously hidden button when managed solution imported into QA environment

(0) ShareShare
ReportReport
Posted on by 210

We have some weird behavior going on.  We had a requirement a few years ago to remove the NEW button from the subgrid.  We used the ribbon editor and did the Hide Actions on the Add Existing {0}.  That eliminated the buttons in the dev environment.  We then exported the MANAGED solution and imported into our QA and then Production environments.  All happy using processes creating records and not missing new button on the subgrid.

Switch to this week.  New requirement to return the NEW button on the subgrid (still need the NEW button hidden on the Form).  We used the ribbon editor and removed the hide actions and published.  Yup the + button is back on the subgrid in Development.  Export the MANAGED solution and imported into QA.

The subgrid in QA does not have the +. There are no <HideCustomAction> in our customizations.xml the remaining items are another button we have on the form.  Why would the button not return in QA. Surely the fact that our QA is a managed solution area shouldn't make a difference.

      <RibbonDiffXml>
        <CustomActions>
          <CustomAction Id="spirit.spirit_repair.CreateNegoButton.Button.CustomAction" Location="Mscrm.Form.spirit_repair.MainTab.Save.Controls._children" Sequence="38">
            <CommandUIDefinition>
              <Button Alt="$LocLabels:spirit.spirit_repair.CreateNegoButton.Button.Alt" Command="spirit.spirit_repair.CommandCreateNegoButton.Command" Id="spirit.spirit_repair.CreateNegoButton.Button" Image32by32="$webresource:spirit_/Image/AddActivity_32.png" Image16by16="$webresource:spirit_/Image/AddActivity_16.png" LabelText="$LocLabels:spirit.spirit_repair.CreateNegoButton.Button.LabelText" Sequence="38" TemplateAlias="o1" ToolTipTitle="$LocLabels:spirit.spirit_repair.CreateNegoButton.Button.ToolTipTitle" ToolTipDescription="$LocLabels:spirit.spirit_repair.CreateNegoButton.Button.ToolTipDescription" ModernImage="Create Negotiation" />
            </CommandUIDefinition>
          </CustomAction>
        </CustomActions>
        <Templates>
          <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
        </Templates>
        <CommandDefinitions>
          <CommandDefinition Id="spirit.spirit_repair.CommandCreateNegoButton.Command">
            <EnableRules />
            <DisplayRules>
              <DisplayRule Id="spirit.spirit_repair.DisplayRuleCreateNego.DisplayRule" />
            </DisplayRules>
            <Actions>
              <JavaScriptFunction FunctionName="CreateNegotiation" Library="$webresource:spirit_/Scripts/Spirit.CRM.JScript.Repair.Ribbon.js" />
            </Actions>
          </CommandDefinition>
        </CommandDefinitions>
        <RuleDefinitions>
          <TabDisplayRules />
          <DisplayRules>
            <DisplayRule Id="spirit.spirit_repair.DisplayRuleCreateNego.DisplayRule">
              <OrRule>
                <Or>
                  <ValueRule Field="spirit_negotiation_spirit_repair_id" Value="null" />
                </Or>
                <Or>
                  <ValueRule Field="spirit_negotiation_spirit_repair_id" Value="" />
                </Or>
              </OrRule>
            </DisplayRule>
          </DisplayRules>
          <EnableRules />
        </RuleDefinitions>
        <LocLabels>
          <LocLabel Id="spirit.spirit_repair.CreateNegoButton.Button.Alt">
            <Titles>
              <Title description="Create Negotiation" languagecode="1033" />
            </Titles>
          </LocLabel>
          <LocLabel Id="spirit.spirit_repair.CreateNegoButton.Button.LabelText">
            <Titles>
              <Title description="Create Negotiation" languagecode="1033" />
            </Titles>
          </LocLabel>
          <LocLabel Id="spirit.spirit_repair.CreateNegoButton.Button.ToolTipDescription">
            <Titles>
              <Title description="Create a negotation that is associated to this record." languagecode="1033" />
            </Titles>
          </LocLabel>
          <LocLabel Id="spirit.spirit_repair.CreateNegoButton.Button.ToolTipTitle">
            <Titles>
              <Title description="Create Negotiation" languagecode="1033" />
            </Titles>
          </LocLabel>
        </LocLabels>
      </RibbonDiffXml>


      <RibbonDiffXml>        <CustomActions>          <CustomAction Id="spirit.spirit_repair.CreateNegoButton.Button.CustomAction" Location="Mscrm.Form.spirit_repair.MainTab.Save.Controls._children" Sequence="38">            <CommandUIDefinition>              <Button Alt="$LocLabels:spirit.spirit_repair.CreateNegoButton.Button.Alt" Command="spirit.spirit_repair.CommandCreateNegoButton.Command" Id="spirit.spirit_repair.CreateNegoButton.Button" Image32by32="$webresource:spirit_/Image/AddActivity_32.png" Image16by16="$webresource:spirit_/Image/AddActivity_16.png" LabelText="$LocLabels:spirit.spirit_repair.CreateNegoButton.Button.LabelText" Sequence="38" TemplateAlias="o1" ToolTipTitle="$LocLabels:spirit.spirit_repair.CreateNegoButton.Button.ToolTipTitle" ToolTipDescription="$LocLabels:spirit.spirit_repair.CreateNegoButton.Button.ToolTipDescription" ModernImage="Create Negotiation" />            </CommandUIDefinition>          </CustomAction>        </CustomActions>        <Templates>          <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>        </Templates>        <CommandDefinitions>          <CommandDefinition Id="spirit.spirit_repair.CommandCreateNegoButton.Command">            <EnableRules />            <DisplayRules>              <DisplayRule Id="spirit.spirit_repair.DisplayRuleCreateNego.DisplayRule" />            </DisplayRules>            <Actions>              <JavaScriptFunction FunctionName="CreateNegotiation" Library="$webresource:spirit_/Scripts/Spirit.CRM.JScript.Repair.Ribbon.js" />            </Actions>          </CommandDefinition>        </CommandDefinitions>        <RuleDefinitions>          <TabDisplayRules />          <DisplayRules>            <DisplayRule Id="spirit.spirit_repair.DisplayRuleCreateNego.DisplayRule">              <OrRule>                <Or>                  <ValueRule Field="spirit_negotiation_spirit_repair_id" Value="null" />                </Or>                <Or>                  <ValueRule Field="spirit_negotiation_spirit_repair_id" Value="" />                </Or>              </OrRule>            </DisplayRule>          </DisplayRules>          <EnableRules />        </RuleDefinitions>        <LocLabels>          <LocLabel Id="spirit.spirit_repair.CreateNegoButton.Button.Alt">            <Titles>              <Title description="Create Negotiation" languagecode="1033" />            </Titles>          </LocLabel>          <LocLabel Id="spirit.spirit_repair.CreateNegoButton.Button.LabelText">            <Titles>              <Title description="Create Negotiation" languagecode="1033" />            </Titles>          </LocLabel>          <LocLabel Id="spirit.spirit_repair.CreateNegoButton.Button.ToolTipDescription">            <Titles>              <Title description="Create a negotation that is associated to this record." languagecode="1033" />            </Titles>          </LocLabel>          <LocLabel Id="spirit.spirit_repair.CreateNegoButton.Button.ToolTipTitle">            <Titles>              <Title description="Create Negotiation" languagecode="1033" />            </Titles>          </LocLabel>        </LocLabels>      </RibbonDiffXml>

*This post is locked for comments

  • Suggested answer
    Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Ribbon unable to restore a previously hidden button when managed solution imported into QA environment

    We have faced a similar issue where we initially had a requirement to Hide the Add Existing {0} button and later for the new requirement we needed bring back the Add Existing {0} for a sub-grid on another entity form. The changes made using ribbon workbench where reflecting fine in Dev environment which is a Unmanaged solution but when we moved a managed solution to QA I was not able to see the Add Existing {0} button which was previously hidden and with that we also have a Command-JavaScript running on this button which works fine in dev but not in QA as the button disappeared.

    Temporary workaround solution:

    Create an unmanaged solution in Dev and add just the entity metadata of that Entity for which you require the Add Existing {0} button and export it as Unmanaged and import that solution back into QA. Now connect that unmanaged solution in QA to ribbon workbench and create a custom button and add the properties for that button such as ID, command, label, sequence etc. values same as that of Add Existing {0} button in Dev and publish that solution.

    You should be able to see the Add Existing {0} back in QA. May be this worked for me as I was having a command running on that button.

  • Suggested answer
    gdas Profile Picture
    gdas 50,085 on at
    RE: Ribbon unable to restore a previously hidden button when managed solution imported into QA environment

    Hi Daine,

    Thats good ! let them reply. 

    My suggestion also based on Microsoft recommendation , as we also faced similar issue while working on managed solution entity.  Let them reply meanwhile you can try with this .

  • Suggested answer
    DianeF1 Profile Picture
    DianeF1 210 on at
    RE: Ribbon unable to restore a previously hidden button when managed solution imported into QA environment

    We wrote a ticket to Microsoft.  Our issue was due to multiple managed solutions.  They identified the managed solution where the original change was deployed and worked with our team to understand how to best modify that solution in order to get our ribbon fixed.

  • Suggested answer
    gdas Profile Picture
    gdas 50,085 on at
    RE: Ribbon unable to restore a previously hidden button when managed solution imported into QA environment

    Hi Diane,

    My solution based on this video: www.youtube.com/watch

    You need to change directly in QA environment.

    1. Install the new  Ribbon Workbench (3.1)

    2. Open Ribbon workbench -> Create a test unmanaged solution -> Include the entity of subgrid.

    3. Delete +QA button -> publish (it will remove only the unmanage button, the managed one still exist).

    4. Open Ribbon workbench -> test solution

    6.Locate +QA button-> right click customize ->Change as per your requirement  -> publish

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Congratulations 2024 Spotlight Honorees

Kudos to all of our 2024 community stars! 🎉

Meet the Top 10 leaders for December

Congratulations to our December super stars! 🥳

Start Your Super User Journey

Join the ranks of our community heros! 🦹

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,711 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,466 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans