пятница, 29 июля 2011 г.

SharePoint и Opera

Ещё со времён 2007-го SharePoint'а существует проблема работы с сайтом из Оперы.
На сайте планирования поддержки браузера для SharePoint этот браузер даже не указан, т.о. Microsoft его просто игнорирует и, следовательно, официально (или скорее не официально) он не поддерживается.

Самая большая проблема при попытке работать в SharePoint из Оперы — это полная неработоспособность меню. Также есть ряд других проблем: с полосами прокрутки, панелью настройки веб-части и т.д.

Все это решается довольно просто. Нужно лишь указать браузеру маскироваться под Firefox.
Делается это так:
Открываем сайт SharePoint.
В контекстном меню сайта выбираем пункт Edit Site Preferences… (Настройки для сайта):

В диалоговом окне Site Preferences (Настройки для сайта) переходим к вкладке Network (Сеть):

И устанавливаем в параметре Browser Identification (Идентификация браузера) значение Mask as Firefox (Маскироваться под Firefox).
После этого необходимо обновить страницу. Все меню и прочие плюшки начинают работать!

P.S. Для тех кто использует SharePoint как интернет сайт могу указать статью, решающую часть проблем с Оперой посредством редактирования главных страниц и JavaScript-файлов.

вторник, 12 июля 2011 г.

Использование ObjectDataSource в SharePoint 2010 Visual Web Part

Создаём простейшую визуальную веб-часть.

В контрол добавляем ObjectDataSource (ODS) и что-нибудь его отображающее, допустим DataGrid:

Создаём необходимые для ODS классы — для поиска и для объекта поиска. Неважно, что они делают и возвращают.
Делаем встраивание веб-части и пробуем добавить её на страницу.

Неожиданно получаем следующую ошибку:

«Не удается найти тип объекта данных, указанный в свойстве TypeName ObjectDataSource 'SearchResultsDataSource'.»
или
«The data object type specified in the DataObjectTypeName property of ObjectDataSource ' SearchResultsDataSource' could not be found»

В чём же дело??

А дело в том, что ODS не находит нашу сборку DLL. Соответственно и необходимый тип в ней.

Решения данной проблемы может быть два: 
1. Положить сборку веб-части в папку BIN необходимого сайта (по умолчанию, «C:\inetpub\wwwroot\wss\VirtualDirectories\80\bin\»). Способ не совсем удобный. Но подходит для тех кто изначально добавляет библиотеки в BIN, а не GAC.
2. Поправить файл конфигурации сайта, web.config:
  <configuration>
  <system.web>
    <
compilation>
      <
assemblies>
        <
add assembly="YourAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=fed062df71e7ef1c" />
      </
assemblies>
    </
compilation>
  </
system.web>
</
configuration>