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_cartopimcore_data-object_car. Old indexes are not deleted automatically. You need to delete them manually if necessary. - [Searching] Added new
ClassIdsFiltermodifier 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-clientand 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\DefaultSearchPimcore\Bundle\GenericDataIndexBundle\Enum\SearchIndex\OpenSearch->Pimcore\Bundle\GenericDataIndexBundle\Enum\SearchIndex\DefaultSearch
- Removed deprecated class
Pimcore\Bundle\GenericDataIndexBundle\Exception\OpenSearch\SearchFailedExceptionplease usePimcore\Bundle\GenericDataIndexBundle\Exception\OpenSearch\SearchFailedExceptioninstead - Removed deprecated class
Pimcore\Bundle\GenericDataIndexBundle\Attribute\OpenSearch\AsSearchModifierHandlerplease usePimcore\Bundle\GenericDataIndexBundle\Attribute\Search\AsSearchModifierHandlerinstead - Removed deprecated class
Pimcore\Bundle\GenericDataIndexBundle\SearchIndexAdapter\OpenSearch\Asset\FieldDefinitionAdapter\AbstractAdapterplease usePimcore\Bundle\GenericDataIndexBundle\SearchIndexAdapter\DefaultSearch\Asset\FieldDefinitionAdapter\AbstractAdapterinstead - Removed deprecated class
Pimcore\Bundle\GenericDataIndexBundle\SearchIndexAdapter\OpenSearch\DataObject\FieldDefinitionAdapter\AbstractAdapterplease usePimcore\Bundle\GenericDataIndexBundle\SearchIndexAdapter\DefaultSearch\DataObject\FieldDefinitionAdapter\AbstractAdapterinstead - 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
getIdsmethod ofPimcore\Bundle\GenericDataIndexBundle\Model\Search\Element\SearchResult\ElementSearchResult - Added
getSpecialPermissionsmethod toPimcore\Bundle\GenericDataIndexBundle\Service\Permission\ElementPermissionServiceInterfaceto get special permissions workspace language permissions for elements - Removed layout permission from
Pimcore\Bundle\GenericDataIndexBundle\Permission\DataObjectPermissionsas they are not index relevant - Removed property
isLockedfrom 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 $permissionTypeparameter with default typePermissionTypes::LISTto AssetSearchServiceInterface::searchmethodDocumentSearchServiceInterface::searchmethodDataObjectSearchServiceInterface::searchmethodElementSearchServiceInterface::searchmethod- Search services
byIdmethods now return elements based on thePermissionTypes::VIEWpermission - Added type specific interfaces for searches to avoid mixing up different search types in search services
AssetSearchnow implementsAssetSearchInterfaceDocumentSearchnow implementsDocumentSearchInterfaceElementSearchnow implementsElementSearchInterface
- Search services now require the specific search type for the search
AssetSearchServiceInterface::searchnow requires aAssetSearchInterfaceDocumentSearchServiceInterface::searchnow requires aDocumentSearchInterfaceElementSearchServiceInterface::searchnow requires aElementSearchInterface
SearchProviderInterfacenow 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-clientwhich 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\SearchClientInterfacewhich 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