Overview

#3457504: XB field type: calculate all dependencies, store them, surface in new Component "Audit" operation introduced:

  1. the audit operation on Component config entities
  2. the \Drupal\experience_builder\Audit\ComponentAudit service
  3. the \Drupal\experience_builder\Controller\ComponentAuditController (+ test)

However, it's implemented in the most naïve/simple way possible — intentionally! — and for example loads every entity revision 😅

Proposed resolution

So we'll need to improve that. If we don't do that before 1.0, we'll need to gate it behind xb_dev_mode.

  1. remove ::loadMultiple() and ::loadMultipleRevisions() from the critical path in \ComponentTreeDependencyRepository::getConfigurationDependents(), because not every caller needs the loaded objects
  2. add static caching to \Drupal\experience_builder\Audit\ComponentAudit::getConfigEntityUsageCount()

User interface changes

TBD

Comments

wim leers created an issue. See original summary.

wim leers’s picture

Title: [later phase] Make Component `audit` operation scalable » [later phase] Make Component `audit` operation performant/scalable
wim leers’s picture

Issue summary: View changes
wim leers’s picture

lauriii’s picture

Project: Experience Builder » Drupal Canvas
Version: 0.x-dev » 1.x-dev

Experience Builder has been renamed to Drupal Canvas in preparation for its beta release. You can now track issues on the new project page.