You are here

multiversion.services.yml in Multiversion 8

Same filename and directory in other branches
  1. 8.2 multiversion.services.yml

File

multiversion.services.yml
View source
  1. parameters:
  2. workspace.default: 1
  3. services:
  4. # Index Factory
  5. multiversion.entity_index.factory:
  6. class: Drupal\multiversion\Entity\Index\MultiversionIndexFactory
  7. arguments: ['@service_container', '@workspace.manager']
  8. # Index children
  9. multiversion.entity_index.sequence.scope:
  10. parent: multiversion.entity_index.sequence
  11. scope: prototype
  12. multiversion.entity_index.id.scope:
  13. parent: multiversion.entity_index.id
  14. scope: prototype
  15. multiversion.entity_index.uuid.scope:
  16. parent: multiversion.entity_index.uuid
  17. scope: prototype
  18. multiversion.entity_index.rev.scope:
  19. parent: multiversion.entity_index.rev
  20. scope: prototype
  21. multiversion.entity_index.rev.tree.scope:
  22. parent: multiversion.entity_index.rev.tree
  23. scope: prototype
  24. # Indexes
  25. multiversion.entity_index.sequence:
  26. class: Drupal\multiversion\Entity\Index\SequenceIndex
  27. arguments: ['@keyvalue.sorted_set', '@workspace.manager', '@multiversion.manager']
  28. multiversion.entity_index.id:
  29. class: Drupal\multiversion\Entity\Index\EntityIndex
  30. arguments: ['@keyvalue', '@workspace.manager']
  31. multiversion.entity_index.uuid:
  32. class: Drupal\multiversion\Entity\Index\UuidIndex
  33. arguments: ['@keyvalue', '@workspace.manager']
  34. multiversion.entity_index.rev:
  35. class: Drupal\multiversion\Entity\Index\RevisionIndex
  36. arguments: ['@keyvalue', '@workspace.manager']
  37. multiversion.entity_index.rev.tree:
  38. class: Drupal\multiversion\Entity\Index\RevisionTreeIndex
  39. arguments: ['@keyvalue', '@workspace.manager', '@multiversion.entity_index.factory']
  40. multiversion.entity.query.sql:
  41. class: Drupal\multiversion\Entity\Query\Sql\QueryFactory
  42. arguments: ['@database']
  43. multiversion.manager:
  44. class: Drupal\multiversion\MultiversionManager
  45. arguments: ['@workspace.manager', '@serializer', '@entity.manager', '@state', '@language_manager', '@cache.discovery', '@database', '@entity_field.manager', '@event_dispatcher']
  46. calls:
  47. - [setContainer, ['@service_container']]
  48. workspace.manager:
  49. class: Drupal\multiversion\Workspace\WorkspaceManager
  50. arguments: ['@request_stack', '@entity_type.manager', '@current_user', '@logger.channel.workspace']
  51. calls:
  52. - [setContainer, ['@service_container']]
  53. tags:
  54. - { name: service_collector, tag: workspace_negotiator, call: addNegotiator }
  55. workspace.conflict_tracker:
  56. class: Drupal\multiversion\Workspace\ConflictTracker
  57. arguments: ['@keyvalue', '@workspace.manager']
  58. cache_context.workspace:
  59. class: Drupal\multiversion\WorkspaceCacheContext
  60. arguments: ['@workspace.manager']
  61. tags:
  62. - { name: cache.context }
  63. multiversion.plugin.manager.block:
  64. decorates: plugin.manager.block
  65. class: Drupal\multiversion\Block\BlockManager
  66. decoration_priority: 50
  67. parent: default_plugin_manager
  68. arguments: ['@logger.channel.default', '@database', '@workspace.manager']
  69. logger.channel.workspace:
  70. parent: logger.channel_base
  71. arguments: ['cron']
  72. # @todo: {@link https://www.drupal.org/node/2597414 Simplify the container
  73. # definition for negotiators.}
  74. workspace.negotiator.default:
  75. class: Drupal\multiversion\Workspace\DefaultWorkspaceNegotiator
  76. calls:
  77. - [setContainer, ['@service_container']]
  78. - [setCurrentUser, ['@current_user']]
  79. - [setWorkspaceManager, ['@workspace.manager']]
  80. tags:
  81. - { name: workspace_negotiator, priority: 0 }
  82. workspace.negotiator.cron:
  83. class: Drupal\multiversion\Workspace\CronWorkspaceNegotiator
  84. arguments: ['@state']
  85. calls:
  86. - [setContainer, ['@service_container']]
  87. - [setCurrentUser, ['@current_user']]
  88. - [setWorkspaceManager, ['@workspace.manager']]
  89. tags:
  90. - { name: workspace_negotiator, priority: 100 }
  91. workspace.negotiator.session:
  92. class: Drupal\multiversion\Workspace\SessionWorkspaceNegotiator
  93. arguments: ['@user.private_tempstore']
  94. calls:
  95. - [setContainer, ['@service_container']]
  96. - [setCurrentUser, ['@current_user']]
  97. - [setWorkspaceManager, ['@workspace.manager']]
  98. tags:
  99. - { name: workspace_negotiator, priority: 200 }
  100. conflict.complexlca_resolver:
  101. class: Drupal\multiversion\Entity\Index\ComplexLcaResolver
  102. tags:
  103. - { name: lca_resolver, priority: 20 }
  104. multiversion.serializer.normalizer.workspace_reference_item:
  105. class: Drupal\multiversion\Normalizer\WorkspaceReferenceItemNormalizer
  106. tags:
  107. - { name: normalizer, priority: 50 }
  108. multiversion.alias_storage:
  109. decorates: 'path.alias_storage'
  110. class: Drupal\multiversion\AliasStorage
  111. arguments: ['@database', '@module_handler', '@workspace.manager', '@entity_type.manager', '@state']
  112. public: false
  113. decoration_priority: 50
  114. tags:
  115. - { name: backend_overridable }
  116. # The decorated service must remain public in order to not break views
  117. # (de-)serialization.
  118. # See https://www.drupal.org/project/multiversion/issues/2973609
  119. multiversion.route_provider:
  120. decorates: 'router.route_provider'
  121. class: Drupal\multiversion\RouteProvider
  122. arguments: ['@database', '@state', '@path.current', '@cache.data', '@path_processor_manager', '@cache_tags.invalidator', 'router', '@language_manager', '@workspace.manager']
  123. decoration_priority: 50
  124. tags:
  125. - { name: event_subscriber }
  126. - { name: backend_overridable }
  127. multiversion.node_revision_route_subscriber:
  128. class: Drupal\multiversion\EventSubscriber\NodeRevisionRouteSubscriber
  129. tags:
  130. - { name: event_subscriber }
  131. multiversion.menu_content_link_migrate_subscriber:
  132. class: Drupal\multiversion\EventSubscriber\MenuLinkContentMigrateSubscriber
  133. arguments: ['@database', '@plugin.manager.menu.link']
  134. tags:
  135. - { name: event_subscriber }
  136. multiversion.file_usage_migrate_subscriber:
  137. class: Drupal\multiversion\EventSubscriber\FileUsageMigrateSubscriber
  138. arguments: ['@database', '@module_handler']
  139. tags:
  140. - { name: event_subscriber }
  141. multiversion.search_api_migrate_subscriber:
  142. class: Drupal\multiversion\EventSubscriber\SearchApiMigrateSubscriber
  143. arguments: ['@module_handler', '@entity_type.manager']
  144. tags:
  145. - { name: event_subscriber }
  146. multiversion.pathauto_alias_subscriber:
  147. class: Drupal\multiversion\EventSubscriber\PathAutoAliasSubscriber
  148. arguments: ['@state']
  149. tags:
  150. - { name: event_subscriber }

Services

Namesort descending Description
cache_context.workspace Drupal\multiversion\WorkspaceCacheContext
conflict.complexlca_resolver Drupal\multiversion\Entity\Index\ComplexLcaResolver
logger.channel.workspace
multiversion.alias_storage Drupal\multiversion\AliasStorage
multiversion.entity.query.sql Drupal\multiversion\Entity\Query\Sql\QueryFactory
multiversion.entity_index.factory Drupal\multiversion\Entity\Index\MultiversionIndexFactory
multiversion.entity_index.id Drupal\multiversion\Entity\Index\EntityIndex
multiversion.entity_index.id.scope
multiversion.entity_index.rev Drupal\multiversion\Entity\Index\RevisionIndex
multiversion.entity_index.rev.scope
multiversion.entity_index.rev.tree Drupal\multiversion\Entity\Index\RevisionTreeIndex
multiversion.entity_index.rev.tree.scope
multiversion.entity_index.sequence Drupal\multiversion\Entity\Index\SequenceIndex
multiversion.entity_index.sequence.scope
multiversion.entity_index.uuid Drupal\multiversion\Entity\Index\UuidIndex
multiversion.entity_index.uuid.scope
multiversion.file_usage_migrate_subscriber Drupal\multiversion\EventSubscriber\FileUsageMigrateSubscriber
multiversion.manager Drupal\multiversion\MultiversionManager
multiversion.menu_content_link_migrate_subscriber Drupal\multiversion\EventSubscriber\MenuLinkContentMigrateSubscriber
multiversion.node_revision_route_subscriber Drupal\multiversion\EventSubscriber\NodeRevisionRouteSubscriber
multiversion.pathauto_alias_subscriber Drupal\multiversion\EventSubscriber\PathAutoAliasSubscriber
multiversion.plugin.manager.block Drupal\multiversion\Block\BlockManager
multiversion.route_provider Drupal\multiversion\RouteProvider
multiversion.search_api_migrate_subscriber Drupal\multiversion\EventSubscriber\SearchApiMigrateSubscriber
multiversion.serializer.normalizer.workspace_reference_item Drupal\multiversion\Normalizer\WorkspaceReferenceItemNormalizer
workspace.conflict_tracker Drupal\multiversion\Workspace\ConflictTracker
workspace.manager Drupal\multiversion\Workspace\WorkspaceManager
workspace.negotiator.cron Drupal\multiversion\Workspace\CronWorkspaceNegotiator
workspace.negotiator.default Drupal\multiversion\Workspace\DefaultWorkspaceNegotiator
workspace.negotiator.session Drupal\multiversion\Workspace\SessionWorkspaceNegotiator