Webasyst движок: Центр управления бизнесом — Webasyst

Содержание

Приложение «Блог»

Приложение «Блог» для Webasyst — удобный бесплатный движок для ведения блогов. Приложение предоставляет большое количество возможностей сразу из коробки:

  • Возможность в едином интерфейсе вести сразу несколько блогов, гибко разграничивая доступ: блоги могут быть как общедоступными (записи автоматически публикуются на сайте), так и закрытыми (доступ к блоге имеют только пользователи панели управления, например, сотрудники вашей компании или ваши друзья).
  • Коллективные блоги: предоставляйте доступ на управление блогами вашим друзьям и коллегам.
  • Возможность подписки на общедоступные блоги по RSS и на закрытые блоги по электронной почте (с помощью бесплатного плагина).
  • Редактирование записей в режимах WYSIWYG (визуальный редактор), HTML и Markdown (с помощью бесплатного плагина).
  • Календарь, позволяющий планировать будущие публикации.
  • Напоминания о просроченных публикациях: автор записи будет получать email-уведомления о запланированных или просроченных записях до тех пор, пока запись не будет опубликована или удалена.
  • Отложенные публикации: «заряжайте» публикацию на любую дату и время в будущем, и приложение автоматически опубликует её без вашего участия.
  • Комментарии: иерархическое дерево комментариев с ветвлением.
  • Гибкая настройка дизайна вашего блога (HTML, CSS, jQuery).
  • Нет рекламы (если только вы самостоятельно не добавите её в редакторе дизайна).
  • Специализированная версия панели управления, адаптированная для мобильных устройств на базе iOS и Android.
  • Интеграция с приложением «Фото» для публикации фотографий.
  • Отличный инструмент для публикации новостей интернет-магазина, работающего на основе Shop-Script.
  • Множество плагинов, которые можно установить одной кнопкой:
    • Импорт записей из WordPress
    • Поддержка синтаксиса Markdown
    • Категории и теги для записей
    • Gravatar-юзерпики для комментаторов
    • Антиспам для комментариев Akistmet

Функциональность блога можно расширять, устанавливая полезные плагины из магазина Webasyst или разрабатывая их самостоятельно. Документация для разработчиков: хуки для плагинов, API-методы.

Блог Webasyst

Сегодня мы выпускаем незаметное, но очень важное обновление фреймворка Webasyst (версия 1.14), в котором добавляем поддержку авторизации с помощью Webasyst ID.

Что такое Webasyst ID?

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

Это работает так же, как вход на разные сайты через Facebook, «Вконтакте», Google Account, Apple ID и т. д.

Почему с Webasyst ID удобнее?

Webasyst ID — это единый пароль для всех сервисов, сайтов и продуктов экосистемы Webasyst.

Раньше у каждого пользователя Webasyst было минимум два аккаунта и пароля: один — в Центре заказчика, через который можно управлять своими покупками, обращаться в службу поддержки, публиковать сообщения на форуме поддержки и т. д., а второй — непосредственно в вашей панели управления Webasyst для работы с приложениями, управления своим сайтом, интернет-магазином и т. п.

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

После этого обновления достаточно будет создать только один аккаунт — Webasyst ID (в Центре заказчика) и входить с его помощью во все установки Webasyst: в облаке или на ваших серверах, где бы они ни находились.

Вход через Webasyst ID — по желанию

Новая авторизация с помощью Webasyst ID является необязательной.

Обычный способ входа в вашем Webasyst (на вашем сайте), которым вы привыкли пользоваться, останется доступным до тех пор, пока вы сами не захотите включить у себя вход через Webasyst ID в приложении «Настройки»:

После включения эту настройку можно в любое время снова выключить, если вы решите временно не использовать Webasyst ID.

Когда эта настройка включена, каждый сотрудник вашей компании (пользователь вашего Webasyst) сможет подключить свой профиль в приложении «Команда» к Webasyst ID.

Мы будем включать авторизацию с помощью Webasyst ID по умолчанию для новых аккаунтов в облаке Webasyst, чтобы облегчить работу новым пользователям. Но ранее зарегистрированные аккаунты принудительно переводиться на новую схему авторизации сейчас не будут.

У каждого сотрудника — свой личный Webasyst ID

Важной особенностью нового способа входа является то, что Webasyst ID может быть не только у администратора (того, кто создал аккаунт в облаке или установил фреймворк Webasyst и покупает лицензии в «Инсталлере» на свое имя), но и каждый сотрудник компании. Это удобно в больших организациях, где разные отделы используют разные приложения, устанавливают плагины для своих приложений независимо друг от друга, обращаются в службу поддержки Webasyst по разным вопросам. С переходом на новую схему каждый сотрудник сможет делать это в рамках своего личного Webasyst ID без доступа к «общему» (корпоративному) Центру заказчика.

Тут уместна такая аналогия: установка (или облачный аккаунт) Webasyst — это устройство, например, компьютер, смартфон, планшет. А Webasyst ID — это пользователь (физическое лицо, личность), который имеет к нему доступ с некоторыми правами.

У одного пользователя может быть несколько таких «устройств» (т. е. он может иметь доступ к панелям управления разных Вебасистов), но теперь он сможет пользоваться ими всеми с одним и тем же паролем, который заодно подойдет и для любых взаимодействий с Webasyst, сервисами и продуктами, которые предоставляем мы и наши партнёры.

Webasyst ID для партнеров, 2FA и многое другое — скоро!

Этот первый релиз фреймворка с поддержкой Webasyst ID выглядит почти незаметным и позволяет «всего лишь» связать вход в панель управления вашего Webasyst с аккаунтом в Центре заказчика. Но этим внедрение Webasyst ID, конечно, не ограничится.

Следующими шагами мы представим возможность авторизации с помощью Webasyst ID на любых сторонних сайтах и в мобильных приложениях. Это будет особенно полезно разработчикам Webasyst и

партнерам-экспертам для предоставления поддержки своим пользователям. Авторизация (разумеется, с согласия пользователя!) позволит партнёру, в частности, быстро узнать своего клиента и получить актуальный статус лицензии приобретенного приложения, плагина или темы дизайна.

Разработчики мобильных приложений смогут реализовать удобное подключение к API приложений Webasyst с помощью Webasyst ID.

Затем появятся полноценная двухфакторная авторизация (2FA) для Webasyst ID и другие полезные функции, которые помогут сделать работу с Webasyst ещё более безопасной.

Следите за анонсами в нашем блоге и на форуме разработчиков Webasyst!

Приложение «Shop-Script»

Привет, раздумывающий о покупке, будущий владелец интернет магазина на Webasyst.

Хочу отметить, что это самый проблемный движок сайтов с которым приходилось работать. Каждое обновление — это головная боль. Шанс, что после обновления у вас что-то сломается почти равен 100%.

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

С прошлого года, разработчики приложения стали брать абонентскую плату за обновления. Возникает вопрос за что? Если после каждого обновления приходится доплачивает минимум 1000 руб за их помощь по устранению проблем после обновлений.

Далее, создается ощущение, что разработчики этого приложения живут отдельно от других разработчиков плагинов, видимо не могут внедрить какие-то общие стандартны на все приложения, как например сделали в wordpress или других популярных системах.

В итоге после каждого обновления ядра пользователь не страдает от несовместимости основного приложения со сторонними плагинами.

Техподдержка явно ненавидит всех, хотя через силу всегда старается помогать, хоть и небесплатно. Героически решают проблемы. Однажды наш сайт жил с их системной проблемой около года, пока они выпустили обновление, которое решает нашу проблему с платежами. ЦЕЛЫЙ ГОД наши клиенты не могли нормально платить на сайте.

В общем словах, если вы обычный пользователь и хотите сделать интернет-магазин, ОБХОДИТЕ СТОРОНОЙ это приложение несмотря на все его преимущества, потому что если вы, как мы ввяжетесь в это, потом будет очень дорого перейти на другую CMS.

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

В своей жизни я написал всего 3 негативных отзыва и 2 из них по этому движку.

Благодарю за внимание!

Создание сайта с помощью Webasyst — Webasyst

Итак, вы решили создать сайт с помощью Webasyst. Например, интернет-магазин или корпоративный сайт с информационными страницами, блогом и форумом. Что для этого потребуется?

1. Выбрать хостинг и установить Webasyst

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

  • облако Webasyst
  • другой хостинг
Облако Webasyst

Облако Webasyst — самый удобный хостинг для Webasyst. Просто зарегистрируйтесь, и сайт уже готов. Осталось прикрепить к нему свой домен и немного настроить.

В облаке Webasyst можно работать бесплатно первые 30 дней. После этого нужно выбрать тариф и оплатить его хотя бы на один месяц, чтобы работать дальше. Если оплатить сразу на 6 месяцев или на 1 год, в зависимости от тарифа можно получить скидку и некоторые бесплатные услуги: регистрацию доменного имени или SSL-сертификат.

Другой хостинг

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

Чтобы установить Webasyst на другом хостинге, надо самому скачать архив с файлами и выполнить инструкцию по установке.

Посмотрите подробное описание различий между облаком Webasyst и обычным хостингом.

И облачный аккаунт, и аккаунт на любом другом хостинге регистрируйте на свой email-адрес, а не на адрес сотрудника вашего IT-отдела или стороннего веб-мастера, который создает вам сайт по договору. Когда сотрудник уволится или истечет срок договора с веб-мастером, может оказаться, что вам уже ничего не принадлежит. Это же относится к регистрации доменного имени и покупке лицензий программных продуктов.

Запомнить

— Если создаете сайт в облаке Webasyst, выберите тариф. Учитывайте скидки и бесплатные услуги при оплате на несколько месяцев.
— Если создаете сайт не в облаке, выберите хостинг с подходящими системными требованиями и тарифами.
— Чтобы не потерять сайт, регистрируйте аккаунт хостинга на свой email-адрес, а не на адрес сотрудника компании или стороннего веб-мастера.

2. Зарегистрировать доменное имя

Если вы создаете сайт в облаке Webasyst, то к вашему аккаунту нужно прикрепить собственное доменное имя вроде mydomain.ru или мойдомен.рф. Доменное имя можно получить несколькими способами:

  • Бесплатно через Webasyst, если оплатить аккаунт в облаке сразу на 6 месяцев или на 1 год в зависимости от тарифа.
  • За деньги через Webasyst, если бесплатная регистрация вам недоступна.
  • Через другого регистратора. На сайтах регистраторов доменных имен доступны разные условия и большой выбор доменных зон. Доменное имя, полученное через другого регистратора, нужно потом прикрепить к своему аккаунту в облаке Webasyst.

Если ваш сайт не в облаке, то зарегистрировать домен можно только через других регистраторов или вашего хостинг-провайдера — не через Webasyst.

Запомнить

Если сайт в облаке Webasyst, то домен можно зарегистрировать или в облаке, или через другого регистратора. В облаке удобнее и бесплатно при оплате сразу за несколько месяцев.
— Если сайт не в облаке, то домен можно получить только через других регистраторов, не через Webasyst.
— Чтобы не потерять доменное имя, при его регистрации указывайте свой email-адрес, а не адрес сотрудника или веб-мастера.

3. Установить дополнительные приложения и плагины

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

Примеры того, для чего могут быть нужны дополнительные приложения или плагины:

  • форум для посетителей сайта — приложение «Хаб»;
  • обработка письменных запросов от клиентов — приложение «Поддержка»;
  • защищенное хранение корпоративных документов — приложение «Файлы»;
  • создание реферальной программы для покупателей интернет-магазина — плагин «Реферальная программа» для Shop-Script.
Как понять, какие приложения и плагины могут понадобиться

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

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

В облаке: аренда или покупка лицензии

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

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

Плагины и темы дизайна арендовать нельзя — только приложения. А на других хостингах аренда недоступна даже для приложений. Аренда — только в облаке Webasyst.

Запомнить

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

4. Выбрать дизайн

После установки Webasyst автоматически создается сайт со стандартным дизайном. Его формирует встроенная тема дизайна «Дефолт». Этот стандартный дизайн можно оставить, если он вам нравится. Или изменить его одним из следующих способов:

  1. Изменить настройки темы дизайна.
  2. Изменить шаблоны дизайна. Это файлы с HTML-, Smarty-, CSS- и JavaScript-кодом. Эти файлы можно изменять самому внутри Webasyst-аккаунта или дать доступ к ним знакомому специалисту, который доработает тему дизайна, как вам нужно.
  3. Установить другую тему дизайна из магазина Webasyst. Другие темы, как и стандартную, тоже можно изменять с помощью настроек и путем редактирования шаблонов. Темы дизайна есть платные и бесплатные.
  4. Создать свою личную тему дизайна. И загрузить ее себе в Webasyst-аккаунт.

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

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

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

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

Запомнить

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

5. Интернет-магазин под ключ

У Webasyst есть услуга «Интернет-магазин под ключ». Она для вас, если вам некогда или неохота разбираться в технических тонкостях, но вы не знаете, кому доверить эту ответственную работу. Сотрудник Webasyst задаст правильные вопросы, сам выполнит часть сложных настроек, расскажет, как их менять в будущем и как настроить все остальное.

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

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

Запомнить

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

Обзор блогодвижка Webasyst Блог / Блог компании Webasyst / Хабр

Одним из первых приложений, которое мы разработали на основе фреймворка Webasyst, было приложение «Блог», позволяющее вести личные, коллективные и корпоративные (закрытые авторизацией) блоги. Именно блог, потому что на примере этого приложения было очень удобно реализовать множество базовых концептов во фреймворке: фронтенд, дизайн-редактор, плагины, сайтмап и т.д. К тому же тогда нам самим нужно было открывать блог на сайте. Приложение бесплатное (LGPL), работает на основе PHP/MySQL/Smarty/jQuery.

Демо: фронтенд, бекенд (введите любые логин и пароль для входа в демо)
Скачать: в архиве (3.8 МБ; архив уже включает в себя фреймворк Webasyst) или на GitHub (само приложение находится в wa-apps/blog/)

Под катом подробный обзор приложения и много скриншотов.

Установка


Системные требования «классические»: PHP 5.2+, MySQL 4.1+, расширения mbstring, iconv, json, curl, gd/imagick — ставится практически на любой шаред-хостинг.

Приложение является частью фреймворка Webasyst. Если скачать приложение по ссылке, приведенной выше, фреймворк установится сразу вместе с приложением «Блог». Если же «Блога» в базовой поставке нет, то его можно легко установить через встроенное приложение «Инсталлер», которое всегда входит в базовый состав фреймворка («Инсталлер» позволяет одним кликом устанавливать обновления и новые приложения).

Установка происходит в несколько шагов: копирование файлов на сервер по FTP с последующим вводом настроек подключения к MySQL через веб-интерфейс. Ничего необычного. Инструкция. (Если не хочется ставить скрипт, можно попробовать приложение в облаке Вебасиста.)

Вход в бекенд:

Бекенд


При первом запуске приложение встречает пользователя:

Интерфейс бекенда построен вокруг списка постов.

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

Пост может находиться только в одном блоге. Дополнительно на каждый пост можно назначать теги, категории (для этого нужно установить бесплатные плагины). Везде в списках lazy loading.

Дизайн


По умолчанию для фронтенда подключается тема дизайна «Дефолт», которая выглядит минималистично:

«Дефолт» можно легко сменить на любую другую тему дизайна непосредственно в дизайн-редакторе в бекенде: выбираешь тему дизайна, она скачивается с сайта Вебасиста и устанавливается.

Пока базовых тем немного, но зато все темы — с чистой валидной версткой (валидатор демо-версии), автоматически адаптируются под устройство пользователя (десктоп, планшет, мобильное), плюс во всех базовых темах дизайна используется микроразметка постов и комментариев по стандартам Schema.org.

Используется шаблонизатор Smarty. Локализация — на основе gettext. Дизайн витрины можно редактировать непосредственно в браузере в бекенде приложения. Через веб-интерфейс редактировать можно все шаблоны фронтенда: и HTML/Smarty, и CSS, и JavaScript (jQuery).

Предусмотрены разные Smarty-хелперы, которые помогают в любом шаблоне дизайна получать данные из приложения «Блог» или других приложений. Например, с помощью конструкции $wa->shop->products('tag/бестселлер') можно получить из Shop-Script 5 (приложения для создания интернет-магазинов) список товаров с тегом «бестселлер» и вывести их, скажем, в сайдбаре блога (шаблон sidebar.html):

Аналогично можно вытягивать данные и из других приложений: $wa->photos->photos(‘tag/каникулы’), $wa->shop->cart()->total(), $wa->blog->blogs() и т.д. Список поддерживаемых хелперов всегда можно посмотреть в шпаргалке здесь же в дизайн-редакторе.

Фронтенд


Подписка на блог во фронтенде — RSS, на закрытые блоги в бекенде — по email.

Для ЧПУ-адресов записей фронтенда можно использовать один из нескольких вариантов: только адрес записи или же адрес записи вместе с годом, месяцем, днем.

На базе одного приложения можно вести несколько независимых блогов на разных сайтах. За каждым фронтендом приложения (а их может быть сколько угодно и на разных доменах) можно закрепить отдельный блог. Пример: на сайте фреймворка мы ведем блоги на английском (webasyst.com/blog/) и русском (webasyst.ru/blog/) языках в едином потоке, посты публикуются на разных доменах и внешне выглядят независимыми.

Во фронтенде тоже везде lazy loading. С точки зрения SEO все ок: если нет поддержки JavaScript, то показывается постраничный навигатор вместо lazy loading, так что все посты индексируются нормально.

Также приложение автоматически создает и обновляет сайтмап блога (пример сайтмапа в демо).

Написание поста


Для написания постов предусмотрено три режима редактирования:
WYSIWYG, куда же без него: используется редактор elRTE,
HTML: на основе редактора Ace,
Markdown: нужно поставить бесплатный плагин.

Для постов можно редактировать мета-теги, заголовок , теги, категории (плагин), планируемую дату публикации и произвольные key-value параметры, значения которых потом передаются в шаблон дизайна.

Если в настройках приложения включить опцию 'can_use_smarty' => true, в теле поста можно будет также полноценно использовать Smarty. Это удобно для работы с данными из других приложений, например, когда нужно получить динамический список фотографий из приложения «Фото» по какому-либо правилу: тегу, рейтингу, альбому и т.п.

Комментарии


В приложении реализована древовидная структура комментариев: ветвление и возможность ответа на комментарии внешне схожа с комментариями на Хабре.

Во фреймворке сразу «из коробки» есть OAuth-адаптеры авторизации для популярных сервисов, поэтому в настройках (в веб-интерфейсе) можно легко подключить авторизацию через Гугл, Фейсбук, Вконтакте и другие сервисы.

Дисциплина


Календарь публикаций в бекенде наглядно отображает посты: уже опубликованные и запланированные к публикации в будущем. Легко видеть когда постов планируется много, а когда нет. Как показывает наш собственный опыт ведения блога, календарь, планируемые даты публикации и напоминания — одна из самых практичных фич приложения, которая действительно помогает более дисциплинированно вести блог.

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

Поддерживается также отложенная публикация записей: заряжаешь дату и время, и пост будет опубликован автоматически (для этого нужно настроить планировщик cron).

Плагины


Для бесплатной загрузки доступны несколько полезных плагинов, например:

— плагин «Троллфейс», позволяющий отметить троллфейсом отдельные комментаторов,
— уже упомянутый выше плагин Markdown,
— плагин импорта из Вордпресса и ЖЖ,
— плагин фильтрации постов по категориям и тегам,
— антиспам Akismet,
— остальные плагины можно посмотреть здесь.

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

API


Предложение предоставляет 13 внешних API-методов для чтения и записи данных.
blog

  • blog.blog.add
  • blog.blog.getInfo
  • blog.blog.getList
  • blog.blog.update

post

  • blog.post.add
  • blog.post.comments.add
  • blog.post.comments.delete
  • blog.post.comments.getInfo
  • blog.post.comments.getTree
  • blog.post.delete
  • blog.post.getInfo
  • blog.post.search
  • blog.post.update

Документация по API-методам приложения (с песочницей): http://www.webasyst.ru/developers/docs/api/explorer/blog/

WordPress, другие движки и зачем еще один велосипед


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

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

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

Ссылки на некоторые примеры блогов: http://www.webasyst.ru/store/app/blog/examples/

Разработчикам


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

GitHub: https://github.com/webasyst/webasyst-framework (само приложение находится в wa-apps/blog/)
Лицензия: LGPL (приложение бесплатное)

Темы дизайна для Webasyst и Shop-Script

Самые продаваемые (и продающие) темы с отличной технической поддержкой.

  • Всё, что вы хотели. И немного больше

  • Прокачайте магазин Super-темой!

  • Быстрый интернет-магазин

  • Jewelry Theme — современная тема дизайна

  • -15% Специальные возможности для больших продаж!

  • Удобная, современная тема интернет-магазина.

  • Простой, красивый, лаконичный одностраничник

  • -15% Современная тема для магазина.

  • -15% Адаптивная тема дизайна «Vivashop».

  • -15% Адаптивная тема дизайна «Euroshop».

  • -15% Универсальная тема для интернет-магазина

  • -15% Специальные возможности для больших продаж!

  • -15% Сделает ваш магазин престижным!

  • Оптимизирует сайт для смартфонов iOS и Android.

  • Семейство адаптивных тем дизайна.

  • Тема дизайна для большого интернет-магазина.

  • Семейство адаптивных тем дизайна.

  • Современный сайт и лендинг в одной теме

  • Мода для модных

  • Шаблон интернет-магазина для лучших продаж

  • Нестандартная тема дизайна с фильтрами на главной

  • Тема дизайна для галереи или сайта фотографа

  • Минималистичная «Coming Soon» тема для сайта.

Приложение «CRM»

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

Разграничение прав доступа

Настраивайте индивидуальные профили доступа для отдельных сотрудников, объединяйте сотрудников в группы и создавайте разные классы секретности для доступа к контактам и сделкам.

Удобная работа с контактами

Вся информация, связанная с контактом, хранится в удобном и доступном виде. Контакты легко объединять в сегменты — собирать вручную или фильтровать по разным признакам, например: прочитали последнюю рассылку, не заказывали 2 месяца. Сегменты используются для выполнения быстрых групповых действий с контактами и для просмотра отчетов.

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

Эффективное управление сделками

Этапы сделок и статусы связанных с ними задач отображаются в удобном и наглядном виде. Легко контролировать выполнение запланированных действий. Для удобства работы информация по сделкам может быть показана в виде таблицы или доски «канбан» — на ваш выбор.

Интеграция с Shop-Script

Заказ в Shop-Script может формировать сделку в Webasyst CRM. Сделка создается в соответствующей воронке продаж с привязкой к уже существующему или вновь созданному контакту. Вы можете распределять сделки по менеджерам и настраивать нужные этапы для обработки сделки. А после того, как сделка будет завершена, создавать напоминания с привязкой к определенному контакту, чтобы планировать дальнейшее взаимодействие с клиентом.

Интеграция поддерживается начиная с версии Shop-Script 7.2.4.

Воронки продаж

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

Таймлайн по всем действиям

Все действия, которые сохраняются в Webasyst CRM, отображаются в единой ленте событий с привязкой ко времени — таймлайне. Легко просматривать список событий по отдельному клиенту или по выбранной сделке.

Интеграция с IP-телефонией

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

Автоматизация работы со счетами

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

Framework — документация Webasyst

Как и в большинстве современных сред программирования, ядро ​​Webasyst реализует архитектурный шаблон. MVC (модель-представление-контроллер). Основной принцип паттерна MVC предполагает разделение приложение на три слабо связанных вида компонентов (слоев):

    Уровень управления данными
  • (модель)
  • просмотреть слой
  • уровень бизнес-логики (контроллер) — получение / проверка / обработка пользовательских данных; получение данных из слоя модели, их предварительная обработка для использования представлением слой для отображения в браузере пользователя

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

Порядок обработки HTTP-запросов

  1. Запрос принят скриптом диспетчера.
  2. Ядро платформы анализирует запрошенный URL.
  3. Система маршрутизации определяет, какое приложение отвечает за обработку запроса и какое действие следует выполнить.
  4. Для выполнения действия определяется соответствующий контроллер, который берет на себя управление дальнейшей обработкой запроса пользователя.
  5. Контроллер выполняет запрошенную бизнес-логику, считывая данные приложения через классы модели, где это необходимо.
  6. Для генерации результирующего HTML-кода контроллер последовательно вызывает методы одного или нескольких классов действий.
  7. Каждое вызываемое действие передает полученные данные в механизм шаблонов.
  8. Механизм шаблонов генерирует результирующий HTML-код, используя данные, полученные от классов действий и соответствующих файлов шаблонов.

Взаимодействие с базой данных

Техническая реализация взаимодействия с базой данных состоит из двух уровней: система и приложение уровень.

Системный уровень

Системный уровень отвечает за установление и поддержание соединений (пул соединений) с конкретной базой данных, передачу SQL-запросов и получение их результатов из СУБД. Его работа зависит от фактического типа используемого сервера базы данных; поэтому самостоятельная реализация этого уровня в виде плагинов адаптера требуется для каждого типа СУБД.Текущая версия фреймворка содержит такой адаптер только для MySQL.

Уровень приложения

Уровень приложения абстрагируется от функционирования конкретной СУБД и технически не может зависеть от ее типа вообще. Другими словами, приложение может не зависеть от доступности, скажем, сервера MySQL и иметь возможность одинаково хорошо работать с другими DMBS. В этом случае обязательно для установки соответствующего плагина адаптера СУБД.

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

Контроллеры и действия

Уровень контроллеров в Webasyst разделен на два еще более тонких слоя: контроллеры и действий (этот уровень фактически также включает сценарий диспетчера и систему маршрутизации, но они не влияют напрямую на процесс разработки приложения).

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

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

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

Шаблоны страниц

Каждое действие связано с файлом шаблона, используемым для генерации кода HTML для веб-страницы. Слой представления фреймворка Webasyst по умолчанию реализован с помощью с помощью шаблонизатора Smarty. Конечно, использование только Smarty не является строгим требованием. Есть возможность подключить другие движки шаблонов или даже использовать чистый PHP-код для создания HTML-шаблонов.Для подключения нового шаблонизатора достаточно создать класс адаптера и добавить его в файл конфигурации системы.

Приложения

Framework Webasyst был спроектирован таким образом, чтобы обеспечить существование нескольких приложений в одном установленном экземпляре инфраструктуры (с общей базой данных, адресным пространством, пользователи, система аутентификации и авторизации). Одной из основных целей создания фреймворка была организация тесной интеграции и взаимодействия нескольких Приложения.Каждое приложение имеет уникальный идентификатор (APP_ID) в системе. Исходный код каждого приложения находится в отдельной подпапке. в общей файловой системе.

Таблицы приложений в базе данных имеют уникальный префикс, чтобы избежать конфликтов имен таблиц. В список установщиков приложений входит система файл конфигурации wa-config / apps.php .

Пользователи, права доступа, авторизация, бэкэнд и интерфейс

Frwmework Webasyst был разработан в первую очередь для разработки бизнес-ориентированных приложений.По этой причине глобальные объекты, такие как «контакт», «пользователь» и понятие прав доступа являются неотъемлемой частью системы и глубоко интегрированы в ее архитектуру. Фреймворк без установленного приложения уже содержат полную инфраструктуру с интерфейсом авторизации, механизмом управления пользователями, инструментами настройки прав доступа и различие между серверной частью и фронтендом.

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

Веб-интерфейс любого приложения Webasyst состоит из двух основных частей: бэкэнда и внешнего интерфейса .

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

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

,Документация

— документация Webasyst

Webasyst — это PHP-фреймворк (платформа) для разработки веб-приложений с бэкэндом и интерфейсом .

Backend — это защищенная паролем часть веб-сайта, которая используется для различных настроек и управления данными. Доступ к бэкэнду может получить любое количество пользователей, каждый из которых имеет права доступа только к определенным инструментам, доступным в бэкэнде. Бэкэнд начинает работать сразу после установки фреймворка Webasyst и предлагает несколько предустановленных системных приложений: Сайт, Контакты и Установщик.

  • Сайт — это приложение для управления структурой веб-сайта, полноценная CMS с редактором дизайна, маршрутизацией запросов пользователей (для назначения различных групп URL-адресов выбранным приложениям) и текстовым редактором WYSIWYG для быстрого создания страниц веб-сайта.
  • Контакты используется для управления всеми контактами, хранящимися в базе данных фреймворка. Контакт — это запись в базе данных, содержащая различную информацию о человеке или организации, такую ​​как имя, адрес, номер телефона и т. Д.
  • Installer — это инструмент для автоматической установки приложений, плагинов и тем оформления из официального репозитория Webasyst.

Frontend — это часть веб-сайта, которая поддерживается установленным приложением, то есть страницы, доступные любому посетителю без необходимости вводить пароль. Страницы веб-сайтов на платформе Webasyst могут работать с различными приложениями: Site (обычные веб-страницы), Shop-Script (страницы витрины с информацией о товарах), Photos (онлайн-фотогалерея), Blog (блоги и комментарии) и т. Д.

Внешний вид страниц внешнего интерфейса (т. Е. Веб-сайта) создается с помощью тем оформления. Тема дизайна — это набор HTML-шаблонов, файлов CSS и JavaScript, которые отвечают за то, как интерфейсные страницы определенного приложения отображаются в браузере. В дополнение к темам, разработанным для отдельных приложений, существуют также семейства тем дизайна, которые позволяют настраивать аналогичный дизайн для интерфейсов различных приложений.

Приложение — это набор сценариев PHP с общей операционной логикой, которые выполняются в одном общем диапазоне URL-адресов.Например, запросы пользователей, отправленные на URL вида http://yourdomain.com/ webasyst / shop / , обрабатываются только приложением Shop-Script. В отличие от одного статического диапазона URL-адресов серверной части, показанного выше для запросов серверной части, запросов внешней среды к каждому приложению можно сгруппировать в различные диапазоны URL-адресов с помощью произвольно настраиваемых правил маршрутизации (масок). Например, интернет-магазин на базе приложения Shop-Script может быть доступен по нескольким базовым URL: http: // yourdomain.com / , http://yourdomain.com/ books / , http://yourdomain.com/ facebook / и т. д. Каждая из этих нескольких витрин может иметь свой собственный внешний вид в зависимости от дизайна тема, выбранная для этого диапазона URL-адресов (так называемое «поселение»).

При разработке нового приложения Webasyst его можно сделать с поддержкой плагинов. Плагины позволяют расширять функциональность приложения без изменения его исходного кода. Плагины устанавливаются и подключаются к фреймворку так же легко, как и приложения: одним щелчком мыши в установщике.Плагины, которые могут использоваться несколькими приложениями, называются системными плагинами; например, модули для интеграции платежной системы или SMS-шлюзов (для отправки SMS с помощью приложений, использующих такие плагины).

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

,

Блог Webasyst

Фреймворк

Webasyst обновлен до версии 1.8.0 .

Редакторы WYSIWYG и HTML

Мы сделали более комфортным и надежным редактирование страниц сайта, содержащих код Smarty и разнообразные HTML-теги. Если вы иногда переключаетесь между режимами редактирования WYSIWYG и HTML, то для вас есть несколько нововведений.

Редактор WYSIWYG предупреждает о возможных изменениях кода HTML

Редактор WYSIWYG ожидает некоторой стандартной разметки HTML для правильного форматирования текста, вот как это работает.Если ваш HTML-код не соответствует его «ожиданиям», то редактор либо изменит ваши теги, либо удалит некоторые из них, оставив только текст.

Так и раньше работало, но без предупреждения, что расстроило некоторых пользователей. Мы не можем заставить редактор «переварить» любой HTML-код , если мы не усложним его логику, потратив на это огромное количество времени. Поэтому мы просто добавили предупреждение, которое появляется каждый раз, когда вы переключаетесь из режима редактирования HTML в WYSIWYG, и просят вашего согласия на возможные автоматические изменения.

Если вам нужно переключиться на редактор WYSIWYG, проверьте свой HTML после этого.

WYSIWYG недоступен для страниц, содержащих теги Smarty

Чтобы упростить логику визуального редактора, мы отключили его для страниц с кодом Smarty. Если на вашей странице есть теги Smarty, то редактор WYSIWYG не откроется, а будет отображать только уведомление.

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

Загрузка изображения в режиме HTML

Чтобы добавить изображение на страницу, вам нужно было переключиться в режим WYSIWYG, потому что другого варианта для загрузки изображения не было. А переключение в режим WYSIWYG сломало ваши теги Smarty или заменило некоторые из ваших тегов HTML, что было проблемой!

Мы решили эту проблему, добавив кнопку загрузки изображения в режиме редактирования HTML.Теперь вам не нужно переключаться на WYSIWYG только для загрузки изображения.

Мы добавили то, что вы просили

  • простых цветов к палитре
  • Verdana шрифт

… и исправил ошибки, о которых вы сообщили

  • Отключена чрезмерная прокрутка страницы к фрагменту кода, найденному функцией поиска.
  • Исправлена ​​загрузка изображений с разными символами в именах файлов.
  • Убрано излишнее форматирование HTML-тега