Details
-
Story
-
Resolution: None
-
High
-
3.0.0-beta1, 3.0.0-beta2
-
[3.0] - Sprint 24
-
8
Description
Summary
Our ezpublish-kernel codebase still uses interfaces from the \eZ\Publish\Core\Persistence\Database namespace and their implementations in the \eZ\Publish\Core\Persistence\Doctrine namespace.
They've been deprecated since eZ Platform v1.13 (ezpublish-kernel v6.13) in favor of \Doctrine\DBAL which provides easier to use, richer, and more powerful DB abstraction.
This Story has been estimated as complex because we need to rewrite at least:
- Persistence Handlers,
- Criterion handlers for Legacy Search Engine (probably will yield BC breaks),
- Some tests.
Further changes will be discovered when working on this.
It is recommended that EZP-24921 and EZP-30922 are done right after this one, within the scope of the eZ Platform v3.0 final.
Full (hopefully) list of classes to be refactored:
Misc (and small):
- \eZ\Bundle\EzPublishCoreBundle\Imagine\VariationPurger\LegacyStorageImageFileRowReader
- \eZ\Bundle\EzPublishIOBundle\Migration\FileLister\FileRowReader\LegacyStorageFileRowReader
- \eZ\Publish\Core\Persistence\Legacy\TransactionHandler
- \eZ\Publish\Core\Persistence\Legacy\User\Role\LimitationHandler\ObjectStateHandler
- \eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter\RelationListConverter
Legacy Storage Content Model gateways (EZP-31088):
- \eZ\Publish\Core\Persistence\Legacy\Content\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Persistence\Legacy\Content\Language\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Persistence\Legacy\Content\Location\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Persistence\Legacy\Content\Section\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Persistence\Legacy\Content\ObjectState\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Persistence\Legacy\Content\Type\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Persistence\Legacy\Content\UrlWildcard\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Persistence\Legacy\User\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Persistence\Legacy\User\Role\Gateway\DoctrineDatabase
Legacy Storage URL Query Criterion Handler gateways (EZP-31300):
- \eZ\Publish\Core\Persistence\Legacy\URL\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriteriaConverter
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\Base
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\LogicalAnd
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\LogicalNot
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\LogicalOr
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\MatchAll
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\MatchNone
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\Pattern
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\SectionIdentifier
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\SectionId
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\Validity
- \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler\VisibleOnly
Legacy Search Engine Word Indexer gateways (EZP-31301):
- \eZ\Publish\Core\Search\Legacy\Content\WordIndexer\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Search\Legacy\Content\WordIndexer\Repository\SearchIndex
Search Engine Indexers (EZP-31517):
- \eZ\Publish\Core\Search\Common\Indexer
- \eZ\Publish\Core\Search\Common\IncrementalIndexer
- \eZ\Publish\Core\Search\Legacy\Content\Indexer
- \EzSystems\EzPlatformSolrSearchEngine\Indexer
Legacy Search Engine gateways, Criteria and Sort clause handlers (EZP-31302):
- \eZ\Publish\Core\Search\Legacy\Content\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\Collection
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\ContentId
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\ContentTypeGroupId
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\ContentTypeId
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\ContentTypeIdentifier
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\Converter
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\DateMetadata
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\Field
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\FieldBase
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\FieldEmpty
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\FieldRelation
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\FullText
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\Handler
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\Keyword
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\LanguageCode
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\LogicalAnd
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\LogicalNot
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\LogicalOr
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\MapLocationDistance
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\MatchAll
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\MatchNone
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\ObjectStateId
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\RemoteId
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\SectionId
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\Simple
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriterionHandler\UserMetadata
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\CriterionHandler\Ancestor
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\CriterionHandler\Location\Depth
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\CriterionHandler\LocationId
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\CriterionHandler\Location\IsMainLocation
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\CriterionHandler\Location\Priority
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\CriterionHandler\LocationRemoteId
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\CriterionHandler\ParentLocationId
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\CriterionHandler\Subtree
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\CriterionHandler\Visibility
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\SortClauseHandler
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\SortClauseHandler\AbstractRandom
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\SortClauseHandler\ContentId
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\SortClauseHandler\ContentName
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\SortClauseHandler\DateModified
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\SortClauseHandler\DatePublished
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\SortClauseHandler\Field
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\SortClauseHandler\MapLocationDistance
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\SortClauseHandler\SectionIdentifier
- \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\SortClauseHandler\SectionName
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\DoctrineDatabase
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\SortClauseHandler\Location\Depth
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\SortClauseHandler\Location\Id
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\SortClauseHandler\Location\IsMainLocation
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\SortClauseHandler\Location\Path
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\SortClauseHandler\Location\Priority
- \eZ\Publish\Core\Search\Legacy\Content\Location\Gateway\SortClauseHandler\Location\Visibility
Attachments
Issue Links
- blocks
-
EZP-24921 As a Maintainer I want Legacy Storage Engine extracted out of kernel
- Specification Done
-
EZP-30922 As a Maintainer I want Legacy Search Engine to be extracted out of kernel
- Specification Done
- discovered while testing
-
EZP-30624 As a Maintainer I want deprecated Kernel SQL schema files to be dropped
- Closed
- relates to
-
EZEE-2992 As a Developer I want to replace DatabaseHandler with Doctrine Connection in EE packages
- Closed
-
EZP-30621 As a Developer I want Kernel LegacyStorage gateways to be dropped
- Closed
- testing discovered
-
EZP-30754 Doctrine error when trying to update only the 'always_available' metadata of a Content
- Closed
-
EZP-31123 Some properties in Doctrine Gateways and persistence handlers are not cast
- Closed
1.
|
Refactor Legacy Storage Content Model gateways to use Doctrine\DBAL | Closed | Unassigned | ||||||||
2.
|
Refactor Test setup to stop relying on Database Handler | Closed | Unassigned |
|
|||||||
3.
|
Refactor Legacy Storage URL Query Criterion Handler gateways to use Doctrine\DBAL | Closed | Unassigned | ||||||||
4.
|
Refactor Legacy Search Engine Word Indexer gateways to use Doctrine\DBAL | Closed | Unassigned | ||||||||
5.
|
Refactor Legacy Search Engine gateways, Criteria and Sort clause handlers to use Doctrine\DBAL | Closed | Unassigned | ||||||||
6.
|
Refactor Legacy Search Engine Sort Clause gateways to use Doctrine\DBAL | Closed | Unassigned | ||||||||
7.
|
Drop unused and deprecated ezplatform:solr_create_index which relies on DatabaseHandler | Closed | Unassigned | ||||||||
8.
|
Replace DatabaseHandler with Connection in Solr Setup Factory | Closed | Unassigned | ||||||||
9.
|
Refactor Search Indexers use Doctrine\DBAL | Closed | Unassigned |