Создать форму для изменения списков 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)

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-разрядных операционных системах.

На этот раз, мне потребовалось внести изменения на формы стандартного 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 , спасибо ему большое за эту статью!

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

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

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

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

Для различных элементов одностраничного сайта в программе SharePoint Designer ? Конечно, когда Вы сайт уже сделали, подключать новые бессмысленно. Поэтому давайте в создадим новый файл через пункт меню Файл — Создать . И сразу откройте html-код, чтобы лучше видеть те изменения, которые будут в нем происходить в процессе Вашей работы.

Нажмите на Формат — Создать стиль , либо выберите соответствующую опцию в окне Управление стилями . В окошке Значение выбора: выберите в раскрывающемся списке body . Оставьте Определить в: текущей странице. И определите для всего сайта : шрифт, размер, цвет и так далее. К примеру, можно выбрать

font-family: Arial, Helvetica, sans-serif;
font-size: 18px
(в поле пропишите вручную);
font-weight: bold;
color:
выберите темно-синий.

Когда Вы выбираете цвет, в окошке появляется код цвета. При желании, код нужного цвета можно прописать и вручную. Нажмите ОК. В html-коде сайта в таблице стилей CSS появляется следующее:

body {
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
font-size: 18px;
color: #000080;
}

Теперь переключитесь на Конструктор , и попробуйте что-нибудь написать. Вы увидите, что текст будет темно-синим, жирным, размер 18 пикселей, со шрифтом Arial.

Если Вы переключитесь назад в Код , то увидите, что видимый текст, который Вы только что написали, окружен тэгами

И никаких лишних кодов непосредственно в видимой части сайта нет: все форматирование находится в таблице стилей CSS отдельно от текста.

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

Давайте еще поработаем с таблицей стилей CSS и посмотрим, какие возможности перед нами открываются.

В поле: Значение выбора: Вы можете присвоить стиль CSS всему документу (body), ссылке (a), заголовку (от h1 до h6), таблице (table) и так далее, вариантов выбора очень много. Также в этом поле можно создать , а потом их присвоить различным фрагментам Вашего сайта.

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

Как, например, задать цвет и картинку фона для сайта? В поле Значение выбора: выбираете body , затем выбираете категорию Фон , и выбираете цвет фона (background-color) и картинку фона (background-image). Файл картинки, естественно, должен быть в папке сайта. Кстати, всегда цвет фона подбирайте в тон основного цвета картинки фона, потому что когда картинка не сразу загружается, именно цвет фона будет виден поначалу, пока картинка не загрузится. Там же Вы можете задать свойство неподвижности для фона, если Выберете background-attachment: fixed .

А если Вы захотите сделать так, чтобы все ссылки на Вашем сайте при наведении на них мышкой становились, например, красными. нужно сделать следующее: в поле Значение выбора: выбираете a:hover — это ссылка с наведенным на нее курсором. А в категории Шрифт выберите color: красный . После того, как Вы это сделаете, в таблице стилей CSS появится еще один стиль:

a:hover {
color: #FF0000;
}

Стили CSS можно не только добавлять новые, но и редактировать уже существующие. Для редактирования заходите в Формат — Стили CSS — Управление стилями . Справа Вы увидите это окошко: Управление стилями : в нем Вы увидите стили CSS, которые есть на сайте. Нажимаете правой клавишей на нужном стиле, и выбираете Изменить стиль . Появляется окошко, в котором Вы можете добавить новый атрибут к стилю, или удалить, или отредактировать уже добавленный атрибут.

Например, давайте отредактируем стиль a:hover , который Вы уже создали. В окошке Управление стилями нажимаете на него правой клавишей, выбираете Управление стилями , и в открывшемся окне добавляете новый атрибут. Пусть это будет увеличенный размер шрифта. Выберите font-size: xx-large . Нажмите ОК. Сохраните изменения и посмотрите в браузере, что получится: цвет ссылки при наведении на нее мышкой должен увеличиваться.

А если Вы, например, не хотите, чтобы ссылки были подчеркнутыми, Вам нужно в окошке Значение выбора: выбрать a:link — просто ссылку. Затем в категории Шрифты выбираете text-decoration: non e (ставите птичку в соответствующее окошко).

Видео о том, как работать с таблицей стилей CSS в SharePoint Designer

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

Также Вы можете подписаться на блог, и узнавать о всех новых статьях.
Это не займет много времени. Просто нажмите на ссылку ниже:

Списки и библиотеки SharePoint содержат формы списков, позволяющие пользователям отображение, изменение и добавление элементов в список или библиотека. С Microsoft SharePoint Designer 2010 можно создать и настроить эти формы, чтобы упростить для пользователей для добавления и обновления элементов в списке. Формы списка является частью решения, которые вы создали, вам может понадобиться настроить форму таким образом, предназначены для решения и сбор необходимых данных для поддержки решения.

В настраиваемой формы списка можно показать или скрыть определенные поля, реорганизация этих полей, изменение макета формы, добавления форматированного текста и рисунков и в конце концов, измените XSL, HTML или ASP, используемые в форме. Эти задачи можно выполнить только путем создания настраиваемой формы списка в SharePoint Designer 2010.

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

В этой статье

Обзор форм списков по умолчанию

Формы списка расположены в той же папке их связанного списка SharePoint. С помощью SharePoint Designer 2010, можно быстро и легко просматривать формы списка по умолчанию, связанное со списком.

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

Еще один способ просмотра форм - открытие иерархии сайта с помощью вкладки Все файлы на панели Навигация .

Формы списков DispForm.aspx, EditForm.aspx и NewForm.aspx

По умолчанию со списком связано три формы: DispForm.aspx, EditForm.aspx и NewForm.aspx. Ниже приведено три иллюстрации, показывающих формы списка "Извещения" по умолчанию.

Примечание: Библиотеки SharePoint для добавления в библиотеку элементов вместо NewForm.aspx используют другую форму, Upload.aspx.

Создание новых форм списков

Формы списка по умолчанию (в форму элемента отображения формы изменить элемент и форма нового элемента) хранятся в веб-части называется часть Web формы списка (LFWP). LFWP использует CAML (совместной работы приложения Markup Language) для отображения формы, а это нельзя настроить в SharePoint Designer 2010.

Чтобы настроить форму, вставьте данных формы веб частей (использованием DFWP). Он использует XSLT, которые могут быть настроены в SharePoint Designer 2010. В сумм с использованием DFWP замене формы по умолчанию и двумя способами действие.

Создать новую форму списка и связать ее со списком

Самый простой и быстрый способ создать форму списка - создать новую форму и сделать ее формой для списка по умолчанию.

Редактирование существующей формы списка

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

Примечание: В результате, может быть выполните следующие действия на любой странице ASPX в SharePoint Designer 2010. Преимущество редактирования существующую форму является уже связанные со списком.

Используйте для замены форм по умолчанию Office InfoPath 2010

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

Дальнейшие действия

После создания настраиваемой формы для списка или библиотеки, следующим шагом является начать настройку формы в соответствии со своими потребностями. Можно добавить или удалить столбцы, изменение макета поля, применять различные шрифты и стили, добавьте пользовательские изображения и так далее. Лента в SharePoint Designer 2010 можно использовать для выполнения этой настройки. В случае изменения, внесенные вами нельзя использовать ленту можно изменить форму XSL непосредственно в представлении «Код». Вы найдете ссылки на дополнительные сведения о настройке форм списка в разделе См .

Чтобы удалить форму, выделите ее на странице сводки и выберите на ленте пункт Удалить . Это приведет к удалению формы с сервера, пользователи более не смогут использовать ее.