Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2014-04-07

Sharepoint External List

Последовательность действий, необходимых для создания в Шарепойнте (Sharepoint Foundation 2013) элемента типа “Внешний список” (External List).
Названия таблиц, БД и прочих объектов даны для тестового набора данных, сделанного в ходе эксперимента.

Внешний список - это отображение в виде Списка Шарепойнта таблицы из SQL DB.

Для создания Внешнего списка нужно следующее:
1. Доступ к веб-управлятору Шарепойнта, типа: http://servwf:31505/default.aspx
2. Доступ к программе Шарепойнт Дизайнер, скачать можно тут http://www.microsoft.com/en-us/download/confirmation.aspx?id=35491
3. Business Data Connectivity (BDC) Metadata Store - это службы в Шарепойнте.
4. Для BDC требуется Secure Store - тоже службы в Шарепойнте.

Если все это есть (если нет, см.ниже), процедура создания Внешнего списка такова:

1. Открыть Шарепойнт Дизайнер и открыть в нем сайт http://servwf/
2. В левой панели “Навигация” щелкнуть “External Content Types”.
3. В появившемся риббоне щелкнуть кнопку “New External Content Type”.
4. В появившейся панели создания нового Внешнего Типа задать параметры:
а. имя
б. External System
External System - это настройка связи с базой данных. Рассмотрим внешнюю систему подробнее:

При нажатии на кнопку (в виде ссылки) External System - откроется панель Operation Designer. В этой панели надо нажать кнопку Add Connection.
Откроется список выбора Data Source Type, где надо выбрать значение SQL Server.
Откроется окошко задания параметров соединения. Задать
Database Server: servsql2
Database Name: sql2sp
Connect with User’s Identity
После подтверждения этих параметров, в панели, в списке Data Source Explorer, появится древообразное представление содержимого БД.
В этом дереве надо выбрать таблицу - tab2sp, щелкнуть по ней ПКМ и выбрать сначала New Read Item Operation, потом New Read List Operation. Не обращайте внимания на то, что пункты меню выглядят неактивными.
В обоих случаях откроется “визард” задания свойств операции. В панелях визардов надо выбрать нужные поля таблицы и включить для них галочки Map to Identifier. В визарде для списковой операции надо указать для хотя бы одного поля галочку Show in Picker.
Следует знать, что нельзя использовать текстовые поля “неопределенной” длины и поля в которых есть значения NULL.

После этого можно (и нужно) сохранить созданный Внешний тип, нажав в тулбаре Дизайнера на значок дискетки.

5. Закрыть все вкладки Дизайнера и снова открыть вкладку для Внешних типов, щелкнув в панели Навигация на External Content Types.
6. Справа откроется перечисление Внешних типов, надо выделить мышкой только что созданный Внешний тип.
7. В риббоне нажать кнопку Export BDC Model.
8. В открывшемся окошке экспорта задать имя для модели, подтвердить, подтвердить сохранение на диске файла типа BDCM.
9. Отредактировать полученный файл (в толковом текстовом редакторе, типа Notepad++).

В файле надо найти блок типа
<LobSystemInstance Name="sql2sp">
<Properties>
   <Property Name="AuthenticationMode" Type="System.String">PassThrough</Property>
   <Property Name="DatabaseAccessProvider" Type="System.String">SqlServer</Property>
   <Property Name="RdbConnection Data Source" Type="System.String">servsql2</Property>
   <Property Name="RdbConnection Initial Catalog" Type="System.String">sql2sp</Property>
   <Property Name="RdbConnection Integrated Security" Type="System.String">SSPI</Property>
   <Property Name="RdbConnection Pooling" Type="System.String">True</Property>
   <Property Name="ShowInSearchUI" Type="System.String"></Property>
</Properties>
</LobSystemInstance>

и заменить его на блок типа
<LobSystemInstance Name="sql2sp">
<Properties>
   <Property Name="AuthenticationMode" Type="System.String">PassThrough</Property>
   <Property Name="DatabaseAccessProvider" Type="System.String">SqlServer</Property>
   <Property Name="RdbConnection Data Source" Type="System.String">servsql2</Property>
   <Property Name="RdbConnection Initial Catalog" Type="System.String">sql2sp</Property>
   <Property Name="RdbConnection Pooling" Type="System.String">True</Property>
   <Property Name="RdbConnection User ID" Type="System.String">sa</Property>
   <Property Name="RdbConnection Password" Type="System.String">тут пароль для учетки sa в БД</Property>
   <Property Name="RdbConnection Integrated Security" Type="System.String">False</Property>
   <Property Name="ShowInSearchUI" Type="System.String"></Property>
</Properties>
</LobSystemInstance>

10. Удалить в Дизайнере созданный Внешний тип и Коннект к БД.
Удаление коннекта к БД делается через трюк - после удаления Внешнего типа надо начать создание нового Внешнего типа, открыть панель подключения к БД (см.выше описание 4.б), в списке Data Source Explorer с помощью ПКМ удалить источник данных.
Закрыть все вкладки без сохранения.

11. Импортировать отредактированный файл BDCM в веб-управляторе Шарепойнта.
Зайти в Управление приложениями http://servwf:31505/applications.aspx
Зайти в Управление приложениями-службами http://servwf:31505/_admin/ServiceApplications.aspx
Выделить службу “Приложение-служба подключения к бизнес-данным” и в риббоне нажать кнопку Управление.
Откроется панель “Сведения о приложении-службе  Имя:  businessdataconnectivity” в риббоне которой надо нажать кнпку Импорт.
Выбрать с диска отредактированный ранее файл и импортировать его.

12. В Шарепойнт Дизайнере обновить (открыть заново) панель External Content Types и выбрать появившийся там Внешний тип.
13. В риббоне нажать кнопку External List.
14. В появившемся окне задать имя и описание для нового Внешнего списка, подтвердить.

Все, внешний список создан. Можно использовать.
В примере урл для списка получился такой http://servwf/Lists/testextlist3/tab2spRead%20List.aspx


Вернемся к началу нашей повести, к списку необходимого при создании Внешних списков. Вероятнее всего у вас будут проблемы с пунктами 3,4.
Это пункты
3. Business Data Connectivity Metadata Store - это службы в Шарепойнте
4. для BDC требуется Secure Store - тоже службы в Шарепойнте

В веб-управляторе зайти в Управление службами на сервере
и включить службы
Служба Secure Store; Служба подключения к бизнес-данным.

Зайти в Управление приложениями-службами
и найти службу “Приложение-служба подключения к бизнес-данным”. Если такой нет, ее надо создать, используя кнопку Создать в риббоне.

Зайти в Управление веб-приложениями
и выделить “Sharepoint 80 http://servwf/”. В риббоне щелкнуть “подключение к службам, управление”. В открывшемся окне “настройки связей для приложений-служб” включить галочки для Secure Store, business data connectivity.

Вероятно, вы столкнетесь с тем, что Secure Store будет ругаться словами типа “что-то не так или закончился срок лицензии”. Не обращайте внимания, это известная бага Sharepoint Foundation.



original post http://vasnake.blogspot.com/2014/03/sharepoint-external-list.html

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) Java (22) humor (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)