none
Add custom Ribbon Group to Business Contacts RRS feed

  • Question

  • I am customizing a Ribbon using the Designer within VSTO 2010 for an Outlook 2010 Add-In.  I am trying to add a custom group to the Home tab of the Business Manager Contacts page and to the Business Contact page of an individual Business Manager Contact.

    To add a custom group into the Home and Contact Ribbon for the regular Contacts area, I set the RibbonType in the properties instpector of my OfficeRibbon to Microsoft.Outlook.Contact.  Then I create two tabs and set their Tab ControlId to TabContacts (for the summary page of Contacts) and TabContact (for an individual Contact).

    I am trying to figure out how to do the equivalent for the Business Manager Contacts section.


    • Edited by Screener Saturday, March 10, 2012 10:42 PM
    Saturday, March 10, 2012 10:13 PM

Answers

  • Hi,

    Overall, I'm afraid that I have to say that what you are trying to do is not really supported in the grand scheme of things, on two separate grounds.

    First, Microsoft provides very limited support for customizing or integrating with BCM. Supportability for developing with BCM is covered in this KB:

    2300392 Support for programming with Business Contact Manager for Outlook
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;2300392

    To my knowledge, there is no documentation on how to integrate with BCM's ribbon, so this would not be something we could support.

    Also, in this case, BCM is itself an add-in that is customizing the ribbon. Ribbon extensibility was specifically designed to prevent add-in conflicts with ribbon customizations. So your end goal is unfortunately in conflict with the overall ribbon design goals.

    I wish I had better news for you, but this is my understanding of Microsoft's position on these types of customization scenarios.


    Bill Jacob - Microsoft Customer Service & Support - Developer Messaging

    • Proposed as answer by DamianD Thursday, March 15, 2012 11:53 AM
    • Marked as answer by Bruce Song Wednesday, April 4, 2012 3:58 AM
    Wednesday, March 14, 2012 10:36 PM

All replies

  • Hi Screener,

    Thanks for posting in the MSDN Forum.

    It's based on my experience that we need aware of the RibbonID of BCM's table. I'm not family with BCM. I will involve some experts into this issue to see whether them can solve it. There might be some time delay, thanks for you patience.

    Have a good day,

    Tom


    Tom Xu [MSFT]
    MSDN Community Support | Feedback to us

    Monday, March 12, 2012 2:41 AM
    Moderator
  • Make sample add-in that will customize ribbon by xml means (like here:http://msdn.microsoft.com/en-us/library/bb226712(v=office.12).aspx) and set breakpoint in your GetCustomUI function. Now open up BCM page and determine in debugger what is the value of ribbonId passed as a parameter to that function. Use this in your designer in main project.
    Monday, March 12, 2012 9:52 AM
  • When I open a BCM contact, the GetCustomUI is calling for RibbonID Microsoft.Outlook.Contact.

    I think I need the OfficeId setting for the BCM pages (Home, Contact, etc).  Is there a way to identify those OfficeIds, along the lines of the sample add-in you suggested above?

    Tuesday, March 13, 2012 3:21 PM
  • Could you show screenshot of page that you want to extend and describe where you want to add your info?
    Tuesday, March 13, 2012 3:28 PM
  • I would like to put my custom group at the end of the Home tab in BCM:

    Tuesday, March 13, 2012 6:26 PM
  • ribbonId you already know, now right click on ribbon on that page, click customize, add your own tab, group and drag there one of existing buttons, now click Impore/Export and export to file your customization. Open created xml file with notepad and look at insertBeforeQ or insertAfterQ properties - they will tell you name of tab that you will use in your own customization to add your controls.

    Wednesday, March 14, 2012 8:50 AM
  • Good idea, but the BCM ribbons do not show up there.
    Wednesday, March 14, 2012 12:38 PM
  • can you open single contact in separate window (inspector), click customize ribbon and show us screenshot of that customize window?
    Wednesday, March 14, 2012 12:44 PM
  • I get the following:

    <mso:cmd app="olkaddritem" dt="1" /><mso:customUI xmlns:x1="Microsoft.BusinessSolutions.eCRM.OutlookAddIn.Connect.4" xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui"><mso:ribbon><mso:qat/><mso:tabs><mso:tab idQ="x1:TabBusinessContact"><mso:group id="mso_c2.165B8CA" label="New Group" autoScale="true"><mso:control idQ="mso:NewTaskForContact" visible="true"/></mso:group></mso:tab></mso:tabs></mso:ribbon></mso:customUI>
    

    I tried using TabBusinessContact as the OfficeId, but my custom group does not show up.  It does show up in the contacts inspector, using an OfficeId of TabContacts.

    Also, I have a group called TabAddIns that shows up successfully in both the BCM contacts page and the regular contacts page (that group shows up within the ribbon's Add-Ins area).

    I'm thinking that the BCM menus may delete and recreate in a fashion that eliminates my ability to add to the areas like Home, etc.




    • Edited by Screener Wednesday, March 14, 2012 2:21 PM
    Wednesday, March 14, 2012 2:19 PM
  • If using UI you are able to add new group or buttons to Home tab then you should also be able to do it from code. Show us your ribbon.xml that you use to customize Home tab (Microsoft.Outlook.Contact.xml most probably)

    Wednesday, March 14, 2012 2:51 PM
  • If I export the xml from the ribbon that fails to insert the tab on the home page, it looks like:

    <?xml version="1.0" encoding="UTF-8"?>
    <customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
        <ribbon>
            <tabs>
                <tab idMso="TabAddIns">
                    <group id="Group1" label="Group1">
                        <labelControl id="Label1" label="Label1" />
                        <button id="Button1" label="Button1" showImage="false" />
                    </group>
                </tab>
                <tab idMso="TabBusinessContact">
                    <group id="Group2" label="Group1">
                        <labelControl id="Label2" label="Label2" />
                        <button id="Button2" label="Button2" showImage="false" />
                    </group>
                </tab>
                <tab idMso="TabContacts">
                    <group id="Group3" label="Group1">
                        <labelControl id="Label3" label="Label3" />
                        <button id="Button3" label="Button3" showImage="false" />
                    </group>
                </tab>
                <tab idMso="TabContact">
                    <group id="Group4" label="Group1">
                        <labelControl id="Label4" label="Label4" />
                        <button id="Button4" label="Button4" showImage="false" />
                    </group>
                </tab>
                <tab idMso="TabBusinessContacts">
                    <group id="Group5" label="Group5">
                        <labelControl id="Label5" label="Label5" />
                        <button id="Button5" label="Button5" showImage="false" />
                    </group>
                </tab>
            </tabs>
        </ribbon>
    </customUI>

    Wednesday, March 14, 2012 5:29 PM
  • Hi,

    Overall, I'm afraid that I have to say that what you are trying to do is not really supported in the grand scheme of things, on two separate grounds.

    First, Microsoft provides very limited support for customizing or integrating with BCM. Supportability for developing with BCM is covered in this KB:

    2300392 Support for programming with Business Contact Manager for Outlook
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;2300392

    To my knowledge, there is no documentation on how to integrate with BCM's ribbon, so this would not be something we could support.

    Also, in this case, BCM is itself an add-in that is customizing the ribbon. Ribbon extensibility was specifically designed to prevent add-in conflicts with ribbon customizations. So your end goal is unfortunately in conflict with the overall ribbon design goals.

    I wish I had better news for you, but this is my understanding of Microsoft's position on these types of customization scenarios.


    Bill Jacob - Microsoft Customer Service & Support - Developer Messaging

    • Proposed as answer by DamianD Thursday, March 15, 2012 11:53 AM
    • Marked as answer by Bruce Song Wednesday, April 4, 2012 3:58 AM
    Wednesday, March 14, 2012 10:36 PM
  • So as Bill Ja said - add your own tab and be content with it ;-)
    Thursday, March 15, 2012 8:14 AM
  • Haha!  Thanks to all, much appreciated.
    • Edited by Screener Thursday, March 15, 2012 11:35 AM
    Thursday, March 15, 2012 11:34 AM