Hi-Tech Arduino Компьютеры Интернет
HV-Lab Reference Linux Форум
Справочники Libraries Windows Галерея
Электроника Hardware Hardware Загрузки
Печатные платы Forum Программирование Мини-чат
[ Февр 26, 07:42 ] admin: Форум перешел в разряд архивного.
[ Февр 24, 19:02 ] admin: переехали на новый сервер. Грядут перемены.
[ Фев 20, 08:38 ] кулибин: Переход на SSL был непрост (особенно с абсолютными путями на изображения, но мы его осуществили)
RSS статьи
 
Статьи

Статьи->Свободное ПО->Платформа "Абрикос" [ Поиск ]

Платформа "Абрикос" - система управления контентом (CMS) и платформа создания веб-приложений (CMF) с открытым исходным кодом.
Отправил: кулибин, Вторник, 15 Мая 2012 19:49

 Артем:

Являясь весьма привередливым пользователем сети интернет я для себя четко определяю критерии качества того или иного сайта. Критериев несколько:

  1. Скорость загрузки страницы. Времена модемного доступа в интернет давно прошли, но иногда кажется, что некоторые сервера подключаются именно через модем. Это ведь так просто — купить самый слабенький VitrualServer и запустить свой сайт на базе чего-нибудь потяжелее. Пусть пользователя не смущает скорость генерации страницы в 5-6 секунд...

  2. Простота навигации. Понятное дело, если я попадаю на страницу через поисковик.. Другое дело, если хочется подробнее изучить сайт, на котором ты очутился;

  3. Легкий интерфейс. Отсутствие мигающих, прыгающих, звенящих баннеров и прочего, легкие цвета. Хотя, это больше проблема дизайнеров, чем веб-мастеров.

И часть этих пунктов прямо относится к движку сайта. Требования к ресурсам, простота настройки, масштабируемость — все это хочется видеть в современном движке.

Администрируя свой собственный web-сервер на протяжении более 5 лет, я ознакомился со множеством систем управления контентом. Я привык, чтобы в моем рабочем инструменте использовались все заложенные в него возможности. Ввиду достаточно консервативных вкусов предпочитаю гигантам легкие конструкции. Ту же скромность стараюсь выдерживать и в дизайне. Во времена запуска своих сайтов я остановился на движке mkportal — как очень легком и простом для понимания, и переписал его как следует, дабы он соответствовал моим нуждам. Впоследствии, на сервере, время от времени появлялись CMS Joomla, Drupal, WordPress и подобные, но они не приживались в силу своей раздутости ненужным мне функционалом. И внезапно, на глаза попалась платформа «Абрикос»..

Система управления контентом от платформы Абрикос — это лишь малая доля ее функционала. В первую очередь это платформа создания веб-приложений, позволяющая внутри себя организовать полноценное рабочее пространство для организации коллективной разработки. Для главного инженера в студенческом конструкторском бюро — это просто идеальная находка, поскольку студентов собрать сложно, да и для НИОКР совершенно необязательно присутствовать в университете в принципе. т. е. тут встают вопросы организации подобной работы, постановки задач, оценки результатов работы и коллективного обсуждения проектов.

Перед тем как начать описание отдельных блоков платформы, стоит отметить, что Абрикос —полностью сформированный, активно развивающийся продукт. Он обладает всеми минимально-необходимыми для работы функциями. Если какая-то необходимая функция отсутствует, то сначала оказывается, что она давно имеется в планах разработчиков, а спустя некоторое время и вовсе реализуется.

Концепция.

Разработчика данной системы беспокоило то, что каждый раз, при открытии той или иной страницы, канал связи просто забивается файлами, отвечающими за внешний вид страницы. Полезной информации среди этого мусора — ничтожно малая часть. И это при том, что браузер пользователя бездействует! Так почему бы не заставить браузер пользователя работать? Ведь единожды загрузив файлы оформления и закэшировав их, впоследствии можно обмениваться с сервером только действительно полезной информацией. А браузер, пускай, занимается внешним видом страницы. Данная идея и стала концепцией для разработки.

Технологии

Движок написан на языке php, с использованием базы данных MySQL. Обмен информацией с сервером происходит посредством javascript и JSON. Пользовательский интерфейс реализован на библиотеке «Yahoo! UI Library”. Редактор страниц — всеми любимый TinyMCE.

Общее строение

Название платформы относится не столько к фрукту, сколько к кирпичу. Каждый модуль, каждый отдельный элемент представляет собой маленький, универсальный кирпичик (brick), и из этих кирпичей складывается общий интерфейс. Получается эдакая, очень эффективная и чрезвычайно гибкая кирпичная кладка. Модульность системы заложена в основу. При этом, любой кирпич может располагаться где угодно— то ли на странице сайта, то ли в менеджере приложений.

Скоростные характеристики.

После субъективной оценки внешнего вида и функциональности сайта разработчиков, поддерживаемого данной CMS, платформа Абрикос была установлена на собственный сервер и протестирована на скорость работы. Основным параметром оценки служило количество отдаваемых в секунду страниц. Тестирование производилось на сервере, имеющим параметры:

Процессор: AMD Athlon II X2 245 2.9ГГц

ОЗУ: 2х4GB DDR3-1333, в двухканальном режиме.

Жесткие диски: HDD SATA-II. БД и файлы располагаются на различных дисках.

ОС: x64 Gentoo 2.6.36-kernel, под amdfam10

Apache 2.2.16 (MaxServers 30, MaxClients 255)

PHP 5.3.5

MySQL -5.1.51

Установлен xcache

На момент проведения тестирования, на сервере обнаружились следующие CMS:

1. mkportal 1.2.1 с модифицированным ядром.

2. phpbb 2.0.21

3. abricos 0.55

4. joomla 1.7

Тестирование проводилось утилитой apache benchmark 2 (ab2)

С параметрами:

-n 1000

-c 10,20,30,40

Все участники запускались по 5 раз, результат усредненный по каждому разу(рисунок 1):

Врезка1

Я полагаю что мой сервер достаточно мощный, но когда такая популярная CMS как Joomla показывает в 15 раз худший результат, чем остальные испытуемые, в пору говорить о Joomla, как о неподходящем движке. С движками Drupal и WordPress ситуация производительности аналогична.

Конечно, читатель может обвинить меня в неумелой настройке самой Joomla, но, согласитесь, помещать не оптимальные настройки в дистрибутив — очень нелогично. И это с учетом того, что ни Абрикос, ни phpbb специально не дорабатывались.1

Средняя скорость генерации страницы mkportal на моем сервере — 0,02с

Средняя скорость генерации страницы Абрикос — 0,005с (для менеджера приложений) — 0,02с(для страниц сайта).

Функционал

Сайт, исторически, обязан выполнять, по крайней мере, одну главную задачу — предоставлять информацию пользователю. Речь идет, конечно же, о статьях и новостях. Однако, с развитием интернет-технологий, а главное —ускорением интернет-каналов, сайты начали обрастать «облачными функциями» - календарем, хранением заметок, файлов, ведением задач и прочего. Иногда, сайты вырождаются в чисто «облачные», например — социальная сеть «вконтакте». Статей как таковых там не осталось, зато все хранят там музыку, видео, фотоальбомы и закладки на разные новости.

Платформа Абрикос сочетает в себе функции как сайта, предоставляя пользователю богатый набор возможностей для публикации различного рода информации, так и облака, для ведения календаря, блокнота, заметок, бухгалтерии и прочего. Рассмотрим их:

Рисунок 2: Приложения

Активно пользуясь платформой уже более 2 месяцев, я определился с используемыми для себя модулями. Они представлены на рисунке 2. Это основная часть всех существующих приложений.

 Приложения — это те самые облачные функции. Чрезвычайно удобно, когда в любом месте, где есть компьютер с интернетом, можно зайти на сайт и поработать — написать что-то в блокноте, отметить встречи и т. д. Понятно, что для этого существуют планшеты, но это вопрос привычки. Тем более, что над созданной на планшете задачей сложно работать совместно...

Для начала, обустроим сайт.

Сайт

Информационный сайт начинается со структуры. В платформе Абрикос это обеспечивается модулем «Структура сайта»(рисунок 3)

Рисунок 3: панель управления/структура сайта

В структуру можно добавить элемент одного из 3-х типов:

 

  • Раздел, для добавления в него вложенных элементов

  • Статическую страницу, которая может быть как просто форматированным текстом, так и содержать в своем теле любые кирпичи.

  • Ссылку, на страницу.

Каждый элемент имеет латинское имя, что, вкупе с человеко-понятным URL упрощает вид ссылок. При этом имя можно задать любое, в том числе и системное (blog, eshop, bos и т.п.)В последнем случае не стоит утруждать себя текстом раздела — данный пункт меню будет автоматически перебрасывать вас в тот или иной модуль.

Конечно, таким образом можно наполнять сайт содержимым, но, лучше для этих целей воспользоваться модулем «Блог».

Модуль «Блог» является отличным средством наполнения сайта содержимым.

Блок может вести любой посетитель сайта, которому выданы на это права. Все рубрики доступны через URL в структуре сайта. К сожалению, на данный момент приходится создавать как новую рубрику в разделе «Блог», так и новый раздел в структуре сайта. Возможно, в скором будущем это будет происходить автоматически. Но мне кажется, что ручной способ более гибкий.

Приложения

На официальном сайте abricos.org присутствует полный список модулей, доступных для установки. Я же расскажу о четырех из них.

Менеджер задач. Это самое используемое приложение в моей команде. Основная цель менеджера задач - это ведение какого-либо проекта, распределение отдельных подзадач по участникам и слежение за процессом ее выполнения. Для данного модуля, сообществом определен наибольший список пожеланий и улучшений, которые следует внедрить. На данный момент менеджер позволяет:

Создавать задачи и подзадачи с их подробным описанием, со списком необходимых для работы файлов (к примеру — техническое задание и прочее). Каждой задаче можно определить участников. В задаче можно установить неограниченное количество кейсов (микрозадач), которые, участники задачи, будут решать и отмечать как выполненные. Доступно также и комментирование, в котором можно оставлять свои заметки, ссылки и какие-либо файлы.

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

Финансы

Данное приложение позволяет каждому участнику вести как свою собственную бухгалтерию, так и привлекать к ведению той или иной бухгалтерии или счетов других участников. При этом, каждый участник может создать неограниченное количество бухгалтерий и счетов внутри них. К сожалению, на данный момент, в модуле отсутствует статистика более функциональная, чем журнал операций.

Блокнот

Один из моих любимых модулей после менеджера.

Рисунок 4: Блокнот

Его особенность — это возможность создания кучи «подблокнотов» и хранения в каждом тех или иных записей, отсортированных, к примеру, по тем или иным проектам.

 

Кнопки «Сохранить» здесь вы не найдете — любые изменения моментально фиксируются и сохраняются на сервере. В качестве редактора — все тот же TinyMCE.

Просто и лаконично, а главное удобно и быстро.

Стикеры.

Я терпеть не могу желтые бумажки, приклеенные на монитор! Но пользуюсь этими желтыми бумажками в мониторе. Стикеры — это мелкие записки, которые будут постоянно вам мешать, пока вы находитесь в менеджере приложений! Проще выполнить то что на них написано и поскорее их убрать. Этот модуль вовсе создавался разработчиком в качестве примера программирования приложений для платформы, однако быстро завоевал популярность.

Рисунок 5: Стикеры

Контра

 Во время изучения возможностей входящих в платформу приложений, знающий читатель сразу подумает о платформах Redmine и eGroupWare. Я пользовался eGroupWare. Да, eGroupWare является мощной системой организации совместной работы. Но это совершенно другой класс систем. Платформа Абрикос в первую очередь — легкая и удобная площадка для хранения и публикации информации. Конечно, некоторых функций тайм-менеджмента не хватает. Самое интересное, что все функции, которые я предлагал, уже оказывались в планах разработчиков. Одно радует — дело движется. Разработка действительно идет. Проект уже прошел стадию неизвестности и на выходе имеется достойный продукт.

 

Александр:

 А теперь ответы на наиболее часто-задаваемые вопросы по платформе:

Какие на данный момент стоят задачи? Какие модули и как планируется расширить/дописать? В каком направлении будут двигаться дела по коробкам2?

 Наиболее глобальные задачи на данный момент можно выделить три:

Во-первых, это запуск инструмента «Биржа проектов» для вывода процесса развития платформы в коллективной среде сообщества на новый уровень. Помимо поиска рабочих рук «за деньги», инструмент больше нацелен на концепцию бартера навыками «ты мне — я тебе»

Во-вторых, развитие проекта Govorim.org, потому как видна перспектива запуска иной модели бизнеса СПО в России, да и к тому же этот проект призван начать решать проблемы СПО и государства, а я все-таки буду их решать, вне зависимости от того, как к этому относится сообщество и правительство в лице государства,

И в-третьих - это локализация платформы на другие языки, поскольку основной фундамент платформы заложен, теперь настала пора показать ее миру.

Что касается модулей, то в приоритете будут развиваться те модули, которые задействованы в этих глобальных задачах. Остальные модули будут дописываться по мере необходимости. Да и вообще процесс развитие СПО продукта, на мой взгляд, так и происходит, закладывается фундамент, формируется сообщество, а далее, в процессе жизни продукта, дорабатываются его наиболее востребованные функции.

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

 Так же очень большие надежды я возлагаю на Биржу проектов. Если она заработает в полную силу, то начнет уже вносить существенные коррективы в имеющиеся планы. Но, как говорится, поживем - увидим.

 Техническая реализация идеи коробок родилась благодаря проекту Govorim.org. Раньше я думал о том, как же быть с этими коробками? Как сделать так, чтобы определенная сборка дистрибутива превращалась в коробку? Решения были, но душа к ним не лежала, поэтому они так и оставались на уровне решений. А дистрибутивы просто комплектовались схожими по идеологии назначения сборки - модулями. И вот, относительно недавно было найдено отличное решение. Причем оно оказалось настолько простым и рациональным, что в один миг прояснило всю картину относительно сборок в коробки. А суть этого решения в том, что необходимо создавать для каждой коробки специализированный модуль, который будет входить в сборку дистрибутива и при инсталляции разворачивать соответствующий типовой портал, при этом наполняя его всем необходимым материалом, настройками, устанавливая нужный шаблон.

 

Что в планах? Когда ждать (и какой) следующей версии пакета, что нового появится в отдельных модулях и системе в целом? Ожидаются ли какие-то новые модули и функции?

 У платформы Абрикос есть свой стратегический план развития, глобальная цель, которую я заложил в ее фундамент 5 лет назад. Спустя эти 5 лет платформа только сейчас начала подходить к ее основному этапу в жизни. К тому этапу, для чего она и планировалась в своем первозданном виде. До этого все работы можно назвать подготовительными. Т.е. на данный момент я бы даже сказал так – работа по платформе только начинается. И это не CMS, и не WebOS3, он же BosUI, а это нечто иное. Это новый взгляд на Web, положения вещей в нем, принципы и механизмы. Это попытка убрать тот бардак, который сейчас существует в сети Интернет. Это попытка сделать сеть Интернет чище, правильнее. Конечно, я реально осознаю, что этот процесс очень глобальный и длительный по времени, но в любом случае он того стоит. К сожалению, я не могу сейчас рассказать о том, что же на самом деле это за идея такая, потому как это закрытая информация. Закрытая она лишь по той причине, что сначала мы сами должны окончательно убедиться в том, что эта сумасшедшая идея имеет право на жизнь. А уже потом опубликовать результаты работы по ней в сообществе, с итоговыми размышлениями и выводами, а так же с техническими наработками.

Стоит отметить, что модули по этой идеи уже разработаны и находятся в закрытом репозитарии. Почти все готово на данный момент, чтобы начать новый этап в жизни платформы, осталось только завершить текущие открытые задачи, о которых я рассказал в самом начале.

 

Ссылки:

http://abricos.org/ официальный сайт проекта

http://govorim.org/ сайт по популяризации СПО

Кашканов Артем Олегович, директор ООО "РЛН-технологии"

Кузьмин Александр Викторович, Ведущий разработчик платформы Абрикос.

 Примечания:

1Проблема скорости работы Joomla, Drupal и подобных заключается больше в дисковой подсистеме, чем производительности процессора. После ближайшего аппаратного обновления, когда в сервер будут установлены парочка шустрых SSD, тест производительности можно будет повторить. Но сдается мне, что разница в производительности будет еще большей.

2Дистрибутив платформы, нацеленный на сайт определенного профиля, например «Госучреждение» или «Интернет-магазин».

3Модуль позволяющий организовать нечто подобное ОС в браузере.

Голосов Голосов: 0 - В среднем:

Добавить комментарий Оценить
Комментарии

Статистика
Всего 205 статей в базе
Наиболее просматриваемые: Arduino и сеть RS485.
Лучшие по оценкам: РЦВМ1 - Релейная Цифровая Вычислительная Машина

Пользователи в разделе статьи: 1 (0 Пользователи 1 Гости и 0 Скрытые пользователи)
Видимые пользователи:


 
 

MKPortal©2003-2008 mkportal.it
MultiBoard ©2007-2009 RusMKPortal
Страница сгенерированна за 0.01534 секунд с 24 обращениями в базу данных

Intel Core i5-3450 2Gb RAM 100Gb HDD 100Mbps Ethernet

© Artem Kashkanov 2005-2016