На самом деле, стабильной версией мы её считаем уже примерно 2-3 последних месяцев. Критические ошибки были давно исправлены. По факту, дело оставалось за конвертером из 2.1.5 до 2.2.x и недавно он появился, отлажен и работает. Автоматическая миграция между версиями — это заключительный этап разработки.
Текущая версия действительно нумеруется как 2.2.1 Это сделано специально, чтобы провести грань между всеми версиями 2.2.0 и стабильным релизом. Следующие обновления буду нумероваться классическим образом.
Сегодня я бы хотел подвести краткий итог, разобраться, что дает нам линейка версий 2.2.x и немного поговорить о ближайшем будущем JBZoo.
Ах, да! Чуть не забыл о небольшом, но крайне важном мероприятии...
Распродажа со скидкой 22% !
О чем это нам говорит? Все просто! Новая подписка от 930 рублей, а продление всего то 770 рублей за полгода. Разделите эти цены на 6 месяцев, получится ну очень дешево, не правда ли?
Акция будет актуальна до 30 сентября. Подробнее о ценах для разных тарифных планов можно узнать на соответствующей странице.
А теперь пора посмотреть на контраст между версиями 2.1.x и 2.2.0
Обновление c 2.1.5 до 2.2.0
Разница между старой и новой корзиной колоссальна и по очевидными причинам, обычным патчем не обойтись. Для этих целей мы сделали автоматический конвертер, который перенесет весь контент в новый формат без потерь.
Что умеет конвертер?
-
Переносить заказы из материалов на специальную вкладку «Заказы».
-
Создавать элементы цены JBPrice Plain на основе старого элемента JBPrice Advance с подходящими настройками.
-
Переносить контент из старой цены в новую без потерь информации.
-
Создавать элементы платежных систем на основе старых настроек из каталога заказов.
-
Настраивает платежные системы.
-
Добавит события и шаблоны для почтовых сообщений.
Таким образом, вам останется только подправить внешний вид корзины и элементов цены под дизайн своего сайта. После обновления до 220v вы получите массу новых функций из конструктора электронной коммерции.
Коротко о главном
Мне бы не хотелось вдаваться во все тонкости и описание каждой фичи. Этим я уже занимался в нескольких предыдущих постах и конечно же в истории версий. Поэтому расскажу вам о наиболее интересных моментах. Все описанное здесь можно увидеть на нашем демо-сайте.
Конструктор корзины
-
Корзина была полностью переработана. Теперь она разделена на независимые части (элементы), легко расширяется и имеет богатое внутреннее API для новых возможностей.
-
Добавлены новые системы доставки и предварительное вычисление стоимости услуги через API сервиса.
-
Разные группы полей формы заказа (для доставки и общие).
-
Новые способы оплаты .
-
Произвольный список статусов для разных целей (оплата, доставка, общий).
-
Новая система управления валютами, форматами вывода и их курсами. Общий переключатель на сайте с анимацией вычислений.
-
Краткая статистика продаж в панели управления.
-
Произвольные валидаторы корзины.
Элемент цены JBPrice
-
Возможность конструировать элемент цены из других элементов. Т.е. вы сами выбираете какие параметры будут у товара и что они будут обозначать.
-
Цена разделилась на два элемента: JBPrice Plain и JBPrice Calc. Основное отличие — разный алгоритм работы с вариациями и влияние параметров на стоимость.
-
Новый виджет для переключения валют (кнопки с флажками) и выбора количества товара.
-
Создание онлайн калькуляторов с последующим заказом.
-
Покупка файлов (приходит ссылка или аттач в письме после оплаты).
-
Зависимость фотографии от параметров товара.
Манипуляция ценами
-
Установка глобальных скидок для всего сайта или по условию (категория, тип и т.д.).
-
Можно добавлять явные или скрытые модификаторы цены в рамках одного товара или группы.
-
Специальное поле для промо-кода, который даст скидку на всю покупку.
Шаблоны и UI
-
Все стили переписаны в less-формат, который автоматически компилируется в сжатый css-файл. Это заметно упростило работу с версткой и привело в порядок все стили в приложении (а их очень много).
-
Добавились новые шаблоны UIkit и Bootstrap.
-
Переписан весь JavaScript в новый формат. jQuery-плагины разделены на отдельные файлы.
-
JBZoo сам объединяет и минимизирует все статические файлы, а так же следит за их актуальностью. Маленькие картинки сохраняются внутри CSS файлов.
-
На странице подключаются только те стили и скрипты, которые используются.
-
Добавили анимацию для цен и эффекты для любых AJAX-запросов.
-
Исправлена масса мелких неприятностей в старом шаблоне catalog.
Нотификация
-
Новая, гибкая шаблонизация почтовых сообщений.
-
SMS-уведомления при создании, оплате или изменении статуса заказа.
-
Автоматические аттачи файлов и картинок в письма.
-
Сообщение можно привязать к произвольному событию корзины, например, на изменение определенного статуса.
Конвертер и другие утилиты
-
Конвертер, который упростит переход сайта на новую версию.
-
Новый алгоритм для проверки целостности файловой системы JBZoo. Поможет при заражениях сайта, а также при обновлении, чтобы знать, какие важные файлы были изменены программистами.
-
Неверсионные файлы можно удалить прямо из панели управления.
На самом деле список далекоооо не полный. Чтобы оценить масштабы обновления и нашей работы просто подумайте о том, что было изменено более 70% кода. В общем счете это порядка 5 Мб кода. Чистый дистрибутив сейчас весит около 7 Мб. Для сравнения, Joomla, которая разрабатывается огромным сообществом — это менее чем 30 Мб.
Мысли о грядущем...
Относительно недавно мы проводили большой опрос в рамках нашего форума. Основной вопрос, который был вынесен на обсуждение — это работа и ценность технической поддержки, форума. За один месяц бурного обсуждения набралось довольно большое количество мнений. Желающие могут прочитать наши выводы в конце этой темы. Ниже небольшая выдержка вместе с нашими планами на будущее.
Форум и техническая поддержка
К сожалению, мы вынуждены изменить тарифные планы и увеличить цену технической поддержки. Основная цель: отсеять тех кому поддержка действительно нужна, от тех кто хочет, чтобы мы научили их разрабатывать веб-сайты и объяснили основы верстки шаблонов/Joomla. Соответственно, уменьшится кол-во вопросов, а значит
-
Те кто остался получат более быстрый и развернутый ответ.
-
Появится дополнительное время на разработку, документацию и другие важные вещи, которые развивают продукт.
- Чтобы сбалансировать ситуацию позже начнем развивать открытую часть форума. Она будет открыта для всех.
Изменения планируются ближе к выходу первых превью-версий компонента. По сути вопрос коснется только тех, кто пользуется услугами нашей поддержки и привелегиями тарифа плюс. Об этом мы подробнее напишем позже отдельным постом.
Пожалуйста! Не путайте тех поддержку и баги. Мы исправляем ошибки и без аккаунта с плюсом, для этого достаточно детально описать проблему в публичной части форума.
Новый взгляд на разработку...
Скорее всего линейка версий 2.2.x станет последней в качестве приложения для YOOtheme Zoo. Сейчас мы работаем над отдельным компонентом. А значит:
-
Больше не будет зависимости от YOOtheme (...и их багов).
-
Развязываем руки для создания новых фич.
-
Меняем панель управления как хочется.
-
Никаких хаков.
-
Максимальная скорость работы.
-
Быстрый процесс разработки.
-
Прекрасный шанс внедрения автоматического тестирования и системы автообновлений.
CI — Непрерывная интеграция (обновления)
Основное и самое масштабное изменение в разработке компонента — это будут автоматические обновления. В идеале новая версия выходит раз в несколько дней. Обновиться можно будет одним кликом с любой версии до последний, не покидая Joomla.
Со своей стороны запускаем специальный сервер непрерывной интеграции (CI). Он работает по расписанию и постоянно тестирует весь код с помощью специальной автоматической системы. Если все OK, то сервер решает выпустить обновление и создает билд. Все желающие его устанавливают прямо из панели управления своего сайта. Никаких патчей!
Таким образом, первая фича, которая появится в 3.0 — это будет волшебная кнопка «обновить». А автоматизированная система тестирования избавит от внезапных ошибок в уже работающих функциях. Все это позволит нам больше думать о разработке, а не тестировании.
В целом, серверная часть CI у нас уже(!) написана и отлажена. Работает на связке Java + некоторых скриптах и, как бы это не было странным, на консольной версии JBZoo + Symfony. Кстати, последние патчи создавал именно CI.
Первая версия 3.0 появится примерно в январе следующего года.
На сколько я знаю, никто из разработчиков компонентов Joomla не создает свои расширения подобным образом. А вот Joomla CMS разрабатывается и обновляется именно так, а мы перенимаем их опыт.
В итоге
-
Пользователи получат обновления так быстро на сколько это возможно.
-
Разработчики не тратят время на рутину и в перспективе меньше тестируют.
-
Качество кода станет выше, т.к. за ним будет следить «Око Саурона» (сервер CI) и в любой непонятной ситуации запрещать выпуск обновления.
Что ожидать в JBZoo 3.0 ?
-
Для администратора сайта
-
Постоянные автоматические обновления!
-
Конструктор панели управления — администратор настраивает панель управления как ему хочется. Например, наборы колонок в таблице материалов.
-
Гибкие фильтры для панели управления с сохранением профилей.
-
Установка расширений из маркета, не покидая панель.
-
Интерфейс панели управления будет переписан на Angular / React (еще не определились, кому что больше нравится?) Есть мысли сделать одностраничную панель управления, как в WidgetKit v2/
-
Конструктор экспорта и импорта в форматах CSV, JSON, XML, YML. Т.е. администратор сам будет описывать формат и сохранять его как профиль. Это позволит работать сайту со многими сторонними сервисами (Яндекс.Недвижимость, например) и совершенно не придется задумываться о программировании экспорта в особый формат XML.
-
Компонент сможет запускаться из консоли для работы по крону (расписанию) и выполнять периодические вещи, например, напоминание о не оформленном заказе.
-
-
Для разработчиков
-
Конструктор виджетов (гибкий аналог WidgetKit).
-
Кастомизация и переопределение любых шаблонов, скриптов и стилей через /templates/
-
Водные знаки и продвинутый ресайзер картинок.
-
Совместимость с расширениями Zoo (в основном, с элементами) и совместимость с расширениями для JBZoo.
-
Никакой переиндексации!
-
-
Для пользователей
-
Умные фильтры с AJAX-обновлением.
-
Бесконечный скроллинг из коробки.
-
Больше динамики на страницах сайта.
-
- С точки зрения программирования (для тех кто в теме)
-
JBZoo будет собран из независимых пакетов (composer, bower и т.д.). Помимо популярных, мы так же будем использовать собственные наработки (пример), которые распространяются под лицензией MIT.
-
Чтобы уменьшить связанность в системе будем разрабатывать с DI и использовать некоторые другие популярные паттерны проектирования, которые раньше не получалось внедрить из-за Zoo. Это придаст большей гибкости коду и скорости разработки.
-
Медленно но верно переходим на методологию разработки TDD (+ BDD в JS). Максимум автоматического тестирования.
-
Wordpress.... внезапно!
В воздухе летают идеи запуска компонента на другой не менее популярной CMS — Wordpress. Пока что проверяем гипотезу. Если у вас есть любые примеры расширений, которые работают одновременно и в Joomla и в Wordpress — пишите в комментариях! Для тех кто думает, что это не реально, посмотрите WidgetKit.
И что самое интересное...
Часть наработок для компонента уже есть! Автоматическое тестирование — настроено. Т.е. это не старт с чистого листа, а скорее, обдуманный путь по протоптанной дорожке с картой в руках. Все выше сказанное, это не просто громкие слова ;) Мы уже начали...
Тем временем...
До тех пор, пока часть команды работает над компонентом, другая половина будет активно пополнять наш маркет расширениями для корзины, добавлять новые фичи и заниматься поддержкой. Сейчас работаем над новым демо-сайтом с платными объявлениями на основе JBAdvert, который будет доступен всем подписчикам с плюсом!
Ждем ваших комментариев, всем добра и бобра!
Мдаа.. Работа над версией 2.2.0 была проделана большая. Монстры вы конечно... И планы у вас суперские что касается WordPress)
А что думаете в сторону расширения под скоро выходящий Pagekit от yootheme? Думаю, это может стать популярным решением.
Периодически смотрю PageKit и особенно его внутренности. Довольно интересный для программистов. А вот с точки зрения сообщества и популярности - пока вопрос. Будем наблюдать...
А функционал интернет-магазина в v3.0 будет сохранен?
Да, конечно. Постепенно все текущие возможности появятся в 3.0
На данный момент наша задача писать расширения для корзины 2.2.x Т.к все они будут совместимы с компонентом.
Как насчет версии3 и сторонних компонентов? К примеру карты сайта, карусели, тот же виджеткит.
т.е. как только уходим в отдельный компонент, все сторонние модули, которые работают с zoo перестают работать.
Вопрос по ver3 - будет ли возможность собрать подобие каталога на фри версии?
Хороший вопрос. Т.к мы частично продолжаем идеологию Zoo (элементы, шаблоны итд) и унаследуем часть API то сделать аналоги основных популярных решений не составит большого труда.
Первым делом конечно появятся наиболее востребованные расширения (SEF, карта сайта итд). Аналог WidgetKit появится и у нас. О совместимости с текущим WK пока сложно сказать, попробуем.
Бесплатная версия конечно же будет и включит в себя гораздо больше чем есть сейчас.
Бесплатная версия конечно же будет и включит в себя гораздо больше чем есть сейчас.
-----
Хочется иметь возможность продавать сайты с фри версией.
Да, я помню этот разговор. Думаю что-то подходящее получится реализовать.
В любом случае, в полной версии будет больше фич т.к именно подписчики стимулируют развитие проекта.
Конструктор админки??? Круто-круто! У меня разыгралась фантазия!)))
Нужно бОльше конструкторов в jbzoo!
Про WP я знаю этот.
Так для джумлы http://www.joomshaper.com/page-builder
Так для ВП http://www.themeum.com/visual-composer-the-number-one-page-builder-for-wordpress/
Еще шаб на джумле http://www.joomshaper.com/joomla-templates/varsita
Шаб на WP http://www.themeum.com/wordpress/themes/varsita-wordpress-learning-management-system/
Контора и компоненты практически одни и те же.
А зачем для вордпреес там есть конструктор есть корзины и они бесплатны. т.е есть бесплатный каталог с корзиной для вордпресс.) А вот для друпле я бы хотел такой арсенал jb.
И в Drupal есть уберкарт c вьюхами. С тем же успехом можно задаться вопросом про Joomla :) Зачем делать JBZoo если есть WM. . Зачем покупать Битрикс если есть Joomla, зачем использовать платный windows/ios если есть Ubuntu ?
2гис сели посмотрели на карты Яндекса и свернули свой бизнес... Зачем нужен поиск Яндекса если есть Google?))))
А акция включительно с 30 сентября? Или я опоздал уже. (При продлении старая цена стоит!)
Да, сегодня последний день. Скидка еще актуальна. Какой у вас тарифный план?
Например, если взять самый популярный тариф Junior+, то продление было 1390, а стало всего-то 1090. Разница 300 рублей.
Чуваки, что мелочится то, делайте уже свою CMS для интернет-магазинов, потипу битрикса)
Какие новости про 3.0?