воскресенье, 18 ноября 2012 г.

RBS sharepoint 2010


И так , первый раз настраиваю RBS.

Нашел массу ссылок в инете, пережевав их на свой лад. Опишу свой опыт.


1) И того создаем БД для BLOB .

PowerShell run as administrator New-SPContentDatabase –name WSS_Content_Blob –WebApplication http://PORTAL –MaxSiteCount 1 –WarningSiteCount 0

 

2) Диспетчер конфигурации SQL Server- Службы SQL Server - Свойства SQL Server-FILESTREAM- Разрешить FILESTREAM при доступе через Transact-SQL- Разрешить FILESTREAM при потоковом доступе файлового ввода-вывода и Разрешить удаленным клиентам потоковый доступ к данным FILESTREAM- отметить.

 

3) В SQL Server Management Studio - Создать запрос

EXEC sp_configure filestream_access_level, 2

RECONFIGURE

 

4) еще запрос

use [WSS_Content_Blob]
if not exists (select * from sys.symmetric_keys where name = N'##MS_DatabaseMasterKey##')create master key encryption by password = N'Admin Key Password !2#4'
if not exists (select groupname from sysfilegroups where groupname=N'RBSFilestreamProvider')alter database [WSS_Content_Blob]
add filegroup RBSFilestreamProvider contains filestream
alter database [WSS_Content_Blob] add file (name = RBSFilestreamFile, filename = 'c:\Blobstore') to filegroup RBSFilestreamProvider

 


 

6) CMD run as Administrator

msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content_Blob" DBINSTANCE="name DB instance" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1

Ищем в процессах msiexec.exe и смотрим логи в rbs_install_log.txt

 

7) PowerShell Run As administrator

$cdb = Get-SPContentDatabase WSS_Content_Blob
$rbss = $cdb.RemoteBlobStorageSettings
$rbss.Installed()

ОТВЕТ TRUE
$rbss.Enable()
$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
$rbss

 

8) Установка значения MinimumBlobStorageSize. Потсавим 1 Мб

$database = Get-SPContentDatabase "WSS_Content_Blob"
$database.RemoteBlobStorageSettings.MinimumBlobStorageSize=1048576
$database.Update()

 

9) проверяем. Запрос SQL

use [WSS_Content_Blob]
SELECT * FROM dbo.DatabaseInformation


10) Перегружаем службы SQL

Убедиться , что 2-ве строки доступны RBSCollectionId и RBSProvider.

Смотрим загрузку файлов в библиотеки больше 1м и меньше. У меня все получилось.

Не забываем удалить RBS нужно правильно. Смигрировать данные оттуда.

$rbss.SetActiveProviderName("")

$rbss.Migrate() Это отдельная большая тема.

 

 

суббота, 17 ноября 2012 г.

Выбор архитектуры для хранения больших видеофайлов встреч в SharePoint 2010

День добрый, уважаемый читатель!

У меня появилась задача хранения видеоматериалов встреч в SharePoint . Что взять за основу хранения файлов? На этот вопрос я отвечу в процессе написания этого сообщения.

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

Для начала решим задачу хранения больших файлов.
 

Мои мысли:

Изначально шарик не загружает файлы более 50 метров.
 
Снимаем это ограничение. Заходим в центр администрирования – управление приложениями-выбираем наше приложение –идем общие параметры-общие параметры- снизу меняем Максимальный объем отправляемых данных с 50 до 600. У меня все получилось без iisreset.

В библиотеки файлы грузятся. Но по условию к файлу нужно добавлять еще файлы с общими атрибутами. Т.е. нужна сущность типа список. Попытка загрузки большого файла в список привела к ошибке.

Что я только не делал, но избавиться от нее я не смог.

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

 
Способ первый - создания папок. Не подойдет. У папок нет будет атрибутов и придётся каждому файлу прописывать их отдельно. Да и слишком сложно будет для пользователей.

Второй вариант - загружать один файл в библиотеку, а в его свойствах прописывать ссылки на дополнительные файлы. Можно просто в текстовое поле загружать файл. Они все будут храниться в другой библиотеке. Второй вариант не очень хорош, потому что все будут иметь доступ к вторичной библиотеке, где будет простая большая свалка файлов. Права там разграничить проблематично. Да и поле типа расширенный форматируемый текст в библиотек добавить можно , только через дизайнер. И далее , не в коем случае не менять название столбца. Почему так? Хотя вариант интересен и можно было бы подумать над усовершенствованием.

 
Третий вариант-  можно связать список с библиотекой, либо лукапом указывать другие файлы. Но это программирование или не самые легкие действия в дизайнере.

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

 Архитектуру выбрал. Мне осталось настроить рабочие процессы и "разукрасить" решение под продажу.


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

 
Буду рад ответить на вопросы, а так же добовлению в сообщение новых Ваших идей.
 

С уважением, Адрей

четверг, 15 ноября 2012 г.

установка office web apps 2010


И так мой первый БЛОГ.

Решил я на Sharepoint 2010 поставить office web apps 2010, думал это будет просто. Заранее узнал, что ставить рекомендуется только 32-ный формат.

На триальный шарик ставить не получилось. Sharepoint ругнулся и сказал, что стоит купить платформу.

Нашел купленную свежую платформу, все прошло гладко в качестве теста.

Заказчик имел ряд проблем с блокировкой екселевских файлов. Пользователи не правильно закрывали ссесию. Я наивно предложил использовать возможность совместного редактирования excel через WEB app, и начал издеваться над продакшеном.

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

"Не удалось продолжить установку из-за следующих ошибок: Ожидается перезагрузка системы после предыдущей установки или обновления. Перезагрузите компьютер и запустите программу установки для продолжения"

Перегрузка конечно не помогла. Нашел солюшенс-

1. Open Regedit.

2. Find the key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager".

3. Rename the "PendingFileRenameOperations" value to "PendingFileRenameOperations2".

Переименовывать не стал, просто удалил.

Далее установка продвинулась, но при запуске мастера настройки продуктов SP получил ошибку.

сбой при запуске службы базы данных mssql$sharepoint. Выполните восстановление данного продукта через установка и удаление программ.

Нашел солюшенс и для этого-

  1. Go to “regedit” through run command,
  2. browse thru “HKLM_Local_Machine/Software/Microsoft/Shared Tools/Web Server Extensions/12.0/WSS/”.
  3. Then change the value of attribute named “ServerRole” from SINGLESERVER to APPLICATION
  4. Then save it

Сделал  для 14.0

Далее мастер зашуршал. Выдал кучу ошибок, что мол служба синхронизации профилей не запустится и начал переконфигурировать ферму с отсчетом процентов 1...100. Ждал я долго. Благо снял образа с фермы перед экзекуцией.

Все вроде установилось. WEB app я настроил по wizard. Службу синхронизации запустил (не без бубнов. На утро она опять слетела, но это другая история)

Вроде все заработало, но word документы через webapp не открывались. Я заметил, что только созданные из winword 2003. 2010 некоторое время работал и радовал глаз.

ошибка-

Приложению WORD WEB APP не удается открыть документ из за неизвестной ошибки.
 

Как я понял, 2003 winword должен при открытии предложить преобразоваться в 2010. Этого у меня не происходило.

Весь webapp нужен был только для excel. Поэтому я решил найти возможность как отключить открытие 2003 из web app, предположив что это  может заказчика устроить.

Нашел я в службе приложения- (служба WORD viewing) некоторые интересные свойства:

Поддерживаемые форматы файлов: просмотр
Указывает, какие типы документов смогут просматривать пользователи с помощью этого приложения службы Word Viewing. Если формат файла не выбран, пользователи данной службы получат ошибку при попытке просмотреть этот тип файла в веб-браузере.
Снял галку с Документ Word 97-2003 (.doc, .dot)
и
Сканирование документов Word 97-2003
Для обеспечения дополнительной безопасности при загрузке документов Word 97-2003 приложение службы Word Viewing выполняет дополнительные проверки перед их открытием. Эти проверки влияют на общую производительность сервера. Отключайте этот параметр только в том случае, если надежными считаются ВСЕ документы, загружаемые этим экземпляром службы.

 

 
Отключил. Ошибка осталась.

IISreset- не помогло. Удалил службу WORD viewing и остановил службу сервера. На узле отключил office web app. Все равно документы пытались открыться через WEB APP и появлялась та же ошибка. Теперь уже и для 2010 так же.  Хотя при отключенной возможности office web app- Excel через него открывался легко. IIS resetil постоянно. Этот факт остался за пределами моего понимания. Начал думать как  остановить web app на ферме.

Перегрузка сервера не помогла. Excel продолжал открываться, Word выдавать ошибку. Хотя все что можно - удалил, возможности - деактивировал, службы - отключил.

Время 6 утра. Все включил через мастер, странно но он предложил пересоздать службу преобразования. Хотя ее я не трогал. Мастер пересоздал службы, добавил к ним прокси, но не помогло и это. Ни 2003 ни 2010 word через web app не открывал.

Осталось 3-две задачи. Первая все починить, вторая- отлючить office web app или хотя бы, отключить открытие word через него.

Решил так-  На уровне узла выключил, а потом включил возможность- Открывать документы в клиентских приложениях по умолчанию.


 

Причем, заказчик теперь может из контекстного меню файла выбирать – открыть или изменить через браузер.Excel меняется, а word и так может открываться совместно средствами самого клиентского word, для этого web app не нужен.  Самое главное- нажав на файл пользователь увидит winword, а не ошибку web app.  А искушенные пусть пользуются

 

Но это полурешение


Бой продолжу позже.
...
день второй. Нашел солюшенс. Пока пробовать не стал. Всех все устраивает.