Идеи пользователя 17890

Рейтинг: 0  
Новая
Предложил Пользователь 17890 12.09.2023 21:02:48

Добавить настройку "Базовая задача" и отображать в карточках просмотра задач

В виде задач "сроки" добавить отображение базовой задачи в карточках задач, как можно включить отображение проекта.
Рейтинг: 4.7804  
Новая
Предложил Пользователь 17890 04.06.2023 20:10:17

У архаичного метода CFile::ResizeImageGet() добавить возможность получать миниатюры в webp

Описание метода думаю всем знакомо:
https://dev.1c-bitrix.ru/api_help/main/reference/cfile/resizeimageget.php

Чтобы не городить обертки или события для этого метода, рекомендую добавить из коробки в заведенный для этого метода параметр array $arFilters = false еще один фильтр, например, назвать его 'convert_to_format', и получим нечто подобное:

$arFilters = [
      ["name" => "sharpen", "precision" => 15],
      ['name' => "watermark", /*  */]
      ["name" => "convert_to_format", "value" => 'webp'],
];


Может я упустил, и в новом ядре это есть?
Рейтинг: 5.8902  
Рейтинг: 4.8902  
Новая
Предложил Пользователь 17890 20.11.2022 05:37:44

API компонентов инфоблока: не выбирать сео-подстановки для элементов списка в catalog.section

Хотелось бы управлять в виде: выбрать или нет сео-данные в компонентах наследниках для работы с элементами инфоблока (catalog.section, и проч.)

пока захардкорил в базовом компоненте инфоблоков, чтобы у элементов в catalog.section не выбирались сео-данные (они же по-идее в списке не нужны, разве что шаблоны картинок, но тоже легче иначе эту задачу решить):

use Iblock\InheritedProperty\ElementValues;

class \Bitrix\Iblock\Component\Base
{
// ...
protected function modifyElementCommonData(array &$element)
{
   // ...

   // not select on lists
   if (! ($this instanceof \CatalogSectionComponent)) {
      $ipropValues = new ElementValues(
            $element['IBLOCK_ID'], 
            $element['ID']
      );
      $element['IPROPERTY_VALUES'] = $ipropValues->getValues();
   }
без этой строчки заметил, что число запросов в цикле увеличилось... (представьте страницу - показать все)
Рейтинг: 8.8902  
Новая
Предложил Пользователь 17890 10.03.2021 18:11:27

в проверке доступа к диску не проверять папку .git

Собственно, все в теме Не однократно сталкивался с проблемой, обычно папка с контролем версий имеет другие права доступа, думаю целесообразно при проверке доступа к диску не проверять данную папку, как минимум на запись.
Рейтинг: 8  
Новая
Предложил Пользователь 17890 15.10.2019 17:55:47

Уйти от использования serialized-строк в БД, использовать JSON

Часто сталкиваюсь с не-возможностью unserialize данных после смены кодировки в БД.
Чтобы хранение сделать более переносимым лучше использовать для хранения JSON вместо serialized-строк.

PS последняя проблема была в таблице b_seo_search_engine поле SETTINGS
Рейтинг: 2  
Новая
Предложил Пользователь 17890 13.10.2019 18:45:18

Добавить теги TAGS в секции инфоблока

Странно, но в секциях инфоблока нет системного поля "теги".
просьба добавить его.
Рейтинг: 2  
Новая
Предложил Пользователь 17890 04.10.2019 15:53:59

Сделать возможность кешировать данные в различных местах под одним ядром

Например, некоторые части приложения кешировать в APCu а остальные - в файлы.

use \Bitrix\Main\Data\Cache;
// получаем экземпляр класса c конфигурацией cache_config_name
$cache = Cache::createInstance('cache_config_name'); 


файл /bitrix/.settings.php по аналогии с несколькими connections для бд

'cache' => [
   'value' =>
      [
         'default' => [
            'type' => [
               'class_name' =>
                  '\\Bitrix\\Main\\Data\\CacheEngineFiles'
            ]
         ],
         'cache_config_name' => [
            'type' => [
               'class_name' =>
                  '\\Bitrix\\Main\\Data\\CacheEngineRedis',
               'extension' => 'redis'
            ],
            'redis' => [
               'host' => '127.0.0.1',
               'port' => '6379'
            ]
         ],
         'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
      ]   
Рейтинг: 4.8902  
Новая
Предложил Пользователь 17890 15.02.2018 01:18:54

При переиндексации поиском показывать сколько всего документов

Модуль поиска.
Совершенно не понятно, сколько еще ждать.
Кол-во элементов инфоблока уже перевалило, а сколько еще индексировать то будет?

Добавить бы для наглядности сколько всего документов под индексацию попало... (ну или примерную ориентировочную какую-то величину)

Рейтинг: 2.0129  
Новая
Предложил Пользователь 17890 03.07.2015 19:21:26

Кеш: добавить произвольную серриализацию

сделать возможным указывать свой режим сериализации, отличный от стандартного serialize() --> unserialize()


Еще по теме:

apc_store() - позволяет хранить переменную. Сама функция серриализует данные.
Можно подключить igbinary и указать apc.serializer=igbinary

при этом apc_store() будет использовать серриализатор igbinary (а не стандартный)

В коде главного модуля сейчас зашито:
$arAllVars = serialize($arAllVars);
apc_store($baseDirVersion."|".$initDirVersion."|".$filename, $arAllVars, intval($TTL));
Поэтому настройка apc.serializer=igbinary просто игнорируется.
Нужно это убрать.

К, примеру, memcached этого недостатка лишен, и можно указать memcached.serializer = igbinary, и в ядре не происходит предварительной серриализации массива стандартной функцией serialize()
Рейтинг: 1.8589  
Новая
Предложил Пользователь 17890 17.10.2014 13:24:53

Дать возможность получать текст SQL-запроса до его непосредственного выполнения

Возможная реализация: к примеру, можно добавить событие OnBeforeSqlQueryRun в CDatabase::Query(), в обработчике которого дать возможность получать SQL-запрос до выполнения запроса в mysql_query, а возможно дать и останавливать его выполнение.

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

Видимо, еще одну версию события нужно будет встроить в lib d7.

Кейс использования: CIblockElement::GetList() при динамическом и сложном фильтре $arFilter "ложит" mySql, хотелось бы для выяснения подробностей и отладки получить и проанализировать текст запроса, до того момента, как он уйдет на исполнение.
Рейтинг: 1.039  
Новая
Предложил Пользователь 17890 12.06.2014 13:26:49

Не менять меню задач в детальной, оставить как во всплывающем окне

Сейчас в детальной задачи добавление подзадачи нужно делать через кнопку вверху:



ИМХО вообще не логичное поведение, т.к. в случае просмотра задачи из ленты во всплывающем окне, данная кнопка расположена в меню задачи:



Это наталкивает именно на использование кнопки меню и в детальной задачи.

Предлагаю данное меню задачи сделать аналогичным, как при просмотре задачи во всплывающем списке: