Використання ПЗ з відкритим вихідним кодом для створення Web-сайту для спільної роботи: Частина 1.Вступ і огляд

  1. Серія контенту:
  2. Цей контент є частиною серії: Використання ПЗ з відкритим вихідним кодом для створення Web-сайту для...
  3. Вступ
  4. проблеми
  5. процес проектування
  6. Середовище розробки
  7. вимоги
  8. Малюнок 1. Типова сторінка з Web-сайту IBC
  9. Порівняння рішень з управління вмістом
  10. Mambo
  11. Typo3
  12. Ruby on Rails
  13. Механізми Web-журналів
  14. Movable Type
  15. WordPress
  16. TextPattern
  17. Малюнок 2. Вимоги до програмного забезпечення для деяких систем керування вмістом
  18. Малюнок 3. Рейтинг кандидатів на основі вимог
  19. Drupal в деталях
  20. розширення Drupal
  21. Інші інтегровані системи управління вмістом
  22. резюме
  23. Ресурси для скачування

Використання ПЗ з відкритим вихідним кодом для створення Web-сайту для спільної роботи

Серія контенту:

Цей контент є частиною # з серії # статей: Використання ПЗ з відкритим вихідним кодом для створення Web-сайту для спільної роботи

https://www.ibm.com/developerworks/ru/views/global/libraryview.jsp?series_title_by=Использование+ПО+с+открытым+исходным+кодом+для+создания+web-сайта+для+совместной+работы

Слідкуйте за виходом нових статей цієї серії.

Цей контент є частиною серії: Використання ПЗ з відкритим вихідним кодом для створення Web-сайту для спільної роботи

Слідкуйте за виходом нових статей цієї серії.

Вступ

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

У даній серії статей ми використовуємо вигадану організацію International Business Council (IBC), для того щоб показати вам, як найбільш ефективно підвищити функціональні можливості вашого Web-сайту. IBC об'єднує своїх співробітників і бізнес-партнерів у взаємодіє співтовариство, однак існуючий Web-сайт не відповідає новим бізнес-вимогам і потребує модернізації. Новий, модернізований Web-сайт повинен мати сховище документів, дискусійні групи, спеціалізовані робочі групи, планувальник конференцій, опису запланованих сесій, функцію завершення сесій, а також виконувати інші завдання.

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

Існуючий Web-сайт заснований на репозиторії документів, що забезпечує спосіб обміну документами і повідомлення членів спільноти про майбутні події. Однак Web-сайт не сприяє взаємодії користувачів, особливо в контексті сайтів Web 2.0 з такими поліпшеними можливостями як Web-журнали, дискусійні групи, RSS-канали і т.д. Метою групи розробників є стимулювання взаємодії користувачів і забезпечення інтегрованого середовища публікацій для підтримки діяльності співтовариства.

проблеми

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

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

процес проектування

Наш процес проектування був ітеративним і протікав від аналізу до створення прототипу і пробних випробувань. На самих ранніх етапах ми підключили до процесу кінцевих користувачів за допомогою опитувальних листів, альтернатив проектування і прототипів різного ступеня готовності. Ми хотіли сконцентрувати наші рішення як на бізнес-цілях, так і на потребах кінцевих користувачів. Ще до визначення функціональних вимог і початку процесу розробки ми виявили, що чим раніше ми підключимо користувачів, тим швидше зможемо зрозуміти, що було б корисним, і які рішення є правильними. Чи не прикладаючи значних зусиль, ми зібрали дуже цінну інформацію, одночасно викликавши у користувачів відчуття безпосередньої участі в процесі проектування. Крім того, ми завоювали довіру спільноти користувачів.

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

  • Інформація про робочі групи
  • Інформація про минулі і майбутні конференціях
  • Доступ до інформації про всіх членів спільноти

За зворотної реакції користувачів стало також зрозуміло, що необхідна чітка, ясна і проста архітектура.

Ми визначили три класи користувачів (або персонажів), що приходять на сайт: клієнти, керівники робочих груп і адміністратори. Ці персонажі визначають наш дизайн і процес прийняття рішень. Вивчивши, яка інформація представляє важливість, і як вона пов'язана з основними класами користувачів, ми змогли створити архітектуру вмісту, його ієрархію, способи подання та способи взаємодії кожного класу користувачів з цією інформацією. Наприклад, інформація про конференції може містити питання порядку денного або сесії, планування цих питань, теми, яких торкається на конференції, і питання, вирішені між конференціями.

Наш процес проектування буде досліджений більш детально в наступній частині даної серії статей.

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

Середовище розробки

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

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

Для підтримки проекту і використання всіх технологій в інтегрованому середовищі розробки (IDE) ми вибрали Eclipse. Eclipse надає велику кількість розширень і дуже тісно інтегрується з Concurrent Versions System (CVS). Eclipse-перспективи надають кілька видів і редакторів, що підтримують поточну діяльність. У нашому випадку такою діяльністю було редагування PHP-модулів і HTML-фрагментів. Eclipse також відстежував локальні зміни в нашому коді. Тобто, навіть якщо ви не виконуєте входить контроль файлів в CVS, то все одно можете відновити попередні версії файлу на вашій локальній машині. Ця функціональна можливість Eclipse гарантує, що ви ніколи не втратите вихідний код. Створивши централізовану середу розробки і тестування, ми могли оптимізувати роботу з кодом та іншими членами групи - час має витрачатися на написання і тестування коду, а не на управління файлами і іншим ресурсами на вашій системі.

Вибір системи управління вмістом вплинув на необхідність використання інших інструментальних засобів. У випадку з Drupal це означало використання PHP, HTML і Cascading Style Sheets (CSS) для розробки сторінок, а також MySQL для серверного сховища.

вимоги

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

  • Розділення вмісту і уявлення
  • Вбудоване коментування вмісту
  • Вбудоване редагування вмісту
  • Тематичні дискусійні групи
  • Управління правами доступу
  • Пошук вмісту
  • Аутентифікація перед переглядом будь-якого вмісту
  • Управління сесіями, включаючи завершення, а також угоду з умовами використання
  • Підтримка взаємодії спільноти через дискусії
  • Простий курс навчання по роботі з системою управління вмістом
  • Простий інтерфейс адміністрування системи управління вмістом (для передачі клієнту)

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

Малюнок 1. Типова сторінка з Web-сайту IBC
Використання ПЗ з відкритим вихідним кодом для створення Web-сайту для спільної роботи   Серія контенту:   Цей контент є частиною # з серії # статей: Використання ПЗ з відкритим вихідним кодом для створення Web-сайту для спільної роботи   https://www

Рішення з відкритим вихідним кодом з управління вмістом

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

В кінцевому підсумку, ми вибрали Drupal. Однак корисно обгрунтувати причини нашого вибору. У наступному розділі ми описали деякі з систем-кандидатів, включаючи Drupal, Mambo, Typo3, Ruby on Rails, Movable Type, WordPress і TextPattern.

Порівняння рішень з управління вмістом

Drupal

"Drupal - це програмне забезпечення, що дозволяє індивідууму або спільноті користувачів легко публікувати, керувати та організовувати різноманітне вміст на Web-сайті. Десятки тисяч людей і організацій використовували Drupal для настройки безлічі Web-сайтів різного типу, включаючи:

  • Web-портали співтовариств і дискусійні сайти
  • Корпоративні Web-сайти / інтранет-портали
  • Персональні Web-сайти
  • Сайти по інтересам
  • Додатки для електронної комерції (e-commerce)
  • Каталоги ресурсів

Drupal містить функціональні можливості, що дозволяють створити системи управління вмістом, блоги, середовища для спільної творчої діяльності, форуми, інформаційні листи, галереї зображень, системи завантаження файлів і багато іншого. Drupal є програмою з відкритими початковими кодами, яка використовує ліцензію GPL, управляється і розробляється спільнотою тисяч користувачів і розробників. Drupal можна вільно завантажувати і використовувати. "Джерело: CMS Matrix .

Drupal - це новачок в порівнянні з іншими системами керування вмістом (content management system - CMS). Однак нас вразила добротність написання, надійність, відмінна розширюваність цього середовища, а також, мабуть, бурхливо розвивається співтовариство розробників, які забезпечують хорошу адаптацію і підтримку.

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

Інтегроване середовище і шаблонна система (theming - підтримка тем) написані повністю на PHP, тобто не потрібно вивчати окрема мова тегів. Якщо ви хочете вийти за межі середовища, це дуже легко зробити (природно, це не рекомендується, але демонструє необмежену гнучкість).

Управління сесіями вбудовано в функції ядра, чого не було в інших CMS. Це допомогло нам подолати в подальшому деякі перешкоди.

Drupal відомий своєю масштабністю (простотою розширення Web-сайту для невеликої групи користувачів до сайту корпоративного рівня). Середовище має також можливістю "пригальмовувати" області сайту, які можуть викликати потенційні проблеми при великому трафіку.

Крива навчання "Шляхи Drupal" створення сайтів все ще помітна, але в значно меншому ступені, ніж в інших CMS. Здатність використання PHP для вільного переміщення між рівнем логіки і рівнем уявлення (використовуючи механізм PHP-шаблонів) була також дуже привабливою.

Ми чули, що система управління доступом в Drupal могла б бути більш деталізованою, але подумали, що зможемо реалізувати це, використовуючи гнучку розширюваність Drupal. Нещодавно була випущена версія Drupal 4.7 з численними поліпшеннями в порівнянні з версією 4.6.

Mambo

"Mambo Open Source є однією з найдосконаліших систем керування вмістом з відкритими початковими кодами, доступних в даний час. Установка Mambo за замовчуванням проста в налаштуванні і обслуговуванні. Програма установки використовує 4-кроковий інтерфейс майстра установки, який дозволяє встановити всю систему без необхідності володіння великими технічними знаннями. Будучи встановленої, система містить безліч шаблонів, які ви можете вибрати, і велика кількість готових до роботи функцій. Вміст може бути додано, зрад ено, а для управління ним не потрібні знання HTML, XML або DHTML - просто вводите ваше вміст за допомогою дружнього редактора і тисніть кнопку Publish. Більш просунуті користувачі можуть управляти системою відповідно до свого рівнем знань. Основні файли написані на PHP [система Mambo заснована на Linux ™, Apache, MySQL, P для PHP, Perl і Python (LAMP)] і можуть бути легко змінені. Система стійка, надійна і підтримується великою спільнотою користувачів і професійних розробників (на початку 2006 Mambo виповнилося 5 років!) "Джерело: CMS Matrix .

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

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

Крім того, Mambo пропонує обмежену управління сесіями, хоча і більш розвинене, ніж в інших CMS.

Метод розробки здавався заплутаним, а майбутнє такого рішення не було для нас визначено. Плюс до всього, розробка Mambo пішла кількома шляхами. Miro - це комерційний продукт, а Joomla здається нової CMS, що бере початок від Mambo. Але Mambo все ще існує, а її поточний стан, мабуть, більш стабільно.

Typo3

"TYPO3 - це система управління вмістом з відкритими початковими кодами рівня підприємства, випущена під ліцензією GPL. Вона працює по всьому світу на більш ніж 122000 серверів. Додаток переведено на 43 мови і активно розроблялося спільнотою 27000 користувачів з 60 країн. До деяких з користувачів відносяться BASF, DaimlerChrysler, EDS, Konika-Minolta, Volkswagen, UNESCO, а також безліч університетів, урядових агентств і некомерційних організацій. " джерело: CMS Matrix .

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

Генерируемая більшістю з основних і додаткових модулів розмітка використовувала структуру середини-кінця 90-х з безліччю табличних схем, незначним використанням ефективно розташованих CSS ID і атрибутів класів, а іноді і явно некоректну структуру. Ми хотіли використовувати сучасні методики для збереження наших ітерацій розробки гнучкими, тому дана система не могла сприяти своєчасної розробки. Шаблонна система теж виявилася дуже складною в порівнянні з іншими рішеннями. Час, необхідний для освоєння системи роботи з темами для Web-вмісту, переважило потужність шаблонної системи.

Інтерфейс адміністратора здався незграбним і древнім, особливо в порівнянні з Mambo. Це було важливе зауваження, оскільки ми повинні були передати замовнику функції адміністрування сайту.

Якби ми мали більше часу, то могли б вибрати для роботи Typo3. Але його треба було б переписати, щоб зробити свіжим і конкурентоспроможним в порівнянні з іншими CMS. Проблема використання стандартів, заснованих на xHTML і CSS, вирішується в новій версії Typo3.

Ruby on Rails

"Ruby є чистим об'єктно-орієнтованою мовою програмування з надзвичайно ясним синтаксисом, що робить програмування елегантним і цікавим. Ruby успішно комбінує концептуальну елегантність Smalltalk, простоту використання і вивчення Python і прагматизм Perl. Ruby виник в Японії на початку 1990 і став всесвітньо популярним в останні кілька років після появи більшої кількості книг і документації англійською мовою. Rails є Ruby-середовищем з відкритими початковими кодами для розробки використовують бази даних Web-додатків. Основні ін нціпи Rail: менше програмування і угоду замість конфігурації. Менше програмування означає, що ви пишете менше число рядків коду для реалізації вашого застосування. Збереження вашого коду невеликим означає більш швидку розробку і менше число помилок, що робить ваш код більш легким для розуміння, обслуговування і поліпшення. Ви швидко побачите, наскільки скоротить Rails вашу роботу над кодом. Угода замість конфігурації означає кінець багатослівним конфігураційним XML-файлів - їх в Rails немає взагалі! Замість конфігураційних файлів Rails-додаток використовує кілька простих угод з програмування, що дозволяють обчислити всі через відображення і виявлення. Код вашої програми і працює база даних вже містять всі, що Rails повинен знати! "Джерело: Rolling with Ruby on Rails .

Типові системи управління вмістом дозволяють аутентифицироваться користувачам створювати формують вміст сторінки як частина Web-сайту. Ruby On Rails (ROR), однак, не забезпечує цю функціональність в готовому вигляді. Він надає інтегровану середу Web-додатки. Використовуючи ROR, ви можете створити спеціалізовану CMS з нуля.

На момент створення нашого проекту навколо ROR було багато чуток, джерелом яких була, головним чином, 37Signals і її вражаючий набір реальних інтерактивних ROR-додатків, таких як Base Camp .

Нам сподобався спосіб зв'язувань з базою даних через середовище. Це допомагало прискорити ті повторювані етапи розробки, які пов'язані зі стовпцями бази даних.

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

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

Механізми Web-журналів

Ми розглядали використання існуючої системи публікації, яка переважно підтримувала створення Web-журналів. Ми раніше використовували такі системи для підтримки вмісту не журнальних Web-сайтів, перевизначаючи спосіб використання категорій і даних. Ці рішення не слід ставити в один ряд з такими системами як Drupal, Mambo і Typo3. Наприклад, управління сесіями, що надається в Drupal і Typo3, зазвичай в них не підтримується. Однак вони дійсно забезпечують дуже простий і швидкий спосіб створення елементарної CMS.

Відзначаючи, що всі ці рішення орієнтовані на Web-журнали, зупинимося на декількох альтернативи:

Movable Type

"Movable Type є потужною та замовною платформою для публікації, що дозволяє користувачам створювати привабливі, виразні Web-журнали всередині персональної системи публікацій, яка є надзвичайно настроюється і універсальної. Функціонуючи як серверне програмне забезпечення, Movable Type була адаптована окремими користувачами в тексті вакансії, яким сподобалася повнота її функціональних можливостей, відкрита архітектура і хороша бібліотека сторонніх модулів, призначених для розширення функц іональності системи. Завдяки сучасній базі з сотень модулів, створених відданими розробниками з усього світу, можна створити повністю новий клас додатків на основі знайомої і перевіреної системи Movable Type. " джерело: CMS Matrix .

Будучи в даний час однієї з найбільш популярних систем публікації web-журналів, дана Perl-реалізація має велике співтовариство прихильників і хорошу структуру підтримки. Але з недавніх пір з'явилося перешкоду - створення авторами, Six Apart, структури оплати для підтримки розробки цього продукту. Оскільки ми намагалися створити рішення з відкритими початковими кодами, даний факт в зародку знищив ідею використання Movable Type.

WordPress

"WordPress являє собою сучасну, семантичну платформу персональної публікації, орієнтовану на естетику, Web-стандарти і простоту використання. Щось незвичайне. WordPress одночасно і безкоштовний і безцінний. Простіше кажучи, WordPress - це те, що ви використовуєте, коли хочете працювати з вашим програмним забезпеченням ведення Web-журналів, а не боротися з ним. Можливості WordPress за замовчуванням можуть бути сильно розширені (легко можна додати нові функції) за допомогою простої у використанні архітектури модулів. " джерело: CMS Matrix .

На момент розробки нашого проекту WordPress розвивався. Як і в Drupal, корисною є його система документування в стилі wiki, підтримує це рішення. Основний код ясний і простий в розширенні, а призначений для користувача інтерфейс легкий у використанні.

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

Недоліком WordPress є відсутність можливостей кешування, що на нашу думку обмежило б масштабованість.

TextPattern

"Безкоштовна, гнучка, елегантна, легка у використанні система керування вмістом для всіх типів Web-сайтів, навіть для Web-журналів. Коли приходить час публікації в Інтернеті, новачки і професіонали однаково стикаються з набридливим парадоксом: текстові процесори і графічні додатки дозволяють кожному досить добре виконувати роботу по управлінню текстом і зображеннями на персональному комп'ютері, але при виконанні дій за поданням цієї роботи в Web (уявній такої ж середовищем документів і, начебто, має аналоги ве призначення) легкість використання зникає за непередбаченими вимогами наявності досвіду програмування на декількох мовах, кваліфікації в комп'ютерному графічному дизайні і, в кінцевому підсумку, ангельського терпіння. Ті, хто не відступив, все одно виявлять, що їх стримує відсутність гнучкості, властиве Web (по порівняно з письмовою мовою), з його небажанням впоратися з чим-небудь крім найпростішого тексту, або непередбачуваністю результатів, спричиненою використанням WYSIWYG Web-редакторів. TextPattern є Web-додатком, що допомагає подолати ці та інші перешкоди для інтерактивної публікації і спрощує створення добре структурованих, сумісних зі стандартами Web-сторінок. "Джерело: CMS Matrix .

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

на малюнку 2 показані деякі з вимог до програмного забезпечення для розглянутих вище продуктів.

Малюнок 2. Вимоги до програмного забезпечення для деяких систем керування вмістом

Рішення використовувати Drupal

Оскільки ми повинні були зробити дизайн цього Web-сайту легким для нас і для будь-якого, хто буде адаптувати його, ключовими факторами була простота установки інтегрованого середовища і час, який знадобився б для її освоєння. Хоча Ruby on Rails (ROR) заінтригував нас, ми вирішили, що написання CMS з нуля займе багато часу, тому ROR був виключений з нашого розгляду.

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

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

Простота настройки способу відображення вмісту була найважливішим фактором - ми повинні були зберегти гнучкість під час ітерацій розробки і при будь-яких подальших налаштуваннях. Так звана "здатність до використання тим" ( "themability") також була необхідна для використання передового досвіду в Web-дизайні: семантики xHTML, CSS і зрозумілого дизайну.

на малюнку 3 показано порівняння кандидатів, що відповідають нашим вимогам. Було очевидно, що нам потрібно щось більше, ніж те, що могли б надати механізми ведення web-журналів.

Малюнок 3. Рейтинг кандидатів на основі вимог

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

Typo3 здавався мають величезне співтовариство і шукану зрілість. Однак труднощі освоєння Typo3 в порівнянні з Drupal валила в зневіру.

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

Drupal в деталях

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

  • Дружні URL, що використовують функціональність Apache mod_rewrite.
  • Легка розширюваність з використанням модульної інтегрованої середовища Drupal (співтовариство користувачів розробило багато корисних модулів, що забезпечують такі функції як відображення таксономії, jabber-аутентифікація, персональні повідомлення, закладки і т.д.).
  • Персоналізація середовища для індивідуального вмісту та подання, заснованого на перевагах користувача.
  • Рольова система повноважень, що визначає права доступу для перегляду і редагування вмісту.
  • Вміст повністю індексується для підтримки операцій пошуку.
  • Drupal написаний на верхньому рівні абстракції бази даних, тому середовище може бути легко розширена на інші серверні бази даних.
  • Підтримка інших форм вмісту, таких як голосування, тематичні коментарі і дискусії, синдикація вмісту.
  • Відділення вмісту від моделювання відображення в шаблонної системі, що використовує HTML, CSS і PHP.
  • Адміністративна підтримка ведення журналів, аналізу і Web-адміністрування.
  • Інтерактивна довідкова система.

розширення Drupal

Ми використовували модульну середу Drupal для додавання розширених функціональних можливостей, необхідних для підтримки нашого Web-сайту. До розширених функцій відносяться:

  • Створення екстранет-середовища - сайту з обмеженим доступом, що потребує аутентифікації перед переглядом будь-якої інформації.
  • Завершення сесії, засноване на взаємодії користувача з Web-сайтом.
  • Реалізація політики умов використання сайту.
  • Розширення існуючого інтерфейсу редагування вмісту для надання "вбудованого" (in-place) редагування (наприклад, показати авторизованому користувачеві, що він може редагувати у вмісті Web-сторінки, і дозволити вибрати редагування цього вмісту в цьому місці і в цей час).
  • Управління повідомленнями для публікації загальної інформації, яку повинні побачити всі користувачі.
  • Управління завданнями робочих груп, поточним станом, елементами діяльності і т.д.
  • Управління створенням сесій конференцій та порядків денних з використанням Ajax в інтерфейсі адміністрування.
  • Розширений вигляд і інтерфейс адміністрування для інформації про членів і пошук цієї інформації.
  • Додаткові блоки інформації, що показуються як вкладиші, для відображення контекстно-залежних даних на основі ролі користувача і даних, які йому належать або які він створює.
  • Щотижневий інформаційний дайджест, що направляється по електронній пошті учасникам, які цікавляться специфічною областю вмісту.

Багато з цих розширень обговорюються докладно у відповідних статтях цієї серії.

Ми розробили наш Web-сайт в Drupal 4.6, але зараз доступний Drupal 4.7. Дана серія статей буде базуватися на розгляді реалізації версії 4.7.

Інші інтегровані системи управління вмістом

Існує безліч доступних систем управління вмістом. Ви повинні оцінити кожну щодо ваших власних вимог. У даній статті ви дізналися про переваги і недоліки:

резюме

Дана стаття відкриває серію статей IBM Internet Technology Group, присвячених проектування, розробки і розгортання Web-сайту для спільної роботи з використанням програмного забезпечення з відкритими початковими кодами. У даній статті був представлений огляд проекту, наші вимоги і порівняння декількох систем керування вмістом, які ми проаналізували. Ми також пояснили наше рішення по використанню Drupal і то, як ми могли б розширити Drupal для вирішення наших завдань.

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

  • Початок роботи з Drupal.
  • Взаємодія Drupal з іншими програмними засобами, такими як MySQL, PHP, CSS і Ajax.
  • Створення спеціалізованих модулів Drupal.
  • Розгортання та налаштування вашої установки.

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

Ресурси для скачування

Схожі тими

  • Drupal : Система керування вмістом з відкритим вихідним кодом.
  • MySQL : Система управління базами даних з відкритим вихідним кодом.
  • PHP : Web-мову для підтримки динамічного вмісту.
  • PHPMyAdmin : PHP-програма, призначена для адміністрування MySQL через Web.
  • MySQL Query Browser : Графічне клієнтську програму для роботи з базами даних MySQL і виконання запитів.
  • MySQL Administrator : GUI-програма для адміністрування MySQL-сервера.
  • Apache : Web-сервер з відкритим вихідним кодом.
  • Eclipse : Середовище розробки з відкритим вихідним кодом.
  • CVS : Система управління вихідними кодами, інтегрована в Eclipse для відстеження змін коду.
  • Розробіть ваш наступний проект з використанням пробного програмного забезпечення IBM , Доступного для завантаження безпосередньо з developerWorks.
  • Оригінал статті " Using open source software to design, develop, and deploy a collaborative Web site, Part 1: Introduction and overview ".
  • Книги по цій темі на Safari Bookshelf .

Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів

Jsp?