Хранение больших файлов в Sharepoint

Очень часто в дискуссиях и различных обсуждениях Sharepoint-а возникает закономерный вопрос — как хранить большие файлы в Sharepoint? Сейчас не редко встречаются файлы по 100 и более мегабайт, видео может доходить до гигабайтных размеров.
В стандартной ситуации (хранение таких файлов в базе) у нас возникают следующие проблемы:
1. SQL 2005 не предназначен для хранения больших объемов двоичных (BLOB) данных. В SQL 2008 появилась поддержка хранения BLOB-данных вне базы (тип данных FILESTREAM), но хранение данных из Sharepoint в таких столбцах официально не поддерживает, и будет добавлено только в следующей версии Sharepoint (которая, к слову, во всю разрабатывается).
2. Загрузка и выгрузка таких объемов данных на сайте. Т.к. будет использоаться стандартный метод POST, скорость и возможность отслеживать процесс загрузки — минимальны.
 
Но как всегда мир не без добрых людей, и уже нашелся умелец, который смог скрестить тип данных FILESTREAM и Sharepoint. Но это решение не решает проблемы с загрузкой и выгрузкой данных.
 
И вот совсем недавно появился очередная stable-версия Podcasting Kit for Sharepoint (PKS) (Podcasting — это видео и аудио-передачи (записи), передаваемые через Интернет), который как раз и призван решить все проблемы с загрузкой и хранением медиа-файлов.
 
Подробно ключевые технологии, использованные в Podcasting Kit описан на официальном блоге разработчиков Sharepoint, так что я не буду дублировать здесь большинство информации и скриншотов, отмечу лишь ключевые особенности:
  • Хранение ссылок на видео и аудио контент организовано в виде custom типа содержимого и нескольких custom столбцов
  • Хранение файлов вне базы Sharepoint. Это одна из ключевых особенностей данного kit-а.
  • Загрузку и выгрузку файлом можно производить с использование BITS
  • Можно использовать как интерфейс загрузки, созданный на Silverlight, так и обычный метод POST. Silverlight-овский интерфейс выглядит очень приятно.

При этом вся мощь данного kit-a по хранению и загрузке файлов скрыта в общем-то в одном месте — в custom-ом столбце, который и содержит в себе ссылки на контент в режиме просмотра, а в режиме редактирования позволяет загружать файлы. Никто не мешает установить его отдельно от всего PKS — см. решение (solution) NetworkFileStorage в дистрибутиве PKS (но скорее всего надо будет еще установить и другие решения, добавлю информацию как проверю)

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

Смотрите, изучайте, думаю у PKS отличное будущее. Ведь размер и количество мультиедийных файлов будет только расти.

Реклама

Отображение TextField-а в режиме чтения

При создании собственных страниц для публикации (Publishing pages) в Sharepoint часто необходимо, что бы часть полей при визуальном редактировании страницы в браузере оставались в режиме "только чтение" (н-р поля Автор, Дата создания и пр).
Добиться такого поведения можно следующим образом:
 
<SharePointWebControls:TextField ControlMode="Display"  FieldName="Created_x0020_By" runat="server"></SharePointWebControls:TextField>
 
Жирным выделено основное отличие от значение по умолчанию. Такое поле даже в режиме редактирования будет доступно только для чтения

Определение имени политики по GUID

Периодически в SCOM могут возникать алерты, в которых вместо понятных имен политик безопасности (GPO) участвуют GUID-ы, например:
Security policy cannot be propagated. Cannot access the template. Error code = 5. \\domain.local\SysVol\domain.local\Policies\{5C95B4F1-2AB7-42C9-AC0C-4DDEC5E27A59}\Machine\Microsoft\Windows NT\SecEdit\GptTmpl.inf.
 
Определить имя политики можно следующим способом:
 
1. Запускаем adsiedit.msc
2. Подключаемся к контексту именования по умолчанию (default naming context)
3. Открываем свой домен, затем CN=System, затем CN=Policies
4. Находим и выделяем нужную нам ветку (CN=GUID_из_описания_алерта)
5. Вызываем свойства ветки и ищем параметр displayName — это имя отображается в редакторе политик.