Об CMS

История CMS "DreamBot"

Andrey Orlov  2010-10-10 01:40

Как ни странно, CMS DreamBot это проект, который начался не сегодня, и имеет почти шестилетнюю историю, которая началась тогда, когда и слова такого - CMS - не было. Вначале, CMS DreamBot называлась IIGFS и разрабатывалась в компании Интернет Инвестмент Груп .

История CMS "DreamBot"

История CMS "DreamBot"

Знакомство с Zope

В 2000 году, компания "Интернет Инвестмент Групп" (IIG, http://www.iig.ru), где я работал ведущим инженером, опробовав несколько систем поддержки веб-разработки (мой собственный перловский проект, CMS Midgard и другие), остановила свой выбор на сервере приложений Zope2. Глаза у всех горели от открывшихся возможностей, и всего за месяц был создан первый коммерческий сайт на его основе. Накопленный опыт позволил уже второму сайту, для небезызвестной "Федерации Интернет-Образования", стать первым удачным опытом CMS. Тогда же стал очевиден основной принцип получения прибыльного веб-движка: создать вместо OFS свою собственную объектную среду, заточив ее логику под "стандартную" спецификацию сайта, и, подписывая у клиента "стандартную" спецификацию, возможно, с небольшими доработками, торговать дизайном, опытом интеграции, раскрутки и созданием контента.

IIGFS

В свободное между проектами время, на свой страх и риск, ведущие разработчики IIG: написали первую версию такой системы - IIGFS. Разумеется, OFS не переписывалась с нуля, а IIGFS была создана на ее основе, грамотно используя ее возможности и объектно-ориентированное программирование. Первые сайты разрабатывались с некоторым трудом: система была сыровата, но потом наши дизайнеры и верстальщики научились штамповать оригинальный по дизайну сайт незначительными усилиями и без малейшего вмешательства программистов. В какой-то момент даже возникла задача перенесения более старых Zope-сайтов на новую платформу, которая была с успехом решена оригинальным способом: сайты были экспортированы в XML, пропущены через XSLT-преобразование и отображены на новую объектную модель. Мы гордились собой :).

Развитие IIGFS

Постепенно IIGFS разрасталась: появлялись новые решения, такие как форум, аналитика, система объектно-реляционного отображения, интернет-магазин, сайты делались для серьезных клиентов - от компании "Чистая Вода" и до "Шереметьево-Карго", и это решение продемонстрировало свою надежность, быстродействие и расширяемость, которые достигались умелым использованием особенностей Zope2 и точно выверенным балансом между реляционной и объектной базами данных. Модульность и низкая ресурсоемкость до сих пор остаются основными чертами потомков этой системы.

Наверно, мы были первыми кто написал индексацию через реляционную базу данных, отображение реляционной базы в объекты Zope, причем различными способами, мы первые сделали локализацию в Zope, хотя и не таким способом как это делается сейчас, и все это в рамках IIGFS. Нашу документацию без зазрения совести копировали известные разработчики Zope-продуктов и ее читали как учебник по построению объектно-ориентированных систем.

Но, интернет-бум подошел к концу, наше сообщество распалось, и развитие оригинального кода IIGFS прекратилось

IIGFS2

Я сменил место работы, договорился с IIG о выпуске клона IIGFS под GPL и написал IIGFS2, добавив туда несколько оригинальных сервисов, таких как реестр и кеширующий конвертер текста. На ее основе был сделан еще один сайт - http://www.neural.ru/ - и я совсем сменил область деятельности.

В то же время, в IIG продолжали выпускать сайты на основе IIGFS, сделав свой смешанный клон IIGFS+IIGFS2. Все это так удачно работает, что даже сейчас на вопросы о возможном апгрейде на что-то более современное, клиенты отвечают, что все работает отлично и ни в каком апгрейде нет нужды.

Знакомство с Zope3

И вот новый переворот в мире веб-разработок - сервер приложений Zope3. Я на тот момент не занимался веб-разработками, но новая технология меня заинтересовала и, исключительно из познавательного интереса была изучена. Я даже подумал о некоторых возможных доработках, однако не стал этим заниматься. В 2006 году компания "Ключевые решения" предложила мне обучить программистов работе с Zope3. В качестве задачника была использована порезанная спецификация на IIGFS2, и, в результате, я получил немного почти работающего кода, а компания - группу высококлассных специалистов.

В своем крупнейшем проекте "Ключевые решения" ни разу не воспользовались этими наработками (это противоречило лицензионным соглашением с клиентом, требовавшим полной передачи прав на весь используемый код, а для GPL-ной IIGFS это было невозможно), поэтому проект получился не таким эффективным, каким мог бы, но я-то допиливал понемногу то, что написали "ученики" и вскоре имел неплохой прототип почти работающей реализации IIGFS под Zope3.

DreamBot

Осень 2007 года... мой контракт с "Ключевыми решениями" подошел к концу, я откровенно скучаю. Встречаю нескольких старых знакомых по разработке IIGFS и предлагаю обучить их Zope3. Внезапно всплыло еще несколько моих учеников (оказывается, чему я только не учил: от офисной бюрократии до С++ и СУБД), и тоже выразили готовность принять участие в семинаре. Вначале мы планировали провести обычный семинар (т.е. засесть в офисе с проектором и слайдами), но из этого ничего не вышло и родился "Отряд добровольцев в защитных оболочках" и система обучения "Код в обмен на знания", которая была анонсирована на сайте http://ZopeLada.ru .

В качестве заданий используются куски гипотетической системы управления контентом "DreamBot", попутно изучаются пределы пластичности компонентной модели в версии "От Zope3" (многие участники видели другую модель - "от rPAS": сервера приложений "CORBA over ZODB", фактический опередившую по использованию компонентной модели Zope3 на два года). Лучшие результаты заданий я аккуратно пакетирую и выкладываю на PyPI как самостоятельные продукты. В начале февраля приходит осознание того, что бесшабашные опыты привели к закономерному результату: появлению новой CMS "DreamBot", я спешно верстаю дизайн и вот - три сайта на прототипе CMS "DreamBot" готовы.

Дальнейшее развитие

Вскоре появилось несколько заказов на разработку сайтов, которые и были сознаны на основе CMS DreamBot. Один из них - Экологический сайт "Зеленое Будущее" - стал полноценой социальной веб-службой, с пользователями, отношениями дружбы, сообществами и форумами. Хотя возможности этого сайта и не используются полностью, тем не менее, его разработка превратила CMS DreamBot в полноценную систему управления контентом.

Коммерческое использование

В настоящее время создано специальное подразделение по коммерческому использованию CMS DreamBot - WebTogether. Эта компания занимается коммерческим хостингом сайтов на этой основе и другими аналогичными работами. На основе CMS DreamBot выполнено более десяти коммерческих проектов.

Исследовательские проекты

Несмотря на хорошее коммерческое начало, следует помнить, что CMS Dreambot задумывалась прежде всего как исследовательский инструмент, обеспечивающий достаточную гибкость, для реализации на его основе интеллектуальных веб-сервисов. Возможно, именно это свойство обсеспечивает коммерческий успех проекта, и разумеется, такая возможность будет поддерживаться и впредь.

Ссылки на эту статью:

О проекте CMS DreamBot IIGFS
Dream Bot Эпицентр Нейросети Создай сайт Zope3 учат тут Репозиторий Экология
Официальный сайт Zope3 Московская группа изучения реактивного движения The Dream Bot Site noooxml