Создать форму для изменения списков sharepoint designer. Создание настраиваемой формы списка с помощью приложения SharePoint Designer

Приветствую пользователей SharePoint Designer!

Я Чонг Юн (Джон) Чоу (Chong Youn (John) Choe), руководитель проектов в группе SharePoint Designer. Я очень рад, что могу разместить статью по новому вопросу.

Предпосылки

Утверждение является одним из основных приложений рабочего процесса. С целью получения отзывов пользователей в SharePoint Designer 2013 представлено несколько действий. В SharePoint Designer 2013 формы задач создаются автоматически на основе определенного типа контента, поэтому тем, кто заинтересован в настройке форм задач в рабочих процессах, необходимо располагать сведениями о настройке типа контента.

Пример

Крис Брайант, дизайнер компании Contoso, хочет получить отзывы о недавно представленном дизайне новой модели продукта. Заданное по умолчанию действие Start a Task Process (Запуск задачи) подходит только для получения сообщений с утверждением или отклонением от выбранных участников, поэтому он решает изменить форму задач, чтобы она оптимально соответствовала процессу сбора отзывов.

Создание настраиваемого типа контента

Сначала необходимо создать настраиваемый тип контента на сайте. Это можно сделать на серверной стороне SharePoint Server или на клиентской стороне SharePoint Designer.

Выполните следующие действия на серверной стороне:

1. Откройте страницу Site Content Type (Тип контента сайта).

Перейдите к Site Settings (Параметры сайта) и выберите Site Content Types (Типы контента сайта) в разделе Web Designer Galleries (Коллекции веб-дизайнера). На странице Site Content Types (Типы контента сайта) выберите (Задача рабочего процесса (SharePoint 2013)) в List Content Types (Типы контента списка).

Рис. 1. Меню параметров сайта

Рис. 2. Задача рабочего процесса (SharePoint 2013)

2. Создайте тип контента сайта, который наследует тип контента Workflow Task (SharePoint 2013) (Задача рабочего процесса (SharePoint 2013)).

Вернитесь на страницу Site Content Types (Типы контента сайта) и щелкните ссылку Create (Создать). Задайте имя и описание типа контента, а затем типу Parent Content Type (Родительский тип контента) задайте тип контента Workflow Task (SharePoint 2013) (Задача рабочего процесса (SharePoint 2013)). Задание родительскому типу контента значения Workflow Task (SharePoint 2013) (Задача рабочего процесса (SharePoint 2013)) является обязательным действием для последующего использования нового настраиваемого типа контента. Выберите тип контента Group (Группа) и нажмите кнопку ОК .

Рис. 3. Задание родительского типа контента

3. Добавьте новый тип контента в список Tasks (Задачи).

Щелкните Settings (Параметры), а затем на главной странице сайта щелкните Site Contents (Контент сайта) и щелкните список Tasks (Задачи).

Рис. 4. Кнопка Tasks (Задачи)

На ленте откройте вкладку List (Список) и щелкните List Settings (Параметры списка). В разделе Content Types (Типы контента) выберите параметр Add from existing site content types (Добавить из существующих типов контента сайта), чтобы добавить созданный тип контента.

Рис. 5. Сеанс типов контента в разделе List Settings (Параметры списка)


Те же самые действия выполняются в SharePoint Designer намного проще.

1. Перейдите к меню Content Types (Типы контента) на вкладке Site Objects (Объекты сайта) в области Navigation (Навигация). Будут отображены все типы контента на сайте. Создайте тип контента сайта, нажав кнопку Content Type (Тип контента).

Рис. 6. Меню типов контента в SharePoint Designer


2. Выберите имя для нового типа контента и группу сортировки. Убедитесь, что родительским типом контента является тип контента Workflow Task (SharePoint 2013) (Задача рабочего процесса (SharePoint 2013)), как показано на рис. 7.

Рис. 7. Диалоговое окно создания типа контента

3. Затем добавьте тип контента в список Tasks (Задачи). Это действие является необходимым для последующего использования типа контента в действиях с задачами. Еще раз откройте список Tasks (Задачи) в List and Libraries (Список и библиотеки) в разделе Site Objects (Объекты сайта) на вкладке Navigation (Навигация). Добавьте созданный тип контента в список Tasks (Задачи).

Рис. 8. Управляющий элемент выбора типов контента в SharePoint Designer


Если в список Tasks (Задачи) не будет добавлен тип контента, возникнет следующая ошибка времени выполнения.
Рис. 9. Ошибка времени выполнения

Настраиваемый тип контента, созданный любым из этих способов, будет доступен в рабочем процессе.

В столбце Outcome option (Вариант результата) хранятся все возможные ответы, которые может выбрать каждый участник. Настраиваемые типы контента, созданные после выполнения приведенных выше действий, будут отображены в действиях Start a Task Process (Запуск задачи) и Assign a Task (Назначение задачи).

Изменение настраиваемого типа контента

При добавлении действия Start a Task Process (Запуск задачи) или Assign a Task (Назначение задачи) новый тип контента будет отображаться в типе конструктора Task action (Действие с задачами).

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

На рис. 10 представлен очень простой рабочий процесс по сбору отзывов.

Рис. 10. Рабочий процесс сбора отзывов

Крис, дизайнер компании Contoso, хочет получить отзыв от внутренней экспертной группы. Поэтому необходимо изменить форму так, чтобы в ней можно было хранить комментарии каждого участника.

1) Перейдите на страницу Site Settings (Параметры сайта) и откройте Site content types (Типы контента сайта) в группе Web Designer Galleries (Коллекции веб-дизайнера).

2) Щелкните Custom Content Type (Настраиваемый тип контента) в группе List Content Types (Типы контента списка).

Рис. 11. Тип контента Contoso

На этом этапе форма задач будет выглядеть аналогично форме задач по умолчанию. См. рис. 11.

В этом примере многие поля формы задач по умолчанию бесполезны. Для задачи Криса можно изменить следующие поля.

Рис. 12. Тип контента Contoso формы задачи


Давайте рассмотрим все поля по порядку, представленные на рис. 11 с типом контента Contoso, чтобы решить, потребуются ли они в нашей форме задач.

1) Поле Task Name (Имя задачи) является обязательным.

2) Поля Start Date (Дата начала) и Due Date (Дата выполнения) могутбыть полезны, но не в этой форме.

3) Поле Assigned To (Кому назначено) в этой форме не требуется, поскольку участники будут изменять уже назначенные им формы.

4) Поле "% Complete" (Процент завершения) не имеет смысла, поскольку отзыв обычно отправляется полностью сразу.

5) Поле Body (Текст) будет использоваться для сбора отзывов.

6) Поле Predecessors (Предшественники) не требуется.

7) Поле Priority (Приоритет) не требуется.

8) Поле Task Status (Состояние задачи) является основным полем для отслеживания состояния.

9) Поле Related Items (Связанные элементы) в этой форме не требуется.

10) В поле Task Outcome (Результат задачи) можно выбрать нужный результат. В данном случае для завершения процесса сбора отзывов требуется только параметр Submit (Отправить).

Все страницы работы со столбцами выглядят одинаково. Снимок экрана с примером см. ниже.

Если для поля задано значение Required (Обязательное), столбец должен быть заполнен, чтобы в дальнейшем можно было закрыть форму задач. Столбцы со значением Optional (Дополнительный) можно оставить пустыми. При выборе значения Hidden (Скрытое) или удалении столбца с помощью кнопки Remove (Удалить) столбец будет скрыт в форме задач. Например, как показано на снимке экрана ниже, после нажатия кнопки Remove (Удалить) поле Assigned To (Кому назначено) будет удалено из Contoso Content Type (Тип контента Contoso).

Рис. 13. Изменение столбца типа контента

Результаты показаны на рис. 14. Столбец Related items (Связанные элементы) скрыт, поскольку его нельзя удалить.

Рис. 14. Измененный тип контента Contoso

Кроме того, столбец сайта Task Outcome (Результат задачи) используется в типе контента Workflow Task (SharePoint 2013) (Задача рабочего процесса (SharePoint 2013)). Рекомендуется удалить столбец Task Outcome (Результат задачи) и создать новый столбец сайта с типом Outcome choice (Выбор результата), щелкнув элемент Add from a new site column (Добавить из нового столбца сайта).

Рис. 15. Измененный тип контента формы задач Contoso

Когда каждый участник получает задачу на основе приведенной выше формы, в поле описания можно написать рецензию. Для завершения задачи следует нажать кнопку Submit (Отправить). Оставшиеся столбцы, такие как Start Date (Дата начала) можно скрыть.

После этого можно переименовать столбцы так, как хочет Крис. Например, чтобы изменить имя поля результатов Submit (Отправить), выделите столбец Submit (Отправить) и щелкните ссылку Edit column (Изменить столбец) в разделе Site Column information (Сведения о столбце сайта). Здесь можно изменить имя столбца, как показано на рис. 17. Обратите внимание, что новое имя может быть задано в формате, отличном от ASCII, например "テスト".

Рис. 16. Изменение столбца

Рис. 17. Сведения о столбце сайта

Ограничения

Рабочие процессы SharePoint 2013 с SharePoint Designer 2013 создают формы задач путем анализа связанного типа контента. Обратите внимание, что InfoPath не поддерживается рабочими процессами SharePoint 2013. Это значит, что для изменения макета пользователям требуется работать с форматом ASPX напрямую.

Несмотря на уже рассмотренные изменения, кнопки Save (Сохранить) и Cancel (Отмена) нельзя изменять из SharePoint или SharePoint Designer. Более того, чтобы были доступны кнопки настраиваемых результатов, в типе контента должны существовать столбцы типа Task Status (Состояние задачи) и Task Outcome (Результат задачи). Порядок кнопок соответствует порядку значений, доступных для выбора, в столбцах типа Task Outcome (Результат задачи), включенных в тип контента. Столбцы типа Task Outcome (Результат задачи) определены как столбцы сайта в разделе Site Settings (Параметры сайта).

Рис. 18. Пример дополнительных параметров столбца для столбца типа Task Outcome (Результат задачи)

Резюме

В рабочих процессах SharePoint 2013 представлено два новых действия. Форму задач для действий можно изменять с сайтов SharePoint и из клиента SharePoint Designer, не обладая знаниями уровня разработчика. Можно создавать новые настраиваемые типы контента, которые наследуют тип контента Workflow Task (SharePoint 2013) (Задача рабочего процесса (SharePoint 2013)) и добавлять их в список Tasks (Задачи), использовать новые типы контента в рабочих процессах и при необходимости изменять настраиваемые типы контента.

Дополнительные настройки формы осуществляются путем изменения формата ASPX, однако они не рассматриваются в рамках этой статьи.

Надеюсь, что с помощью представленной здесь простой процедуры вы сможете реализовать необходимые вам рабочие процессы.

До встречи в следующей публикации!

Чонг Юн (Джон) Чоу (Chong Youn (John) Choe)

очередь , предназначена для разработки веб-узлов, построенных на технологии SharePoint. В отличие от небогатого набора методов редактирования узлов SharePoint в браузере, SharePoint Designer дает возможность гибкого и удобного управления практически всем спектром свойств веб-страниц. Существенно, что в подавляющем большинстве случаев (по крайней мере, в рамках нашего курса) пользователю не придется обращаться к HTML-коду, ограничиваясь для разработки веб-страниц режимом Конструктор .

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

Будем изучать вопросы редактирования веб-страниц SharePoint на примере того же самого веб-узла "Рога и Копыта", который был нами создан ранее средствами браузера. После его открытия в SharePoint Designer (в ходе которого необходимо будет пройти процедуру авторизации, подписавшись учетной записью Бендер, т.е. владельца узла), в пределах основной панели мы будем наблюдать файловую структуру веб-сайта, идентичную содержимому панели Список папок (рис. 7.1) .

Перейдем к правке домашней страницы узла.

  1. Щелкните дважды по имени домашней страницы default.aspx в списке папок (рис. 7.1) .
  2. После открытия домашней страницы в отдельной вкладке (рис. 7.2) поэкспериментируйте с ее содержимым, наводя указатель на различные ее элементы и щелчком выделяя их.

Скорее всего (это зависит от того, включен или нет режим визуальных подсказок ), некоторые элементы будут сопровождаться полупрозрачным текстом-подсказкой, который, возможно, будет Вам на первых порах мешать их восприятию. Кроме того, при наведении указателя на отдельные элементы (например, логотип ), он будет менять свой вид на запрещающий значок, говоря о невозможности редактирования элемента под указателем. Это связано с тем, что, вообще говоря, веб-страница стандарта SharePoint, формируется путем слияния, как минимум , двух веб-страниц:

  1. мастер-страницы (или, по-другому, главной страницы узла) – страницы-шаблона, включающей общие элементы для всех страниц узла SharePoint
  2. страницы содержимого (контента) – собственно говоря, содержащей уникальное наполнение страницы, отличающее ее от других страниц узла.

Большинство элементов, которые сопровождаются полупрозрачными метками, как раз и приходят не со страницы содержимого (в данном случае, домашней страницы веб-узла default .aspx), а приходят с шаблонной мастер-страницы . Для того, чтобы отключить отображение этих меток, выберите в верхнем меню Вид пункт Визуальные подсказки и отключите в нем опцию Показать (рис. 7.3) . После этого ориентироваться в содержимом страницы станет проще.

Выделение содержимого на веб-странице

Для того, чтобы выделить конкретный элемент веб-страницы, достаточно щелкнуть по нему (рис. 7.4) . Вообще говоря, для выделения веб-страниц в SharePoint Designer предусмотрено несколько способов:

  1. мышью в области Конструктор (или Код );
  2. щелчком по тегу на панели доступа к тегу , расположенной под закладкой страницы (для элементов, настраиваемых на самой aspx-странице);
  3. при помощи панели инструментов Главная страница (для элементов, приходящих с мастер-страниц ).

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

Краткая аннотация (до 255 знаков): В лекции излагаются базовые приемы редактирования статическихHTML-страниц в программе Microsoft Office SharePoint Designer 2007. Рассматриваются вопросы работы с изображениями, стилямиCSS, таблицами, гиперссылками и некоторые другие приемы классического веб-дизайна.

Список ключевых терминов .SharePointDesigner, тег, стили, каскадные таблицы стилей,CSS, клипы, рисунки, изображения.

Цель лекции . Представить программуSharePointDesignerв качестве средства разработкиHTML-страниц, сделав акцент на предусмотренные в ней средства визуального проектирования.

      1. Преамбула

Несмотря на то, что программа SharePointDesigner, в первую очередь, предназначена для редактирования веб-узловSharePoint, ее, тем не менее, довольно удобно использовать в качестве неплохого средства традиционного веб-дизайна. Поэтому посвятим данную главу основам примененияSharePointDesignerдля разработкиHTML- иASPX-страниц, не касаясь особенностей технологииSharePoint, однако, имея в виду, что приведенные в главе сведения пригодятся и при разработке страницSharePoint. Ведь почти все элементы управленияHTML- иASP- допускается размещать на веб-страницах стандартаSharePoint.

При изложении материала в этой главе подразумевается, что читатель владеет самыми основными приемами HTML-дизайна.

Начнем с неотъемлемого приема современного веб-дизайна, связанного с использованием каскадных таблиц стилей .SharePointDesignerобладает развитыми средствами по применению стилей, главным из которых является панельСвойства CSS .

        1. Подключение css-файла

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

    Разместите на экране одновременно окно Проводника WindowsиSharePointDesigner(рис. 6.1).

    Перетащите файл каскадной таблицы стилей из папки Проводника на панельСписок папок (рис. 6.1)

Рис. 6.1. Перенесите CSS-файл на панельСписок папок

    Перетащите CSS-файл из панелиСписок папок на областьКонструктор (рис. 6.2).

Рис. 6.2. Перетащите CSS-файл прямо на областьКонструктор

    Откройте область задач Свойства CSS .

    На панели Свойства CSS просмотрите свойства стиля, который определяет форматирование тега, размечающего выделенный объект. В нашем примере это тег , указанный в спискеПримененные правила (рис. 6.3).

Рис. 6.3. Результат применения таблицы стилей

Отредактировать сам файл, описывающий таблицу стилей (т.е. файл с расширением.CSS ), можно непосредственно в SharePoint Designer. Для этого достаточно двойным щелчком открыть его в отдельной вкладке и править, как в обычном текстовом редакторе (рис. 6.4). Второй вариант изменения самих стилей – это выбор желаемого форматирования на панелиСвойства CSS .

Рис. 6.4. Редактирование файла с таблицей стилей

        1. Назначение и редактирование стилей

Для, собственно, назначения существующих стилей CSSслужат области задачПрименение стилей иУправление стилями . Следует отметить, чтокаскадные таблицы стилей подразумевают последовательное применение стилевой разметки, которая может описываться, как в коде самой веб-страницы, так и в обособленныхCSS-файлах, с ней связанных. Кроме того, стили могут использоваться для различных целей: форматирования текста и графики, позиционирования объектов на веб-странице и т.д. Принцип каскадного назначения стилей иллюстрируется рис. 6.5. Как видно из панелиПрименение стиля , стили, назначенные выделенному фрагменту на веб-странице, имеют выделяются обрамлением.

Рис. 6.5. Каскадное применение стилей

Для того, чтобы применить к выделенному фрагменту какой-либо стиль, достаточно щелкнуть по имени этого стиля на панели Применение стиля (рис. 6.6).

Рис. 6.6. Назначение стиля посредством панели Применение стиля

Обратите внимание на атрибут classтега

(или другого тега), который, собственно, и определяет, каким стилем размечен фрагмент веб-страницы (рис. 6.6). На рис.6.7 приведена сводка элементов интерфейсаSharePointDesigner, на которых отображаются название и свойства стиля, назначенного выделению. Таким образом, пользователь имеет определенную свободу в выборе панелей, которые он будет применять для настройки стилейCSS.

Рис. 6.7. Сводка мест отображения назначенного стиля

Помимо панели Применение стиля , для назначения и редактирования стилей может применяться и панельУправление стилями (рис. 6.8).

Примечание: Вопросам применения стилей вSharePointDesignerпосвящена лабораторная работа 6.1.

Рис. 6.8. Использование панели Управление стилями

В частности, вызывая из области названия некоторого стиля контекстное меню и выбирая в нем пункт Изменить стиль , Вы получаете доступ к редактированию параметров данного стиля в диалоговом окне (рис. 6.9). Выбор командыПерейти к коду открывает фрагмент кода выбранного стиля в отдельной вкладке (см. рис. 6.4).

Рис. 6.9. Настройка стиля

На этот раз, мне потребовалось внести изменения на формы стандартного SharePoint"овского списка. Таких форм существует три вида, и вы все их прекрасно знаете:

  1. DisplayForm - форма отображения элемента списка
  2. EditForm - форма изменения элемента списка
  3. NewForm - форма создания нового элемента списка
Из-за большого количества полей в одном из наших списков, мне захотелось разнести эти поля по вкладкам. Причем, захотелось также следующее:
  1. Чтобы сохранилась возможность добавлять новые поля в список
  2. Чтобы можно было перемещать поля из одной вкладки в другую, и менять порядок их следования
  3. Чтобы поля рендерились стандартными средствами
Для того, чтобы определить принадлежность полей к вкладкам, я раскопал способ добавления пользовательских данных в SPField, и создал симпатичный jquery-интерфейс для того, чтобы этим мог заниматься пользователь. Но дальше дело, неожиданно, застопорилось: оказалось, что народ повсеместно пользуется для подобных целей грязными js-хаками, а такой способ мне категорически не подошел!

И вот, после долгих исследований и поиска в интернетах, мне-таки удалось понять, как же это делается правильно, и воплотить в жизнь вот такую вот красивую форму:

Как видите, часть полей (ФИО и фотография) здесь рендерятся по-особому. Остальные поля рендерятся обычным образом, но разбиваются на вкладки (пользователь может менять порядок полей и принадлежность полей разным вкладкам).

В общем, функционал на мой взгляд, весьма интересный, и в этом посте я расскажу подход к подобным изменениям.

Как делают все

Оказалось, что когда дело доходит до форм списков, большинство SharePoint-разработчиков использует крайне сомнительные подходы:

  1. Создание новой формы в виде aspx-страницы, которая кладется в _layouts. Форма полностью "кастомная", и если в список добавить поле, это поле придется руками добавлять и на форму...
  2. Javascript и jquery-хаки. К примеру, такие известные проекты, как Virto Ajax List Form Extender и SPServices - на самом деле парзят содержимое страницы с формой уже после её загрузки, и затем вносят свои изменения.
Ни один из этих подходов мне не понравился.

Создание целиком новой формы вообще пошло из SharePoint Designer, то есть это кустарное решение, решение для сисадминов.

Что же касается jquery, то это типичный клиентский подход, изобилующий собственными минусами:

  • В таких решениях, чаще всего даже невооруженным взглядом видно, что сначала форма загружается в обычном виде, а через мгновение - меняется (например, добавляются вкладки, и т.д.). Чем больше полей, тем лучше это видно.
  • jQuery использует механизм, который в профессиональной среде называется скринскрэпингом (screen scraping, data scraping), а даже само слово это - дурно пахнет! По сути, скрипт парзит HTML-код или же ищет элементы DOM-модели по некоторым признакам - в любом случае, признаки эти официально нигде не заявлены, и никто не гарантирует, что после очередного обновления SharePoint, ваш код останется работоспособным.
RenderingTemplate

Через некоторое время поисков, я понял, что если мне что-то и поможет, то только механизм RenderingTemplate . Этот механизм позволяет задавать т.н. шаблоны отображения форм списков для типов содержимого (класс SPContentType , свойства EditFormTemplateName , NewFormTemplateName и DisplayFormTemplateName ).

RenderingTemplate представляет собой обычный ASP.Net контрол, реализующий интерфейс ITemplate , и позволяющий задать шаблон для отображения формы списка. Куча RenderingTemplate"ов лежит в файлике 14\TEMPLATE\CONTROLTEMPLATES\DefaultTemplates.ascx . Среди них, присутствует и шаблон под именем ListForm , который представляет собой стандартный шаблон для отображения всех форм списка.

Центральным элементом шаблона ListForm является контрол ListFieldIterator . Собственно, он и отображает все поля. И что интересно, от него можно отнаследоваться, а затем переопределить метод Render , чтобы изменить отображение так, как нам вздумается.

FormContext

Когда мы переопределяем метод Render в новосозданном потомке ListFieldIterator , сразу же возникает вопрос: а как рендерить поля? Откуда взять сведения о том, какие у нас есть поля, каковы их значения, и т.д. Оказалось, всё очень просто, и решается с помощью коллекции SPContext.Current.FormContext. FieldControlCollection . Эта коллекция хранит объекты типа BaseFieldControl , каждый из которых содержит, среди прочего, свойства Field и ItemFieldValue , которые позволяют получить любые сведения о поле, и значении этого поля.

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

Ниже представлен шаблонный пример класса-потомка ListFieldIterator :

public class CustomFieldIterator : ListFieldIterator { protected override void Render(HtmlTextWriter output) { foreach (BaseFieldControl fieldControl in SPContext .Current.FormContext.FieldControlCollection) { if (fieldControl.Field == null ) continue ; // небольшой хак, если его не использовать, // IsFieldExcluded будет всегда возвращать true, // т.к. считает, что контрол уже есть, и еще раз // добавлять его не требуется. fieldControl.Visible = false ; if (!this .IsFieldExcluded(fieldControl.Field)) { output.AddAttribute("class" , "my-field" ); output.AddAttribute("id" , "field" + fieldControl.FieldName); output.RenderBeginTag(HtmlTextWriterTag .Div); output.Indent++; // Восстанавливаем видимость и рендерим контрол fieldControl.Visible = true ; fieldControl.RenderControl(output); output.Indent--; output.RenderEndTag(); } } } }


В этом фрагменте, правда, отсутствует прорисовка заголовков и описаний полей, но пусть это будет домашним заданием:)

Кстати, возможностей данный подход открывает великое множество, если подумать...

Проект-пример

Проект, демонстрирующий описанный выше способ, доступен для скачивания .

P.S. Мои исследования во многом основывались на статье Виталия Баума Расширяем возможности ListFieldIterator , спасибо ему большое за эту статью!

Собственно, там описан практически такой же результат, который получил и я, только Виталий объединял поля не во вкладки, а в секции:

Кроме того, сведения о секциях хранились у Виталия в схеме типа содержимого, а не присоединенными к полям, что накладывало некоторые ограничения и неудобства.

Но вообще, статья обрывочная, вот честно. Фрагменты кода в надерганы очень куцо, мне по ним было крайне сложно сориентироваться, почти до всего пришлось доходить самому.

В целом, надеюсь, мой пост прольет еще больше света на это очень правильное направление.

Office SharePoint Designer 2007 предлагает набор средств, позволяющих автоматизировать бизнес-процессы, создавать эффективные приложения поверх платформы Microsoft SharePoint и адаптировать узел SharePoint для ваших потребностей - и все это в управляемой среде информационных технологий.

Возможности

Более быстрое создание решений с целью повысить производительность и эффективность работы группы.

Office SharePoint Designer 2007 позволяет создавать и распространять приложения на платформе SharePoint, без необходимости записи кода.

  • Возможность автоматизации бизнес-процессов, таких как утверждение документов, уведомление о событиях и других совместных задач с помощью Workflow Designer.
  • Создание приложений отчетов и отслеживания информации с помощью средств просмотра и форм данных, облегчающих сбор и показ данных из внешних источников за пределами вашего веб-узла, а также из списков SharePoint и библиотек документов, расположенных на веб-узле.
  • Возможность быстрее приступить к работе, используя встроенные шаблоны приложений Microsoft Windows SharePoint Services, полностью настраиваемые и имеющие возможность расширения с помощью Office SharePoint Designer 2007.
  • Возможность расширить ваши решения путем создания улучшенных интерактивных страниц Microsoft ASP.NET. Возможность вставки и редактирования элементов управления с помощью мощных меню операций и сетки управления свойствами, ранее доступных лишь в средствах разработки Microsoft Visual Studio 2005.

Workflow Designer позволяет осуществить автоматизацию бизнес-процессов, в частности, автоматизировать назначения задачи и уведомления, связанные со списками SharePoint и библиотеками документов, для чего необходимо установить пользовательские условия и операции делопроизводства и связать их с данными SharePoint.

Разработка информативных узлов SharePoint для потребностей вашей организации

Office SharePoint Designer 2007 обеспечивает профессиональные средства разработки, необходимые для создания эффектных страниц SharePoint, совместимых с большинством обозревателей. Насладитесь возможностями интуитивно понятной разработки, реализованной в высококачественном редакторе WYSIWYG ("Что видишь на экране, то и получаешь"), осуществляйте быстрое форматирование страниц SharePoint с помощью инструментов таблиц стилей (CSS), легко меняйте макет и формат своего веб-узла, пользуясь возможностью полной поддержки главных страниц ASP.NET.

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

Для администраторов веб-узлов и менеджеров по информационным технологиям: обеспечение управления веб-узлами

Администраторы веб-узлов и менеджеры по информационным технологиям могут осуществлять четкое отслеживание того, каким образом используется Office SharePoint Designer 2007, чтобы обеспечить управляемую и контролируемую среду для сотрудников, работающих с информацией. Установите Contributor Settings (настройки участника) для каждой роли пользователя, определенной на вашем узле SharePoint, и контролируйте доступ к специальным действиям, таким как внесение изменений в главные страницы и CSS. Определите параметры использования страниц, файлов и папок, быстро выполните откат поправок, сделанных в рамках вашего узла, и обеспечьте надлежащее управление вашим узлом, его совместимость с обозревателем и доступ в Интернет.

Воспользуйтесь диалоговым окном Contributor Settings ("Настройки участника") для управления группами участников, управления изменяемыми областями и др.

Новое в версии

Интерактивные решения, не требующие написания кода

С помощью Office SharePoint Designer 2007 можно легко и быстро создавать сложные решения, не требующие написания кода, например представления данных, отчеты и средства контроля рабочих процессов, используя меню, области задач и шаблоны.

Включение данных из разнообразных источников в интерактивные веб-страницы

С помощью Office SharePoint Designer 2007 можно создавать настраиваемые представления данных и формы данных, позволяющие эффективнее использовать технологии Microsoft ASP.NET и поддерживающие интеграцию внешних данные в веб-узел, в том числе представления, отображающие данные из нескольких источников.

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

Доступ к разнообразным источникам данных из библиотеки источников данных

Представления данных можно создавать из многочисленных источников данных, включая следующие.

  • RSS-каналы Добавляйте RSS-каналы в библиотеку источников данных и создавайте представления данных, используя в качестве источников данных RSS-каналы.
  • XML-файлы Добавляйте в библиотеку источников данных XML-файлы и создавайте представления данных, которые отображают XML-данные.
  • XML-документы Office Создавайте представления данных из документов Система Microsoft Office 2007. Например, создайте представление на основе данных из документовMicrosoft Office Word 2007, используя в качестве источника данных новый формат файлов на основе XML.

Создание наглядных и информативных отчетов

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

Более эффективная организация совместной работы с помощью встроенного конструктора рабочих процессов

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

Применение шаблонов приложений SharePoint

Для более эффективного совместного доступа к данным можно использовать веб-узлы встроенных приложений, например, "Учет командировочных расходов" и "Управление отпусками и отгулами". Каждый шаблон приложения можно настраивать и расширять с помощью Office SharePoint Designer 2007. (Ссылки на другие примеры веб-узлов приложений см. в разделе См. также . Эти приложения предназначены для использования в Microsoft Windows SharePoint Services 2.0. Приложения для Службы Microsoft Windows SharePoint Services 3.0 появятся позже.)

Создание интерактивных страниц ASP.NET

Можно создавать страницы ASP.NET и добавлять в них пользовательские элементы управления ASP.NET, используя мощные меню действий с элементами управления и таблицу свойств элемента управления, подобные тем, что предусмотрены в Microsoft Visual Studio 2005.

Профессиональные средства разработки

В состав Office SharePoint Designer 2007 включены профессиональные средства разработки, позволяющие создавать первоклассные узлы SharePoint, настроенные в соответствии с конкретными целями.

Удобство наглядной разработки

Можно просматривать и изменять страницы SharePoint, используя передовые технологии на основе принципа WYSIWYG - "что видишь, то и получаешь".

Форматируйте страницы легко и быстро, используя мощные средства каскадных таблиц стилей.

Новые средства каскадных таблиц стилей, например, области задач Применить стили и Управление стилями делают применение таблиц стилей и управление ими быстрее и легче.

Новые области задач каскадных таблиц стилей позволяют легко редактировать и обновлять таблицу стилей SharePoint.

Используйте главные страницы ASP.NET для поддержания единообразного оформления узла.

Office SharePoint Designer 2007 поддерживает главные страницы ASP.NET, которые можно использовать для управления разметкой всего узла путем создания и изменения единого шаблона.

Интеграция с Microsoft Office SharePoint Server 2007

Office SharePoint Designer 2007 включает совершенно новый набор функциональных возможностей, преимущества которых могут использовать как пользователи, так и администраторы узла портала Office SharePoint Server 2007 для создания и расширения узлов и страниц портала с недоступной до сих пор свободой действий.

Простая настройка страниц узла портала

Узлы портала Office SharePoint Server 2007 могут настраиваться в полном объеме средствами Office SharePoint Designer 2007. Таблицу стилей SharePoint можно редактировать с помощью самых современных средств редактирования каскадных таблиц стилей.

Расширение рабочих процессов деловой документации

С помощью конструктора рабочих процессов в Office SharePoint Designer 2007 можно расширять имеющиеся в Office SharePoint Server 2007 встроенные рабочие процессы деловой документации, а также создавать настраиваемые рабочие процессы с нуля.

Создание настраиваемых представлений данных предприятия

С помощью каталога бизнес-данных Office SharePoint Server 2007 и представлений данных Office SharePoint Designer 2007 можно выполнять следующие действия.

  • Создавать настраиваемые представления важных деловых данных и даже создавать представления данных, объединяющие сведения из разных источников данных.
  • Использовать условное форматированное, чтобы привлечь внимание к важным сведениям.
  • Использовать формы данных преобразования XSLT, чтобы просто и быстро создавать, обновлять и отображать данные.

Расширенные возможности управления

Office SharePoint Designer 2007 может использоваться администраторами узла и и руководителями отделов информационных технологий для управления уровнями доступа, чтобы обеспечить пользователям всего узла единообразные условия работы.

Использование режима корреспондента

Определяя уровни управления для участников групп в соответствии с их ролями, можно управлять тем, к каким командам Office SharePoint Designer 2007 пользователи могут иметь доступ, а также какие типы изменений пользователи могут вносить в узел SharePoint. В режиме корреспондента можно выполнять следующие действия.

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

Более эффективное управление веб-узлом

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

Отслеживание настроенных страниц

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

Восстановление предыдущих версий

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

Центр диагностики Office

Центр диагностики Microsoft Office - это ряд диагностических тестов, помогающих установить причины сбоев компьютера. Диагностические тесты могут устранять неполадки непосредственно либо указывать способы их устранения. Центр диагностики Microsoft Office заменяет такие средства Microsoft Office 2003 как команда "Найти и восстановить" и средство восстановления приложений Microsoft Office.

Средства проверки

Ниже перечислены некоторые новые функции средства проверки орфографии.

  • Средство проверки орфографии стало более согласованным в программах Система Microsoft Office 2007. Вот несколько примеров этого изменения.
    • Некоторые функции проверки орфографии теперь стали глобальными. При изменении одного из этих параметров в одном приложении Office он также изменяется для всех остальных приложений Office.
    • Все приложения могут не только пользоваться одними и теми же общими словарями, но также и управлять ими с помощью одного и того же диалогового окна.
  • Средство проверки орфографии Система Microsoft Office 2007 включает новый французский словарь. В Microsoft Office 2003 это средство было необходимо устанавливать отдельно.
  • При первом использовании языка для него автоматически создается словарь исключений. С помощью этого словаря средство проверки орфографии может пометить слова, употребления которых следует избежать. Таким образом можно исключить из текста вульгарные или не соответствующие текущему стилю слова.

Системные требования

Для использования Microsoft Office SharePoint Designer 2007 необходимо следующее оборудование:

Компонент

Требование

Компьютер и процессор с частотой не менее 700 мегагерц (МГц)
Память ОЗУ не менее 512 мегабайт (МБ)
Место на жестком диске 1,5 гигабайт (ГБ). Часть места на диске будет освобождена после установки при удалении с него исходного загрузочного пакета.
Устройство чтения дисков устройство чтения компакт-дисков или DVD-дисков
Экран с разрешением не менее 1024x768
Операционная система Microsoft Windows XP с пакетом обновления 2, Windows Server 2003 с пакетом обновления 1 или более поздняя версия 1
Прочее Для настройки сайта SharePoint, разработки документооборота и построения приложений требуется Windows SharePoint Services или Microsoft Office SharePoint Server 2007.

Internet Explorer 6.0 или более поздняя версия, только 32-разрядный обозреватель. Для функциональности Интернета требуется подключение к Интернету (возможно, на платной основе). Требуется наличие доступа к сети.

Дополнительно Фактические требования и функциональность продукта могут отличаться в зависимости от системной конфигурации и операционной системы.

1 Мастер очистки Office недоступен в 64-разрядных операционных системах.



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!