Порталы, построенные на платформах Microsoft Sharepoint Server 2007 (MOSS) и Windows Sharepoint Services 3.0 (WSS) позволяют достаточно быстро и дёшево автоматизировать различные аспекты производства и документооборота за счёт богатого встроенного функционала, наличия большого выбора веб-инструментария (web-parts), возможности создания пользовательских рабочих процессов с помощью инструмента Microsoft Office Sharepoint Designer 2007 (SPD) а так же за счёт возможностей интеграции Sharepoint c такими продуктами, как Microsoft Office Word 2007, Microsoft Excel 2007, Microsoft Outlook 2007, Microsoft Access 2007, Microsoft InfoPath 2007 и другими офисными продуктами компании Microsoft.
Несмотря на богатый выбор имеющихся встроенных возможностей, часто приходится сталкиваться с необходимостью создания дополнительного функционала для выполнения тех или иных задач, необходимых для создания продукта, удовлетворяющего требованиям конечного пользователя. С целью решения этой задачи разработчиками платформы Sharepoint предложен механизм установки и добавления пользовательских функций (features) на узлы MOSS и WSS с целью добавления к платформе дополнительного функционала, затрагивающего практически любые аспекты работы платформы.
Механизм создания пользовательского функционала для платформы Sharepoint достаточно эффективен, однако его реализация требует серьёзной организационной проработки и высокой квалификации исполнителей. Прежде всего, разработка должна вестись на специальном сервере разработке - причём именно на сервере! Программист должен работать на серверной консоли. На сервере должны быть установлены необходимые инструменты и библиотеки и SDK. По завершении работы программист должен создать инсталляционный пакет, который затем должен быть установлен и протестирован на тестовом сервере - точной копии рабочего сервера, и только потом установлен на рабочий сервер.
Создание пользовательского функционала полностью оправдано, если этот функционал используется неоднократно или же требует длительного времени для разработки, однако в случаях когда требуется лишь незначительное улучшение пользовательского интерфейса, то указанный выше подход может оказаться неэффективным. Но в таком случае какова же альтернатива?
В настоящее время веб-разработчики всё чаще пользуются бесплатными библиотеками JavaScript, среди которых лидирует библиотека jQuery. Это небольшая по размеру библиотека не только обладает богатейшими возможностями по настройке пользовательского веб-интерфейса но и даёт возможность организации кросс-браузерных AJAX-запросов к серверному коду.
Sharepoint, в свою очередь, предоставляет пользователям богатый набор веб-сервисов, которые не только предоставляют различную информацию об объектах на сервере, но и позволяет удалённо выполнять различные операции с этими объектами.
Чтобы подключить jQuery к узлу Sharepoint достаточно создать специализированную библиотеку на корневом узле в коллекции узлов, положить туда необходимые файлы (*.js, *.css и графические файлы). Кроме библиотечных файлов, в созданную нами библиотеку необходимо загрузить так же пустой JavaScript файл, в котором мы будем разрабатывать наше приложение (в приведённом примере он называется jscript.js, хотя название может быть любым).

Важно, чтобы все пользователи узла имели к этой библиотеке доступ на чтение, кроме того следует исключить эту библиотеку из левого и верхнего меню а так же из результатов поиска. Файлы загруженные в эту библиотеку теперь доступны по относительному адресу (например /js/jquery.js ).
Далее, загруженные файлы необходимо опубликовать на всех страницах узла. Наиболее простым способом является изменение мастер-страницы узла с помощью SPD (Microsoft Sharepoint Designer 2007).

Теперь, загруженные нами библиотеки доступны со всех страниц узла, использующих изменённую нами мастер-страницу. Для редактирования кода в загруженном нами на сервер файле (jscript.js) можно воспользоваться редактором SPD, открыв файл скрипта прямо из соответствующей библиотеки.

Редактор скрипта в SPD обладает возможностью подсветки синтакиса и даже примитивными возможностями автоподсказки.
Так как загруженные нами скрипты вызываются на всех страницах узла, как добится того, чтобы наш скрипт работал только в необходимых нам местах? Это возможно сделать средствами самого языка JavaScript, анализируя строку запроса в браузере.
В приведённом ниже фрагменте кода скрипт выполняется только в формах добавления и редактирования записи определённого списка Sharepoint.

Таким образом мы видим, что подготовка к работе с использованием jQuery не требует установки сервера разработки - для разработки достаточно создать копию целевого узла на тестовом, или даже на рабочем сервере. Программирование для Sharepoint с использованием jQuery не требует высокой квалификации разработчика для Sharepoint и может выполняться веб-программистом или веб-дизайнером, знакомым с JavaScript, jQuery и веб-сервисами Sharepoint.
Ссылки:
| 17.03.2010 |
Ведущий разработчик ООО “ТекСелл Консалт”
Олег Гончарук
.gif)
|