Webasyst (Webasyst)
Webasyst | |
---|---|
Тип | CMF + CMS |
Разработчик | ООО «Артикус» (Российская Федерация) |
Написана на | PHP, JavaScript |
Интерфейс | веб |
Операционная система | кроссплатформенное программное обеспечение |
Языки интерфейса | русский, английский |
Первый выпуск | 7 июня 2011 года |
Последняя версия | 3.0.1 (28 мая 2024) |
Репозиторий | github.com/webasyst/weba… |
Лицензия | LGPL |
Сайт | webasyst.ru |
Webasyst – это фреймворк для проектирования систем управления контентом (CMF) с открытым исходным кодом на основе языков программирования PHP и JavaScript. Распространяется со встроенным графическим интерфейсом для управления пользовательскими данными и веб-сайтами.
От фреймворков общего назначения Webasyst отличается более узкой специализацией — в нём содержится описание логики для работы с несколькими сущностями, которые могут быть полезны прежде всего для работы бизнеса: контакт, пользователь, валюта, заказ, платёжная транзакция, рабочий процесс.
Основное назначение Webasyst в качестве фреймворка — быстрая разработка онлайн-приложений для управления бизнесом. Создаваемые приложения могут использоваться для управления данными и публикации веб-сайтов.
В июне 2023 года обнаружено[1] более 17 000 действующих веб-сайтов, созданных с помощью Webasyst. Пример популярного в Рунете онлайн-приложения, созданного с использованием Webasyst, — Shop-Script.
Публичный репозиторий проекта на GitHub: https://github.com/webasyst/webasyst-framework/. Исходный код доступен под лицензией LGPL.
Webasyst разрабатывается российской компанией «Артикус» начиная с 2011 года.
Системные требования
[править | править код]Веб-сервер: Apache + mod_php либо nginx/lighttpd + FastCGI. Веб-сервер IIS номинально поддерживается, но разработчиком не рекомендуется. Стандартной конфигурацией для работы Webasyst является сочетание Apache + mod_php. На сайте фреймворка также доступен пример конфигурации для веб-сервера nginx.
PHP: Версия 7.4.24 или выше.
Обязательные расширения PHP: mbstring, iconv, JSON, cURL, Imagick или GD, dom/xml, Zlib.
MySQL: Версия 4.1 или выше.
Особенности
[править | править код]- основная поддерживаемая кодировка символов: UTF-8;
- поддержка интернационализации: Gettext;
- основные языки интерфейса: русский (Российская Федерация) и английский (США), допускается подключение других языковых локалей;
- поддержка СУБД: MySQL;
- парадигмы проектирования: ООП, MVC, одиночка, фабрика;
- поддержка API для управления пользовательскими данными и доступа к ним из внешних систем;
- поддержка ЧПУ;
- маршрутизация HTTP-запросов с возможностью применения регулярных выражений;
- автозагрузка PHP-классов и автоматическое подключение HTML-шаблонов благодаря их хранению в файлах со стандартизированными именами;
- поддержка автоматических скриптов, выполняющихся при установке обновлённых версий программных продуктов;
- встроенный шаблонизатор HTML: Smarty;
- встроенная библиотека JavaScript: jQuery;
- поддержка нескольких механизмов кеширования;
- поддержка отправки push-уведомлений;
- поддержка подключения к CDN-провайдерам;
- встроенная реализация подключения к нескольким популярным веб-сервисам авторизации по протоколу OAuth версии 2.0;
- поддержка событий для интеграции программных продуктов между собой;
- встроенная реализация нескольких видов капчи;
- встроенный механизм обработки HTTP-запросов от платёжных систем для обработки статусов платежей;
- встроенный механизм автоматического формирования Sitemap-файлов для веб-сайтов;
- поддержка тем оформления для страниц сайтов;
- консольные команды для автоматизации рутинных действий разработчика: для создания новых программных продуктов, генерации служебных файлов для них, сборки программных продуктов для публикации и т. п.;
- поддержка мобильных устройств;
- автоматизированная установка новых версий фреймворка и созданных на его основе программных продуктов.
Разработка
[править | править код]На сайте фреймворка доступна документация для разработчиков[2] с пошаговыми описаниями создания разных видов программных продуктов:
- приложений;
- плагинов:
- специализированных плагинов для расширения функциональности отдельных приложений;
- общих плагинов, которые могут использоваться сразу несколькими приложениями:
- для расчёта стоимости и сроков доставки заказов и подключения к внешним сервисам доставки;
- для приёма платежей и подключения к внешним платёжным системам;
- для отправки сообщений через внешние SMS-сервисы.
- виджетов;
- тем дизайна.
Пример кода на PHP
[править | править код]class guestbookFrontendAction extends waViewAction { public function execute() { $model = new guestbookModel(); if (waRequest::method() == 'post') { $name = waRequest::post('name'); $text = waRequest::post('text'); if ($name && $text) { $model->insert(array( 'name' => $name, 'text' => $text, 'datetime' => date('Y-m-d H:i:s') )); } } $records = $model->order('datetime DESC')->fetchAll(); $this->view->assign('records', $records); } }
Функциональность для конечных пользователей
[править | править код]После установки Webasyst пользователю доступно несколько встроенных приложений:
- «Инсталлер» — для установки других программных продуктов и обновлённых версий из официального каталога,
- «Сайт» — для создания веб-сайтов,
- «Настройки» — для управления общими настройками пользовательского пространства и сайтов,
- «Команда» — для настройки прав доступа пользователей.
Возможен также вариант настройки, с которым пользователю доступно только одно выбранное администратором приложение.
Дополнительные приложения, плагины, виджеты и темы дизайна можно устанавливать с помощью встроенного приложения «Инсталлер», а также вручную — из файла с дистрибутивом.
Дашборд и виджеты
[править | править код]Кроме приложений, пользователю доступен также специальный раздел «дашборд» для просмотра истории выполненных действий и для управления виджетами – небольшими информационными блоками, отображающими различные параметры работы сайтов и приложений.
Веб-страницу с виджетами можно просматривать также на экране телевизора с поддержкой онлайн-трансляций.
На «дашборде» пользователь может публиковать новости, которые доступны для просмотра другими пользователями и также могут отправляться им по электронной почте или SMS.
Аутентификация
[править | править код]Доступ к пользовательскому пространству защищён системой аутентификации, для работы которой в системных настройках можно активировать один или несколько следующих вариантов:
- с логином и паролем;
- по одноразовому числовому коду, отправляемому в email- или SMS-сообщении;
- с использованием сервиса Webasyst ID, работающего на основе протокола OAuth версии 2.0.
Настройка веб-сайтов
[править | править код]С помощью одной установленной копии Webasyst пользователи могут управлять неограниченным количеством сайтов с разными доменными именами.
Для каждого сайта можно настроить:
- маршрутизацию HTTP-запросов в рамках разных разделов сайта разными приложениями;
- перенаправления;
- дизайн и содержимое страниц;
- личный кабинет для посетителей и способ авторизации для входа в него;
- использование HTTPS-подключения;
- содержимое файла robots.txt;
- содержимое файла favicon;
- подключение к CDN-сервисам.
Подключение к ситуационному центру сайта Мироланд для пользователей
Новый интерфейс
[править | править код]В апреле 2021 года добавлена поддержка программного инструментария для создания обновлённого интерфейса пользователя[3]. Для помощи разработчикам в переходе на новый режим интерфейса выпущено приложение UI со встроенной документацией.
Мнения
[править | править код]- Платформа чаще всего ассоциируется с созданием интернет-магазинов.[4][5][6][7]
- Сложный для освоения и непривычный для новых пользователей веб-интерфейс по сравнению с другими CMS.[4][5][6][8][9]
- Мало возможностей для изменения дизайна страниц сайтов без навыков программирования.[6][8]
- Устаревший интерфейс пользователя (до внедрения поддержки нового интерфейса в 2021 году).[10]
См. также
[править | править код]Примечания
[править | править код]- ↑ Webasyst Usage Statistics (англ.). BuiltWith. Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
- ↑ Документация разработчика Webasyst . Webasyst. Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
- ↑ Обновления фреймворка Webasyst . Webasyst. Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
- ↑ 1 2 Сергей Гаврилов. Обзор конструктора сайтов Webasyst (Вебасист) (3 апреля 2020). Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
- ↑ 1 2 Евгений Куликов. Обзор конструктора сайтов Webasyst . Лучшие платформы по созданию веб-сайтов самостоятельно (26 апреля 2019). Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
- ↑ 1 2 3 Обзор и отзывы о конструкторе сайтов Webasyst . uGuide.ru — Ваш Гид по Самостоятельному Созданию Сайтов (21 декабря 2020). Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
- ↑ Сергей Сальников. Обзор платформы Webasyst для создания сайта интернет-магазина . Блог про бизнес и интернет-маркетинг. E-commerce, предпринимательство • SA1NIKOV.RU (18 апреля 2022).
- ↑ 1 2 Создание сайта на конструкторе Webasyst (29 апреля 2021). Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
- ↑ Maxiplace - облачный провайдер. Интернет-магазин на Webasyst (17 августа 2021).
- ↑ Mike Johnston. Webasyst Review (англ.). CMS Critic (11 марта 2016). Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.