Безопасность
- Защита от автоматического заполнения форм (CAPTCHA): при регистрации, в форумах, как отдельный модуль
- Права доступа: права на чтение/редактирование раздела, права на специальные операции, комбинирование прав (например, право на чтение раздела + спецправо на модерацию форума дает возможность модерировать форум только в этом разделе), наследование прав в группах (при этом «старшие» права (полный доступ, шеф-редактор, менеджер пользователей) не наследуются), возможность создавать собственные права доступа.
- Parser-3 изначально защищен от SQL-инъекций и XSS благодаря технологии тэйнтинга поступающих извне данных.
- Ведение журнала операций: заходы на сайт, критические изменения, одноуровневый лог с разделением по источникам.
- Модерация публикаций: практически все объекты имеют опцию скрытия/показа, при этом права доступа на редактирование и показ могут отличаться
- Шифрование паролей пользователей
- Возможность ограничения длительности сессии для пользователей с определенными правами
- Возможность смены идентификатора сессии при каждой загрузке страницы, что делает практически невозможным перехват идентификатора сессии со стороны
Производительность
- Кэширование: статичных страниц, SQL-запросов, результатов отдельных ресурсоемких операций, кэширование заданного дизайн-шаблона отдельными приложениями
- Система работает на нескольких виртуальных хостингах (лимит процессора - 3%, памяти - 32мб): при 60-80 тыс. обращений к сайту в день – стабильная, быстрая работа
- Возможность установить максимальное время ожидания ответа на запрос (1-10 сек)
- Возможность оценить производительность системных и модульных операций (время, память)
- Нерекурсивные операции с деревом разделов: при наличии до 9 уровней вложенности ресурсоемкость операций не растет или растет линейно
Удобство использования
- Работа с системой (пользователь, администратор): 5/5, очень быстро, после освоения не вызывает трудностей, все типовые операции неоднократно подвергались юзабилити-тестированию и улучшались с учетом результатов
- Освоение системы пользователем: 5/5, предусмотрена возможность создания входов в органы управления для сайта, учитывая его специфику (например, сайт доставки пиццы, продажи туров, соцсети велосипедистов, базы данных по тендерам и т.д.)
- Освоение системы администратором: 4/5, присутствует определенный интеллектуальный ценз на возможность самообучения.
- Дружественные URL (ЧПУ): с расширенной поддержкой «белой» поисковой оптимизации
- Автоматическая генерация меню всех уровней и хлебных крошек
- Визуальный редактор (WYSIWYG-редактор): плагин (сейчас FCKEditor)
- Ресайз изображений: плагин (сейчас Nconvert). Все плагины могут быть упакованы в адаптер или фасад
- Пакетная закачка/обработка: картинки и др. файлы, после закачки попадают в html- и визуальный редактор (htmlarea), возможность пакетной обработки SEO-полей, товаров в магазине, записей в ад-базе.
Гибкость
- Два варианта структуры/навигации: базовая древовидная и тэговая поверх нее
- Древовидная навигация: ручная, «белая» поисковая оптимизация, ЧПУ, до 9 уровней вложенности, подкачка разделов, 3 варианта карты подраздела (список по структуре, список по дате, с картинками), отображение карты можно определить в дизайн-шаблоне. По дереву наследуются права доступа (отдельно чтение и редактирование), дизайн-шаблон, предопределенные макросы и отдельные настройки показа.
- RSS-экспорт новостей/блогов, карт разделов, записей Ак-базы. Новости можно дробить по группам, карты - по подразделам, а записи базы - вообще по любому доступному критерию, и каждую такую выборку посетители смогут отслеживать отдельно
- Наличие макроязыка с вложенностью операторов и возможностью создавать свои операторы (требуется знание Parser-3) позволяет еще гибче управлять структурой, встраивать модули прямо в текст или в любые указанные точки дизайн-шаблонов
- Тэговая навигация (например, в базах данных, магазине): возможность привязки почти к любой таблице, возможность связывания тэгов с картинками
- Несколько сайтов в одной базе данных
- Несколько языков интерфейса, возможность самостоятельно создавать таблицу для нужного языка
- Поддержка многоязычности/многорегиональности сайтов: и по дереву, и по интерфейсу. Необязательное наличие одинаковых страниц для разных языков, языковые/региональные версии могут развиваться как параллельно, так и независимо
- Обсуждения и голосования поддерживаются для большинства объектов: записей ад-базы, новостей, статей, комментариев, пользовательских объектов
Cтруктурирование и иерархия
- Древовидная структура доступна только из самой себя (это базовый уровень структуры)
- Модули встраиваются в древовидную структуру, вызываются из макросов, встраиваемых блоков и элементов базы данных
- Встраиваемые блоки доступны из макросов, самих себя и древовидной структуры (с наследованием)
- Макроязык доступен в древовидной структуре, встраиваемых блоках, новостях и блогах.
Модули (облигатные, опциональные)
- Регистрация пользователя: поддержка CAPTCHA, поддержка проверки e-mail, регенерация пароля на e-mail, настраиваемые поля: обработчики onShow, onSave, onEdit, настраиваемое скрытие/показ полей, настраиваемая необходимость заполнения полей.
- Карта раздела: выбор раздела и способа отображения, возможность автоматического картирования разделов.
- Ад-база: любая конфигурация таблицы, обработчики полей onShow, onSave, onEdit, возможность добавления записей пользователями, навигация: список, постраничная, тэговая, по алфавиту, настраиваемый поиск, autosuggest (jquery)
- Обратная связь: произвольная настройка формы связи (html в редактировании раздела), несколько получателей
- Форум: темы + ответы списком. Возможность отправки уведомлений об ответе, возможность встраивания форума в товары, записи Базы данных, разделы с контентом.
- Каталог ссылок: возможность проверки наличия обратных ссылок
- Галерея изображений: ресайз, настройка отображения, пакетная загрузка, возможность встраивания в другие разделы
- Лента новостей/блог: поддержка RSS в UTF-8, поддержка отсроченной публикации, поддержка устаревания, html/визуальный редактор, поддержка группировки разделов
- Магазин: несколько администраторов, разделение прав на продавца и складского работника (с учетом прав на разделы), списковая/постраничная/тэговая навигация, отдельный настраиваемый слой бизнес-логики. В системе не существует понятия «стандартный магазин», магазины настраиваются под конкретную сферу.
- Голосования: генерация кода для сторонних блогов/сайтов, способны держать экстремальную нагрузку, до 10 000 000 обращений в сутки на VPS, не используют базу данных, 3 типа ответов (выбор, множество, текст), 2 типа голосований (7*9 или 1*50).
- Рейтинг: позволяет отдать голос за объекты (новость, статья, сообщение в форуме, запись ад-базы), позволяет создавать «списки окраски» голосов.
- Поиск: средствами MySQL, отдельно по древовидной структуре, новостям и таблицам ад-базы.
Технология Эволюции
Данная технология основывается на современном состоянии диалектики, выражающемся в общем виде в философии нестабильности, неравновесной термодинамике и современной теории эволюции. В ней каждая задача решается более чем одним способом, и в течение определенного времени они конкурируют между собой. Способы, задействованные большее число раз, получают преимущество в создании классов более высокого уровня на их основе, и входят в систему на постоянных правах. Технология Эволюции уже позволила получить довольно интересные результаты:
- Параллельно с обычным для средней программы количеством багов, а Актаре стали возникать т.н. антибаги - состояния, препятствующие возникновению ошибок там, где, казалось бы, они обязательно должны быть.
- При отсутствии присмотра, с течением времени сайт на Актаре не разрушается, а напротив, иногда становится всё более стабильным.
- Для большой и сложной программы характерна проблема поиска редко используемых функций. Увы, Актар этого не избежал. Но в отличие от других программ, если вебмастер Актара входит в медитативное состояние и отказывается от целенаправленного поиска, нужные функции находятся сами собой.
Подытоживая, вышеописанная функциональность создавалась не ради маркетинговых преимуществ, а с целью сделать Aktar максимально эффективным во всех используемых решениях.