Наші розробники постійно розширюють і оптимізують наш пакет імпорту та експорту для Pimcore. У версії 3.6 ви знову можете очікувати багато нових малих і великих поліпшень, які зроблять вашу щоденну роботу з даними більш ефективною.
Покращення продуктивності у версії 3.6
- Значне зменшення споживання пам'яті при експорті
- Створення блоків необроблених даних на стороні PHP, щоб уникнути необхідності пагінації необроблених даних в MySQL, оскільки необроблені дані-IDs не вимагають багато пам'яті. Раніше пагінація необроблених даних була дуже ресурсоємною, залежно від того, скільки необроблених даних зберігалося в системі.
- Покращено виявлення змін у польових колекціях. Це означає, що незмінні колекції полів розпізнаються краще, і об'єкт даних не потрібно зберігати. Результат: швидший імпорт.
- Запобігання багаторазовому завантаженню віддалених ресурсів під час імпорту.
- Багато невеликих рефакторингів запобігають повторному виконанню одного і того ж коду. Оскільки завдання імпорту та експорту зазвичай повторюють логіку для всіх елементів під час кожного запуску, тут було багато можливостей пропустити підпроцеси і таким чином підвищити продуктивність.
Параметризовані порти даних
У ресурсі порту даних зберігаються тільки ті параметри, які використовуються в порту даних (наприклад, в умовах фільтрації або функціях зворотного виклику). Це значно зменшує кількість ресурсів портів даних. Наприклад, тепер немає різниці, чи виконують експорт два різні користувачі, якщо порт даних не використовує користувача, що запитує, як параметр, наприклад, . Це призводить до значно меншої кількості дублікатів вихідних даних, що сприяє зменшенню споживання пам'яті та часу виконання.
Крім того, доступ до параметрів тепер можна отримати, якщо виконано лише крок "Обробити необроблені дані". Раніше це було можливо, тільки якщо параметри були збережені в полях необроблених даних, інакше параметри були недоступні.
Багаторівневі майстри об'єктів
Майстри об'єктів - це форми в бекенді Pimcore, які ви можете використовувати для створення користувацького інтерфейсу для загальних завдань з обслуговування або експорту даних. Завдяки багаторівневим майстрам об'єктів ця концепція стала ще більш потужною. Багаторівневий майстер об'єктів складається з одного або декількох окремих портів даних майстра об'єктів, які з'єднані між собою в конвеєр. Практичними прикладами використання є, наприклад, такі
- Вставка списку номерів артикулів у текстове поле (порт даних 1), аналіз цих номерів і передача їх як параметрів до порту даних 2.
- Порт даних 2 - це форма майстра об'єктів зі зв'язком "багато-до-багатьох". Поле цього зв'язку попередньо заповнене даними з Порталу даних 1. Це дозволяє перевірити, які продукти були знайдені в списку копіювання і повинні бути змінені або експортовані.
- Що ще більш примітно, ви також можете використовувати його для створення майстрів розгалуження: Залежно від даних форми майстра об'єктів, наступною сторінкою може бути Порт даних 2 або Порт даних 3. Таким чином, ви можете налаштовувати складні майстри так, як ви знаєте їх з інсталяції програми в Windows/MacOS.
Оптимізація загальних функцій Pimcore
- Відстеження змін до відкритих об'єктів: Якщо інший користувач або порт даних змінює об'єкт, наприклад, вкладка перезавантажується, за умови, що дані об'єкта не були змінені.
- У головному меню є пункт для відкриття об'єктів за ідентифікатором/шляхом, який тепер доповнено підменю для кожного індексованого поля, наприклад, для відкриття об'єктів безпосередньо за номером артикулу.
- Автоматичне встановлення піктограми класу (якщо її ще немає) на випадкову піктограму об'єкта, так що різні класи мають різні кольорові піктограми. Це полегшує розрізнення об'єктів різних класів з першого погляду.
- Автоматичне керування вкладками: якщо перевищено доступну ширину панелі вкладок, вкладка, до якої не зверталися найдовше, автоматично закривається.
- Інтеграція з dachcom-digital/formbuilder: Data Director підтримується як API-канал для dachcom-digital/formbuilder, тому ви можете створювати інтерфейсні форми за допомогою конструктора форм і реалізовувати логіку обробки в Data Director.
Налаштування порту передачі даних
- Підтримка розбиття імпортованих даних на блоки по 10 000 записів, які потім імпортуються в декілька паралельних процесів для оптимізації продуктивності.
- Підтримка сортування вихідних даних за спаданням
- Авторизації
- Додано авторизацію "Data Director Admin" для користувачів, які не є адміністраторами Pimcore, але повинні мати доступ до портів даних.
- Новостворені порти даних автоматично надаються користувачам, які мають ту ж роль, що і особа, яка створила порт даних.
- Імпортувати архів
- Для імпорту на основі URL-адреси файл архіву тепер має правильне розширення. Наприклад, .json для імпорту на основі JSON - раніше розширення файлу було .tmp. Це дозволяє вам переглядати відповідний вміст архівних файлів у бекенді Pimcore.
- Для параметризованого імпорту архівні файли тепер групуються відповідно до параметрів, наприклад, для ресурсу імпорту http://example.org/api?product= архівний файл зберігається в /archive/ABC, якщо використовується параметр"product"=ABC.
- Групування папок архіву за датою: раніше файл архіву мав назву 2024-01-15-12-00-00-example.csv, тепер він зберігається в папках: 2024/01/15/12-00-00-example.csv
Відображення атрибутів
- Додано підтримку імпорту локалізованих метаданих ресурсів з синтаксисом ['fieldname#en' => 'value'].
- Додано шаблон функції зворотного виклику для перетворення HTML у текст.
Вікно виконання порту даних
- Додано поля для введення параметрів параметризованого ресурсу Датапорта. Наприклад, якщо використовується http://example.org/api?product=, параметр"product"можна ввести у вікні виконання датапорта.
Інші зміни
- Підтримка імпорту всіх файлів з папок, навіть якщо прапорець -rm не використовується. Це дає можливість імпортувати цілі теки з бекенду Pimcore.
- Французька та італійська мови тепер доступні як мови інтерфейсу користувача.
- Підтримується створення мініатюр відео при експорті.
- Порти даних, які виконуються через контекстне меню дерева елементів, тепер також виконуються з параметром force=1. Інакше ітеративний експорт не виконувався б повторно при наступних викликах з незмінними даними, що ускладнювало б тестування.
- Поля дати тепер підтримуються як ключові поля.
- Відображення атрибутів: покращено попередній перегляд для відношень. Раніше json_encode() Оскільки майже всі поля захищені, практично нічого не відображалося, тепер елемент серіалізується.
- Парсер JSON
- Підтримка перетворення вказівників JMESpath/JSON, що робитьproducts еквівалентним data/products.
- Підтримка ../ для доступу до даних JSON через власне дані статті.
- Експорт на основі елементів Pimcore: підтримка увімкнення або вимкнення успадкування для класів, які не дозволяють успадкування, але мають локалізовані поля з принаймні однією резервною мовою.
- Видалено moontoast/math, оскільки він більше не розробляється.
- Додано ObjectBricksOptionProvider: Додано постачальника опцій "@DataDirectorObjectBricksOptionProvider" для полів вибору.
Практичний приклад використання: Ви можете визначити на рівні категорії, який об'єктний блок застосовується до всіх продуктів, які призначені до цієї категорії. Для цього вам потрібно налаштувати порт даних, який отримує назву цеглинки категорії та "імпортує" відповідну цеглинку в поле контейнера об'єктної цеглинки. Активуйте Запускати автоматично на нових даних, щоб завжди запускати цей порт даних автоматично при збереженні об'єкта товару. Це автоматично призначає об'єктні цеглини продуктам залежно від того, до якої категорії вони віднесені.
- Регулярна оптимізація таблиці plugin_pim_rawItemData для зменшення необхідного місця на жорсткому диску, аналогічно до pimcore/pimcore#11817.
Корисні відеоуроки для Pimcore Data Director
Ми пропонуємо детальні інструкції та багато практичних порад щодо ефективного використання Pimcore Data Director у відеоуроках в Академії Blackbit та на каналі Blackbit на YouTube.
Ще не знайомі з пакетом Data Director?
Якщо ви хочете краще познайомитися з нашим потужним пакетом для імпорту та експорту, чому б не спробувати його в нашій безкоштовній демо-інсталяції?
Хочете протестувати конкретний сценарій використання? Тоді, будь ласка, надішліть нам своє завдання та дані. Ми будемо раді запропонувати вам семінар, на якому ми покажемо, як вирішити ваші індивідуальні вимоги за допомогою Data Director.