Upgrade Information
Following steps are necessary during updating to newer versions.
Upgrade to 2.0.0
- [Indexing] Added inherited fields indicator to data object indexing
- [Indexing] Added functionality to enqueue dependent items
- [Indexing] Added class ID field for data object elements
- [Indexing] Added prefix for index names of data objects, these names changed from e.g.
pimcore_car
topimcore_data-object_car
. Old indexes are not deleted automatically. You need to delete them manually if necessary. - [Searching] Added new
ClassIdsFilter
modifier to search for data object elements by class ID or class name - Added a new method
isElementLocked()
to theElementLockService
, which provides functionality to retrieve element locked status based on the index data - Execute the following command to reindex all elements to be able to use all new features:
bin/console generic-data-index:update:index -r
BC-Breaks
- Removed deprecated alias
generic-data-index.opensearch-client
and replaced it withgeneric-data-index.search-client
- Removed all deprecated classes from OpenSearch namespaces and replaced them with DefaultSearch namespace instead.
Pimcore\Bundle\GenericDataIndexBundle\Model\OpenSearch
->Pimcore\Bundle\GenericDataIndexBundle\Model\DefaultSearch
Pimcore\Bundle\GenericDataIndexBundle\Enum\SearchIndex\OpenSearch
->Pimcore\Bundle\GenericDataIndexBundle\Enum\SearchIndex\DefaultSearch
- Removed deprecated class
Pimcore\Bundle\GenericDataIndexBundle\Exception\OpenSearch\SearchFailedException
please usePimcore\Bundle\GenericDataIndexBundle\Exception\OpenSearch\SearchFailedException
instead - Removed deprecated class
Pimcore\Bundle\GenericDataIndexBundle\Attribute\OpenSearch\AsSearchModifierHandler
please usePimcore\Bundle\GenericDataIndexBundle\Attribute\Search\AsSearchModifierHandler
instead - Removed deprecated class
Pimcore\Bundle\GenericDataIndexBundle\SearchIndexAdapter\OpenSearch\Asset\FieldDefinitionAdapter\AbstractAdapter
please usePimcore\Bundle\GenericDataIndexBundle\SearchIndexAdapter\DefaultSearch\Asset\FieldDefinitionAdapter\AbstractAdapter
instead - Removed deprecated class
Pimcore\Bundle\GenericDataIndexBundle\SearchIndexAdapter\OpenSearch\DataObject\FieldDefinitionAdapter\AbstractAdapter
please usePimcore\Bundle\GenericDataIndexBundle\SearchIndexAdapter\DefaultSearch\DataObject\FieldDefinitionAdapter\AbstractAdapter
instead - Added default prefix
data-object_
prefix to all data object class definition index names. This change is necessary to avoid conflicts with other index names. - Add element type to the
getIds
method ofPimcore\Bundle\GenericDataIndexBundle\Model\Search\Element\SearchResult\ElementSearchResult
- Added
getSpecialPermissions
method toPimcore\Bundle\GenericDataIndexBundle\Service\Permission\ElementPermissionServiceInterface
to get special permissions workspace language permissions for elements - Removed layout permission from
Pimcore\Bundle\GenericDataIndexBundle\Permission\DataObjectPermissions
as they are not index relevant - Removed property
isLocked
from Index for elements as it needs to be dynamically calculated - Changed workspace permissions evaluation in order to align more with the Pimcore Classic bundle permission system
Interface changes
- Added
PermissionTypes $permissionType
parameter with default typePermissionTypes::LIST
to AssetSearchServiceInterface::search
methodDocumentSearchServiceInterface::search
methodDataObjectSearchServiceInterface::search
methodElementSearchServiceInterface::search
method- Search services
byId
methods now return elements based on thePermissionTypes::VIEW
permission - Added type specific interfaces for searches to avoid mixing up different search types in search services
AssetSearch
now implementsAssetSearchInterface
DocumentSearch
now implementsDocumentSearchInterface
ElementSearch
now implementsElementSearchInterface
- Search services now require the specific search type for the search
AssetSearchServiceInterface::search
now requires aAssetSearchInterface
DocumentSearchServiceInterface::search
now requires aDocumentSearchInterface
ElementSearchServiceInterface::search
now requires aElementSearchInterface
SearchProviderInterface
now returns type specific search interfaces
Upgrade to 1.3.0
- [Indexing] Added support for Elasticsearch in parallel to Opensearch. Opensearch remains the default search technology. If you are using Elasticsearch, you need to update your symfony configuration as follows:
pimcore_generic_data_index:
index_service:
client_params:
client_name: default
client_type: 'elasticsearch'
-
[Indexing] Introduced new service alias
generic-data-index.search-client
. This will replace deprecated aliasgeneric-data-index.opensearch-client
which will be removed in the next major version. The new service alias can be used to inject the search client into your services. This search client is an instance ofPimcore\SearchClient\SearchClientInterface
which is a common interface for OpenSearch and Elasticsearch clients. -
Classes under OpenSearch namespaces are now deprecated and will be removed in the next major version. Please use the classes under the DefaultSearch namespace instead.
-
Execute the following command to reindex all elements to be able to use all new features or when switching between OpenSearch and Elasticsearch:
bin/console generic-data-index:update:index
Upgrade to 1.1.0
-
Execute the following command to reindex all elements to be able to use all new features:
bin/console generic-data-index:update:index