Можно ли сопоставить внешний тип контента с типом элемента Office без использования SharePoint Designer?

Мне нужно подключить Outlook к внешнему списку и сопоставить его тип контента с типом элементов Office, но, к сожалению, я не вижу его в SPD2013. Возможно, это связано с тем, что модель BDC использует OData, которая имеет ограниченную поддержку в SPD2013 ( мой вопрос по этому поводу).

Итак, возможно ли сопоставить внешний тип контента с типом элемента Office без использования SharePoint Designer? Если так, как я могу это сделать?

Заранее спасибо.

PS: SharePoint 2013 RTM.

1 ответ

Решение

Ура! После трех дней безуспешного поиска в Google и повсюду задавая этот вопрос:-) Я попытался исследовать это сам и, наконец, я нашел способ сделать это!

Оказалось, что это довольно легко отобразить вручную. Для этого вам нужно внести 2 изменения в файл модели BDC (xml с расширением.bdcm):

Добавить свойство с именем типа элемента Office в объект

<Entities>
    <Entity Name="AbsenceCalendar" DefaultDisplayName="AbsenceCalendar"  Namespace="MyNameSpace" Version="1.0.0.0" EstimatedInstanceCount="2000">
<Properties>
    <Property Name="OutlookItemType" Type="System.String">Appointment</Property>
    ...
</Properties>
...

Сопоставьте необходимые поля с типом элемента Office. Например, для обязательных полей типа элемента в офисе назначения это может выглядеть

<Method Name="ReadSpecificAbsenceCalendarEntity" DefaultDisplayName="Read Specific AbsenceCalendarEntity" IsStatic="false">    
......    
  <Parameter Name="@AbsenceCalendarEntity" Direction="Return">
     <TypeDescriptor Name="AbsenceCalendarEntity" DefaultDisplayName="AbsenceCalendarEntity" TypeName="Microsoft.BusinessData.Runtime.DynamicType">   
       <TypeDescriptors> 
           <TypeDescriptor Name="Title" DefaultDisplayName="Title" TypeName="System.String"> 
              <Properties>
                <Property Name="OfficeProperty" Type="System.String">Subject</Property>
              </Properties>
           </TypeDescriptor>
           <TypeDescriptor Name="StartDate" DefaultDisplayName="StartDate" TypeName="System.DateTime">
              <Properties>
                 <Property Name="OfficeProperty" Type="System.String">Start</Property>
               </Properties>
            </TypeDescriptor>
            <TypeDescriptor Name="EndDate" DefaultDisplayName="EndDate" TypeName="System.DateTime">
                <Properties>
                       <Property Name="OfficeProperty" Type="System.String">End</Property>
                 </Properties>
            </TypeDescriptor>
.......
Другие вопросы по тегам