Версія 3.3: останній Data Director для Pimcore

Stefano Viani

Менеджмент

06 Feb 2023 Pimcore

Наші розробники вклали багато часу в нові оптимізації, щоб запропонувати вам покращений користувацький досвід при використанні Data Director в поточній версії. Наш потужний пакет імпорту та експорту постачається у версії 3.3 з наступними новими або переглянутими функціями та можливостями:

Version 3.3: der aktuelle Data Director für Pimcore

Зведення про виконання портів даних.

Тепер є вікно підсумків для імпорту та експорту, виконаних вручну. Це графічний інтерфейс користувача, який показує, що відбувалося під час імпорту та експорту. Воно містить хід виконання, змінені дані (включно з поданням змін) і помилки (якщо такі виникли):

Die neue Zusammenfassung von Datenport-Durchläufen

Це дозволяє нетехнічним користувачам запускати порти даних і перевіряти, чи все було зроблено правильно.

Інтелектуальне ведення журналу

Для імпорту та експорту, запущених не вручну (наприклад, cronjob, REST API, керовані подіями порти даних), логгер перевіряє наявність помилок (але також буферизує менш серйозні журнали). Лише у разі виникнення помилки буферні журнали записуються. Якщо виконання завершено успішно, без помилок, попереджень або повідомлень, файл журналу не зберігається. Це зменшує обсяг пам'яті для файлів журналів і, таким чином, дозволяє використовувати часті додатки, такі як інтерфейси REST API для реальних користувачів веб-сайтів.

Крім того, у цій версії реалізовано ліниве ведення журналу: Інформація журналу генерується лише тоді, коли журнал дійсно має бути записаний. Раніше лог генерувався, навіть якщо лог взагалі не зберігався в кінці (наприклад, налагоджувальні логи) - але для рівнів журналу, які все одно не записуються, всі зусилля по створенню інформації для журналу (наприклад, серіалізація об'єктів, кодування JSON і т.д.) були зайвими.

Більш ефективний процесор черг

Імпорт для одного порту даних, але різних ресурсів імпорту тепер виконується паралельно. Як результат, автоматичні порти даних (наприклад, якість даних) виконуються набагато швидше при масовому імпорті: Процесор черги тепер частіше коригує кількість паралельних процесів. Крім того, кількість максимальних паралельних процесів зберігається в налаштуваннях сайту, а не в кеші. Це запобігає скиданню числа при спустошенні кешу. Корисний побічний ефект: можна вручну збільшити кількість максимально паралельних процесів.

Зміни в інтерфейсі

Дерево портів даних

  • Позначення портів даних, які не використовувалися більше 14 днів, щоб допомогти очистити старі порти даних.
  • Позначення червоним кольором портів даних з помилками під час останніх запусків, щоб негайно визначити, які саме порти даних спричиняють проблеми.
  • Ролі, які мають порт даних як обраний у контекстному меню дерева портів даних, відображаються в ієрархічному порядку для кращого огляду.
  • Для групування портів даних зі спільним префіксом регістр першої літери ігнорується.

Конфігурація портів даних

  • Підтримка масового редагування полів необроблених даних.

Відображення атрибутів

  • Кращий попередній перегляд і пояснення, коли ключове поле повертає масив.
  • Підтримка відображення створенняДата, модифікаціїДата для імпорту активів.
  • Не показує окремі поля цеглинок об'єктів, якщо їх більше 50. У цьому випадку відображення можливе лише через контейнер об'єктної цегли, інакше час завантаження занадто довгий (тим не менш, ми працюємо над подальшою оптимізацією часу завантаження відображення атрибутів).

Панель попереднього перегляду

  • Підтримка багаторазового вибору для обробки декількох елементів вихідних даних (для тестування).
  • Підтримка багаторазового вибору для відкриття декількох елементів за посиланням на ключові поля.
  • Підсвічування даних, в яких знайдено пошуковий термін, замість приховування стовпців, в яких пошуковий термін не знайдено.

Вікно редагування об'єктів/сітка об'єктів

  • Відображення доступного експорту/імпорту для об'єкта на панелі редагування об'єкта.
  • Експорт по сітці: Завжди встановлюйте "Вміст-розміщення: вкладення", оскільки експорт по сітці завжди виконується у тому ж вікні, що й Pimcore. Якщо функція зворотного виклику результату не створювала документ результату (а, наприклад, лише ставила в чергу інший порт даних), на вкладці Pimcore відкривалася порожня сторінка. Натомість тепер завжди є завантаження для експорту сітки: Якщо порт даних не створив документ-відповідь, надається фіктивний документ з повідомленням "Порт даних виконано успішно".

Інші зміни

  • Імпорт XML: Журналізація помилок XML.
  • Підтримка імпорту з ресурсів FTPS.
  • Запобігання зловживанню програмно запущеними портами даних:
    При програмному запуску портів даних могло статися так, що було запущено занадто багато процесів, що призводило до аварійного завершення роботи сервера. Тепер спочатку перевіряється, чи запущено процеси на конкретному порту передачі даних (відносно кількості процесорів), і якщо так, то скільки саме. Якщо їх занадто багато, нові процеси автоматично додаються до черги замість того, щоб виконуватися.
    Це може статися, наприклад, якщо інший порт даних викликається функцією зворотного виклику результату через Cli::execInBackground('bin/console dd:complete 123') - власне, шаблон "запуск залежного порту даних" запобігає цьому. Якщо розробники не використовували цей шаблон, вони могли потрапити в цю пастку. Однак тепер ця небезпека відвернена.
  • Підтримка імпорту в поле типу "блок".
  • Підтримка імпорту рядків, які виглядають як JSON, але повинні оброблятися без синтаксичного аналізу, наприклад, [100.00] не повинен бути перетворений в [100].
  • Автоматичне встановлення міграцій у скрипті супроводу.
    Це полегшує оновлення, оскільки вам більше не потрібно виконувати міграції вручну.
  • Автоматичне видалення елементів у черзі, яким більше трьох днів. Зазвичай це спричинено некоректними функціями зворотного виклику результату через команду "запустити залежний порт даних".
  • Селектори запитів до даних: підтримка пошуку активів за полями метаданих.
  • Покращено розпізнавання полів значення та одиниці виміру кількості, коли вони вказані як рядки. Наступні рядки були успішно протестовані для імпорту в поля кількісних значень:
    • 1,23m
    • 1,23 m
    • -10°C
    • 10°C
    • 10° C
    • 12 обертів на хвилину
    • € 12
  • Якщо в черзі були процеси, які посилалися на видалені ідентифікатори ресурсів портів даних (наприклад, видалення необроблених даних на панелі попереднього перегляду), відповідні умови SQL створювалися як незалежні ресурси портів даних. Це могло призвести до створення великої кількості ресурсів портів даних, тому перед збереженням об'єкта потрібно було перевіряти їх усі. Це сповільнювало процеси зберігання.
  • Усунуто помилкове сповіщення електронною поштою "Не вдалося запустити процесор черги".
  • Використання league/flysystem-sftp-v3 замість league/flysystem-sftp → сумісність з PHP 8.1.
  • Імпорт активів: уникнення помилки при імпорті папок.
  • Підтримка спеціального селектора поля вихідних даних "__count" для визначення кількості записів у поточному файлі імпорту.
  • Тегування елементів у разі помилок імпорту для полегшення пошуку проблем з імпортом.
  • Підтримка селектора "__all" для XML-ресурсів для отримання повних необроблених даних у полі необроблених даних.
  • Надання сервісу конвертації валют при імпорті полів кількісних значень з опцією "Автоматично створювати неіснуючі одиниці".
  • Підтримка автоматичного виконання портів даних без джерела даних (наприклад, як псевдо-крон-завдання).
  • Додавання шаблону функції зворотного виклику для функції ініціалізації для обмеження частоти портів даних, наприклад, виконання тільки кожні x годин (псевдо крон-джоб).
  • Підтримка попередніх запитів CORS для кінцевих точок REST API.

Наші навчальні посібники з Data Director

Додаткові корисні поради щодо використання Pimcore Data Director надаються в детальних навчальних посібниках в Академії Blackbit.

Ще не знайомі з Data Director?

Цікавитесь нашим пакетом для імпорту та експорту Pimcore? Тоді відвідайте наш магазин і дізнайтеся про пакет імпорту та експорту для Pimcore.
Ми будемо раді показати вам в індивідуальній демонстрації, які можливості пропонує Data Director. Зв'яжіться з нами зараз!

About the Author

Як виконавчий директор Blackbit digital Commerce GmbH, Стефано Віані керує всіма напрямками діяльності агентства в офісах у Геттінгені, Гамбурзі, Берліні та Києві. Його пристрасть - розробка маркетингових стратегій та їх реалізація в конкретних заходах.

У вільний час Стефано любить їздити на мотоциклі або займатися в тренажерному залі.