次の方法で共有


手順 3: ソリューション マニフェスト ファイル (Oir.config) を作成する

ソリューション マニフェスト ファイル (OIR.config) は、BCS Client Runtime が中間宣言型の Outlook ソリューションを構成するために使用する主要ファイルです。

最終更新日: 2011年8月22日

適用対象: SharePoint Server 2010

このファイル OIR.config には、Outlook 宣言型ソリューションの外部アイテムと関連付けられたユーザー インターフェイス (UI)、動作、およびビジネス ロジックを記述します。たとえばソリューション マニフェスト ファイルでは、Outlook アイテム タイプの連絡先に対して特定の UI (外部データ パーツなど) を使用することや、Outlook でアイテムが変更された場合に、外部システムの特定のメソッド (UpdateCustomerInstance(ID, NewInstanceValues) ) を呼び出してアイテムを更新することを指定できます。

ソリューション マニフェスト ファイルでは、最初に、プライマリ外部コンテンツ タイプがマップする Outlook 固有のデータ型 (連絡先やタスクなど) を指定します。しかし中央管理ファイルとしては、Outlook にマッピングするエンティティを定義する以外にも、多くのことを行う必要があります。またこのファイルは、タスク ウィンドウとリボン ファイルの定義に使用されるレイアウト ファイルなど他の XML ファイルにリンクし、ソリューションが必要とするカスタム リボン コントロールを宣言的に定義します。さらに、リボンから呼び出されるアクションも指定します。たとえば、多くのソリューションには、リボン上にタスク ウィンドウを起動するボタンがあります。タスク ウィンドウを起動する動作がアクションになります。

最初は最小限の設定で、基本的なソリューション マニフェスト ファイルを作成することをお勧めします。次に、基本的なソリューションが機能した後に、それを拡張してアクションとレイアウトを追加します。基本的なソリューション マニフェスト ファイルでは、以下を実行できます。

  • ソリューション用の一意の識別子 (ID) や表示名などの、一般的なソリューション設定を指定します。

  • Outlook フォルダーに表示される外部コンテンツ タイプごとに、以下を行います。

    • Outlook に公開される外部コンテンツ タイプの各フィールドと、そのフィールドが Outlook 固有のフィールドにどのようにマップするかを定義します。完全に一致していないフィールドも指定できますが、Outlook が認識する Outlook 固有のデータ型 (Text、YesNo、DateTime など) で定義する必要があります。これらのカスタム フィールドは、Outlook のフォーム領域で作成され公開されます。

    • 既定のフォーム領域設定を受け入れ、BCS Client Runtime によって既定のフォーム領域が自動生成されるようにします。基本的なソリューションが機能すると、それを拡張してカスタム フォーム領域を追加できます。

    • 外部アイテムを含む Outlook フォルダーの名前とその他の情報を指定します。

前提条件

ソリューション マニフェストの作成

BCS Artifact Generator Tool を使用するか、SharePoint 2010 SDK で提供されているテンプレートを手動で使用して、ソリューション マニフェストを作成することができます。

BCS Artifact Generator Tool を使用して、ソリューション マニフェスト ファイルを作成するには

BDC モデルに基づいてソリューション マニフェスト ファイルを作成するには、BCS Artifact Generator ツールをダウンロードして実行します。詳細については、「BCS Artifact Generator Tool (英語)」を参照してください。

ソリューション マニフェスト テンプレートを使用してソリューション マニフェスト ファイルを作成するには

  1. SharePoint 2010 SDK で提供されている テンプレート: ソリューション マニフェスト (Oir.config) を探し、それをコピーして、Solution Artifacts フォルダーに OIR.config として保存します。

  2. XML エディターで OIR.config を開いて編集します。Visual Studio で XML ファイルを開いている場合は、OIR.config 宣言的スキーマ (SolutionManifestDefinitions.xsdSolutionManifestDeclarativeExtensions.xsd) を追加します。これにより IntelliSense 機能を使用できるようになり、有効なエントリの作成に役立ちます。詳細については、「SolutionManifestDefinitions スキーマ」ドキュメントと「SolutionManifestDeclarativeExtensions スキーマ」ドキュメントを参照してください。

  3. XML で EnterX というマークの付いた値を有効な値と置換します。次の XML の例は、編集後のファイルの内容を示しています。

    <?xml version="1.0" encoding="utf-8"?>
    <SolutionDefinition xmlns:Declarative="https://schemas.microsoft.com/office/2009/05/BusinessApplications/Manifest/DeclarativeExtensions" 
    
    xmlns="https://schemas.microsoft.com/office/2009/05/BusinessApplications/Manifest" xmlns:xsl="http://www.w3.org/2001/XMLSchema-instance">
      <SolutionSettings SolutionId="ContosoSalesManager" SolutionDisplayName="Contoso Sales Manager" SolutionVersion="1.0.0.0"/>
      <ContextDefinitionGroups>
        <ContextDefinitionGroup xsl:type="Declarative:DeclarativeContextDefinitionGroup" ItemType="OutlookContact" >
          <ContextDefinition xsl:type="Declarative:DeclarativeContextDefinition" ContentType="OutlookContactCustomer">
            <Entities>
              <Entity Name="Customer" EntityTypeName="Customer" EntityTypeNamespace="AWWSExample" Description="Customer">
                <View Name="PrimaryEntityNameInContext" ViewName="GetCustomerById" Description="GetCustomerById" IsPrimary="true">
                  <PromotedProperty Name="CustomerId" ViewInstancePath="CustomerId" OfficeItemPropertyName="CustomerId" ReadOnly="true" />
                  <PromotedProperty Name="Title" ViewInstancePath="Title" OfficeItemPropertyName="Title" ReadOnly="false" />
                  <PromotedProperty Name="FirstName" ViewInstancePath="FirstName" OfficeItemPropertyName="FirstName" ReadOnly="false" />
                  <PromotedProperty Name="MiddleName" ViewInstancePath="MiddleName" OfficeItemPropertyName="MiddleName" ReadOnly="false" />
                  <PromotedProperty Name="LastName" ViewInstancePath="LastName" OfficeItemPropertyName="LastName" ReadOnly="false" />
                  <PromotedProperty Name="Email1Address" ViewInstancePath="EmailAddress" OfficeItemPropertyName="Email1Address" ReadOnly="false" />
                  <PromotedProperty Name="BusinessTelephoneNumber" ViewInstancePath="Phone" OfficeItemPropertyName="BusinessTelephoneNumber" ReadOnly="false" />
                  <PromotedProperty Name="ModifiedDate" ViewInstancePath="ModifiedDate" OfficeItemPropertyName="ModifiedDate" ReadOnly="false" />
                </View>
              </Entity>
            </Entities>
            <OfficeItemCustomizations xsl:type="OutlookItemCustomizations" ItemTypeDisplayName="Contoso Customer" MessageClass="IPM.Contact.AWWSCustomer">
              <OfficeItemProperties>
                <OfficeItemProperty Name="CustomerId" PropertyName="CustomerId" PropertyType="OutlookInteger" />
                <OfficeItemProperty Name="Title" PropertyName="Title" PropertyType="OutlookText" />
                <OfficeItemProperty Name="FirstName" PropertyName="FirstName" PropertyType="OutlookText" />
                <OfficeItemProperty Name="MiddleName" PropertyName="MiddleName" PropertyType="OutlookText" />
                <OfficeItemProperty Name="LastName" PropertyName="LastName" PropertyType="OutlookText" />
                <OfficeItemProperty Name="Email1Address" PropertyName="Email1Address" PropertyType="OutlookText" />
                <OfficeItemProperty Name="BusinessTelephoneNumber" PropertyName="BusinessTelephoneNumber" PropertyType="OutlookText" />
                <OfficeItemProperty Name="ModifiedDate" PropertyName="ModifiedDate" PropertyType="OutlookDateTime" />
              </OfficeItemProperties>
              <FormRegions xsl:type="Declarative:DeclarativeFormRegions" AutoGenerate="true"></FormRegions>
              <OutlookFolder Name="ContosoCustomers" FolderDisplayName="Contoso Customers" NativeType="FolderContacts" SubscriptionName="AWWSExampleCustomerSubscription" FolderName="ContosoCustomerFolderID" CanCreate="true" CanUpdate="true" CanDelete="false">
                <Views />
                <Associations />
              </OutlookFolder>
            </OfficeItemCustomizations>
          </ContextDefinition>
        </ContextDefinitionGroup>
      </ContextDefinitionGroups>
    </SolutionDefinition>
    
  4. ファイルを保存して閉じます。

中間宣言型の Outlook ソリューションに必要な基本的な OIR.config が作成されました。

次の手順

手順 4: 宣言型 Outlook ソリューションをパッケージ化して展開する