MoinMoin

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

MoinMoin — вільне програмне забезпечення (ліцензія GNU GPL), що використовується для створення вікі-сайтів, розроблене на мові Python. Його назва походить з фризької мови і в перекладі означає привітання.

Для збереження даних MoinMoin використовує файлову систему. MoinMoin може працювати практично з будь-яким вебсервером, що підтримує CGI / FastCGI / WSGI, або без нього (з вбудованим вебсервером на базі Werkzeug).

Історія[ред. | ред. код]

Програмне забезпечення MoinMoin було створене близько 2000 року. Спочатку проект розроблявся Юргеном Херманном (Jürgen Hermann), трохи згодом він покинув проект і розробка ведеться групою людей на чолі з Томасом Вальдман (Thomas Waldmann). Для створення MoinMoin за основу було використано технологію вікі-системи PikiPiki, проте з того часу система MoinMoin сильно змінилась. У цей час[коли?] MoinMoin використовується для створення багатьох вікі-сайтів.

Компоненти вікі-системи MoinMoin[ред. | ред. код]

MoinMoin має досить гнучку архітектуру, наслідком чого є широкий набір вбудованих функцій і простота встановлення нових додатків. Ключовими компонентами вікі-системи MoinMoin є:

  • Сервер. Обробляє запити і викликає відповідні програми для опрацювання цих запитів.
  • Програми для опрацювання дій (actions). На підставі параметрів запиту та конфігурації реалізують різну функціональність вікі-системи.
  • Сховище і кеш. Дозволяють зберігати різні види даних (у першу чергу, вікі-сторінки і прикріплені до них файли), також там можуть розміщуватись інші види об'єктів та надаються можливості по кешуванню (основний спосіб кешування — pickle).
  • Механізм аутентифікації. Аутентифікація користувачів може відбуватись різними способами (за протоколом HTTP, LDAP, PHP-cookie тощо).
  • Механізм авторизації і розмежування прав доступу (security policy). Забезпечуються різні методи розмежування прав доступу, в першу чергу, ACL.
  • Механізми оповіщення. Реалізують підтримку різних видів сповіщень при виникненні різних подій.
  • Програми, що опрацьовують вхідні формати(parsers, парсер). Викликаються для обробки сторінки або блоку тексту у відповідному вхідному форматі. Можуть бути доповнені користувацькими парсерами.
  • Програми, що опрацьовують вихідні формати (formatters, форматери). Викликаються парсерами для генерації тексту у вихідному форматі.
  • Макрокоманди (macro). Можуть використовуватися в тілі сторінки для генерації довільного вмісту та розширенню синтаксису.

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

Переваги та функціональні особливості[ред. | ред. код]

  • Може працювати практично в будь-якій операційній системі і з багатьма вебсерверами (Apache, IIS, WebLogic, Lighttpd та ін.).
  • Не вимагає встановлення додаткового програмного забезпечення, такого як система управління базами даних або система керування версіями.
  • Завдяки наявності вбудованого вебсервера може використовуватися як крос-платформена переносна вікі-система.
  • Має вбудований повноцінний WYSIWYG-редактор (вбудований редактор FCKeditor), який дозволяє редагувати вікі-розмітку звичним для простих користувачів способом.
  • Може використовувати пошукову систему Xapian, що надає такі можливості, як індексація різних видів вмісту (у тому числі різних форматів прикріплених файлів; в цей час підтримується індексування файлів в форматі Open Document Format, MS Office, PDF, різних текстових форматів, мета-даних в зображеннях JPEG і текстових рядків в бінарних файлах), морфологічний пошук, пошук файлів за MIME типом і ряд інших.
  • Має вбудовану підтримку Java-аплетів для створення ілюстрацій у вікі-системі — AnyWikiDraw і TWikiDraw.
  • Підтримка механізмів опрацювання вхідного і вихідного форматів («parser» і «formatter») дозволяє використовувати у вікі-системі різні синтаксиси розмітки в тілі сторінок (в цей час підтримуються, крім власного синтаксису, синтаксис Creole, формат reStructured Text, XML-сторінки з використанням XSLT, зображення у вигляді таблиць CSV, підсвічування синтаксису для різних текстових форматів і експортувати сторінки в різних форматах (крім HTML, можливий експорт в текст і DocBook). Крім того, існують репозиторії сторонніх парсерів і форматтерів, що дозволяють підтримувати інші формати у вікі-системі.
  • Як інтерфейс, так і системні сторінки та сторінки допомоги переведені на велику кількість мов (більше 30). Крім того, MoinMoin має підтримку багатомовних вікі-систем (системи, на яких використовується кілька мов для сторінок).
  • Підтримка списків доступу і різних прав користування.
  • Підтримка як вільного синтаксису посилань, так і посилань в CamelCase.
  • Підтримка вбудовування різних форматів файлів (зображення, аудіо, відео, SWF, інших сторінок) в тіло сторінки.
  • Механізми захисту від спаму: як на основі чорних списків (централізовано оновлюваних), так і з використанням системи розпізнавання текстових символів — CAPTCHA.
  • Механізм захисту від флуду: є можливість обмежити кількість запитів певних дій у певний момент часу для однієї IP-адреси або користувача.
  • Підтримка синхронізації вмісту частин декількох вікі-систем за допомогою механізму XML-RPC.
  • Можливість підписуватися на повідомлення про редагування сторінки (правка, перейменування, прикріплення файлу, знищення тощо) поштою або засобами XMPP.

Недоліки MoinMoin[ред. | ред. код]

  • Обмеження на кількість сторінок (не більше 10 000).
  • Обмеження на довжину імен сторінок, що накладаються файлової системою.
  • Не підтримується редагування секцій.
  • Не підтримується система версій для прикріплених файлів.

Посилання[ред. | ред. код]