SharePoint 2013 - Галерея зображень зі зберіганням контенту поза базою даних

Надійшов запит про створення на сайті SharePoint 2013 окремого сховища графічних зображень (цифрових фотографій) Надійшов запит про створення на сайті SharePoint 2013 окремого сховища графічних зображень (цифрових фотографій). Перше, що спало на думку - реалізувати завдання стандартними засобами SharePoint, створивши для цих цілей Бібліотеку малюнків SharePoint. Однак відповідно до поставленої задачі таких зображень потрібно буде розміщувати велику кількість, та ще й у великій якості (як наслідок розмір графічних файлів буде не скромний). Вивчаючи питання про те, як можна винести цей текст з БД, ми встали перед вибором між двома можливими на момент постановки задачі варіантами:

  • використовувати технологію Remote BLOB Storage (RBS) забезпечується провайдером FILESTREAM з SQL Server в зв'язці з SharePoint;
  • Використовувати сторонні комерційні рішення для розширення SharePoint, що дозволяють в числі своїх функцій виносити контент списків і бібліотек SharePoint на зовнішні накопичувачі, як наприклад Sparqube Picture Column

Після вивчення можливих переваг і недоліків першого варіанту стало очевидно, що без дотримання Кращих практик використання FILESTREAM , Які ми в нашій ситуації не могли виконати, в кінцевому рахунку ми можемо отримати відчутну деградацію продуктивності сімейства сайтів SharePoint і ще ряд побічних неприємностей.

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

На допомогу прийшов наш колега - фахівець з SharePoint Володимир Земляков , Який написав Рішення (Solution), яке створює в сімействі сайтів SharePoint новий Тип контенту і дозволяють працювати з ним, оперуючи зовнішніми графічними файлами в елементах Списку SharePoint, створеного на основі нового шаблону списку. Візуалізація зображень для кінцевих користувачів реалізована на базі модифікованого Рішення Mirata.PictureGallery від Daniel Reed. Далі оглядово розглянемо установку і використання цих рішень.

Для початку створимо спільну мережеву папку, в яку будуть розміщуватися графічні файли там де нам це зручно, наприклад на виділеному файловому кластері.
У нашому випадку UNC-шлях до папки буде наступний: \\ KOM-AD01-FSCL \ MEDIA-STORE $ \ IMAGES

Дамо до зазначеної мережевий папці повний доступ на рівні NTFS / SMB облікового запису, від імені якої працює пул додатків IIS для веб-сайту SharePoint, з якого в подальшому ми плануємо виконувати додавання графічних файлів.

Потім на якомусь сайті IIS створимо віртуальний каталог, який буде посилатися на зазначену мережеву папку.

Потім на якомусь сайті IIS створимо віртуальний каталог, який буде посилатися на зазначену мережеву папку

В результаті URL віртуального каталогу для відповідної папки в нашому випадку вийде наступний:
http://kom-ad01-srv-apps.holding.com/MEDIA/IMAGES/

***

Викачуємо файли рішень (PictureGallery.wsp і Mirata.PictureGallery.wsp) зі сторінки проекту на Codeplex - Sharepoint Picture Gallery , Копіюємо ці файли на наш WFE-сервер SharePoint і виконуємо їх установку за допомогою PowerShell на рівні сімейства сайтів (Site Collection)

Add-PSSnapin Microsoft.SharePoint.PowerShell Add-SPSolution -LiteralPath "C: \ Temp \ PictureGallery.wsp" Install-SPSolution -Identity "PictureGallery.wsp" -GACDeployment -WebApplication "http://site.holding.com" Add- SPSolution -LiteralPath "C: \ Temp \ Mirata.PictureGallery.wsp" Install-SPSolution -Identity "Mirata.PictureGallery.wsp" -GACDeployment -WebApplication "http://site.holding.com"

Після установки Рішень буде проведений автоматичний перезапуск пулу додатків IIS відповідає за вказаний сайт SharePoint.

<

p align = "center"> ***

Далі, для кореневого сайту сімейства сайтів, в яке ми розгорнули рішення, переходимо в Параметри сайту

в розділі налаштувань Адміністрування сімейства сайтів вибираємо посилання Можливості сімейства сайтів

Активуємо з'явилися Можливості (Features) в зазначеному порядку:

1. Додавання типу контенту і визначення списку Галерея зображень
2. Галерея зображень
3. Веб-частина галерея зображень

Веб-частина галерея зображень

Перевіряємо поява нового Типу контенту (Параметри сайту> Колекції веб-дизайнера> Типи контенту сайту)

Крім нового Типу контенту в сімействі сайтів зареєстрований новий Шаблон списку, на підставі якого ми тепер можемо створити Галерею зображень. Викликаємо для цього в меню управління пункт Додати додаток

Викликаємо для цього в меню управління пункт Додати додаток

У переліку веб-додатків знаходимо додаток Галерея зображень і додаємо його на сайт задавши йому будь-який зручний для нас ім'я, наприклад Фотогалерея У переліку веб-додатків знаходимо додаток Галерея зображень і додаємо його на сайт задавши йому будь-який зручний для нас ім'я, наприклад Фотогалерея

У Параметрах нового списку вибираємо пункт настройки Параметри галереї зображень:

У Параметрах нового списку вибираємо пункт настройки Параметри галереї зображень:

Зазначимо UNC-шлях до мережевої папки, в яку фактично будуть завантажуватися додаються в список графічно файли, тобто шлях до мережевої папки, яку ми створили раніше на файловому сервері.

Зазначимо URL-шлях до папки веб-сервера, в якій завантажені файли будуть доступні для завантаження і перегляду через веб-інтерфейс SharePoint, тобто посилання на віртуальний каталог IIS, який ми створили раніше.

Як ви розумієте, обидва шляхи повинні вказувати на один і той же фізичний розташування.

Як ви розумієте, обидва шляхи повинні вказувати на один і той же фізичний розташування

Цих налаштувань досить, щоб почати роботу з Галереєю зображень кінцевим користувачам SharePoint. До використання кнопки Перевірка ми повернемося трохи пізніше.

<

p align = "center"> ***

Щоб виконати додавання графічних файлів, відкриємо форму списку нашої Галереї зображень, на стрічці перемкнемося на закладку Елементи і скористаємося кнопкою Завантажити зображення (кнопка доступна тільки користувачам мають право на зміну списку)

Відкриється форма додавання, де за допомогою кнопки Огляд ми можемо вибрати додаються з комп'ютера користувача графічні файли. Виділяємо один або відразу декілька файлів і натискаємо кнопку Завантажити.

Виділяємо один або відразу декілька файлів і натискаємо кнопку Завантажити

У разі успішного завантаження ми отримаємо відповідне повідомлення.

У разі успішного завантаження ми отримаємо відповідне повідомлення

В результаті операції завантаження для кожного завантаження графічного файлу в Галереї зображень буде створено окремий елемент, в якому будуть збережені повні URL-шляху до самого графічного файлу скопійованого на файловий сервер і відноситься до нього генерується файлу мініатюри.

В результаті операції завантаження для кожного завантаження графічного файлу в Галереї зображень буде створено окремий елемент, в якому будуть збережені повні URL-шляху до самого графічного файлу скопійованого на файловий сервер і відноситься до нього генерується файлу мініатюри

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

У процесі додавання файлів в файлову систему за вказаною раніше в налаштуваннях UNC-шляху будуть створені копії цих файлів з іменами у вигляді випадково згенерували унікальних ідентифікаторів (для того щоб уникнути можливих конфліктів імен файлів при багаторазових загрузках та ще й за участю різних користувачів).

У цьому ж каталозі буде створено (якщо його ще немає) підкаталог _t. В цей підкаталог з темі ж ID з додаванням нижнього підкреслення на початку імені будуть згенеровані Мініатюри зображень (Thumbnails) розміром 150x100 пікселів, які будуть використовуватися для візуалізації в веб-частини перегляду.

<

p align = "center"> ***

Створюємо окрему сторінку для перегляду Галереї зображень, на яку вішаємо веб-частину Галерея зображень з категорії СБСістем.

У властивостях веб-частини в параметрі List виберемо Список (Галерею зображень), з якого ми хочемо відображати графічні файли в даній веб-частини, поставимо назву і при необхідності налаштуємо фіксовану ширину зони ...

У властивостях веб-частини в параметрі List виберемо Список (Галерею зображень), з якого ми хочемо відображати графічні файли в даній веб-частини, поставимо назву і при необхідності налаштуємо фіксовану ширину зони

Цю ж веб-частину можна вивісити на головну сторінку сайту, де публікуються новини та відображаються всі останні зміни контенту сайту, але з уже більш жорстким обмеженням щодо виведення мініатюр, наприклад з відображенням лише останніх трьох доданих зображень через параметр веб-частини Page Size

Цю ж веб-частину можна вивісити на головну сторінку сайту, де публікуються новини та відображаються всі останні зміни контенту сайту, але з уже більш жорстким обмеженням щодо виведення мініатюр, наприклад з відображенням лише останніх трьох доданих зображень через параметр веб-частини Page Size

У необов'язковий параметр ViewAllImageUrl можна вказати посилання на окрему сторінку, на якій буде розміщена ця-ж веб частина але вже з більшою кількістю відображуваних за один раз елементів, тобто як на головну сторінку перегляду Галереї зображень. Якщо цей параметр не заповнений, то і відповідно посилання Всі елементи в веб-частини відображатися не буде.

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

При кліці по мініатюрі відкривається модальне вікно перегляду дозволяє переміщатися між графічними файлами відображеними в даний момент в веб-частини.

При кліці по мініатюрі відкривається модальне вікно перегляду дозволяє переміщатися між графічними файлами відображеними в даний момент в веб-частини

Як бачимо, в веб-частини над слайдами зображень нам доступні посилання на елементи навігації, які змінюються в залежності від прав користувача на список і поточного положення щодо структури папок списку.

Як бачимо, в веб-частини над слайдами зображень нам доступні посилання на елементи навігації, які змінюються в залежності від прав користувача на список і поточного положення щодо структури папок списку

Для того, щоб потрапити в форму безпосереднього редагування елементів Списку SharePoint можна перейти за посиланням Редагувати елементи. Це посилання відображається тільки для тих користувачів, у яких є права на зміну Списку.

Видалення елемента списку відбувається поетапно. Тобто спочатку виконується перевірка прав доступу до елемента списку і видалення цього елемента штатними механізмами SharePoint, а вже потім виконується видалення асоційованого графічного файлу і його мініатюри з файлової системи. Якщо в цей момент з якоїсь причини (наприклад тимчасове блокування файлу) відповідні файли не змогли піти з файлової системи, а елемент списку SharePoint асоційований з цими файлами вже видалений, то може виникнути ситуація, коли в файлової системі з часом збереться кілька " файлового сміття ". Щоб навести порядок як на файлової системі, так і в самому списку SharePoint, і була створена раніше згадана кнопка Перевірка в Параметрах списку.

При натисканні цієї кнопки буде вироблено зіставлення елементів списку з каталогом файлової системи зазначеному в параметрі UNC-шлях. Якщо будуть знайдені якісь розбіжності, буде виведена інформаційна таблиця з можливістю видалення як "осиротілих" файлів в файлову систему, так і елементів списку мають посилання на неіснуючі файли.

<

p align = "center"> ***

У висновку варто зробити зауваження про те, що при плануванні резервного копіювання веб-вузлів SharePoint треба пам'ятати, що контент розміщений за вказаною нами UNC-шляху до складу резервної копії не потрапить, тому потрібно окремо вирішити питання про резервне копіювання цих файлів, якщо вони мають якусь важливість.

схоже

Дополнительная информация

rss
Карта