кументів (вміст або контенту) [ 5]. Зазвичай це вміст розглядається як неструктуровані дані предметної завдання в протилежність структурованим даними, зазвичай які під управлінням СУБД).
Зараз існує безліч готових систем управління вмістом сайту, у тому числі й безкоштовних. Їх можна розділити на три типи, за способом роботи:
Генерація сторінок за запитом. Системи такого типу працюють на основі зв'язки «Модуль редагування? База даних ? Модуль подання ». Модуль уявлення генерує сторінку з вмістом при запиті на нього, на основі інформації з бази даних. Інформація в базі даних змінюється за допомогою модуля редагування. Сторінки заново створюються сервером при кожному запиті, що в свою чергу створює додаткове навантаження на системні ресурси. Навантаження може бути багато разів знижена при використанні коштів кешування, які є в сучасних веб-серверах.
Генерація сторінок при редагуванні. Системи цього типу суть програми для редагування сторінок, які при внесенні змін у зміст сайту створюють набір статичних сторінок. При такому способі жертвується інтерактивність між відвідувачем і вмістом сайту.
Змішаний тип. Як зрозуміло з назви, поєднує в собі переваги перших двох. Може бути реалізований шляхом кешування - модуль уявлення генерує сторінку один раз, надалі вона в кілька разів швидше подгружается з кеша. Кеш може оновлюватися як автоматично, по закінченню деякого терміну часу або при внесенні змін в певні розділи сайту, так і вручну по команді адміністратора. Інший підхід - збереження певних інформаційних блоків на етапі редагування сайту і збірка сторінки з цих блоків при запиті відповідної сторінки користувачем.
Термін контент-менеджер позначає рід професійної діяльності - редактор сайту.
Велика частина сучасних систем управління вмістом реалізується за допомогою візуального (WYSIWYG) редактора - програми, яка створює HTML-код зі спеціальної спрощеної розмітки, що дозволяє користувачеві простіше форматувати текст.
Аналіз вимог до системи
Для успішного функціонування системи існує ряд вимог до апаратному та програмному забезпеченню.
Системні вимоги, що пред'являються до Web-сайтів, залежать від класів виконуваних завдань. Так деякі системи, які зберігають множестпід інформації та вимагають її постійної обробки вимагають великі обчислювальні можливості і великі обсяги пам'яті для зберігання інформації. Можливе використання розподілених систем зберігання інформації і розподілених обчислювальних систем.
Розроблюваний сайт повинен щодня і цілодобово надавати інформацію користувачеві. Тому головною вимогою до системи є її постійна робота і готовність до обробки запитів користувача.
Програмні системи, що є Інтернет сайтами вимагають певні умови для роботи. Для роботи таких систем потрібна веб-сервер. Веб-сервера відповідають за передачу даних по мережі. В якості такого сервера використовують «Apache» або «Nginx» [6].
У нашому випадку використання «Apache» є оптимальним тому, що для нього існує безліч конфігураційних програм, що дозволяють налаштувати веб-сервер для роботи з будь-якими мовами, генерації текстової інформації (php, ruby, perl).
Для розробки сайтів, існує загальноприйнятий шаблон проектування MVC [7]. Даний шаблон показує, що сайти мають три підсистеми: підсистема зберігання інформації, підсистема перетворення і підготовки даних для подачі користувачеві, підсистема відображення даних користувачеві.
Підсистема зберігання інформації може використовувати різні способи для зберігання і пошуку даних, такі як текстові файли, файли - проектуються в пам'ять, зберігання в оперативній пам'яті, використання сторонніх додатків для зберігання інформації (наприклад, СУБД).
Використання СУБД є найбільш зручним і популярним серед описаних способів зберігання інформації [8].
Плюсами СУБД є: можливість використання в якості виділеної підсистеми, що дозволяє просто відокремлювати її від інших підсистем і використовувати як частину іншої системи [9]. А також можливість подання об'єктів системи, в якості реляційних моделей широко використовуються в усіх сучасних мовах програмування, можливість завдання залежностей даних між собою для досягнення логічного зв'язку.
Підсистема перетворення і підготовки даних для подачі користувачеві - являє собою набір класів обробних запити користувача, що подаються в систему тим чи іншим чином. Ця підсистема нерозривно пов'язана з системою відображення інформації, тому, що всі дії здійснюються підсистемою відображення інформації вимагають використання підсистеми підготовки даних, а всі дії підготовки даних запус...