workspaces.services.yml

core/modules/workspaces/workspaces.services.yml

File

core/modules/workspaces/workspaces.services.yml

View source
  1. parameters:
  2. workspaces.skip_procedural_hook_scan: true
  3. services:
  4. _defaults:
  5. autoconfigure: true
  6. workspaces.manager:
  7. class: Drupal\workspaces\WorkspaceManager
  8. autowire: true
  9. tags:
  10. - { name: service_collector, call: addNegotiator, tag: workspace_negotiator }
  11. Drupal\workspaces\WorkspaceManagerInterface: '@workspaces.manager'
  12. workspaces.information:
  13. class: Drupal\workspaces\WorkspaceInformation
  14. autowire: true
  15. Drupal\workspaces\WorkspaceInformationInterface: '@workspaces.information'
  16. workspaces.operation_factory:
  17. class: Drupal\workspaces\WorkspaceOperationFactory
  18. autowire: true
  19. Drupal\workspaces\WorkspaceOperationFactory: '@workspaces.operation_factory'
  20. workspaces.association:
  21. class: Drupal\workspaces\WorkspaceAssociation
  22. arguments: ['@workspaces.tracker']
  23. deprecated: The "%service_id%" service is deprecated in drupal:11.3.0 and is removed from drupal:12.0.0. Use the 'workspaces.tracker' service instead. See https://www.drupal.org/node/3551450
  24. Drupal\workspaces\WorkspaceAssociationInterface: '@workspaces.association'
  25. workspaces.tracker:
  26. class: Drupal\workspaces\WorkspaceTracker
  27. autowire: true
  28. tags:
  29. - { name: backend_overridable }
  30. Drupal\workspaces\WorkspaceTrackerInterface: '@workspaces.tracker'
  31. workspaces.repository:
  32. class: Drupal\workspaces\WorkspaceRepository
  33. arguments: ['@entity_type.manager', '@cache.default']
  34. Drupal\workspaces\WorkspaceRepositoryInterface: '@workspaces.repository'
  35. Drupal\workspaces\Provider\WorkspaceProviderCollector:
  36. autowire: true
  37. Drupal\workspaces\Provider\DefaultWorkspaceProvider:
  38. autowire: true
  39. workspaces.negotiator.session:
  40. class: Drupal\workspaces\Negotiator\SessionWorkspaceNegotiator
  41. arguments: ['@current_user', '@session', '@entity_type.manager']
  42. tags:
  43. - { name: workspace_negotiator, priority: 50 }
  44. workspaces.negotiator.query_parameter:
  45. class: Drupal\workspaces\Negotiator\QueryParameterWorkspaceNegotiator
  46. parent: workspaces.negotiator.session
  47. tags:
  48. - { name: workspace_negotiator, priority: 100 }
  49. access_check.workspaces.active_workspace:
  50. class: Drupal\workspaces\Access\ActiveWorkspaceCheck
  51. arguments: ['@workspaces.manager']
  52. tags:
  53. - { name: access_check, applies_to: _has_active_workspace }
  54. workspaces.entity_schema_listener:
  55. class: Drupal\workspaces\EventSubscriber\EntitySchemaSubscriber
  56. arguments: ['@entity.definition_update_manager', '@entity.last_installed_schema.repository', '@workspaces.information']
  57. workspaces.workspace_subscriber:
  58. class: Drupal\workspaces\EventSubscriber\WorkspaceRequestSubscriber
  59. arguments: ['@router.route_provider', '@workspaces.manager']
  60. Drupal\workspaces\EventSubscriber\WorkspaceSwitchSubscriber:
  61. autowire: true
  62. cache_context.workspace:
  63. class: Drupal\workspaces\WorkspaceCacheContext
  64. arguments: ['@workspaces.manager']
  65. tags:
  66. - { name: cache.context }
  67. logger.channel.workspaces:
  68. parent: logger.channel_base
  69. arguments: ['workspaces']
  70. workspaces.lazy_builders:
  71. class: Drupal\workspaces\WorkspacesLazyBuilders
  72. arguments: [ '@workspaces.manager', '@plugin.manager.element_info' ]
  73. Drupal\workspaces\WorkspacesLazyBuilders: '@workspaces.lazy_builders'
  74. workspaces.entity.repository:
  75. decorates: entity.repository
  76. class: Drupal\workspaces\WorkspacesEntityRepository
  77. arguments: ['@.inner', '@workspaces.manager']
  78. public: false
  79. workspaces.entity.query.sql:
  80. decorates: entity.query.sql
  81. class: Drupal\workspaces\EntityQuery\QueryFactory
  82. arguments: ['@database', '@workspaces.manager', '@workspaces.information']
  83. public: false
  84. decoration_priority: 50
  85. tags:
  86. - { name: backend_overridable }
  87. workspaces.menu.tree_storage:
  88. decorates: menu.tree_storage
  89. class: Drupal\workspaces\WorkspacesMenuTreeStorage
  90. arguments: ['@workspaces.manager', '@workspaces.tracker', '@entity_type.manager', '@database', '@cache.menu', '@cache_tags.invalidator', 'menu_tree']
  91. public: false
  92. decoration_priority: 50
  93. tags:
  94. - { name: backend_overridable }
  95. workspaces.controller.entity_form:
  96. # Decorate the entity form controller to handle entity operations inside a
  97. # workspace.
  98. decorates: controller.entity_form
  99. class: Drupal\workspaces\Controller\WorkspacesHtmlEntityFormController
  100. public: false
  101. arguments: ['@.inner', '@workspaces.manager', '@workspaces.information', '@typed_data_manager']
  102. Drupal\workspaces\Controller\WorkspacesHtmlEntityFormController: '@workspaces.controller.entity_form'
  103. Drupal\workspaces\WorkspacesCron:
  104. decorates: cron
  105. decoration_priority: -100
  106. autowire: true
  107. public: false

Services

Title Deprecated Summary
access_check.workspaces.active_workspace Drupal\workspaces\Access\ActiveWorkspaceCheck
cache_context.workspace Drupal\workspaces\WorkspaceCacheContext
Drupal\workspaces\EventSubscriber\WorkspaceSwitchSubscriber
Drupal\workspaces\Provider\DefaultWorkspaceProvider
Drupal\workspaces\Provider\WorkspaceProviderCollector
Drupal\workspaces\WorkspacesCron
logger.channel.workspaces
workspaces.association Drupal\workspaces\WorkspaceAssociation
workspaces.controller.entity_form Drupal\workspaces\Controller\WorkspacesHtmlEntityFormController
workspaces.entity.query.sql Drupal\workspaces\EntityQuery\QueryFactory
workspaces.entity.repository Drupal\workspaces\WorkspacesEntityRepository
workspaces.entity_schema_listener Drupal\workspaces\EventSubscriber\EntitySchemaSubscriber
workspaces.information Drupal\workspaces\WorkspaceInformation
workspaces.lazy_builders Drupal\workspaces\WorkspacesLazyBuilders
workspaces.manager Drupal\workspaces\WorkspaceManager
workspaces.menu.tree_storage Drupal\workspaces\WorkspacesMenuTreeStorage
workspaces.negotiator.query_parameter Drupal\workspaces\Negotiator\QueryParameterWorkspaceNegotiator
workspaces.negotiator.session Drupal\workspaces\Negotiator\SessionWorkspaceNegotiator
workspaces.operation_factory Drupal\workspaces\WorkspaceOperationFactory
workspaces.repository Drupal\workspaces\WorkspaceRepository
workspaces.tracker Drupal\workspaces\WorkspaceTracker
workspaces.workspace_subscriber Drupal\workspaces\EventSubscriber\WorkspaceRequestSubscriber
_defaults

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.