Освіта
Факультет: Обчислювальної техніки та інформатики
Спеціальність: Програмне забезпечення автоматизованих систем
Тема випускної роботи: Підвищення ефективності функціонування CMS
Науковий керівник: к.т.н, с.н.с Андрюхін Олександр Іванович
Вступ
Система управління контентом - це програмний комплекс, що дозволяє автоматизувати процес управління як сайтом в цілому, так і сутностями в рамках сайту: макетами сторінок, шаблонами виведення даних, структурою, інформаційним наповненням, користувачами і правами доступу, а також по можливості надає додаткові сервіси: списки розсилки, ведення статистики, пошук, засоби взаємодії з користувачами і т. д.
Необхідність систем управління з’явилася в той момент, коли кількість матеріалів на веб-сайтах почала стрімко зростати. Це призвело до того, що традиційні «ручні» технології створення та підтримки сайтів, коли сайт складався з статичних сторінок і набору додаткових спеціалізованих скриптів, стали не встигати за швидко мінливими умовами бізнесу. Введення даних на сайт вимагає знання технологій HTML / CSS верстки, зміни структури сайтів були пов'язані з каскадним зміною великої кількості взаємопов'язаних сторінок. Різні автоматизовані механізми, якто гостьовi книги і стрічки новин, запроваджені на сайтах як окремі скрипти і, як правило, написані різними фахівцями, перестали задовольняти вимогам безпеки. Тому виникла потреба з одного боку в уніфікації програмних рішень, а з іншого в розділенні дизайну і вмісту на дві незалежні складові.
CMS поділяє сайт на дві складові: дизайн (зовнішній вигляд сайту в цілому, окремих сторінок, конкретних блоків інформації) і вміст (контент). Дизайн сайту міститься в шаблонах і змінюється значно рідше, ніж контент.
Системи управління контентом вирішують дві основні задачі. З точки зору користувачів - це інструмент, який дозволяє публікувати новини, розміщувати нові сторінки на сайті та виконувати інші операції над змістом через зручний інтерфейс. При цьому користувач може не володіти технологіями створення сайту, але він обов'язково повинен розуміти, як влаштований сайт. З точки зору розробників - це інструмент, який прискорює створення складних сайтів, дозволяючи компонувати рішення з готових блоків, змінюючи в певних межах логіку роботи та оформлення.
Одними з найбільш поширених cms, на основі яких можна створювати функціональні і легко керуємi сайти без серйозних фінансових витрат є Drupal, Joomla, WordPress, TYPO3 а також нещодавно з'явилося Oxite.
Актуальність:
Ознайомившись з поняттям, CMS стало зрозуміло, що в даний момент це область, що стрімко розвивається. На даний момент вже дуже багато зроблено в різних CMS, але все ж таки залишається ще величезна кількість проблем. З них можна виділити наступні: недостатній функціонал, неможливість роботи в кластері, неможливість роботи декількох сайтів одночасно, дірки в безпеці. Таким чином, потрібно сказати про актуальність цієї галузі, розвивати її необхідно, причому прямо зараз. Якщо якісно вирішити всі викладені проблеми, то можна отримати CMS, яка б задовольняла 50% сайтів які зараз знаходяться в інтернеті. Програмістам не потрібно було б витрачати час на написання стандартних шматків сайту такі як авторизація, редагування інформації і т.д. Було б необхідно розібратися в CMS а далі ж просто отімізіровать її під себе, і то тільки в тих випадках, де це було б необхідно. Безумовно неможливо створити CMS яка б покривала весь клас задач, але таку яка покриває частково - можна, чим і займаються розробники з усього світу.
Цілі і завдання:
Після того, як стало зрозуміло що дана тема випускної роботи зараз дуже актуальна, необхідно було приступати до роботи. Основні цілі та завдання, які виникли, полягали в тому, щоб вивчити всі найбільш відомі CMS, виділити в кожній з них позитивні і негативні моменти. Оцінити можливість вирішення цих проблем. Тому що не кожну проблему можна вирішити, не вплинув на інші питання. Хорошим прикладом може послужити CMS 1С-Битрикс в якій міститься величезний функціонал, який дуже серйозно гальмує продуктивність сайту. Останнім же кроком є побудова моделі, яка б вирішувала всі можливі завдання.
Можлива наукова новизна:
Новизною у проекті є те, що хочеться створити таку CMS, яка б задовольняла всіх потреб, на даний момент жодна CMS такою не є, крім того деякі дуже важливі проблеми, такі як кластерізація даних, керування кількома проектами одночасно, навіть не намагаються вирішуватись. А це дуже важливі проблеми і що найголовніше список цих проблем дуже довгий. Крім всього іншого хотілося б забезпечити зручну і безпечну можливість допісанія плагінів в проектовану CMS. Це дозволить кожному розробнику додавати функціонал такий, як йому буде потрібно.
Плановані практичні результати:
Самої основним завданням хотілося б придумати таку алгоритмічно вирішальну модель, яка б забезпечувала вирішення всіх завдань по підвищенню ефективності сайтів. Придумав і реалізував таку модель, можна було б її поступово наповнювати функціоналом. Саме головне в такій моделі, отримати максимально повний функціонал, частини якого повністю не залежали один від одного. Таким чином, ми змогли б налаштовувати сайт конкретно для нашої програми, економія часу на завантаження та обробки сторінки, а також на розмірі сайту. Вирішивши цю проблему а також додавши можливість додавання плагинов, ми отримали б CMS яку може розвивати всі і кожен. В якості прикладу можна звернути увагу на компанію Mozilla Foundation, яка випустила браузер FireFox. Гідність цього браузера полягає в тому, що кожен додає в неї тільки той функціонал, який необхідний. Це в свою чергу забезпечує оптимальну роботу браузера.
Огляд CMS
Drupal:
Drupal являє собою систему управління сайтом, написана на мові PHP і використовує як сховище змісту реляційних базу даних (підтримуються MySQL, PostgreSQL, а також будь-які СУБД підтримувані бібліотекою PEAR). Drupal є вільним програмним забезпеченням захищеним ліцензією GPL і створюється зусиллями ентузіастів зі всього світу. Почав розробку голландець Dries Buytaert, який і понині є керівником проекту.
Архітектура Drupal дозволяє застосовувати його для побудови різних типів сайтів - від блогів і форумів, до інформаційних архівів або сайтів новин. Функціональність забезпечується Plug-in, які звертаються до загального API Drupal. Стандартний набір модулів включає такі функції як новинна стрічка, блог, форум, завантаження файлів, збирач новин, голосування, пошук та ін Додаткові модулі, які значно розширюють базові функції, дотупни на офіційному сайті.
Найбільш важливі функції надаються модулями що входять в поставку Drupal:
- Єдина категоризації всіх видів вмісту - від форумных повідомлень до блогів і новинних статей
- Вкладеності категорій будь-якої глибини
- Пошук по змісту сайту
- Розмежування доступу користувачів до документів (рольова модель)
- Динамічне побудова меню
- Підтримка XML-форматів
- Вивод документів в RDF / RSS
- Аггрегація матеріалів з інших сайтів
- BlogAPI для публікації матеріалів з допомогою зовнішніх програм
- Підтримка загальної авторизації між сайтами на Drupal ( "сайти-партнери")
- Короткі URL
- Підтримка змінних тем оформлення сайту з наданням декількох готових варіантів
- Підтримка перекладів інтерфейсу сайту на різні мови
- Можливість створення сайтів з пересічних вмістом (наприклад загальною базою користувачів або загальними налаштуваннями)
- Окремі конфігурації сайту для різних віртуальних хостів (у тому числі власні набори модулів і тем оформлення для кожного Підсайти)
- Механізм для обмеження навантаження на сайт (автоматичне відключення при високій відвідуваності частини інформаційних блоків та модулів)
Joomla:
Joomla - система управління вмістом, написана на мові PHP і використовує як сховище змісту базу даних MySQL. Joomla є вільним програмним забезпеченням, захищеним ліцензією GPL. Однією з головних особливостей Joomla є відносна простота управління при практично безмежних можливостях і гнучкості при виготовленні сайтів.
Joomla є відгалуженням широко відомої Mambo CMS. Команда незалежних розробників відокремилась від проекту Mambo через незгоди в економічній політиці. І 16 вересня 2005 року до світу вийшла перша версія Joomla, що є по суті перейменованої Mambo 4.5.2.3 і включає в себе виправлення знайдених на той момент помилок та вразливостей. Розробники обіцяють, що до виходу версії 2.0 движок буде повністю переписаний і адаптований під PHP 5.
Joomla включає в себе різні інструменти для виготовлення веб-сайту й управління сайтом. Важливою особливістю Joomla є мінімальний набір інструментів при початковій установці, який збагачується в міру необхідності. Це знижує загроможденіе адміністративної панелі непотрібними елементами, а також знижує навантаження на сервер і заощаджує місце на хостингу.
WordPress:
WordPress - CMS c відкритим вихідним кодом, що розповсюджується під GNU GPL. Написаний на PHP, в якості бази даних використовує MySQL. Сфера застосування - від блогів до досить складних новинних ресурсів. На сьогоднішній день Wordpress - найпопулярніша система для ведення блогів.
Можливості:
- Можливість публікації за допомогою сторонніх програм і сервісів;
- Моментальна публікація;
- Простота установки, настройки;
- Підтримка веб-стандартів (XHTML, CSS);
- Підтримка RSS, Atom, trackback, pingback;
- Plug-in (плагіни) з унікальною простий системою їх взаємодії з кодом;
- Підтримка так званих «тем», що дозволяють легко змінювати як зовнішній вигляд, так і способи виведення даних;
- «Теми» реалізовані як набори файлів-шаблонів на php, що позитивно позначається на швидкості та гнучкості;
- Величезні бібліотеки «тем» і «плагінів»;
- Закладений потенціал архітектури дозволяє легко реалізовувати складні рішення;
- Наявність російських (неофіційних) перекладів.
TYPO3:
Одним з найбільш потужних представників CMS з відкритим вихідним кодом є система TYPO3. Ця система досягла найбільш високого професійного рівня, дуже універсальна і легко зменяема в залежності від застосування. Розробка TYPO3 розпочато 1998 році данським програмістом Каспером Скархей. Зараз TYPO3 поширена в усьому світі. TYPO3 інтенсивно розвивається: щорічно випускаються 2 нові версії системи, активно працює TYPO3 Асоціація. Як і багато інших системи з відкритим вихідним кодом, TYPO3 поширюється під безкоштовною ліцензією GPL і вільно доступна через інтернет.
Основні можливості:
- Редактор тексту з форматуванням (RTE) і перевірка орфографії
- Скасування змін та історія змін
- Передпроглядання перед публікацією
- Буфер обміну
- Редагування вмісту з frontend і backend
- Внутрішні посилання (можливі посилання на рівні елементів вмісту)
- Внутрішній пошуковий механізм
- Одна інсталяція системи для багатьох сайтів (з єдиним деревом сторінок)
- Одна інсталяція системи для багатьох доменів
- Templavoila
- Гибкая система розмежування прав для редакторів сайту
- Динамічне побудова меню - текстових і графічних
- Можливість авторизації користувачів через LDAP
- Версіонірованіе
- Робочі області (workspaces)
- Підтримка WML
- Підтримка XML
- Підтримка імпорту та експорту RSS
- Експорт в PDF
- Експорт в статичний HTML
- Кешування сторінок
Порівняння CMS
Розглянемо CMS Drupal, Joomla, Wordpress, TYPO3 за наступними основними характеристиками:
Версії / безпека:
- Drupal:
Останньою є версія 6.6. Всі нові версії Drupal довго тестуються перед офіційним релізом. Так як CMS має стабільне ядро, помилки в модулях виправляються оперативно, тому зараз цілий ряд великих корпоративних сайтів компаній зі світовими іменами працює на Drupal.
- Joomla
Остання стабільна версія 1.5.8, в якій було виправлено 114 помилок, в тому числі 2 середні помилки безпеки виявлені при тестуванні Joomla 1.5.x. Є великі проблеми з безпекою сторонніх розширень, які розповсюджуються безкоштовно. Із стабільних розширень можна виділити OpenSEF і MosetsTREE.
- Wordpress:
Поточна версія: 2.6.5. Графік випуску версій WordPress дуже часто збивається. Якщо виявляється якась серйозна «діра», то розробники оперативно випускають оновлення. За рахунок оптимізації запитів, швидкість роботи нових версій значно вище попередніх.
- TYPO3:
Поточна стабільна версія 4.2.2. Щорічно випускаються дві нові версії системи і відрізняється від інших систем, зміни більш радикальні.
Безпека в Typo3 дуже болюче питання для системних адміністраторiв, оскільки система вимагає SafeMode = Off і працює функції exec. Exec функція потрібна для використання ImageMagic, яку вже давно вважають за стандарт для хостингових.
Конфігурація безпеки самої cms описана в документації і включає в себе установки, які стосуються і права доступу до файлової системи, SSL доступ до backend-адміністрування, контроль всіх дій усіх користувачів (logging), обробка помилок, потужна робота з кешем.
Росiйська документація:
- Drupal:
Перекладом документації по Drupal займається російське співтовариство cms. Також є самопіснi статті та керівництва. Документація на модулі здебільшого не переведена.
- Joomla
Російськомовної документації досить багато. Причому вона не обмежується перекладом офіційної допомоги, а вже приходить до стадії написання авторських статей.
- Wordpress:
WordPress має дуже великий документацією, але на жаль вона тільки англійською мовою. Документація побудована таким чином, що дозволяє досить швидко знайти потрібний відповідь. Практично кожна стаття має кілька прикладів, а також посилання на суміжні питання.
- TYPO3:
На даний момент, російська документація по Typo3 є просто перекладом англійської документації. Є російськомовна Wiki, яка по суті являє собою набір рад. Існує близько двох десятків книг по TYPO3, більшість на німецькій мові.
Боротьба зі спамом:
- Drupal:
Надає наступні можливості по боротьбі зі спамом: графічна або математична каптча на вибір, аналізатор поведінки клієнтів з відсіювання ботів. Можна задавати обмеження на кількість посилань в одному повідомленні, контролювати флуд, банити ip і вести «чорний список» рекламованих сайтів, а також фільтрувати повідомлення за підстроками.
- Joomla
У базовій версії відсутні можливості по боротьбі зі спамом.
- Wordpress:
Стандартно в WordPress входить плагин Akismet, який досить ефективно бореться зі спамом. Крім цього можна створити чорний список і фільтри з слів. З їх допомогою можна просто заблокувати будь-який коментар, який містить заборонений слово або відправити його на модерації. Найбільшу ж ефективність у боротьбі зі спамом можна досягти за допомогою так званих капчі - картинки з набором символів. У цьому випадку ставиться повний заслін від автоматичних спам-роботів. Установка більшості плагінів антиспаму дуже проста, зачаття достатньо тільки його активувати в адмін-панелі (наприклад, популярна SpamKarma). За допомогою спеціального плагіна є можливість модерировати спам-коментарі. Причому доступні як звичайні коментарі, так і пінг і трекбакі. В цілому ж плагінів для антиспаму безліч (я нарахував більше сімдесяти).
- TYPO3:
Однією рядком TypoScript в шаблоні підключається система блокування спам-ботів, збирають e-mail адреси. Також існують розширення Captcha, Bad Behavior, SPAM Assassin, Akismet, Spam Detection через mod_security в. Htaccess та інші.
Інтеграція з форумом:
- Drupal:
Базовий пакет Drupal містить досить функціональний форум, який підійде для організації невеликих спільнот. Для організації великих спільнот він теж, втім, підійде - на форумі drupal.org зараз понад 320 000 повідомлень. Є модератори, групи користувачів з різними правами доступу, сповіщення по email, аватари, підписи, RSS. Перевага вбудованого форуму - єдина база користувачів, яку використовують інші частини сайту. Є можливість інтеграції з PHPBB.
- Joomla
Разом з Joomla не постачається компоненту форуму, проте на даний момент найбільш оптимальним варіантом створення вбудованого форуму є FireBoard і його російська редакція від Adeptus'а. Що ж стосується інтеграцій - вони існують. Найпоширенішою є зв'язка Joomla-SMF, під яку є не одна інтеграція, навіть комерційна.
- Wordpress:
Для WordPress'а розроблений і рекомендується форум BBPress (є і русифікація), який повністю інтегрується в блог. Правда, можливості у цього форум більш ніж скромні. На офіційному сайті WordPress'а використовується саме цей форум. Також існують плагіни, які дозволяють частково інтегрувати деякі популярні форуми в блог. Щоправда для цього потрібні хороші знання програмування, і при цьому, все одно стовідсоткової інтеграції не вийде - все-таки це різні системи.
- TYPO3:
Розроблені чисто для typo3 форуми як розширення: CHC Forum, WEC Discussion Forum, mm forum ... Розширення-з'єднання phpBB, VBulletin c Typo3, а так само інструменти міграції даних з phpBB на більш рекомендований CHC Forum. Розширення-з'єднання форумів та новин.
Візуальний редактор:
- Drupal:
В Drupal можна вмонтувати редактори TinyMCE або FCKEditor, які гнучко налаштовуються і є потужними засобами (наприклад, в TinyMCE можливо працювати з таблицями, додаючи та видаляючи строки й стовпи, та об'єднуючи комірки, «чистити» скопійовані з Ворда тексти від надлишкових тегів)
- Joomla
Більшість візуальних редакторів - переноснi та найпоширеніші редактори. Найбільш зручним і гарним з безкоштовних є редактор JCE, розроблений спеціально для Joomla (а спочатку ще для Mambo, тоді він називався MosCE), який є гарною альтернативою платному WysiwygPro.
- Wordpress:
Стандартно в WordPress'е використовується трохи урізаний TinyMCE і простий текстовий редактор (перемикання між ними «на льоту»). При бажанні можна встановити і повну версію TinyMCE, тоді буде доступно три панелі кнопок зі всіма можливостями. Потрібно відзначити, що в WordPress'е є можливість стороннім плагінам додавати кнопки в редактор. Таким чином можна наприклад отримати функції для долучення відео, аудіо і т.д. У профілі користувача також можна відключити використання візуального редактора.
- TYPO3:
Вбудованим є редактор RTE. З розширень можна виділити htmlArea RTE, tinyRTE, FCKEditor (поки експериментальний), TinyMCE та інші.
Шаблони оформлення:
- Drupal:
Движок шаблонів добре спроектований, тому розібратися з інтеграцією своїх шаблонів зможе початківець PHP-програміст. В Drupal є великі можливості з управління темами. Красивих загальнодоступних шаблонів мало, дуже багато шаблонів робиться під конкретного замовника.
- Joomla
У порівнянні з шаблонами інших систем управління сайтом шаблони Joomla! дуже прості за своєю структурою, що спрощує процес їх створення і редагування. Існує 2 вида шаблонів Joomla: шаблони сайту (Site Template) і шаблони адміністративної панелі (Backend Template). В Joomla є можливість призначення різним сторінкам різних шаблонів. Наприклад, маючи на сайті розділ статей і магазин, ви можете оформити їх як два зовсім різних сайта, всього лише оперуючи шаблонами Joomla. Joomla підтримує систему модулів. Модулі об'єднуються в позиції, які вже й підвантажує в потрібних місцях шаблону. Модулі можна прив'язувати до конкретних сторінок (вмикати та вимикати відображення) а так само виводити різними способами по ходу сторінки. За допомогою маніпуляцій в шаблоні можна декількома модулями скласти дуже красиву головну (або будь-яку іншу) сторінку, просто вимкнувши компонент працює там і розташувавши замість нього модулі (наприклад, що відображають новини з різних категорій).
- Wordpress:
Для WordPress'а створені тисячі шаблонів і багато з них виконані на дуже гарному дизайнерському рівні. Пристрій WordPress таке, що під нього нескладно переробити, скажімо, html-шаблон. У шаблонах використовуються звичайні PHP-функції, тому ніяких труднощів з вивченням т.зв. мов шаблонів немає. По створенню шаблонів існує досить багато статей, навіть є он-лайн генератор. Готові шаблони достатньо завантажити в окремий каталог і після цього в адмін-панелі вибрати сподобався. Існує також можливість перемикати шаблони відвідувачами.
- TYPO3:
Стандартне підключення файлів шаблону здійснюється за допомогою вставки закомментірованих покажчиків в html-шаблон і зверненням до них як до об'єктів через TypoScript. Існує потужне розширення "TemplaVoila!" Для візуального підключення шаблону, розмітки об'єктів по тегам і звернення до них через TypoScript.
Розширена функціональність (плагіни):
- Drupal:
Зараз в офіційному репозиторії зберігається близько тисячі безкоштовних модулів. Серед інших є рішення для електронної комерції, CRM-система, wiki-движок. Варто відзначити модуль CCK (Content Construction Kit), який дозволяє за допомогою графічного інтерфейсу описувати об'єкти предметної області в базі даних і відразу ж створювати форми для управління ними.
- Joomla
На офіційному сайті (extensions.joomla.org) представлено 4159 розширень. В Joomla існує три види розширень, є спеціальна система їх встановлення, що дозволяє за допомогою xml-файлу описувати всі дії необхідні для здійснення при створенні запису про розширення (наприклад, SQL-запити, копійований файли або дії виконуються відразу після установки, які не можна виконати автоматично ).
- Wordpress:
WordPress можна розширити за рахунок плагінів - це різні php-скрипти, які автоматично підключаються до основного «ядра». Таким чином можна не просто додати потрібну функціональність, але і змінити вже існуючу. Підключення плагіна до WordPress'у здійснюється копіюванням у спеціальний каталог і активацією в адмін-панелі. Деякі плагіни можна налаштовувати, деякі треба прописувати в шаблоні, а деякі працюють повністю автоматично. Плагінів для WordPress написано кілька тисяч, тому можна знайти плагін практично під будь-які потреби. Деякі плагіни потребують значної переробки шаблону.
- TYPO3:
Є величезний репозиторій розширень (бл. 2000), документація до найпопулярнішим перекладена на російську мову.
Продуктивність:
Нижче приведено тестування продуктивності найбільш використовуваних cms Joomla 1.5 та Drupal 6.1. Результати тестування швидкодії cms наведено на рисунках 1.1 і 1.2.
Рис. 1.1 Характеристики швидкодії Joomla та Drupal |
Рис. 1.2 Порівняння швидкодії Joomla та Drupal |
Drupal значно швидше Joomla у всіх чотирьох інсталяція. Швидкість завантаження Drupal покращується на ~ 74%, при включеному кеші і без встановлених модулів. Якщо ж коштують додаткові модулі, то включення кеша поліпшить бистродейсвіе системи на ~ 86%. Кеш допоможе поліпшити бистродейсвіе Joomla на ~ 23% і на ~ 20% (з додатковими компонентами).
Далі представлені результати тестування продуктивності розглянутих cms на віртуальному веб-сервері. Тестування проводилося на наступній конфігурації: Architecture: x86 CPU: 3.0Ghz RAM: 512Mb OS: Debian GNU/Linux , kernel 2.6.22-3-686
Для всіх cms загружпемая сторінка містила меню, форму введення, текст загальним розміром 40Кб. Тестування проводилося для 1, 10 і 20 користувачів. Тестування проводилося для наступних версій: WordPress 2.6, Joomla!: 1.5.2, Typo3: 4.1.6, Drupal:6.2
У таблиці 1.2 і на рисунку 1.3 наведені результати тестування для 10 користувачів. Результам є швидкість завантаження сторінок (milliseconds per page request).
Таблиця 1.2 Результати тестування для 10 користувачів |
Рис. 1.3 Результати тестування для 10 користувачів |
У таблиці 1.3 і на рисунку 1.4 наведені результати тестування для 30 користувачів.
Таблиця 1.3 Результати тестування для 30 користувачів |
Рис. 1.4 Результати тестування для 30 користувачів |
У таблиці 1.4 і на рисунку 1.5 наведені результати тестування для 50 користувачів.
Таблиця 1.4 Результати тестування для 50 користувачів |
Рис. 1.5 Результати тестування для 50 користувачів |
Drupal використовує найбільш ефективний алгоритм кешування, тому ця cms показала кращі результати. У порівнянні з попередніми версіями Joomla 1.5 споживає більше системних ресурсів хостинга: пам'ять, запити до бази, велика кількість невеликих файлів-на підключення до кожного йде час і пам'ять, а в режимі Legacy (Спадкоємний) система споживає ще більше ресурсів ніж без нього.
У версії 2.6 WordPress розробники прибрали файловий кеш, таким чином споживання пам'яті значно пiдвищелось. У WordPress'е завантажуються всі файли не залежно від того, чи будуть використовуватися чи ні. Тобто сервер змушений обробляти багато php-коду вхолосту, що неминуче призводить до додаткового навантаження процесора.
Рис. 1.6 - Логотипи розiбраних CMS (анiмацiя: объєм - 115 КБ; размер - 467x350; кiлькiсть кадрiв - 10; зiтримка мiж кадрами - 80 мс; зiтримка мiж останнiм та першим кадрами - 150 мс; кiлькiсть циклов повторiнния - 8.)
Висновки
Typo3 має потужну функціональність, розширюваність і гнучкість. Величезна кількість розширень одне з яких - templavoila слід включити в стандартний пакет інтегрував в ядро. CMS і будь-яке розширення налаштовується за допомогою TypoScript - вбудовану скриптову-мовою, але не процедурних, а за принципом швидше схожим на Windows регістр або на XSLT. Оскільки cms має неймовірно гнучкість, це ж її слабке місце: на відміну від інших розглянутих cms вона складна в освоєнні.
Wordpress - це спочатку блоговая CMS зробити на ньому якийсь iнший тип сайту досить складно. Якщо необхідно зробити професійний сайт на CMS, що стабільно розвивається, добре підтримується, постійно оновлюється, володіє сильною модульність, широким набором доповнень, то з безкоштовних cms найкраще використовувати Joomla і Drupal.
Joomla простіше і легше у вивченні та управлінні, але Drupal, хоча і складніше і не такий красивий, і хоча його трохи важче вчити, представляє майже 100% гнучкість. Тому Adobe обрала Drupal для побудови на його основі своїх пробних Flex - сайтів.
Незважаючи на це, є сильні сторони у Joomla, які іноді роблять її більш привабливою в деяких випадках. Joomla хороша для корпоративних сайтів і класичних порталів. Базова поставка багата функціональністю. Багато компонентів продаються, що позитивно позначається на їх якості. Drupal ж пристосований під ком'юніті-сайти. Є вбудований форум, коментарі, блоги, модуль для публікації книг. І хоча на обох CMS можна робити практично будь-які сайти, в одних випадках системи йтимуть розробникам на зустріч, а в інших - доведеться долати багато труднощів.
Одним з суттєвих недоліків Drupal є слабке використання об'єктних можливостей PHP: API Drupal практично не використовує наявні в PHP можливий ООП. Розробники аргументують це слабкою реалізацією ООП в мові. Об'єктна модель в Drupal присутній, але в кілька нетрадиційному для PHP вигляді. Ввиду активного використання бази даних Drupal може бути занадто тяжкий для ресурсів надаються на дешевих тарифних планах хостинг-провайдерів, хоча для невеликих сайтів з відвідуваністю в декілька сотень чи тисяч відвідувачів на добу цих ресурсів буде досить.
Список літератури
- Вандюк Д. Вестгейт М. CMS Drupal: руководство по разработке системы управления сайтом. / Д. Вандюк, М. Вестгейт - М.:Диалектика-Вильямс. 2008. 400с.
- Robert T. - Building Online Communities With Drupal, phpBB, And WordPress. / T. Robert, M. Little, W. Jared - Apress. 2007 375p.
- Мерсер Д. Drupal 6. Создание надежных и полнофункциональных веб-сайтов, блогов, форумов, порталов и сайтов-сообществ. М.:Диалектика-Вильямс. 2009. 272с.
- Норт Б. Joomla! Практическое руководство. - СПб.:Символ-Плюс. 2008. 448c.
- Колисниченко Д. Н. Joomla! 1.5. Руководство пользователя. - М.:Диалектика-Вильямс. 2009. 224c.
- Граф Х. Создание веб-сайтов с помощью Joomla! 1.5. - М.:Диалектика-Вильямс. 2008. 304с.
- Hayder H. WordPress Complete - Packt Publishing Ltd. 2006. 283p.
- Blakeley Silver T. WordPress Theme Design - Packt Publishing Ltd. 2008. 224p.
- Altmann W. TYPO3 - Open Source Press. / W. Altmann, R. Fritz, D. Hinderink 2004. 624p.
- Fritz R. Typo3: Enterprise Content Management / R. Fritz, D. Hinderink, W. Altmann - Packt published. 2005. 595p.