День добрый! Уже почти 8 месяцев мы работаем с Открытыми линиями по учебным курсам. Работа оказалась полезной для нас, хотя и затратной. На картинке статистка диалогов, правда, не за 8 месяцев, а за семь.
Партнеры, работающие с внедрениями Битрикс24, уже в курсе новой программы по передаче лидов партнерам. Помимо внедрения Битрикс24, мы теперь еще предлагаем клиентам Битрикс24 заказать разработку интеграции или приложения у наших партнеров, а вам, коллеги, соответственно эти заявки передаем.
Чтобы поучаствовать в этой истории нужно соблюдение нескольких условий:
Вы должны быть участником партнерской программы по Битрикс24. Требование понятное, поскольку чтобы делать внятные интеграции или решения, нужно знать и уметь "готовить" Битрикс24.
Нужно использовать Битрикс24 CRM, потому что именно туда мы вам заявки на разработку и будем передавать в автоматическом режиме.
После установки приложения на своем портале вы сможете отслеживать заявки на внедрение Битрикс24, а также заявки на разработку решений:
Вы будете видеть заявки на разработку общим списком. Контактная информация в заявках скрыта. Для того, чтобы увидеть контакты потенциального клиента и связаться с ним, вам нужно откликнуться на заявку (нажатием кнопки "Взять заявку") в приложении. После этого в вашем Битрикс24 будет создана новая сделка (в направлении, которое вы укажите при установке приложения), в которой будут открыты контакты клиента.
Учтите, что вы должны строго соблюдать требования федеральных законов по работе с персональными данными клиентов, полученных от 1С-Битрикс, не передавая их никаким третьим сторонам.
Далее, вы самостоятельно проводите работу с данными клиентами, без участия 1С-Битрикс. Одновременно в работе у партнера может находиться не более 10 заявок, другие заявки в это время будут недоступны (нельзя будет взять 11-ю заявку в работу, пока не закрыл одну из предыдущих). Закрытием заявки считается финальный статус сделки по данной заявке в CRM у партнера (сделка выиграна или проиграна).
Если сделка выиграна (клиент принял решение сотрудничать с партнером по разработке), то партнеру необходимо указать в поле "Адрес портала" адрес портала клиента. При отсутствии такой информации, сделка не будет считаться выигранной.
Прямо сейчас заявки собираются в публичном каталоге Приложения24, а в ближайшее время мы добавим такую возможность во внутренних разделах Приложения в Битрикс24
На последней конференции обсуждали с коллегами, как внедрять открытые линии в компании, когда есть уже сложившиеся механизмы работы, в частности, модуль техподдержки. Сами мы готовимся к полному переходу поддержки на открытые линии, но пока работают два канала: открытые линии и модуль техподдержки. Расскажу, как подружить эти две системы.
Сразу оговорюсь, что это не готовый модуль с кнопкой, который надо только включить, чтобы заработал. Будет общее описание и куски кода, которые частично или полностью могут использоваться у вас.
День добрый! В этом месяце самый большой "выхлоп" по документации API D7. Кроме того, в шаблонах курсов появилась возможность добавлять сложность урока и ограничения по версиям. Это позволит ориентироваться насколько сложно освоение данного функционала и есть ли он в вашей редакции.
Нынешний отчёт очень маленький. Было много работы в рамках Открытой линии по учебным курсам, получаем обратную связь по курсам и вносим изменения. Выпуск документации был следующим:
С 1 января 2018 года минимальные требования наших продуктов повышаются до PHP 5.6. Это значит, что сайты и порталы с устаревшими версиями перестанут получать обновления до тех пор, пока не обновят PHP до версий 5.6, 7.0 или 7.1. В ближайшее время в системе обновлений всех сайтов появится соответствующее предупреждение.
Работа над документацией по функционалу, связанному с Федеральными законами - основное в этом месяце. Попутно дорабатывались документации по АПИ и 7-ой версии БитриксВМ. Подробнее - под катом.
1C-Bitrix выпускает окружение (виртуальную машину) для установки своих продуктов. Оптимизированное для работы с продуктами компании, несложное в установке. Продукт можно использовать как виртуальную машину, так и установить на чистый сервер с установленным CentOS.
Я как раз отношусь к типу клиентов, для которого компания выпускает данный продукт. Я не особо силен в настройке серверов, но в тоже время у меня есть проекты, которые живут на серверах, эти проекты на продуктах 1С-Битрикс, и я использую «виртуальное окружение».
У меня два сервера, один на окружение 4.х и один на окружение 5.х – переход я буду делать достаточно нетривиальный, я не буду обновлять или пытаться перейти на новую версию продукта, я поставлю все с нуля и перенесу для примера один проект.
Делать все будем по шагам, поехали…
Первый шаг: арендуем хостинг, ставим на него чистый CentOS 7.3 – не буду подробно описывать выбор хостинга (будет расценено как реклама), будем считать, что я арендовал недорогой выделенный сервер, установил на него чистый CentOS 7.3 и могу приступить к установки продукта 1С-Битрикс.
Второй шаг: На первом ролике мы установим нашу «виртуальную машину на чистый сервер»
Распишем кратко происходящее в ролике:
1. Входим на сервер по «SSH» как «root» (администратор), командой «ssh root@домен_или_IP_вашего_сервера» 2. Устанавливаем сам скрипт, для этого выполним: «wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh && chmod +x bitrix-env.sh && ./bitrix-env.sh» 3. На первое сообщение ставим «Y» 4. Командой «reboot» перезагружаем сервер. 5. Повторно входим на сервер как пользователь «root» 6. Заново вводим команду: «wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh && chmod +x bitrix-env.sh && ./bitrix-env.sh» 7. Устанавливаем заодно «MC» (текстовая оболочка), ставим командой: «yum install mc» 8. Устанавливаем «unzip» (пригодится), ставим командой: «yum install unzip» 9. Ждем когда все обновится и заходим в «mc» проверить
1. Перезагружаем сервер командой «reboot». 2. Входим на сервер по «SSH» как «root» (администратор), командой «ssh root@домен_или_IP_вашего_сервера» 3. При входе вас попросят задать пароль для пользователя «bitrix», этим пользователем мы в основном и будем работать, переключаясь на пользователя «root» только когда требуются административные полномочия 4. Попадаем в меню машины. В первую очередь нужно создать «pool», не будем вдаваться что это такое, если требуется можно почитать документацию, нам важно его просто создать. Выбираем «1». Я согласился оставить название как мне предложили. 5. Возвращаемся в меню, оно стало полным, с машиной можно начинать работать. 6. Нам нужно в первую очередь создать все необходимое, для переноса сайта. 7. Заходим в пункт меню «6» - где мы и создадим наш сайт. 8. Выбираем пункт «1», запускается мастер создания сайта. 9. На первом шаге нужно указать домен вашего сайта, я переношу сайт http://sys-knowledge.com и указываю «sys-knowledge.com» 10. На втором шаге у вас спрашивают какой тип вы создаете. Подробно это расписано в документации. В нашем случае это самостоятельный сайт, со своим ядром, поэтому я выбираю «kernel» 11. Указываем кодировку вашего сайта, в моем случае это «UTF-8» 12. Соглашаемся с установкой заданий на крон, ставим «Y» 13. Я хочу расширенные настройки создания поэтому ставлю «Y» на этапе «Do you want to specify them?» 14. Директория хранения сайта меня устраивает, я жму просто «Ввод» 15. Задаю свое название базы данных, такое название было на предыдущем сервере, и чтобы не менять его в двух файлах далее, я его повторяю 16. Задаю своего пользователя, который будет иметь доступ к базе данных. Пользователь использовался ранее и я его оставляю. 17. Указываем пароль, два раза. 18. Запускается задание на выполнение, о чем нам сообщают, и буквально через 3-5 секунд можно смотреть, что у нас получилось. 19. Для этого я выхожу из скрипта и захожу в «MC» 20. Переходим в директорию: «/home/bitrix/ext_www/» и видим директорию нашего сайта «sys-knowledge.com».
Четвертый шаг: Мы подготовили на сервере все необходимое, теперь нам нужно запаковать наш сайт на старом сервере и выгрузить базу данных, перенести все это через «sftp» на наш новый сервер, загрузить базу и положить наш сайт в подготовленную директорию.
Опишем как мы будем это делать.
1. Заходим на старый сервер под пользователем «root». 2. Выгружаем базу данных нашего сайта в файл, для этого выполняем команду: «mysqldump -u имя_пользователя -p имя_базы > имя_базы.sql». Вы должны знать пользователя с доступом к этой базе данных, вы должны знать название базы данных. 3. Теперь нужно выйти из пользователя «root» и войти под пользователем «bitrix». 4. Заходим в директорию где располагается наш сайт, и архивируем все ее содержимое командой: «zip -r название_файла.zip ./». 5. Заходим на сервер по «sftp» с провами пользователя «bitrix» и забираем эти два файла, файл «zip» и файл с расширением «sql». 6. Загружаем их на новый сервер, под правами пользователя «bitrix»
Можно упростить процедуру воспользовавшись стандартным архивированием в рамках продукта, но я люблю контролировать процесс, поэтому я решил пойти немного более сложным путем.
Пятый шаг: еще немного и сайт будет работать. Импортируем базу данных, распаковываем сам сайт, вносим изменения для нового MySQL.
Распишем кратко происходящее в ролике:
1. Входим на сервер по «SSH» как «root» (администратор), командой «ssh root@домен_или_IP_вашего_сервера» 2. Командой «mysql -u пользователь_базы -p база_куда_грузим < файл_дампа.sql» импортируем нашу базу на сервер, вводим пароль от пользователя с правами на эту базу данных. 3. На экране я показал еще одну команду «SHOW DATABASES;» с помощью нее мы показываем список всех ваших баз, не забудьте войти в «MySQL» 4. База загружена, разрываем соединение командой «exit» 5. Входим на сервер по «SSH» как «bitrix», командой «ssh bitrix@домен_или_IP_вашего_сервера» 6. Копируем файл «zip» нашего упакованного сайта в директорию где будем ее распаковывать и где мы создали свой сайт, через мастер на «Третьем шаге» 7. Распаковываем наш архив командой «unzip *.zip» 8. Удаляем архив после распаковки. 9. Ура осталось совсем немного
Осталось сменить в вашем домене IP адрес вашего старого сервера на новый. Я управляю доменами на «pdd яндекса», и для меня это пара минут. Должно пройти немного времени, чтобы домен открывался, по новому IP адресу вашего нового сервера.
Пытаемся открыть сайт, о ужас он не открывается, просто белый экран или выводятся ошибки. Дрожь проходит, успокаиваемся, не чего страшного J Нам необходимо сделать небольшие изменения в двух файлах.
Шестой шаг: Изменения в двух файлах продукта, для работы с новым MySQL
Сайт не работает, но это не страшно, нам нужно изменить всего пару строк в двух файлах и все станет хорошо.
Первый файл:
Подключаемся к серверу как пользователь «bitrix»
«…/bitrix/php_interace/dbconn.php» в него нужно добавить строку «define("BX_USE_MYSQLI", true);»
второй файл:
«…/bitrix/.settings.php» в нем нужно изменить строку: «className' => '\\Bitrix\\Main\\DB\\MysqlConnection» на «className' => '\\Bitrix\\Main\\DB\\MysqliConnection»
Пробуем запустить сайт, ура все работает! Наслаждаемся новым PHP и MySQL.
С удовольствием отвечу на ваши вопросы в комментариях, не стесняйтесь писать.
С 1 июля 2017 года существенно ужесточена административная ответственность за нарушения при взаимодействии с персональными данными физических лиц. Если вы владелец сайта, то вы вероятно уже знакомы с нашими видео-роликами.
Мы надеемся, что вы уже ознакомлены с законом и ищете техническую информацию. Данная статья расскажет, что для разработчика решений и компонентов в продукте есть инструменты для помощи в соответствии закону.
Каждая форма, которая собирает, к примеру, имя, фамилию, email или телефон, должна запрашивать согласие пользователя на обработку персональных данных. Мы в обновлении главного модуля 17.0.9 выпустили набор инструментов, который поможет вам соответствовать закону ФЗ-152 о персональных данных. Начну с того, что в административном разделе в меню появился новый пункт: Настройки -> Настройки продукта -> Соглашения
В нем вы можете создать новое соглашение для запроса согласия на обработку персональных данных, используя стандартный текст, который мы также включили в обновление.
Мы рассмотрим как включить поддержку соглашений в ваших компонентах на примере компонента подписки на рассылку sender.subscribe.
1. Выбор.
Сделаем в параметрах компонента выбор соглашения для вывода. Для этого в файле параметров вашего компонента .parameters.php достаточно объявить параметр "USER_CONSENT" => array() и появится раздел с параметрами настройки:
Теперь в настройках компонента появились вот такие настройки:
2. Вывод в форме.
Для вывода нужно использовать компонент main.userconsent.request. Он выводит чекбокс с подписью, по нажатию на которую выводится окно с текстом соглашения. Окно с текстом адаптивное и уже сделано и под мобильные устройства.
Также, компонент умеет сохранять полученное согласие. Само согласие будет в списке, показываемым в по клику в пункте "Полученные согласия" в контекстом меню соглашения на списке.
Компонент main.userconsent.request нужно подключить в шаблоне вашего компонента перед кнопкой отправки формы. Есть два вида форм: - один стандартная get/post отправка формы с событием submit; - отправка через ajax и иные механизмы, реализованные в js, то есть без события submit у формы. Для них нужно по разному использовать компонент.
1) Простая форма с событием submit.
Подключаем компонент main.userconsent.request перед кнопкой отправки формы
Указанные в примере параметры $arParams появятся в шаблоне вашего компонента при наличии в .parameters.php блока "USER_CONSENT" => array()
В параметре REPLACE передается - button_caption, название кнопки отправки формы; - fields, массив названий полей, которые попадут в текст соглашения.
2) Форма без события submit(ajax и пр).
В компонент нужно передать в параметре SUBMIT_EVENT_NAME название события, при котором появится окно запроса согласия. Далее, нужно добавить обработчик события принятия соглашения. Если обработчик поймает событие - значит, согласие получено и можно отправлять форму/данные или выполнять какое-то действие.
Теперь у вас есть инструмент, с помощью которого вы можете быстро привести свои компоненты в соответствие закону, а также помочь соответствовать вашим клиентам.
Есть еще то, что не описал: - добавление своего источника данных; - при просмотре согласий вывод связи со своей сущностью; - кейс использования в виде ссылок; - дополнительные компоненты выбора и просмотра.
Если вам эта тема интересна - пишите в комментариях, добавим в статью доп информацию.
В этом месяце "выхлоп" кажется "жидким". Тому есть причины. Мы запустили Открытые линии на учебные курсы. У нас появилась реальная обратная связь с пользователями. Минус этого - довольно много уходит на это времени. Идёт переработка курса Контент-менеджер: работы много, а в список "Что нового?" добавить нечего. Было много мелкой правки документации и курсов, которую в список изменений добавлять как-то даже неловко.
В рамках работ по переходу клиентской части Push & Pull в мобильном приложении на нативный вызов, пришлось изменить формат отправляемых на сервер сообщений. (это то что вы отправляете через CPullStack::AddByUser, CPullWatch::addToStack )
Ранее мы кодировали команды к серверу с помощью нашей волшебной CUtil::PhpToJSObject() По не известным науке причинам (хвостов не найти), кодирование происходит не по стандартам JSON, из-за этого мы не можем нативными средствами анализировать содержимое пакетов и проводить над ними какие либо операции, а нам очень надо
В обновлении Push & Pull версии 18.0.0 мы переходим к кодированию через Bitrix\Main\Web\Json::encode
В связи с этим, ваш JS код может поймать несколько ошибок связанных с типизацией, а может и не поймать, нужно проверять
Например: вы отправляли следующий массив
Array(
"id" => 1234
)
Клиенту приходил JSON вот такого вида
{"id":"1234"}
ID пришел как строка, а значит вы могли на это полагаться и выполнить например поиск по ней вот так - id.indexOf('12') Начиная с обновления pull 18.0.0 такой код будет приводить к ошибке, нужно заменить его на id.toString().indexOf('12')
В следующем примере, вы можете увидеть разницу, отправляем массив:
Может быть не все знают, на сайте dev.1c-bitrix.ru доступна персональная страница, на которой отображаются полученные сертификаты. Ссылка на страницу уникальная, пока вы сами не захотите, ваше "Резюме", сертификаты - не будут никому доступны. Мы подготовили несколько обновлений странички
Радостная новость: можно поставить на страницах ваших решений CRM-виджет Битрикс24 - онлайн-чат, коннекторы к социальным сетям и мессенджерам. Что может быть лучше живого общения с потенциальными покупателями? Ничего, если, конечно, стоит задача повысить продажи . Теперь у вас такая возможность есть. Рекомендую ей воспользоваться!
Есть небольшой ряд нюансов, на которые сразу хочу обратить внимание:
Если вы работаете с коробкой Битрикс24, то, к сожалению, url из виджета нашу валидацию не пройдет. Мы не можем вставлять на свои ресурсы внешние JS, содержимое которых никак не контролируем. Возможно, получится что-то хитрое придумать для коробки, но пока нет, увы.
Мы знаем, что вы знаете, но все же хочется еще раз подчеркнуть - правила Маркетплейс действуют в рамках вашего общения с клиентами. В частности, авторам нельзя предлагать прямые покупки своих решений и продуктов 1С-Битрикс в чатах. Помните про партнерские продажи, пожалуйста. Уводя клиентов, вы создадите стратегические проблемы для самих себя, потому что ваши решения просто перестанут рекомендовать участники партнерской сети. Успешные разработчики очень хорошо знают, насколько важны партнеры. В любом случае это будет плохая идея, потому что, коллеги, будем жестко отключать по результатам анонимных проверок. Сослаться потом на "косяк конкретного сотрудника", нарушившего правила, не получится, к сожалению. Вы отвечаете за всех своих сотрудников.
А в целом, коллеги, мы верим, что быстрая поддержка поможет вам продавать лучше! Включайте виджеты, накапливайте данные в CRM, управляйте своими продажами!
Наш курс Контент-менеджер на данный момент построен по принципу: КМ работает из публички. Создавая его мы уже понимали, что концепция не совсем верна, но до переделки курса добрались только сейчас.
Для нас ясно, что расширять курс необходимо, но не понятны пределы расширения.
Вот и хочу спросить:
Что вы разрешаете КМ делать в админке?
Что чаще всего приходится делать (типовые сценарии)?
Что настраивают КМ в админке?
Какими инструментами системы чаще пользуются ваши КМ?
Какие трудности при освоении системы возникают у КМ?
На основании ваших ответов мы решим что нужно включать, чем дополнить курс.
P.S. Курс переделывается достаточно серьёзно: переписываются тексты, меняется структура, удаляется избыточная информация, появятся контекстные подсказки, будет сменён дизайн.
Я рад анонсировать новый партнерский REST. С его помощью авторы решений могут управлять своими клиентами, а партнеры, продающие готовые решения, создавать свои витрины решений на своих корпоративных сайтах.
До текущего момента разработчики могли использовать старый API, базировавшийся на использовании XML, часть функционала которого вообще включалась только по запросу в партнерскую поддержку.
Мы считаем, что сегодня, когда рынок требует массовых продаж готовых решений, а управление продажами требует автоматизации процесса и интеграции с CRM, нужен новый прозрачный механизм, доступный всем разработчикам решений и партнерам 1С-Битрикс.
Завершили работу над новым шаблоном документации. Теперь она на всех 4 доках. В АПИ доке и в доке по D7 сделаны помодульные перекрёстные страницы с ссылками друг на друга. Надеемся это облегчит работу разработчику.
Подходит к концу работа по смене шаблона для документаций. Шаблон делал молодой, неопытный верстальщик, делал долго, но, молодец, справился. Дока, как нам кажется стала выглядеть современнее. Есть функция сворачивания меню, что позволяет без проблем читать её на мобильных устройствах. Пока шаблон применён только к D7, но скоро появится и на пользовательской и на доке по API.
Многие из вас уже используют виджет Открытых линий у себя на сайте, сегодня я расскажу как идентифицировать гостевые сессии в Онлайн-чате
Есть два варианта развития событий, пользователь авторизован на вашем сайте и не авторизован.
Для не авторизованных пользователей вчера мы выпустили обновление с формами Контактных данных (статья доступна пользователям партнерского портала p.bitrix24.ru, обновление пока доступно только для партнеров).
Для авторизованных пользователей у нас есть более интересное решение, которое не будет заставлять ваших пользователей повторно заполнять контактные данные
Что бы идентифицировать таких клиентов, мы выпустили 2 решения, для сайтов на 1С-Битрикс: управление сайтом и для сайтов на других системах.
1. Для БУСа, вам достаточно на страницу где подключен виджет, добавить компонент b24connector.openline.info (компонент модуля "Интеграция с Битрикс24'" b24connector) - он автоматически пробросит внутрь виджет все контактные данные клиента, так же вы можете настроить и дополнительно передаваемые данные.
2. Для сторонних систем (например ваш биллинг) вы можете воспользоваться Javascript кодом, который так же, нужно расположить на странице где подключен виджет.
Обратите внимание на hash - это специально поле, замена авторизации. Оно должно быть уникальным в рамках вашего Битрикс24, что бы не было пересечений.
Например: md5(USER_ID+_адрес_сайта_ + _секретный_код_) Данный код должен одновременно идентифицировать пользователя и быть не подбираемым с улицы.
Поле firstMessage не является обязательным, вы можете его не настраивать, тогда оператору будет отправлена ссылка страницы с которой клиент начал обращение.
Чуть не забыл поделиться записью скринкаста про вебхуки во всей их полноте.
Файлы с кодом примеров традиционно доступны в нашем коммьюнити для разработчиков тиражных решений, так что если вы все еще не там, то срочно регистрируйтесь https://dev.bitrix24.ru/?secret=ksoczhx0
Пришло 220 человек, некоторые активничали и задавали вопросы, не на все я сразу смог ответить
Мы рассмотрели технологии, не правильное использование которых приводило к типовым ошибкам. Часто не выполняются такие требования:
При кастомизации компонентов, новый функционал обязательно должен корректно работать с включённым кешированием.
Реализованная логика компонента должна работать верно и при кешировании получаемых данных.
Получаемые динамические данные и выполнение «тяжелой» бизнес-логики – кэшируется.
В кеш компонента сохраняются значения только тех переменных, которые будут использоваться далее в некешируемой части компонента.
Надеюсь вебинар поможет разобраться в сути работы отложенных функций и кеширования в компонентах. Вы сможете еще эффективнее реализовывать ваши проекты и конечно успешно сдать экзамен.
Коллеги, рад поделиться с вами записью скринкаста с живым примером разработки приложения для мобильного Битрикс24. Файлы с кодом примера доступны в нашем коммьюнити для разработчиков тиражных решений, так что если вы все еще не там, то срочно регистрируйтесь https://dev.bitrix24.ru/?secret=ksoczhx0
Среди участников Экзамена №2 ярко выделяется не малая часть кандидатов, которые решают все задания и даже завершают досрочно. Но... допускают ошибки отмеченные как важные (!)в правилах и не проходят экзамен.
31 марта с 16:00 до 17:30 пройдет вебинар, на котором хорошенько разберем 2 технологии в платформе, ошибки по которым встречаются часто и всегда "фатальны", с ними экзамен не будет сдан.
Вот они, "любимчики" разработчиков, встречайте: кеширование в компонентах и отложенные функции. А если для решении одной задачи нужны сразу обе - выходит просто убойный микс!
Если хотите разобраться с этими темами раз и на всегда, приходите на вебинар! До встречи в пятницу, это будет прекрасное окончание недели и способ провести 1,5 часа крайне полезно для себя