Partager via


Étape 8 (facultative) : définir le Ruban et les actions (Ribbon.xml)

À présent que vous avez ajouté une disposition de volet Office à une solution Outlook déclarative intermédiaire, vous pouvez ajouter une définition de fichier de Ruban personnalisée. Le fichier de Ruban spécifie les actions qui sont appelées depuis le Ruban.

Dernière modification : lundi 22 août 2011

S’applique à : SharePoint Server 2010

Par exemple, de nombreuses solutions possèdent un bouton sur le Ruban qui ouvre le volet Office. Le comportement lié à l’ouverture du volet Office est une action. Le fichier de Ruban utilise le schéma de Ruban standard utilisé par toutes les applications Microsoft Office.

Les actions dans Business Connectivity Services peuvent être basées sur des URL ou sur du code. Les actions basées sur des URL accèdent à une URL spécifiée lorsque l’action est exécutée (par exemple, lorsque l’utilisateur clique sur un bouton du Ruban). Les actions basées sur des URL peuvent être définies de manière déclarative dans le fichier Ribbon.xml. Quant aux actions basées sur du code, elles exécutent du code lorsqu’un utilisateur clique sur un bouton du Ruban et doivent être créées par un développeur avant de pouvoir être utilisées.

L’Exemple de code : Solution Outlook déclarative AdventureWorks2008 possède un menu de Ruban personnalisé, Contoso Sales Manager. Lorsque vous cliquez sur Contoso Sales Manager, les deux boutons de Ruban suivants sont affichés :

  • Related Orders Lorsque vous cliquez sur ce bouton, le volet Office s’affiche avec l’historique des commandes.

  • Phone Lookup Lorsque vous cliquez sur ce bouton, une fenêtre du navigateur s’ouvre à la page de recherche de numéros de téléphone MSN et une recherche est lancée sur le numéro du téléphone du client.

Pour créer un fichier de Ruban

  1. Vous pouvez utiliser l’outil BCS Artifact Generator Tool (éventuellement en anglais) pour créer le fichier manifeste de zone de formulaire selon le modèle BDC.

    Vous pouvez également créer le manifeste de zone de formulaire manuellement, comme décrit ci-dessous.

    1. Recherchez le Modèle : Ribbon.xml fourni dans le Kit de développement logiciel SDK, copiez-le, puis enregistrez-le dans le dossier Solution Artifacts sous le nom OutlookContactRibbon.xml.

    2. Ouvrez le fichier OutlookContactRibbon.xml pour modification dans un éditeur XML. Si vous ouvrez le fichier XML dans Visual Studio, attachez le schéma du Ruban Office (Référence Office 2010 : Schéma XML de l’interface utilisateur Office Fluent). Celui-ci vous fera bénéficier de la fonctionnalité IntelliSense et vous aidera à créer des entrées valides.

    3. Remplacez les valeurs marquées avec EnterX dans le code XML par des valeurs valides. L’exemple de code XML suivant illustre l’aspect possible après modification.

      <customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui" 
                onLoad="OnLoad" loadImage="GetImage">
        <ribbon>
          <tabs>
            <tab id="tabID" label="Contoso Sales Manager" 
                 getVisible="GetVisible" tag="Solution">
              <group id="CustomerSalesGroupID" label="Customer Sales" 
                     getVisible="GetVisible" 
                     tag="Context[OutlookContactCustomer.CustomerSalesGroupID]">
                <button id="relatedOrderHeaderButton"
                            size="large"
                            label="Customer Orders"
                            onAction="OnAction"
                            image="Arrow.jpg"
                          getEnabled ="GetEnabled"
                          tag="Action[OutlookContactCustomer.RelatedOrderHeaderAction]"
                        />
              </group>
              <group id="CustomerActionsGroupID" label="Customer Actions" 
                     getVisible="GetVisible" 
                     tag="Context[OutlookContactCustomer.CustomerActionsGroupID]">
                <button id="SearchCustomerByPhoneButton"
                           size="large"
                           label="Phone Lookup"
                           onAction="OnAction"
                           image="MagGlass.png"
                         getEnabled ="GetEnabled"
                         tag="Action[OutlookContactCustomer.SearchCustomerByPhoneAction]"
                        />
              </group>
            </tab>
          </tabs>
        </ribbon>
      </customUI>
      
    4. Enregistrez le fichier et fermez-le.

  2. Ouvrez le fichier OIR.config pour modification. Mettez à jour OIR.config pour spécifier le fichier de Ruban à charger en ajoutant l’attribut RibbonFileName, comme indiqué dans l’exemple suivant.

    <ContextDefinitionGroup 
      xsl:type="Declarative:DeclarativeContextDefinitionGroup" 
      ItemType="OutlookContact" RibbonFileName="OutlookContactRibbon.xml">
    
  3. Ajoutez un ContextDefinitionGroup pour l’association Order afin de spécifier comment obtenir les éléments externes Order, comme indiqué dans l’exemple suivant. Cette étape est facultative et n’est requise que si vous voulez exposer des actions dans le composant WebPart de liste riche.

    <ContextDefinitionGroup ItemType="EntityView">
      <!-- The content type has to be in the format: -->
      <!-- length_of_entity_namespace="" length_of_entity_name="" 
      length_of_view_name="" entity_namespace="" entity_name="" 
      view_name="" position_of_entity_namespace="" -->
      <ContextDefinition 
        ContentType="12 12 24 AWWSExample OrderHeader GetSalesOrderHeaderById 9" 
        xsl:type="Declarative:DeclarativeContextDefinition">
        <Entities>
          <Entity Name="OrderHeader" EntityTypeName="OrderHeader" 
                  EntityTypeNamespace="AWWSExample">
            <View Name="PrimaryEntityNameInContext" 
                  ViewName="GetSalesOrderHeaderById" 
                  Description="GetSalesOrderHeaderById" IsPrimary="true" />
          </Entity>
        </Entities>
        <Declarative:Layouts>
          <Declarative:Layout Name="Edit" LayoutFileName="EditOrderHeader">
            <Declarative:Properties>
              <Declarative:Property Name="AssociatedActionType" Value="Edit" />
            </Declarative:Properties>
          </Declarative:Layout>
        </Declarative:Layouts>
        <Declarative:Actions>
          <Declarative:CodeMethodAction MethodType="EditEntity" Name="Edit" 
                                        Caption="Edit Order" 
                                        DisplayLocations="ItemContextMenu" 
                                        DisplayOrder="2" Scope="ItemContext" />
        </Declarative:Actions>
      </ContextDefinition>
    </ContextDefinitionGroup>
    
  4. Mettez à jour le fichier OIR.config pour donner au BCS Client Runtime les informations sur les boutons du Ruban que vous voulez utiliser et les actions associées pour le ContextDefinition Customer. Ajoutez le code suivant sous la balise <Declarative:Layouts> dans le ContextDefinition Customer.

    <Declarative:Actions>
      <Declarative:CodeMethodAction Name ="RelatedOrderHeaderAction" 
                                    MethodType ="ShowTaskpaneLayout">
        <Declarative:Parameters>
          <Declarative:ConstantParameter Name="Para1" 
                                         Value="RelatedOrderHeader" 
                                         ValueType="System.String"/>
        </Declarative:Parameters>
      </Declarative:CodeMethodAction>
      <Declarative:UrlAction 
        Name="SearchCustomerByPhoneAction" 
        Url="http://msn.whitepages.com/search/ReversePhone?full_phone={0}">
        <Declarative:Parameters>
          <Declarative:ExpressionParameter 
            Name="Para1" 
            EntityViewInstanceReference="PrimaryEntityNameInContext" 
            Expression="Phone"/>
        </Declarative:Parameters>
      </Declarative:UrlAction>
    </Declarative:Actions>
    <Declarative:ContextEventHandlers>
      <Declarative:ContextActivated ActionName="RelatedOrderHeaderAction" />
    </Declarative:ContextEventHandlers>
    
  5. Enregistrez le fichier et fermez-le.

  6. Créez un package de la solution, déployez-le, puis testez-le pour vérifier qu’il fonctionne comme prévu.

Vous venez de créer une solution Outlook déclarative intermédiaire.