Semenalidery.com

IT Новости из мира ПК
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Sharepoint создание сайта

Microsoft MVP & Office 365 Consultant Blog

Azure, SharePoint, Office 365 and stuff

Глава 3. Первый сайт на SharePoint 2010 (продолжение)

Это продолжение статьи, начало читайте по этому адресу

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

Создание списка в InfoPath Designer

Как уже упоминалось ранее, одно из ключевых преимуществ SharePoint – интеграция с продуктами Microsoft. Продемонстрируем это на конкретном примере.

Для создания списков воспользуемся Microsoft InfoPath Designer 2010, в стандартных шаблонах которого есть Список SharePoint (рис. 3.12.). По нажатию на Конструктор форм предлагается ввести адрес веб-сайта, на котором будет публиковаться форма.

Рис. 3.12. Начальная страница Microsoft InfoPath Designer 2010

После чего нужно ввести название нового списка, мы вводим Книги (рис. 3.13.), нажимаем на Далее, и затем Готово (в это время происходит публикация списка на портал).

Рис. 3.13. Окно создания нового списка в Microsoft InfoPath Designer 2010

После создания списка открывается Конструктор форм (рис. 3.14.). Справа расположена панель Поля, из которых может состоять форма.

Рис. 3.14. Конструктор форм

У книги должны быть следующие атрибуты – название, автор, издательство, год, страницы, ISBN, тираж и жанр.

Для создания нового поля нужно кликнуть на Добавить поле в группе Действия на панели Поля, в результате чего появится соответствующее окно (рис. 3.15.). Достаточно указать отображаемое имя, выбрать тип данных из выпадающего списка, при необходимости указать заполнить по умолчанию и указать, является ли поле обязательным. После чего кликнуть на ОК.

Рис. 3.15. Окно добавления поля или группы (на примере авторов)

Аналогичным образом создаются остальные поля. Готовые поля добавляются на форму простым перетаскиванием, причем их можно расположить в любом порядке. В результате получилась следующая форма (рис. 3.16). Можно сделать внешний вид более привлекательным, если поработать с командами, вынесенными на ленту.

Остается опубликовать форму, для чего можно использовать комбинацию клавиш Ctrl + Shift + Q, или кликнуть на пункт меню Файл, далее Сведения и Быстрая публикация.

Рис. 3.16. Форма, готовая для публикации

Для добавления нового элемента в список нужно кликнуть на Добавить элемент и появится диалоговое окно (рис. 3.17.). Такое же окно появляется при редактировании записи.

Рис. 3.17. Окно создания нового элемента в списке Книги

Создание списка в SharePoint Designer

Важной особенностью данного инструмента – отсутствие возможности создания веб-приложений и семейств веб-сайтов, можно создавать лишь дочерние сайты.

Для начала нужно открыть существующий сайт, воспользовавшись пунктом Открыть сайт в группе Открытие сайта SharePoint (рис. 3.18), где нужно ввести имя сайта и затем авторизоваться в качестве администратора семейства веб-сайтов.

Рис. 3.18. Стартовая страница SharePoint Designer 2010

Для того чтобы создать новый сайт, в группе Шаблоны сайтов выберем Пустой сайт (рис. 3.19.) Название нового сайта нужно указать в виде http:// /[ ]/ , где в качестве пути могут указываться сайты, которые будут родительскими для нового сайта. Кликнув на ОК, создается новый сайт.

Рис. 3.19. Создание сайта в SharePoint Designer 2010

После создания сайта мы видим следующее (рис. 3.20). Первым дело можно изменить название сайта. На эту же страницу для удобства вынесены настройки разрешений. Также с разрешениями можно поработать, кликнув на соответствующее название в левой панели.

Рис. 3.20. Главная страница настроек сайта в SharePoint Designer 2010

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

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

Создание списка в Visual Studio 2010

Создание веб-приложения и семейства веб-сайтов было подробно описано в начале настоящей главы.

Создадим список, для этого нужен новый проект List Definition в группе шаблонов проектов для SharePoint 2010 (рис. 3.21.)

Рис. 3.21. Окно создания нового проекта в Visual Studio 2010

После нажатия на кнопку ОК появляется окно для развертывания решения, где предлагается два способа:

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

2. Развертывание в качестве решения фермы – осуществляется администраторами, имеет силу во всей ферме.

Выберем второй способ, после чего кликнем на Далее, где будет предложено ввести отображаемое название списка (Книги) и выбрать его тип (в нашем случае Custom List), после чего нажать на Finish.

Далее переименуем названия списка в обозревателе решений (рис. 3.22.) на Список книг и Книги соответственно. Также можно подправить параметры в файле Elements.xml (на уровень ниже Книг), такие как Title (название), Url (ссылка списка) и Description (описание). Также можно внести изменения во второй файл Elements.xml.

Рис. 3.22. Обозреватель решений

Для создания полей в файле Schema.xml между тегами нужно добавить код (рис. 3.23.) Идентификаторы получены с помощью программы guidgen, входящей в поставку Visual Studio.

Рис. 3.23. Код для добавления столбцов к списку.

Столбцы созданы, но еще их нужно добавить в представление по умолчанию, которое можно найти в этом же файле внутри тега View, где атрибут BaseViewID=”1”. Внутри есть теги ViewFields, которые нам и нужны. В результате добавления столбцов в представление списка по умолчанию можно увидеть следующий код (рис. 3.24.)

Рис. 3.24. Код для добавления столбцов в представление по умолчанию

После чего список можно считать готовым, и его можно развернуть, воспользовавшись главным меню (Build => Deploy) или кликнув правой кнопкой по решению выбрать из контекстного меню Deploy.

В целом все выглядит неплохо, но при попытке добавить новый элемент появляется странное окно (рис. 3.25.), в котором явно чего-то не хватает.

Рис. 3.25. Окно для создания нового элемента списка Книги

Причина этого очень проста – мы не создали типы контента, которые определяются в файле Schema.xml (рис. 3.26) Мы не будем этим заниматься, вместо этого удалим полностью этот блок.

Рис. 3.26. Определения типов контента

Читать еще:  Портал на sharepoint

В процессе развертывания списка появится следующее окно (рис. 3.27), которое говорит нам о конфликтах развертывания. Кликнем на кнопку Resolve Automatically (Разрешить автоматически).

Рис. 3.27 Конфликты развертывания

После чего можно обновить страницу и еще раз попытаться добавить новый элемент. Больше такой проблемы нет!

Итак, в этой главе мы рассмотрели создание сайта школьной библиотеки с помощью браузера, SharePoint Designer 2010 и Visual Studio 2010. Даже на таком простом примере видны плюсы и минусы разных подходов.

В следующей главе рассматривается настройка внешнего вида сайтов SharePoint 2010.

Sharepoint создание сайта

Создание сайта на SharePoint. Основной функционал

Что вам даст создание сайта в SharePoint? Каков его основной функционал? Чем вообще он отличается от других CMS? Если вы задаетесь такими вопросами, то эта статья для вас.

Вы сами управляете контентом на сайте

Никто кроме вас не сможет разместить данные на сайте в SharePoint, исправить или скорректировать их. Доступ строго разграничен — контент выкладывают только авторы, посетители сайта имеют статус анонимных пользователей. При этом авторы не ограничены, как в некоторых других CMS языковыми барьерами — текст может быть на разных языках в пределах одного текстового блока. В этом заключается лишь одно из множества удобств локализации интерфейса.

Классифицируйте и интегрируйте все данные

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

Нужно ли тратиться на домены?

Сайт в SharePoint избавляет от необходимости покупать клиентские лицензии. Вы получаете серверную лицензию, а в случае распределенной архитектуры — отдельную на каждый сервер. Если стандартная лицензия позволяет создать сайт только на одном домене, то Enterprise-лицензия позволяет использовать сразу несколько доменов. Можно также подписаться на SharePoint Online – это даст вам право на создание одного публичного сайта (отдельная коллекция сайтов).

Облегчите себе работу над структурой сайта

Создать сайт в SharePoint – значит получить полный функционал по работе над структурой сайта. На ваш выбор его разделы могут быть отдельными подсайтами фермы SharePoint, либо же отдельными библиотеками в головном сайте. Главные страницы (Master Pages) позволяют спроектировать внешний вид основного контента (меню, шапка, “подвал”). Создавать главные страницы вы можете с помощью бесплатного редактора SharePoint Designer.

Дополнительно имеется возможность использовать разные Master Pages и разные css-файлы в разных разделах. Для этого раздел достаточно сделать отдельным подсайтом фермы SharePoint .

Дизайн в ваших руках

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

Подобные сайты позволяют следующее:

  • легко менять цветовую схему сайта сменой встроенных тем “из коробки”;
  • скрывать для публичного сайта на страницах управляющие элементы (риббон-ленту, имя пользователя, ссылку на системное меню, заголовки веб-частей);
  • использовать отдельные макеты для каждой страницы при помощи встроенных макетов (page layouts) и даже создавать собственные макеты страниц;
  • использовать готовый набор веб-частей (web parts) и разрабатывать собственные веб-части. Или можно загружать сторонние веб-части из официального каталога приложений Sharepoint. В этом каталоге можно найти как платные, так и бесплатные решения.

Дайте пользователям хороший юзабилити

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

Как это работает? Отображение списков в SharePoint выводит информацию с помощью механизмов группировки и сортировки. При этом у вас имеется на выбор несколько готовых стилей вывода информации.

Защитите свой сайт

Защитить свой веб-ресурс и сделать сайт в SharePoint – можно считать фразами-синонимами. Почему?

  • Кое-что не для всех. Если использовать службу профилей пользователей, в некоторые выбранные вами разделы сайта через личный кабинет смогут войти только зарегистрированные пользователи.
  • Защита данных. Различные технологии аутентификации (NTLM, Kerberos) позволяют серьезно защитить информацию на сайте от несанкционированного доступа.
  • Информация о своих клиентах. Form-based аутентификация позволяет хранить информацию о пользователях не в Active Directory, а во внешних источниках, например, в SQL Server. Сами формы регистрации и авторизации можно создавать в том же Sharepoint Designer. Данный метод применяется для авторизации внешних пользователей, не являющихся сотрудниками вашей компании.
  • Ничего лишнего. Личные кабинеты пользователей (на основе MySites) содержат механизмы для предоставления только необходимой пользователю информации (например, список заказов или ответов из службы тех. поддержки).

Стоит ускориться

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

  1. Для увеличения скорости загрузки и быстрого предоставления вашим клиентам нужной информации разработаны специальные механизмы оптимизации производительности.
  2. Кеширование BLOB уменьшает нагрузку на сервер баз-данных путём кэширования бинарных объектов (аудио, видео, изображения и т.д.).
  3. У вас появится возможность использовать профили кэша (cache) страниц с настройкой времени их хранения на сервере, что также снижает нагрузку на базу данных, увеличивая производительность.
  4. И, наконец, вы можете использовать веб-сервер IIS, сжимающий статические (HTML, CSS) и динамические (ASPX) данные для ускорения их выдачи браузеру. Таким образом, можно увеличить скорость загрузки страниц на 20-30%.

Обзор Microsoft SharePoint

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

О программе

Microsoft SharePoint Products and Technologies — это нацеленный на предприятия комплекс программных продуктов и компонентов для работы с корпоративной информацией, посредством веб-сайтов. Их наличие позволит: предоставлять совместный доступ, систематизировать, хранить, получать доступ к данным с любого устройства.

Для работы можно использовать любой интернет обозреватель. SharePoint включают в себя:

  1. Набор веб-приложений для организации совместной работы.
  2. Набор функций для создания блогов и веб-порталов.
  3. Поисковый модуль фильтрации и поиска данных.
  4. Модуль создания форм для ввода информации.
  5. Функции для управления рабочими процессами и бизнес-анализом.
Читать еще:  Не открывается презентация powerpoint

Технологии

К названию SharePoint может относится несколько продуктов, которые называются:

  1. SharePoint Online. Облачная служба Microsoft, предназначенная для бизнеса. После выхода Office 365 можно просто подписаться на него или на SharePoint Online для создания сайтов, хранения и обмена информацией вашими сотрудниками.
  2. SharePoint Server. С помощью этой системы ваше предприятие может управлять информационной базой локально (развертывание в пределах своей сети). В этот комплекс входит:
    1. SharePoint Foundation — технология, выступающая в качестве базы для всех сайтов.
    2. Возможности по управлению корпоративным контентом.
    3. Аналитика бизнеса, управление личными веб-сайтами и каналом, поиск информации по этим сайтам.
  3. SharePoint Designer 2013. HTML-редактор, что необходим для создания страниц и работы с контентом на созданном корпоративном сайте.

Как создать сайт?

  1. В верхнем левом углу нажмите на плитку. В открывшемся меню выберите SharePoint.
  2. В открывшемся окне нажмите на кнопку «Создать сайт» (Create site, Новый сайт).
  3. Назовите сайт и нажмите «Создать». Новый веб-сайт появится в директории, заранее указанной администратором.
  4. Веб-сайт пустой, поэтому нужно сделать шаблон, заполнить контентом, предоставить доступ коллегам.
  5. В Microsoft позаботились о шаблонах и подготовили свои варианты. Выберите подходящий шаблон, который будет отвечать типу вашего сайта:
    1. Группы. Можно использовать как единую среду для создания и работы с информацией для группы. Часто используется как лицевой сайт компании.
    2. Блог. Блог позволяет быстро распространять среди участников организации полезную информацию, опубликованную на сайте. На нем можно создавать, редактировать, удалять записи. Размещать их в нескольких категориях. Отключать и включать возможности комментирования записей.
    3. Проект. Специально заточен на работу с проектом. В него входят функции коллективной работы, и отображается функция «Сводка проектов», подключенная к «Списку задач». Добавленное задание коллегой в «Списке задач» будет автоматически отображаться на сайте проекта.
    4. Сообщество. Своеобразный форум, в котором коллеги ведут обсуждения.
    5. Центр документов. Позволяет работать с большим количеством документов. Можно использовать, как архив или библиотеку.
    6. Центр записей. Подходит для работы и хранения финансовых, юридических и им подобных документов.
    7. Центр бизнес-аналитики. Рассчитан на хранение, анализ и проведения бизнес-отчетов.
    8. Корпоративный вики-сайт. Используется для хранения, обновления, изучения, и публикаций больших массивов данных, предназначенных для сотрудников предприятий.
  6. Чтобы приступить к наполнению, просмотрите учебный ролик на примере «Сайта группы».

Автоматизация создания сайта SharePoint: значок

Хочу поделиться с вами тем, какие шаги я предпринял, чтобы выполнить простую задачу: убедиться, что значок сайта не является встроенным значком сайта SharePoint на каждом новом сайте. Задача кажется легкой, однако ее выполнение связано с использованием Windows PowerShell для автоматизации множества настроек, компонентов и действий. Так что это был очень интересный пример

Дэн Холм (danh@intelliem.com) — директор консалтинговой службы Intelliem, которая организовывает консультации для предприятий, внедряющих SharePoint, Office, Windows и Active Directory

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

Несколько слов о PowerShell. Я использовал сценарий, который похож на мой сценарий инициализации сайта (http://www.sharepointpromag.com/article/sharepoint/Create-a-SharePoint-Site-Collection-with-Windows-PowerShell-UI-Style) для создания каждого сайта. Завершив работу, я столкнулся с проблемой встроенного Team Site, предоставленного SharePoint.

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

В конце сценария коллекции сайта у нас две переменные: $web и $url. Эти переменные позволяют нам подстраивать все то, о чем говорилось выше. Но если вы хотите работать на существующем сайте, следует определить переменные:

Теперь моя вторая простая задача – задать настройки значка сайта. Здесь я тоже хочу кое-чем поделиться.

Первый секрет для тех, кто будет работать без помощи эксперта. Вам нужно упаковать изменения в пакеты решений SharePoint (wsps) – создайте библиотеку документов, чтобы держать там только связанные с брендом файлы. Затем вы можете обновлять эту библиотеку и синхронизировать ее с профессиональной копией.

Итак, мы начинаем создавать библиотеку, которую назовем SITE BRANDING.

В первую очередь мы создаем ссылку на список шаблонов для библиотеки файлов Asset Library в SharePoint 2010, которая оптимизируется для среды провайдера. Затем мы создаем библиотеку документов, используя метод Add, имеющийся в веб-коллекции Lists.

Затем мы убеждаемся, что наша новая библиотека SITE BRANDING не появляется при быстром запуске (Quick Launch): пользователям не нужно беспокоиться об этом.

Мы создаем ссылку на нашу библиотеку, затем настраиваем ее свойство OnQuickLaunch для одного из двух возможных значений логической переменной. Затем мы обновляем объект для сохранения изменений.

Теперь мы готовы загрузить файлы с описанием бренда в библиотеку документов. Вы никогда не использовали PowerShell для загрузки документов в SharePoint? Это легко!

Мы создаем ссылку на «…». Затем нужно создать папку библиотеки SITE BRANDING – каждая библиотека имеет корневую папку «…» в корневом каталоге. Затем мы создаем ссылку на коллекцию Files в этой папке.

Теперь очередь хитрой загрузки. Мы захватываем профессиональную брендовую папку и – просто как пример – фильтруем так, как будто загружаем файлы JPG.

Затем мы программируем каждую картинку как цикл ForEach, который добавляет файл в коллекцию.

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

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

Один маленький секрет: заметьте, я использую картинку, которая имеет очень общее имя. Оно не привязано к определенному времени, месту, компании. Например, картинка не называется «NBC Olympics London 2012 Icon».

Читать еще:  Result pointer nullptr

Имя будет общее, что позволяет мне легко менять его и обновлять в своей среде. Просто обновите файл SiteImageIcon.jpg во всех библиотеках Site Branding — и все! Желаю удачи в написании сценариев!

Поделитесь материалом с коллегами и друзьями

Делаем сайт на SharePoint 2010. Брендинг

Этим постом я начну рассказывать о создании интернет сайта на основе MS SharePoint 2010. Первые посты будут посвящены использованию для этого бесплатной версии MS SharePoint Foundation 2010. В последних постах я опишу дополнительные возможности, получаемые при покупке платных версий SharePoint 2010 (Standart и Enterprise).

Начнем с минимальных исходных данных. Сайт будет под управлением MS SharePoint Foundation, а базы данных будут располагаться на MS SQL Server 2008 Express Edition. Оба этих продукта совершенно бесплатны, что не может не радовать.

SharePoint 2010 или другие CMS

Использование SharePoint 2010 для построения сайта имеет ряд неоспоримых преимуществ:

  • Интерфейсы, предназначенные для управления содержимым соответствуют тем, которыми пользователи пользуются ежедневно при работе с корпоративным порталом. Т.е. обучение пользователей не требуется;
  • Возможность использования бесплатного «толстого» Windows-клиента MS SharePoint Designer для управления сайтом;
  • Управление контентом в оффлайн режиме. Например, создали новость/статью/что_угодно, сидя в самолете, добрались до ближайшего Wi-Fi и опубликовали на сайте;
  • Возможность работать с содержимым сайта через MS Outlook;
  • Работа с библиотеками на портале как с обычными сетевыми дисками;
  • Возможность публикации информации на сайте с корпоративного портала SharePoint;

Я перечислил только то, что является козырями в руках SharePoint. А теперь подробнее о брендинге SharePoint.

Анонимный доступ

Это первое, что надо задействовать на сайте под управлением MS SharePoint 2010. Перед началом разработки, т.к. есть здесь подводные камни. Например Linq-To-SharePoint не работает в режиме анонимного доступа. Для обхода этого придется писать «обертку». Описание самого процесса включения анонимного доступа есть на MSDN.

От портала к интернет-сайту

При брендинге SharePoint есть одна проблема — интерфейс SharePoint не создавался для использование его в качестве public-face. Поэтому надо адаптировать интерфейс SharePoint. Нам не понадобятся ни Ribbon, ни SiteActions. Например, ribbon абсолютно бесполезен для пользователя, имеющего права только на чтение (именно такими правами будут обладать анонимные пользователи): можно только отправить ссылку на текущую библиотеку/список по почте и подписаться на уведомления. И то и другое можно реализовать и без ribbbon’а. Также добавлю, что для подписки, пользователю придется делать «лишний» клик по закладке, а это очень плохо.

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

Security Trimmed Controls

Контрол SharePoint для отображения или сокрытия элементов, исходя из прав пользователей. На ASP.NET странице он выглядит вот так:

  1. Контент, видимый пользователям, имеющим права, указанные в атрибуте Permissions

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

Назад к SharePoint 2007

Можно понизить версию интерфейса с 4 на 3. После этого наш будущий сайт становится очень похож на SharePoint 2007: все элементы управления, мирно уживающиеся в одном месте (на рибоне), теперь «разлетелись» по всей странице. Впрочем, и большинство из них нам не понадобятся.

Я ни в коем случае не против нового интерфейса SharePoint 2010, а именно идеи собрать все элементы управления в одном месте. Данный подход (понижение версии интерфейса) ни в коем случае не ограничивает функционал SharePoint, т.к. версия интерфейса задается на уровне узла. Таким образом для удобства редакторов контента вполне возможно создать отдельный узел, где будут собраны все списки/библиотеки и ribbon будет функционировать. Помимо этого есть еще и возможность публиковать содержимое с внутреннего корпоративного портала. Тем не менее, неудобства обеспечена.

Здесь я прерву описание этого метода, т.к. далее всё сводится к одному: проблема и как её решать. Взять, например WYSIWYG-редактор: он будет работать только в Internet Explorer или придется встраивать сторонний редактор.

Динамическое представление сайта

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

Сначала сделаем два проекта:
проект-брендинг, который будет содержать две master-страницы (как минимум, если требования в сайту «хитрые», то можно и больше), стили и изображения нам необходимые: проект-сайт, содержащий SiteDefinition:

Master-страницу для бэкофиса (v4.moderator.master) я взял стандартную без каких-либо изменений, дабы сохранить стандартный интерфейс и его функциональность для редакторов содержимого.

С другой стороны, master-страницу для посетителей сайта я упростил максимально, удалив из неё всё, кроме PlaceHolderMain и прочей мелочи. Убрал даже FormDigest. Насколько это оправдано я напишу в следующих постах. Получилось совсем немного (без директив):

  1. » dir =» » runat =»server» xmlns:o =»urn:schemas-microsoft-com:office:office» >
  2. var _fV4UI = true;

Что касается страницы default.aspx в SiteDefinition, то она также проста. Здесь только несколько зон для веб-партов:

Для обеспечения динамического переключения master-страниц, надо изменить директиву Page страницы, указав в качестве наследуемого наш новый класс FluentWebPartPage :

  1. public class FluentWebPartPage : WebPartPage
  2. <
  3. protected override void OnPreInit( EventArgs e)
  4. <
  5. base .OnPreInit(e);
  6. if (IsAnonymous)
  7. SetAnonymousView();
  8. else
  9. SetModeratorView();
  10. >
  11. ///
  12. /// Изменение master-page
  13. ///
  14. ///

  • private void SetMasterPages( string url)
  • <
  • MasterPageFile = url;
  • >
  • private void SetAnonymousView()
  • <
  • SetMasterPages( «/_catalogs/masterpage/v4.guest.master» );
  • >
  • private void SetModeratorView()
  • <
  • SetMasterPages( «/_catalogs/masterpage/v4.moderator.master» );
  • >
  • ///
  • /// Является ли пользователь анонимным
  • ///
  • private static bool IsAnonymous
  • <
  • get
  • <
  • if ( SPContext .Current == null ) return true ;
  • return SPContext .Current.Web.CurrentUser == null ;
  • >
  • >
  • >
  • Сам класс унаследован от Microsoft.SharePoint.WebPartPages.WebPartPage . На событии OnPreInit мы проверяем, является ли пользователь анонимным и в зависимости от этого подставляем соответствующую master-страницу. Поведение этого класса может быть различно: можно проверять какие-нибудь права у пользователя, можно по умолчанию брать страницу из параметров данного сайта ( MasterUrl или CustomMasterUrl ) и т.д.

    Результат

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

    В следующем посте я расскажу про дальнейшую оптимизацию с целью уменьшить размер страниц, т.е. ускорение загрузки.

    Ссылка на основную публикацию
    ВсеИнструменты
    Adblock
    detector