Webasyst (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]

Примечания

[править | править код]
  1. Webasyst Usage Statistics (англ.). BuiltWith. Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
  2. Документация разработчика Webasyst. Webasyst. Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
  3. Обновления фреймворка Webasyst. Webasyst. Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
  4. 1 2 Сергей Гаврилов. Обзор конструктора сайтов Webasyst (Вебасист) (3 апреля 2020). Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
  5. 1 2 Евгений Куликов. Обзор конструктора сайтов Webasyst. Лучшие платформы по созданию веб-сайтов самостоятельно (26 апреля 2019). Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
  6. 1 2 3 Обзор и отзывы о конструкторе сайтов Webasyst. uGuide.ru — Ваш Гид по Самостоятельному Созданию Сайтов (21 декабря 2020). Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
  7. Сергей Сальников. Обзор платформы Webasyst для создания сайта интернет-магазина. Блог про бизнес и интернет-маркетинг. E-commerce, предпринимательство • SA1NIKOV.RU (18 апреля 2022).
  8. 1 2 Создание сайта на конструкторе Webasyst (29 апреля 2021). Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.
  9. Maxiplace - облачный провайдер. Интернет-магазин на Webasyst (17 августа 2021).
  10. Mike Johnston. Webasyst Review (англ.). CMS Critic (11 марта 2016). Дата обращения: 21 июня 2023. Архивировано 21 июня 2023 года.