→ Пошук по сайту       Увійти / Зареєструватися
Знання CMS — системи керування вмістом Розробка систем керування контентом (CMS) – архітектурні та інфологічні засади

5. Ациклічний орграф контенту та відношення псевдонімів в CMS

 CMS

Тенденція примноження інформації ускладнює структурування інформаційних елементів у строгій деревоподібній формі. Крім цього строга ієрархія часто не задовольняє навігаційним вимогам веб-ресурсу. Потреба одночасної присутності одного і того ж елемента контенту в різних розділах сайту – досить розповсюджене і актуальне завдання. Прикладом цього може служити новина, яка по своєму змісту одночасно задовольняє різним розділам новин, товар, що підходить до різних категорій, деяка службова інформаційна сторінка сайту, яку доцільно розмістити в різних частинах сайту. Насправді з подібними ситуаціями ми часто зустрічаємося в побуті. В інтер’єрі – доступ до деяких речей організовується одночасно в різних частинах дому (телефон, календар, ручки та олівці), в магазинах – деякі типи товарів знаходяться одночасно в різних частинах залу і т.п.

Подібні об’єктивні неоднозначності вимагають удосконалення, розширення та розвитку моделі контенту CMS. В даному випадку мова іде про можливість одночасного розташування сторінки сайту в різних місцях ієрархії. Доцільною структурою для такого завдання є ациклічний орієнтований граф (рис. 11). Ациклічний орграф є узагальненням дерева. Відмінністю від дерева тут є те, що елемент структури тепер може мати більше, ніж одного батька.

Примітка
Серед іншого, ациклічний орієнтований граф використовується для структурування категорій Вікіпедії.  

Рис. 11. Приклад ациклічного орієнтованого графу

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

  1. ієрархія як базова структура контенту не застосовується;
  2. на рівні БД відбувається розмежування сутностей сторінки та структури сторінок, що ускладнює проект;
  3. ускладнються як інтерфейси, так і методи реалізації редагування контенту;
  4. певною мірою ускладнюється програмна реалізація елементів навігації по сайту та збільшується навантаження на сервер БД.

Відношення псевдонімів

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

Сутність застосування псевдонімів полягає у встановленні відношень між двома елементами контенту, один з яких стає псевдонімом або логічним посиланням на елемент-джерело (рис. 12). Псевдонім дозволяє встановити для елемента-джерела додатковий батьківський зв’язок, і тим самим розмістити цей елемент в іншому місці ієрархії (з точки зору навігації по сайту). 

Рис. 12. Принцип роботи відношення псевдонімів

Таким чином, уся робота із контентом відбувається, як із деревоподібною структурою, а там, де зустрічаються псевдоніми відбувається автоматична підстановка даних із елементів-джерел.

Для реалізації псевдонімів потрібно здійснити наступні кроки:

  • додати поле в таблицю сторінок (поле aliasOf); у випадку, якщо елемент є псевдонімом в дане поле буде записуватись код сторінки-джерела;
  • на рівні класу сторінки на етапі ініціалізації передбачити перевірку: у випадку, якщо елемент є псевдонімом, автоматично виконувати запит на отримання елемента-джерела із подальшою підстановкою даних із джерела в поля об’єкту сторінки.

Зауваження

Так як з точки зору пошукової оптимізації (SEO) наявність дублюючих сторінок на сайті є негативним фактором, логіку опрацювання псевдонімів слід будувати так, щоб URL псевдоніма безпосередньо не фігурував на сайті. Натомість на рівні ядра повинні відбутись автоматичні підстановки в URL адреси елемента-джерела. Це також стосується побудови меню та усіх інших елементів навігації. З точки зору ООП логіка роботи з псевдонімом повинна бути інкапсульована у класі сторінки. Таким чином, усі звернення до функцій та полів сторінки повинні відбуватись через даний клас, це ж стосується і процесу формування URL.

Зауваження

З урахуванням уникнення дублюючих сторінок та додаткових URL при кліку на елемент меню, який є псевдонімом, користувач потраплятиме в інший розділ меню сайту. Зважаючи на призначення псевдонімів та вимоги SEO таку поведінку системи слід вважати задовільною. Додаткові налаштування у вигляді збереження в cookie історії навігації слід використовувати обережно, пам’ятаючи про ідемпотентність GET-запитів, які використовуються як URL сторінки.

Таким чином, псевдонім не містить власної інформації, а використовує інформацію сторінки-джерела. Натомість, доцільно надати можливість зміни деякої інформації в псевдонімі. Наприклад, сторінка-джерело є товаром та містить таку назву “Кавоварка Philips 7X-234”. Сторінка-псевдонім у розділі новинок може містити такий заголовок для даного товару: “З’явилася довгоочікувана кавоварка від Philips!”, – усі інші поля будуть повторювати сторінку-оригінал.

Для реалізації цієї логіки в розділі ініціалізації слід виконувати перевірку для полів псевдоніма – якщо поле пусте, використати дані сторінки-джерела, в іншому випадку – залишити інформацію незмінною.

Псевдоніми та розділ новин

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

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

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



© Титенко С. В. Інформація курсу по матеріалам:
Web-орієнтовані інформаційні системи. Методичні вказівки до вивчення дисципліни для студентів напряму підготовки 6.050103 «Програмна інженерія» / Титенко С. В. – К.: НТУУ «КПІ» 2015. – 51с.
загрузка...
Теми розділу
Сторінки, близькі за змістом