multiversion-8.x-1.0-beta34/multiversion.services.yml
multiversion.services.yml
parameters: workspace.default: 1 services: # Index Factory multiversion.entity_index.factory: class: Drupal\multiversion\Entity\Index\MultiversionIndexFactory arguments: ['@service_container', '@workspace.manager'] # Index children multiversion.entity_index.sequence.scope: parent: multiversion.entity_index.sequence scope: prototype multiversion.entity_index.id.scope: parent: multiversion.entity_index.id scope: prototype multiversion.entity_index.uuid.scope: parent: multiversion.entity_index.uuid scope: prototype multiversion.entity_index.rev.scope: parent: multiversion.entity_index.rev scope: prototype multiversion.entity_index.rev.tree.scope: parent: multiversion.entity_index.rev.tree scope: prototype # Indexes multiversion.entity_index.sequence: class: Drupal\multiversion\Entity\Index\SequenceIndex arguments: ['@keyvalue.sorted_set', '@workspace.manager', '@multiversion.manager'] multiversion.entity_index.id: class: Drupal\multiversion\Entity\Index\EntityIndex arguments: ['@keyvalue', '@workspace.manager'] multiversion.entity_index.uuid: class: Drupal\multiversion\Entity\Index\UuidIndex arguments: ['@keyvalue', '@workspace.manager'] multiversion.entity_index.rev: class: Drupal\multiversion\Entity\Index\RevisionIndex arguments: ['@keyvalue', '@workspace.manager'] multiversion.entity_index.rev.tree: class: Drupal\multiversion\Entity\Index\RevisionTreeIndex arguments: ['@keyvalue', '@workspace.manager', '@multiversion.entity_index.factory'] multiversion.entity.query.sql: class: Drupal\multiversion\Entity\Query\Sql\QueryFactory arguments: ['@database'] multiversion.manager: class: Drupal\multiversion\MultiversionManager arguments: ['@workspace.manager', '@serializer', '@entity.manager', '@state', '@language_manager', '@cache.discovery', '@database', '@entity_field.manager', '@event_dispatcher'] calls: - [setContainer, ['@service_container']] workspace.manager: class: Drupal\multiversion\Workspace\WorkspaceManager arguments: ['@request_stack', '@entity_type.manager', '@current_user', '@logger.channel.workspace'] calls: - [setContainer, ['@service_container']] tags: - { name: service_collector, tag: workspace_negotiator, call: addNegotiator } workspace.conflict_tracker: class: Drupal\multiversion\Workspace\ConflictTracker arguments: ['@keyvalue', '@workspace.manager'] cache_context.workspace: class: Drupal\multiversion\WorkspaceCacheContext arguments: ['@workspace.manager'] tags: - { name: cache.context } multiversion.plugin.manager.block: decorates: plugin.manager.block class: Drupal\multiversion\Block\BlockManager decoration_priority: 50 parent: default_plugin_manager arguments: ['@logger.channel.default', '@database', '@workspace.manager'] logger.channel.workspace: parent: logger.channel_base arguments: ['cron'] # @todo: {@link https://www.drupal.org/node/2597414 Simplify the container # definition for negotiators.} workspace.negotiator.default: class: Drupal\multiversion\Workspace\DefaultWorkspaceNegotiator calls: - [setContainer, ['@service_container']] - [setCurrentUser, ['@current_user']] - [setWorkspaceManager, ['@workspace.manager']] tags: - { name: workspace_negotiator, priority: 0 } workspace.negotiator.cron: class: Drupal\multiversion\Workspace\CronWorkspaceNegotiator arguments: ['@state'] calls: - [setContainer, ['@service_container']] - [setCurrentUser, ['@current_user']] - [setWorkspaceManager, ['@workspace.manager']] tags: - { name: workspace_negotiator, priority: 100 } workspace.negotiator.session: class: Drupal\multiversion\Workspace\SessionWorkspaceNegotiator arguments: ['@user.private_tempstore'] calls: - [setContainer, ['@service_container']] - [setCurrentUser, ['@current_user']] - [setWorkspaceManager, ['@workspace.manager']] tags: - { name: workspace_negotiator, priority: 200 } conflict.complexlca_resolver: class: Drupal\multiversion\Entity\Index\ComplexLcaResolver tags: - { name: lca_resolver, priority: 20 } multiversion.serializer.normalizer.workspace_reference_item: class: Drupal\multiversion\Normalizer\WorkspaceReferenceItemNormalizer tags: - { name: normalizer, priority: 50 } multiversion.alias_storage: decorates: 'path.alias_storage' class: Drupal\multiversion\AliasStorage arguments: ['@database', '@module_handler', '@workspace.manager', '@entity_type.manager', '@state'] public: false decoration_priority: 50 tags: - { name: backend_overridable } # The decorated service must remain public in order to not break views # (de-)serialization. # See https://www.drupal.org/project/multiversion/issues/2973609 multiversion.route_provider: decorates: 'router.route_provider' class: Drupal\multiversion\RouteProvider arguments: ['@database', '@state', '@path.current', '@cache.data', '@path_processor_manager', '@cache_tags.invalidator', 'router', '@language_manager', '@workspace.manager'] decoration_priority: 50 tags: - { name: event_subscriber } - { name: backend_overridable } multiversion.node_revision_route_subscriber: class: Drupal\multiversion\EventSubscriber\NodeRevisionRouteSubscriber tags: - { name: event_subscriber } multiversion.menu_content_link_migrate_subscriber: class: Drupal\multiversion\EventSubscriber\MenuLinkContentMigrateSubscriber arguments: ['@database', '@plugin.manager.menu.link'] tags: - { name: event_subscriber } multiversion.file_usage_migrate_subscriber: class: Drupal\multiversion\EventSubscriber\FileUsageMigrateSubscriber arguments: ['@database', '@module_handler'] tags: - { name: event_subscriber } multiversion.search_api_migrate_subscriber: class: Drupal\multiversion\EventSubscriber\SearchApiMigrateSubscriber arguments: ['@module_handler', '@entity_type.manager'] tags: - { name: event_subscriber } multiversion.pathauto_alias_subscriber: class: Drupal\multiversion\EventSubscriber\PathAutoAliasSubscriber arguments: ['@state'] tags: - { name: event_subscriber }