Продолжаем работу по совершенствованию курсов по вашим отзывам "Тема раскрыта полностью/не полностью". На этот раз работа над курсом Администратор. Бизнес. Правда ещё не полностью закончена работа над Модулями, но там загвоздка в разработчиках. А у них - релиз... Подробности под катом
Основная задача в этом месяце была - правка курса Администратор Модули по результатам оценок пользователей. Поправили много уроков (их здесь не приводим): формулировки, исправление неточностей и так далее. Детально о выпущенном - под катом.
Всем доброго дня! Несмотря на отпуска выхлоп в этом месяце у нас не плохой. Курсу Админ коробки повезло в количестве добавленных страниц (глава по 1С), Курсу Админ Бизнес - в разнообразии. Подробности под катом.
Не так давно мы закончили писать первую версию документации по смарт-процессам и новому API CRM. Спасибо Роберту и его команде за оперативную публикацию.
Если её внимательно прочитать (а ещё лучше - ознакомиться с исходным кодом), то станет понятно, что у разработчиков появляется возможность внедриться очень глубоко в API "малой кровью" (без модификации ядра). Мы почти не ставили final у классов и методов, только местами.
Однако наличие этой возможности не значит, что ей необходимо очень активно пользоваться.
Как вы знаете, мы поддерживаем обратную совместимость. Но цена этой поддержки - довольно высока. Это в буквальном смысле сковывает нам руки - нам всё время приходится держать в голове необходимость поддержания совместимости, рефакторить сильно нельзя и т.д. Код становится "закостенелым" и буквально превращается в легаси с момента выхода первой его версии.
Теперь, когда у разработчиков есть возможность наследовать классы продукта, это становится ещё сложнее. Т.к. по-хорошему, мы не можем менять даже сигнатуру protected методов.
Здесь я изложу их ещё раз немного другими словами 1. Не надо наследовать стандартные классы без особой необходимости вообще. Делайте это только в крайнем случае и когда вы полностью отдаете себе отчет, как и что вы делаете 2. Не надо использовать / наследовать те классы, которые в документации помечены соответствующим образом (ParentFieldManager и другие). 3. Если вы наследуете класс, ни в коем случае не меняйте сигнатуру методов добавлением новых аргументов / изменением типов возвращаемых значений и т.д. Если надо передать какие-то дополнительные данные, сделайте отдельный метод для этого 4. Не стоит слишком полагаться на структуру массивов внутри классов. При использовании делайте проверки. 5. Даже следуя этим рекомендациям можно столкнуться с тем, что после установки обновления что-то отвалится из-за каких-то изменений. Пишите тесты, тестируйте обновления не на продакшн-окружении, используйте фича-флаги.
Если после ознакомления с кодом или документацией вам что-то не понравилось - не стесняйтесь писать.
По поводу нового API для старых сущностей - будет, но не сразу. Не так давно мы сделали возможность читать данные о лидах, сделках, контактах и компаниях (выйдет в районе crm 21.800.0). Позже добавим возможность и делать изменения через новое API.
По поводу реста - доделываем прямо сейчас, будет классно.
Летняя жара расслабляет. Но мы работаем. На подходе большой пакет API доки по CRM, то что выходит в версии 20.700. Что сделано в этом месяце - под катом.
После изменения структуры курса Разработчик Bitrix Framework были нарекания на то, что стало трудно пользоваться им как постоянным источником информации. Нарекания были справедливыми, мы исправились. Теперь в правом углу "шапки" курса есть переключатель на Справочник. Подробности под катом
Пока разработчики решают на что им поменять Centos 8 были протестированы несколько ОС, на которые можно установить наши продукты. Описание установок вынесено в отдельную главу.
Месяц по срокам отчёта - короткий, потому и отчёт короткий. Практически все курсы переведены на новый формат оффланового файла. ДОкументация пока остаётся в прежнем формате chm, но скоро и её переведём. Под катом то, что выпущено в этом месяце.
В этом месяце мы начали переход на новый формат оффлайн файлов. Мы отказывается от формата CHM в пользу формата EPUB. Он более современный, удобный, читается на всех видах устройств. Файлы пока заменены не на всех курсах, и в документации они на какое-то время останутся в старом формате. Подробнее о новинках доки - под катом
Бывают месяцы, когда публикуется сразу большой объём работ, который делался в течение нескольких месяцев ранее. Вот в октябре именно такая картина. Был переведён на новый шаблон курс Администратора коробки, был переформатирован курс Разработчик Bitrix Framework. И было опубликовано много чего ещё. Подробности под катом.
Периодические обращения с проблемой, означенной в заголовке, и одинаковая причина, вылились в публикацию этого поста.
Итак, симптомы следующие: долгое (60 сек и выше) сохранение элемента/товара через админскую форму редактирования. При импорте и выполнении из консоли проблем не наблюдается. Клиент недоволен, техподдержка в панике. Анализ на стороне хостера выявляет долгий запрос вида:
UPD ATE b_iblock_element SE T
TIMESTAMP_X = TIMESTAMP_X,
SHOW_COUNTER_START = ifnull(SHOW_COUNTER_START, now()),
SHOW_COUNTER = ifnull(SHOW_COUNTER, 0) + 1
WH ERE ID=ИД_сохраняемого_элемента
В тяжелых случаях изменения не сохраняются вообще. В чем же причина?
Коллеги, недавно в коробку были выгружены обновления Главного модуля (main) 20.5.x. Текущий статус - бета. В этих обновления существенно переработан план выполнения страницы для повышения производительности и уменьшения времени отдачи контента браузеру.
Для поддержки этих возможностей был доработан компонент умного фильтра каталога (catalog.smart.filter). Измененный компонент доступен после установки обновления инфоблоков iblock 20.0.900. Однако, если на конкретном проекте компонент фильтра был кастомизирован (скопирован или перенесен в свое пространство имен), необходимо будет внести изменения в код самостоятельно.
В этом месяце вышло много уроков для самопроверки и Практических заданий в курсе Администратор. Модули. Ссылки на них давать не буду, так как этот блог не читают неофиты. Сами уроки для самопроверки найдёте в глвах курса. Детально - под катом
Добавили в этом месяце кнопку отключения/включения табов в шаблонах документации и курсов. Теперь удобно будет не только тем, кто не любит крутить колёсико, но и тем, кто привык к "портянкам". Детали выпущенной документации - под катом.
Введённые в прошлом месяце табы вызвали (как обычно) неоднозначную реакцию. В курсах разработчков, дейсвительно, табы смотрятся тускло и слабозаметны. Это будет исправлено, задача у сайтостроителей уже стоит. Что сделано в июне месяце - под катом.