понедельник, 13 сентября 2010 г.

Применение XML web part

В составе Sharepoint по-моему с самого его рождения присутствует встроенная веб-часть по-русски называемая Средство просмотра XML (XML Web Part). Цель ее существования довольно простая: взять указанный XML и XSL, натравить последний на первого и результат вывести на сайт. Просто и красиво.
Однако, лично у меня никак у меня не складывалась для нее задачка. В первом случае функционала веб-части оказалось недостаточно. Во-втором случае... вот про второй случай и пишу, собственно.
Как я писал ранее в блоге, у нас имеется отличный файл PassThrough.xml на сервере Sharepoint в котором хранится информация о всех входах и выходах сотрудников в/из здания института. Файл обновляется каждые 5 минут, чего достаточно для того, чтобы информацию назвать актуальной. И родилась мысль, что из базы проходов сотрудников через турникет можно вывести некоторую статистическую информацию, например:

  • количество сотрудников пришедших за день
  • количество сотрудников пришедших вовремя
  • количество сотрудников пришедших с опозданием 10 минут
  • количество сотрудников совсем опоздавших
  • количество сотрудников в здании на текущий момент с учетом вошедших и вышедших

Вот тут веб-честь и пригодилась. XML файл с исходными данными есть, написать XSL файл для его преобразования недолго. В итоге, за сегодняшний день сформировалась табличка с показателями.


Учитывая, что все равно заинтересуются более-менее детальной информацией об опоздавших и т.п., сразу добавил возможность раскрыть список соответствующих сотрудников с указанием времени прохода через турникет.

Странной особенностью настройки веб-части оказалось указание путей поиска XML и XSL файлов. В соответствии с требованием веб-части изначально указал относительные URL пути:

_layouts/1049/styles/AlxdContactNavigator/PassThrough.xml

_layouts/1049/styles/AlxdContactNavigator/PassThrough.xsl

Проверка указанных путей прошла отлично, но веб-часть упорно отрицала существование файла. Чего только я не перепробовал, пока не догадался подсунуть локальный полный путь к файлу, а именно:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\1049\STYLES\AlxdContactNavigator\PassThrought.xsl

И вот тут веб-часть успешно приняла исходные параметры и показала мне результат.

XML и XSL файл, плюсом к ним CSS файл лежат в архиве PassThrough.zip, если кому будет интересно.

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

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