К выходным - разработчикам подарок, можно не сериалы под одеялком смотреть, а новый видео-курс, создание приложений для Битрикс24. Подробнейшие, пошаговые видео-лекции, рассматриваем создание приложения от самого простого - к сложному. Вы сможете легко разобраться в новой теме! Доступны материалы уроков – обязательно закрепляйте полученные знания на практике, это основа получения нового навыка
Видимой работы в этом месяце совсем не много. Причина: очень много рабочего времени потрачено на разработку и наполнение Синего Помощника24 для БУС. Детальнее о работе - под катом.
В этом месяце было много организационных изменений: новая форма для сертификата, технический твиттер, ограничения на время сдачи тестов. Подробности под катом.
Меня зовут Олег Строкатый и я руковожу отделом контроля качества в компании 1С-Битрикс и Битрикс24.
На летней партнерской конференции 2015 года я со сцены заявил, что совсем скоро будет выпущена первая ознакомительная версия фреймворка для создания ваших автоматизированных тестов.
Прошло совсем немного времени и сегодня я рад представить вам Bitrix AQA версии 1.0 - фреймворк для автоматизированного тестирования на базе Selenium WebDriver! Проект выложен на GitHub и сейчас носит статус "для ознакомления" для партнеров 1С-Битрикс. Сейчас я хочу услышать от вас обратную связь по удобству использования фреймворка, реализованных классов и методов. А также пожелания по доработке. А сейчас вкратце о комплекте поставки и возможностях.
Продолжаем обсуждать экзамены для разработчиков. Мы подготовили материалы для подготовки к экзамену на первый уровень два уровня из трех. Вы можете оценить свои навыки - достаточно ли их для сдачи экзамена.
Напомню формат экзамена: - Сдается удаленно. Нужна отдельная комната, компьютер с веб-камерой и хороший интернет - Задания практические, на первом экзамене - нужно будет внедрять верстку, настраивать компоненты, на следующих - писать обработчики событий, делать свои компоненты, может даже модули и т.д. - Нельзя будет пользоваться своими справочными материалами и "гуглить". Мы разместим документацию по API BitrixFramefork и PHP в виде локальных chm-файлов. - Экзамены будут приниматься на нашем веб-сервере с графической оболочкой. Подключение будет идти по терминалу.
В комментариях к курсам одни пользователь написал пожелание по созданию страниц с легендой форматирования текстов в наших курсах. Выполнить эту просьбу оказалось не просто: это потребовало проверки форматирования во всех наших курсах. Это и оказалось основной работой этого и следующего месяца. Под катом детально то, что сделано.
За последнюю неделю заметил на форуме несколько тем, в которых шло бурное обсуждение ЧПУ (человека-понятные ссылки на товары, страницы и т.п.) на отдельных компонентах каталога. Тема всегда оставалась сложной и каждый пытался в ней разобраться, как мог. Отвечать по этой теме сложно, а если подробно, то и неудобно в формате форума, поэтому родилась идея выпустить эту статью.
В 1С-Битрикс есть комплексный компонент управления каталогом bitrix.catalog в котором все достаточно просто, ставится он по умолчанию предварительно настроенный.
При всех его достоинствах в нем есть один недостаток, он поставляется как есть и может подойти не для всех.
А если нужна большая гибкость? Например, требуется сделать разделы, оформив их в своем дизайне или своей структурой представления информации. То начинаются танцы с отдельными компонентами каталога, на которых все это и собирается.
В начале я бы хотел разобрать более старую схему настройки, которая работала до последнего релиза 15.5 (первая часть статьи). А потом показать, что сделано в продукте в последнем 15.5 релизе, чтобы облегчить достаточно сложную настройку ЧПУ (вторая часть статьи).
Задачи которые мы решаем:
Требуется показать раздел, в котором будет своя уникальная страница раздела, файл (index.php).
На всех страницах будет возможность переходить в подразделы данного раздела, файл (list.php)
При открытие каждого подраздела заголовок на странице подраздела должен изменится в соответствие с переходом в нужный подраздел
Должна открываться карточка товара в рамках этого раздела или подраздела, файл (detail.php).
Требуются хлебные крошки (навигационная цепочка в верхней части страницы), причем на основной странице раздела они не будут отображаться, а на всех подразделах и элементах будут.
Автор изменений, разработчик решений для 1С: Александр Денисюк, он постарается ответить на ваши вопросы и замечания в комментариях, нам очень важно ваше мнение, ведь изменения произошли по вашим обращениям и просьбам.
Функционал прикрепления картинок к характеристикам номенклатуры
В модуле обмена с сайтом версии 5.0.0.6 для УТ 11 появилась возможность указывать картинки и файлы для характеристик номенклатуры, которые выгружаются на сайт как предложения товаров.
1. Всем желающим доступны более 20 часов видео-уроков. Это крайне полезные примеры по разработке сайтов на Bitrix Framework. Уроки как для начинающих так и для опытных, каждый найдет для себя интересное. Есть материалы и задания для самостоятельного закрепления знаний.
2. Также мы опубликовали новый учебный курс «Введение в D7». Часть уже на сайте, остальная часть уроков появится на следующей неделе. Курс расскажет о том, что такое D7, какие полезные возможности открываются разработчикам. Всего за 1,5 часа вы узнаете все основные возможности D7, сможете упростить себе работу и научиться запускать проекты быстрее и проще! Видео-уроки также доступны всем
Повышайте ваши навыки - это возможность реализовывать проекты проще и быстрее. Поддерживать их проще - владельцу сайта приятно, вам доработать - легко! Вы сможете браться за более сложные проекты. Возможно - устроиться в команду мечты, сделать еще один большой шаг к вашим целям
Часто новое дело, новый бизнес организуется и начинает работу в виде небольшого "дружеского" объединения, сплоченного общей идеей. В коллективе единомышленников каждый выполняет свои действия творчески, ответственно и самостоятельно. Сотрудники работают не только за зарплату, но во многом за идею. Директор в курсе всех происходящих в коллективе процессов и может оперативно реагировать на возникающие проблемы. Такой стиль управления называется "стихийное руководство", "управление в зависимости от ситуации" или "ситуационный менеджмент".
И этот стиль управления зачастую оправдывает себя при зарождении и становлении бизнеса, так как позволяет реагировать на различные ситуации более гибко. При этом он требует от руководителя знания эффективных методов управления, умения прогнозировать последствия применения разных методов управления, умения правильно распознать сложившуюся ситуацию, навыков выбора оптимального для данной ситуации решения. То есть накладывает на квалификацию и мотивацию руководителя довольно сильные ограничения.
Но с ростом компании, с появлением большого числа наемных сотрудников, в том числе на руководящих должностях, в определенный момент наступает такая ситуация, когда управлять "как прежде" становится невозможно. Новые руководители и работники не всегда имеют достаточную квалификацию и/или мотивацию, чтобы эффективно, творчески, ответственно и самостоятельно действовать в меняющейся ситуации. Руководители зачастую оказываются завалены лавиной мелких вопросов, которые решались через них, когда компания была маленькой, но компания то растет. Отсутствие системы в работе компании приводит к ошибкам в управлении. Как следствие рентабельность бизнеса может постепенно начать снижаться.
И в этой ситуации надо что-то менять. Один из вариантов - это внедрение в компании регулярного менеджмента. То есть такого менеджмента, при котором процессы внутри компании регулируются (регламентируются) строгими написанными правилами.
При применении ситуационного менеджмента сотрудник может действовать по разному в одинаковых ситуациях, принимая решение на основании своего опыта, интуиции, настроения, фазы луны и т.п. При внедрении же регулярного менеджмента действия сотрудника будут регламентированы, сотрудник всегда будет действовать и принимать решения в соответствии с установленными руководством правилами и ценностями. Имея строгие написанные правила сотрудник всегда знает, что делать в той или иной ситуации и как это делать самостоятельно, не отвлекая руководство.
Как составить оптимальные для компании правила и регламенты - это вопрос, выходящий за рамки данного текста. А вот инструментом для автоматизации создания, исполнения и контроля исполнения правил может стать модуль Бизнес-процессов.
Модуль Бизнес-процессов позволяет визуально формировать процессы, правила и наборы правил, а так же исполнять их и контролировать их выполнение. При этом выполнение процесса всегда идет по заранее утвержденным регламентам так, что сотрудник не может ошибиться, обойти или игнорировать какие-либо действия. У сотрудника, в том числе нового, не возникает вопроса, как делать. Потому что ответ на него простой: запустить бизнес-процесс и следовать дальнейшим инструкциям. У руководителя же есть инструмент, с помощью которого он может оперативно видеть, как движутся процессы и где они тормозятся. Модуль Бизнес-процессов позволяет работать практически с любым видом информации на сайте. Конкретные процессы могут запускаться как автоматически при возникновении какого-то события, так и вручную конкретным сотрудником.
Таким образом модуль Бизнес-процессов поддерживает основные принципы регулярного менеджмента: он позволяет задать набор правил и регламентов, при этом правила задаются в письменном виде, а ключевые моменты исполнения правил подконтрольны руководству.
В этом месяце парочка очень дотошных пользователей с пристрастием "прочитала" главу про создание модулей в курсе Разработчик Bitrix Framework. Почтовый ящик "ломился" от сообщений с комментариями. Спасибо им за дотошность. НЕ со всеми их замечаниями мы были согласны, но многое подправили. Часть коментов, правда, ещё в работе. То разработчики заняты, то вообще в отпуске.
Было мало и аннулированных сертификатов. Всего 6 сертификатов. что сделано, смотрите под катом.
Есть такой замечательный метод - CCatalogProduct::GetOptimalPrice. Его задача - выдать минимальную цену на товар. Начиная с обновления catalog 15.0.2 разработчикам доступны новые возможности изменения результатов этого метода. Рассмотрим их подробно.
Задача выполнения произвольного кода при изменении данных встречается сплошь и рядом. Это и разноообразные оповещения, и синхронизация таблиц, и сброс кеша - все, что угодно. При наличии событий, вызываемых после успешного обновления, задача решается достаточно тривиально. Все хорошо ровно до того момента, когда требуется выполнить код только тогда, когда данные ДЕЙСТВИТЕЛЬНО изменились (значения полей элемента таблицы до и после записи различаются). Этот момент почему-то порождает массу вопросов на форуме, не говоря уж об идеях перед обновлением записи подымать из базы старые значения внутри api ядра. Постараюсь закрыть эту тему.
Выявление пользователей, сдавших тесты в "ускоренном" режиме в июне месяце дало небольшой "улов". 8 сертификатов и 7 пользователей. Трудно сказать - это наши усилия или летний традиционный спад. Тем не менее никто из тех, чьи сертификаты были аннулированы в прошлом месяце к нам не обращался с жалобами. Есть надежда, что мы всё же попали в цель. Детально о сделанном под катом.
1. Как работают триггерные рассылки. 2. Что делают триггеры. 3. Как сделать свой триггер. 3.1. Простейший триггер 3.2. Получение данных события 3.3. Фильтрация в триггере 3.4. Свои поля персонализации 3.5. Фильтрация по сайту 4. Триггер для ненаступивших событий 5. Делаем готовую рассылку 6. Итоги.
В последнее время партнеры из разных компаний начали спрашивать, как же запустить Push & Pull для гостей. Конечно никак! В принципе можно, но необходимо реализовать свою логику фиксации сессии за гостем (нужен какой уникальный числовой идентификатор).
Для чего это нужно, для того что бы гостю выдавался один и тот же адрес канала и вы могли отправлять ему персонализированные команды.
С нашей стороны пришлось немного доработать модуль для такого режима, и для того что бы это разработало у вас, вам необходимо обновление модуля Push & Pull 15.5.1.
Что потребуется с вашей стороны?
Вам необходимо реализовать методы определение гостя, присвоение ему внутреннего числового идентификатора, допустим этот идентификатор у вас определился как 1. Для того что бы не путать авторизованных и не авторизованных пользователей, передавать в модуль Push & Pull его нужно со знаком минус.
Метод который определяет идентификатор, нужно реализовать и выполнить в прологе, до момента инициализации Push & Pull, для этого вам необходимо будет зарегистрировать зависимость:
Внутри этого файла у вас будет ваша логика определения и указание константы PULL_USER_ID которая будет использоваться для корректного формирования канала гостю (обратите внимание, для каждого гостя должен быть свой идентификатор)
$guestId = -1; // эту цифру должна вернуть ваша функция, определения идентификатора для гостя
define('PULL_USER_ID', $guestId);
Для удобства отладки, вы можете воспользоваться следующими JS командами:
BX.PULL.capturePullEvent();
Данная команда логирует все команды приходящие для данного пользователя;
BX.PULL.getDebugInfo();
Данная команда отображает состояние подключение к серверам P&P;
Оптимизация кол-ва запросов к серверу
В последних версиях P&P появилась настройка путей, позволяющая для современных браузеров ходить напрямую на сервер очередей (отдельный адрес. Это было реализовано для крупных проектов, у которых такой сервис находится на отдельном сервере.
До появления этой опции, если у вас сервер сайта и сервер очередей находились на разных серверах, то вам приходилось делать проксирование запросов (запрос приходилось отправлять на сервер сайта, так как старые браузеры не поддерживают прямые запросы AJAX на другие домены и уже от туда перенаправлять на сервер очередей через внутренние правила), это создавало нагрузку и лишний трафик. Слава богу число пользователей с современными браузерами с каждым днем все больше и больше, (более 80% по разным оценкам), а это значит для 80% вашего трафика на сервер очередей можно экономить!
Теперь все новые браузеры стучатся напрямую на сервера, но из-за особенности работы нашей реализации JS с сервером, им приходится делать дополнительно на каждое подключение OPTIONS запрос.
Для того что бы избавится от него, вам необходимо проверить конфигурационные файлы сервера. Откройте файл bx/conf/im_subscrider.conf, в описании локейшена location ^~ /bitrix/sub { проверьте есть ли у вас такое условие, если нет - добавьте:
if ($arg_time) {
push_stream_last_received_message_time "$arg_time";
}
После этого, при подключении, все пользователи будут генерировать к серверу на один запрос меньше (это произойдет не сразу, а по мере обновления JS кода у клиента, перезапуска страницы).
Основное в этом месяце - это работа над тестами. С одним нововведением мы уже знакомили вас. По результатам этого обсуждения было принято решение ослабить требования к прохождению тестов. Эта работа практически закончена. Об этом будет особое сообщение. Подробнее что сделано:
Для государственной организации любого уровня важно обеспечить быструю связь с гражданами. Это может быть решение конкретных проблем, например, сломан светофор или не убрана детская площадка или это то может быть запрос необходимой документации. Также важно дать всю необходимую информации об организации, услугах, тем самым сформировать доверие граждан к деятельности организации. Но все эти задачи пользователь решает, все чаще приходя с мобильных устройств. Поэтому сегодня государственные организации все чаще интересуются мобильными сервисами для граждан. Мобильность, доступность, эффективность –это основные составляющие современных интернет-сервисов.
Чтобы обеспечить все эти потребности для государственных организаций мы выпустили отдельно как модуль в Маркетплейс «1С-Битрикс: Мобильное приложение «Мой город».
Тут возникла идея: определять цвет товара автоматически. На выходных удалось выкроить пару часов и допилить идею из комментариев. Под катом код класса с обработчиком событий под элементы инфоблока.
В этом месяце видимого результата не много. Мы были заняты составлением тестов для курса Пользователя Битрикс24 для партнёрской программы и наполнением нашего "голубого Теребоньки". Ниже описание того, что вышло в доке:
Бывало у вас такое? Только слышишь слово Бизнес-процессы и сразу становится страшно и кажется сложно, дорого, нужно искать специалиста… Мое первое знакомство с ними было именно таким.
Все изменилось! Теперь Бизнес-процессы совсем рядом, к ним буквально можно прикоснуться, попробовать, ощутить их мощь. Не нужно искать, не нужно вникать и сложно настраивать – они уже готовы к работе!
Автоматизировать процессы компании - это важная и непростая задача и именно ее мы поставили перед собой в этот раз.