Роберт Басыров: Обновление документации в сентябре 2017

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

Подробнее...

Категории : Новости Битрикс
Автор :
Теги : новости

Роберт Басыров: Обновление документации в августе 2017

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

Подробнее...

Категории : Новости Битрикс
Автор :
Теги : новости

Дмитрий Медведев: Повышение минимальной версии PHP до 5.6

С 1 января 2018 года минимальные требования наших продуктов повышаются до PHP 5.6. Это значит, что сайты и порталы с устаревшими версиями перестанут получать обновления до тех пор, пока не обновят PHP до версий 5.6, 7.0 или 7.1. В ближайшее время в системе обновлений всех сайтов появится соответствующее предупреждение.

Подробнее...

Категории : Новости Битрикс
Автор :
Теги : новости

Роберт Басыров: Обновление документации в июле 2017

Работа над документацией по функционалу, связанному с Федеральными законами - основное в этом месяце. Попутно дорабатывались документации по АПИ и 7-ой версии БитриксВМ. Подробнее - под катом.

Подробнее...

Категории : Новости Битрикс
Автор :
Теги : новости

Юрий Волошин: Приключения с переходом от виртуальной машины 4.х и 5.х на новую 7.х

st-04.jpg
1C-Bitrix выпускает окружение (виртуальную машину) для установки своих продуктов. Оптимизированное для работы с продуктами компании, несложное в установке. Продукт можно использовать как виртуальную машину, так и установить на чистый сервер с установленным CentOS.

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

У меня два сервера, один на окружение 4.х и один на окружение 5.х – переход я буду делать достаточно нетривиальный, я не буду обновлять или пытаться перейти на новую версию продукта, я поставлю все с нуля и перенесу для примера один проект.

Делать все будем по шагам, поехали…

Первый шаг: арендуем хостинг, ставим на него чистый CentOS 7.3 – не буду подробно описывать выбор хостинга (будет расценено как реклама), будем считать, что я арендовал недорогой выделенный сервер, установил на него чистый CentOS 7.3 и могу приступить к установки продукта 1С-Битрикс.

Второй шаг: На первом ролике мы установим нашу "виртуальную машину на чистый сервер»

В вашем браузере отключен JavaScript

Распишем кратко происходящее в ролике:

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» проверить

Окружение установлено, начинаем несложные настройки.

Третий шаг: Первый вход, начальные настройки

В вашем браузере отключен JavaScript

Распишем кратко происходящее в ролике:

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.

В вашем браузере отключен JavaScript

Распишем кратко происходящее в ролике:

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' => 'BitrixMainDBMysqlConnection» на "className' => 'BitrixMainDBMysqliConnection»

st-05.jpg

Пробуем запустить сайт, ура все работает! Наслаждаемся новым PHP и MySQL.

st-06.jpg



С удовольствием отвечу на ваши вопросы в комментариях, не стесняйтесь писать.

.
Подробнее...

Категории : Новости Битрикс
Автор :
Теги : новости

Формы, персональные данные и закон ФЗ-152

create.png
Добрый день, коллеги!

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

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

Мы в обновлении главного модуля 17.0.9 выпустили набор инструментов, который поможет вам соответствовать закону ФЗ-152 о персональных данных.
Начну с того, что в административном разделе в меню появился новый пункт:
Настройки -> Настройки продукта -> Соглашения



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

Мы рассмотрим как включить поддержку соглашений в ваших компонентах на примере компонента подписки на рассылку sender.subscribe.


1. Выбор.

Сделаем в параметрах компонента выбор соглашения для вывода.
Для этого в файле параметров вашего компонента .parameters.php достаточно объявить параметр "USER_CONSENT" => array() и появится раздел с параметрами настройки:
====code====
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$arComponentParameters = array(
    "GROUPS" => array(
    ),
    "PARAMETERS" => array(
     "AJAX_MODE" => array(),
     "USER_CONSENT" => array(),
    )
); 
=============
Теперь в настройках компонента появились вот такие настройки:

parametry komponenta.png



2. Вывод в форме.

Для вывода нужно использовать компонент main.userconsent.request.
Он выводит чекбокс с подписью, по нажатию на которую выводится окно с текстом соглашения.
Окно с текстом адаптивное и уже сделано и под мобильные устройства.

vyvod.png

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

Компонент main.userconsent.request нужно подключить в шаблоне вашего компонента перед кнопкой отправки формы.
Есть два вида форм:
- один стандартная get/post отправка формы с событием submit;
- отправка через ajax и иные механизмы, реализованные в js, то есть без события submit у формы.
Для них нужно по разному использовать компонент.

1) Простая форма с событием submit.

Подключаем компонент main.userconsent.request перед кнопкой отправки формы
====code====
<fo rm method="POST">
    <input name="EMAIL" placeholder="Email">
    <input name="PHONE" placeholder="Телефон">
    <input name="NAME" placeholder="Имя">
    <br>
    <?if ($arParams['USER_CONSENT'] == 'Y'):?>
     <?$APPLICATION->IncludeComponent(
      "bitrix:main.userconsent.request",
      "",
      array(
          "ID" => $arParams["USER_CONSENT_ID"],
          "IS_CHECKED" => $arParams["USER_CONSENT_IS_CHECKED"],
          "AUTO_SAVE" => "Y",
          "IS_LOADED" => $arParams["USER_CONSENT_IS_LOADED"],
          "REPLACE" => array(
           'button_caption' => 'Подписаться!',
           'fields' => array('Email', 'Телефон', 'Имя')
          ),
      )
     );?>
    <?endif;?>
    <input type="submit" name="subscribe" value="Подписаться!">
</form> 
=============
Указанные в примере параметры $arParams появятся в шаблоне вашего компонента при наличии
в .parameters.php блока "USER_CONSENT" => array()

В параметре REPLACE передается
- button_caption, название кнопки отправки формы;
- fields, массив названий полей, которые попадут в текст соглашения.


2) Форма без события submit(ajax и пр).

В компонент нужно передать в параметре SUBMIT_EVENT_NAME название события, при котором появится окно запроса согласия.
Далее, нужно добавить обработчик события принятия соглашения.
Если обработчик поймает событие - значит, согласие получено и можно отправлять форму/данные или выполнять какое-то действие.
====code====
<div id="my_container">
    <input type="text" placeholder="Электронный адрес" name="EMAIL">
    <input type="submit" id="fire_event" value="Отправить">
    <br>
    <?if ($arParams['USER_CONSENT'] == 'Y'):?>
        <?$APPLICATION->IncludeComponent(
            "bitrix:main.userconsent.request",
            "",
            array(
                'ID' => $arParams["USER_CONSENT_ID"],
                "IS_CHECKED" => $arParams["USER_CONSENT_IS_CHECKED"],
                "IS_LOADED" => "Y",
                "AUTO_SAVE" => "N",
                'SUBMIT_EVENT_NAME' => 'my-event-name',
                'REPLACE' => array(
                    'button_caption' => 'Отправить',
                    'fields' => array('Электронный адрес')
                ),
            )
        );?>
    <?endif;?>
</div>
    
<sc ript type="text/javascript">
BX.ready(function () {

    var submitBtn = BX('fire_event');
    BX.bind(submitBtn, 'click', function(){
        BX.onCustomEvent('my-event-name', []);
    });

    if (!BX.UserConsent)
    {
        return;
    }
    var control = BX.UserConsent.load(BX('my_container'));
    if (!control)
    {
        return;
    }
    
    BX.addCustomEvent(
        control,
        BX.UserConsent.events.save,
        function (data) {
            console.log('js event:', 'save', data);
            // успешно!
            // отправляем ajax 
            // или другие действия
        }
    );
    
});
</sc ript>
=============

3. Сохранение согласия.

В параметрах компонента есть параметр AUTO_SAVE.
Если его значение равно Y, то согласие автоматически сохраняется компонентом.

Если вам нужно сохранить согласие самим, то передайте значение N.
А для ручного добавления согласия вызовите следующий код:
====code====
   BitrixMainUserConsentConsent::addByContext( 
       $arParams["USER_CONSENT_ID"]
   );
=============

Теперь у вас есть инструмент, с помощью которого вы можете быстро привести свои компоненты в соответствие закону, а также помочь соответствовать вашим клиентам.

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

Если вам эта тема интересна - пишите в комментариях, добавим в статью доп информацию.


.
Подробнее...

Категории : Новости Битрикс
Автор : bi3ks
Теги : новости

Сергей Востриков: Онлайнчат на страницах решений Маркетплейс и Приложений24

:)
Радостная новость: можно поставить на страницах ваших решений CRM-виджет Битрикс24 - онлайн-чат, коннекторы к социальным сетям и мессенджерам. Что может быть лучше живого общения с потенциальными покупателями? Ничего, если, конечно, стоит задача повысить продажи . Теперь у вас такая возможность есть. Рекомендую ей воспользоваться!

Есть небольшой ряд нюансов, на которые сразу хочу обратить внимание:
  1. Если вы работаете с коробкой Битрикс24, то, к сожалению, url из виджета нашу валидацию не пройдет. Мы не можем вставлять на свои ресурсы внешние JS, содержимое которых никак не контролируем. Возможно, получится что-то хитрое придумать для коробки, но пока нет, увы.
  2. Мы знаем, что вы знаете, но все же хочется еще раз подчеркнуть - правила Маркетплейс действуют в рамках вашего общения с клиентами. В частности, авторам нельзя предлагать прямые покупки своих решений и продуктов 1С-Битрикс в чатах. Помните про партнерские продажи, пожалуйста. Уводя клиентов, вы создадите стратегические проблемы для самих себя, потому что ваши решения просто перестанут рекомендовать участники партнерской сети. Успешные разработчики очень хорошо знают, насколько важны партнеры. В любом случае это будет плохая идея, потому что, коллеги, будем жестко отключать по результатам анонимных проверок. Сослаться потом на "косяк конкретного сотрудника", нарушившего правила, не получится, к сожалению. Вы отвечаете за всех своих сотрудников.
А в целом, коллеги, мы верим, что быстрая поддержка поможет вам продавать лучше! Включайте виджеты, накапливайте данные в CRM, управляйте своими продажами!
Подробнее...

Категории : Новости Битрикс
Автор : bi3ks
Теги : новости

Роберт Басыров: Что разрешено Контент-менеджеру у вас?

Обращаюсь больше к руководителям студий.

Наш курс Контент-менеджер на данный момент построен по принципу: КМ работает из публички. Создавая его мы уже понимали, что концепция не совсем верна, но до переделки курса добрались только сейчас.

Для нас ясно, что расширять курс необходимо, но не понятны пределы расширения.

Вот и хочу спросить:

  • Что вы разрешаете КМ делать в админке?
  • Что чаще всего приходится делать (типовые сценарии)?
  • Что настраивают КМ в админке?
  • Какими инструментами системы чаще пользуются ваши КМ?
  • Какие трудности при освоении системы возникают у КМ?
На основании ваших ответов мы решим что нужно включать, чем дополнить курс.

P.S. Курс переделывается достаточно серьёзно: переписываются тексты, меняется структура, удаляется избыточная информация, появятся контекстные подсказки, будет сменён дизайн.
Подробнее...

Категории : Новости Битрикс
Автор : bi3ks
Теги : новости

Иван Малышин: Обновление страницы «Резюме» на сайте dev.1c-bitrix.ru

:)
Привет.

Может быть не все знают, на сайте dev.1c-bitrix.ru доступна персональная страница, на которой отображаются полученные сертификаты.
Ссылка на страницу уникальная, пока вы сами не захотите, ваше "Резюме", сертификаты - не будут никому доступны.
Мы подготовили несколько обновлений странички

Подробнее...

Категории : Новости Битрикс
Автор : bi3ks
Теги : новости

Интеграция Google Picasa с Bitrix

Интеграция Google Picasa с вашим сайтом на платформе 1С-Bitrix Rомпонент взаимодействия API Google Picasa с сайтом на платформе 1С-Bitrix для автоматической выгрузки фотографий на сайт, который можно использовать совершенно бесплатно. Инструкция по установке и применению: 1) В первую очередь необходимо обзавестись аккаунтом в сервисе Google Picasa, подробно ознакомиться со всеми инструкциями … Continue reading

Категории : Новости Marketplace
Автор : bi3ks