вторник, 7 сентября 2010 г.

Контакты в Sharepoint 2010

Разработчики Microsoft очевидно очень любят все менять в своих продуктах, особенно интерфейс, поэтому под каждую новую версию продукта приходится перекомпилировать все доп. модули. Не обошла стороной судьба и веб-часть AlxdContactNavigator. К счастью, перекомпиляция прошла гладко, модификации кода практически не было, пришлось только поправить bat-ник, ответственный за инсталляцию веб-части (bat-ник от старой веб-части).

В итоге, получился ожидаемый результат:



Отдельно хочу остановиться на доп. возможности, которую реализовал при отображении дерева контактов и информации о контакте, а именно, информации о присутствии. Как я писал раньше, у нас есть проходная, которая работает на Paradox-овской базе данных, регулярно сбоит и падает. Данные оттуда брать крайне неудобно, поэтому мой коллега написал сервис, который запускается на машине и через определенный промежуток времени перегоняет данные из базы проходной на сервер баз данных MS SQL 2005 и заодно делает файл PassThrough.xml, в котором содержится информация о прохождении сотрудников за текущий день.

Дописав код в AlxdContact.xsl и AlxdTreeView.xsl завязанный на PassThrough.xml получил отображение присутствия или отсутствия сотрудника (см. рисунок). Код в xsl ответственный за отображение присутствия легко удалить, т.к. он отмечен комментариями.

Преимущества веб-части:
1. Бесплатно.
2. Полная custom'изация.

Недостатки веб-части:
1. Обновление дерева контактов только с перезагрузкой всей страницы.

Установка веб-части AlxdContactNavigator осуществляется с помощью bat'ника setup.bat с ключом -i. Удаление - ключ -u.
В архиве есть папка AlxdContactNavigator в которой расположены xml, xsl и css файлы, а также картинки. Рекомендую ее разместить так, чтобы к файлам можно было получить доступ по URL, например, я разместил в папке:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\1049\STYLES\AlxdContactNavigator\
что соответствует URL пути:
http://server/_layouts/1049/styles/AlxdContactNavigator
Если при установке возникнут проблемы, пишите...

12 комментариев:

  1. В прошлой версии веб-части с ней была dll, а в этой нет - это особенность SharePoint2010 или компиляции?

    ОтветитьУдалить
  2. Пробовал устанавливать веб-часть через:
    Действия сайта -> Параметры сайта -> Решения -> Отправить решение -> Активировать. Всё проходит.
    Затем добавляю на страницу:
    Изменить страницу -> Добавить веб-часть -> Custom -> AlxdContactNavigator -> Добавить. Выпадает алерт "Не удалось найти доступный сервер выполнения изолированного кода".
    SPUserCode запущен.

    ОтветитьУдалить
  3. Dll ненужна, мне просто лень было каталог чистить раньше.
    Установить надо через setup.bat -i на стороне сервера WSS.

    ОтветитьУдалить
  4. Спасибо, большое за ответ. Уже разобрался. Веб-парты схожи с xap (SilverLight) это тоже архив в котором уже есть dll.

    ОтветитьУдалить
  5. Так заработала веб-часть? Пригодилась?

    ОтветитьУдалить
  6. Часть заработала, но пригодилась только в качестве опытного образца. А так свою часть писал, Ваш блог очень помог.

    ОтветитьУдалить
  7. Где можно изменить цвет заливки в таблице с синего на любой другой?
    http://s2.ipicture.ru/uploads/20110204/Zp8s0Al4.png

    ОтветитьУдалить
  8. Все настройки интерфейса в xsl и css.

    ОтветитьУдалить
  9. не выходит..
    setup запустил все установилось, но выходит ошибка

    Ошибка
    Во время просмотра веб-части произошла ошибка.

    Устранение неполадок в работе службы Microsoft SharePoint Foundation.

    Идентификатор взаимосвязи: 67c6ae6b-9dfa-488e-8df2-3e2ecc1ea7f4

    Дата и время: 12.08.2011 15:16:11

    Файлы по http://сервер/_layouts/1049/STYLES/AlxdContactNavigator/AlxdContact.xsl
    доступны и открываются, в чем может быть затык..

    ОтветитьУдалить
  10. Столкнулся с таким явлением - в Firefox поле с данными контакта не обновляется при просмотре следующего контакта, а добавляет данные сл. контакта к данным предыдущего. В IE и Chome такого не наблюдается.

    ОтветитьУдалить
  11. Добрый день! В вашем блоге нашли разработку 3d моделей на основании проектов ГП. Нас интересует проект ГП 868 - на нефтегазосепараторы НГСВ. Подскажите как с вами можно связаться?
    ООО "Химмаш"
    Качурина Кира
    (8412) 59-44-14
    сот. 8-927-375-15-69
    kira_kachurina@mail.ru

    ОтветитьУдалить