Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-29420

Symfony 4.x: Repository Api Loader using private services for lazy loading

    Details

    • Type: Story Story
    • Status: Backlog
    • Priority: High High
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Symfony
    • Labels:
      None

      Description

      Examples:

      We may be able to implement lazy loading using internal mechanisms.

        Activity

        Bertrand Dunogier created issue -
        Bertrand Dunogier made changes -
        Field Original Value New Value
        Component/s Symfony [ 13841 ]
        Bertrand Dunogier made changes -
        Description Example: https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Publish/Core/Base/Container/ApiLoader/Storage/ExternalStorageRegistryFactory.php#L36.

        We may be able to implement lazy loading using internal mechanisms.
        Examples:
        - https://github.com/ezsystems/ezpublish-[ApiLoader/Storage/ExternalStorageRegistryFactory.php|kernel/blob/master/eZ/Publish/Core/Base/Container/ApiLoader/Storage/ExternalStorageRegistryFactory.php#L36].
        - [ApiLoader/RepositoryFactory.php|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Bundle/EzPublishCoreBundle/ApiLoader/RepositoryFactory.php#L98]

        We may be able to implement lazy loading using internal mechanisms.
        Bertrand Dunogier made changes -
        Description Examples:
        - https://github.com/ezsystems/ezpublish-[ApiLoader/Storage/ExternalStorageRegistryFactory.php|kernel/blob/master/eZ/Publish/Core/Base/Container/ApiLoader/Storage/ExternalStorageRegistryFactory.php#L36].
        - [ApiLoader/RepositoryFactory.php|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Bundle/EzPublishCoreBundle/ApiLoader/RepositoryFactory.php#L98]

        We may be able to implement lazy loading using internal mechanisms.
        Examples:
        - [ApiLoader/Storage/ExternalStorageRegistryFactory.php|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Publish/Core/Base/Container/ApiLoader/Storage/ExternalStorageRegistryFactory.php#L36].
        - [ApiLoader/RepositoryFactory.php|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Bundle/EzPublishCoreBundle/ApiLoader/RepositoryFactory.php#L98].

        We may be able to implement lazy loading using internal mechanisms.
        Bertrand Dunogier made changes -
        Description Examples:
        - [ApiLoader/Storage/ExternalStorageRegistryFactory.php|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Publish/Core/Base/Container/ApiLoader/Storage/ExternalStorageRegistryFactory.php#L36].
        - [ApiLoader/RepositoryFactory.php|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Bundle/EzPublishCoreBundle/ApiLoader/RepositoryFactory.php#L98].

        We may be able to implement lazy loading using internal mechanisms.
        Examples:
        - [ApiLoader/Storage/ExternalStorageRegistryFactory.php|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Publish/Core/Base/Container/ApiLoader/Storage/ExternalStorageRegistryFactory.php#L36]
        - [ApiLoader/RepositoryFactory.php|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Bundle/EzPublishCoreBundle/ApiLoader/RepositoryFactory.php#L98]
        - {{ApiLoader/Storage/ExternalStorageRegistryFactory.php}}
        - {{ezpublish.fieldType.*}}, in {{ApiLoader/FieldTypeCollectionFactory.php}}

        We may be able to implement lazy loading using internal mechanisms.
        Bertrand Dunogier made changes -
        Description Examples:
        - [ApiLoader/Storage/ExternalStorageRegistryFactory.php|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Publish/Core/Base/Container/ApiLoader/Storage/ExternalStorageRegistryFactory.php#L36]
        - [ApiLoader/RepositoryFactory.php|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Bundle/EzPublishCoreBundle/ApiLoader/RepositoryFactory.php#L98]
        - {{ApiLoader/Storage/ExternalStorageRegistryFactory.php}}
        - {{ezpublish.fieldType.*}}, in {{ApiLoader/FieldTypeCollectionFactory.php}}

        We may be able to implement lazy loading using internal mechanisms.
        Examples:
        - [{{ApiLoader/Storage/ExternalStorageRegistryFactory.php}}|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Publish/Core/Base/Container/ApiLoader/Storage/ExternalStorageRegistryFactory.php#L36]
        - [{{ApiLoader/RepositoryFactory.php}}|https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Bundle/EzPublishCoreBundle/ApiLoader/RepositoryFactory.php#L98]
        - {{ApiLoader/Storage/ExternalStorageRegistryFactory.php}}
        - {{ezpublish.fieldType.*}}, in {{ApiLoader/FieldTypeCollectionFactory.php}}

        We may be able to implement lazy loading using internal mechanisms.
        Hide
        Andrzej Longosz added a comment -

        We need to identify cases were code can be rewritten to fully utilize Dependency Injection Container. ExternalStorageRegistryFactory is a good example - it can be improved so it gets Symfony !tagged list of services instead of trying to get services by id.

        In other cases indeed lazy loading might be the only option (especially when it comes to configuration provider for Repository).

        Show
        Andrzej Longosz added a comment - We need to identify cases were code can be rewritten to fully utilize Dependency Injection Container. ExternalStorageRegistryFactory is a good example - it can be improved so it gets Symfony !tagged list of services instead of trying to get services by id. In other cases indeed lazy loading might be the only option (especially when it comes to configuration provider for Repository).
        Bertrand Dunogier made changes -
        Epic Link EZP-29409 [ 63552 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Bertrand Dunogier
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated: