Разработка CMS

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

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

Идеи новой CMS вынашивал в голове уже давно. По мере использования второй версии рождались все новые и новые пункты, которые надо добавить или исправить в третьей версии. Естественно, она будет быстрее, удобнее и стабильнее. Главный акцент будет сделан на простоту работы – чтобы пользователь мог без труда разобраться даже без чтения справочных материалов.

Разрабатываться (уже разрабатывается, если сказать точнее) система будет на базе CodeIgniter. Дабы не разводить холивар а-ля «какая система лучше», скажу, что на настоящий момент для меня это лучший framework на PHP. Возможно, вы предпочитаете другие системы – и это ваш выбор.

Система будет реализована в трех редакциях – базовая, интернет – магазин и SEO.

Базовая редакция.

Базовая редакция будет представлять собой некий универсальный инструмент для разработки широкого спектра сайтов. Публичное распространение не планируется – буду ориентироваться только на студийные проекты.

Структура будет модульной. Внешняя связь между модулями (как предписывает великая и ужасная Технология Разработки ПО) будет минимальной, что позволит без труда включать в каждый проект необходимый набор модулей.

Отдавая дань юзабилити, система будет представлять собой как frontend – интерфейс, так и будет включена в сам сайт. Не буду подробно на этом останавливаться – поверьте, будет круто :) .

Далее. Дерево разделов будет храниться в Nested Sets. В прошлой версии системы, при реализации транзитивного замыкания (обожаю эту умную фразу) был реализован классический подход, когда в потомке хранится ID родителя, и выборка дерева происходит путем рекурсии. Когда на систему поставили каталог товаров, включающий около 350 категорий, выборка происходила крайне медленно (около 2-х секунд). Боюсь представить, что будет с 5000-10000.

Наконец-то реализую изменение позиций разделов посредством drag’n'drop. Этот личная просьба дизайнера.

AJAX’а будет много, но в меру. В любом случае AJAX – слуга юзабилити.

Интернет – магазин.

Интернет магазин будет включать в себя рекомендательный сервис. В то время, как посетитель ходит по сайту, просматривает или покупает тот или иной товар, система фиксирует его шаги. Затем, на основе собранных данных, пользователю предлагается тот товар, который он с большой долей вероятности купит. Система уже реализована процентов на 30-40, и, самое интересное, даже работает! И при этом выдает хорошие рекомендации!

Кстати, реализация рекомендательной системы в составе CMS для электронной коммерции – это тема моего диплома. Так что за качество ручаюсь.

Система будет доступна публично. Буду ли я ее распространять бесплатно, или продавать – еще не решил.

SEO.

Специально для этой версии будет разработан набор SEO – ориентированных модулей. Хотите генератор сайтов? Пожалуйста! Хотите черные методы SEO? Пожалуйста! Хотите подробную статистику по позициям сайта? Тоже никаких проблем!

В любом случае центральным модулем, которому планирую уделить максимум внимания, будет именно генератор сайтов. В идеале будет так – SEO’шник задает тематику сайта и ключевые слова, грабер контента (читай – поисковый паук) просматривает список проиндексированных страниц, выбирает подходящие, изменяет тексты на основе базы синонимов и создает из них сайт. В итоге получаем идеальный инструмент для создания дорвеев и сателлитов.

Естественно, система будет платной. Сколько будет стоить – пока говорить рано. Следите за обновлениями в блоге.

Вот, собственно, и все. Надеюсь все три версии иметь в наличии уже к концу лета.

Провинциальный предприниматель