Pimcore 11 - why you can't afford to miss out
Step into the future with insights from Tandemite on the game-changing features of Pimcore 11. Discover how the latest update of the Pimcore Core Framework can be the tool your business needs to not just keep up, but lead in the ever-evolving digital landscape. Let's dive into the world of unlimited possibilities with Pimcore 11!
The digital landscape is a relentlessly moving frontier, challenging businesses to adapt or risk falling behind. At Tandemite, we understand the need for continuous evolution to meet these challenges. That's why we're thrilled to share our insights about Pimcore 11, the latest version of the Pimcore Core Framework, which, we believe, can equip businesses with the tools they need to thrive amidst today's competitive digital landscape. Let’s start!
What is a Major Release all about?
Before we go further, it’s important to understand the difference between a minor update and the major one.
A normal update primarily addresses immediate issues like bug fixes, small feature enhancements, performance improvements, and security patches - essentially, these are minor modifications to the existing system.
On the contrary, a major release goes beyond immediate concerns and paves the way for future system advancements. It involves significant undertakings such as updating third-party dependencies and system requirements, reducing technical debt, and overhauling the system to accommodate upcoming features and innovations.
In short, a normal update tweaks the existing structure, while a major release readies the software for larger strides in the future. That’s one of the reasons why updating is so crucial.
Pimcore 11: The Promise of Future-Ready Improvements
Pimcore 11 is designed to marry efficiency and scalability into a comprehensive package. This new version marks not just a step forward, but a leap into the future. Pimcore 11 introduces significant, future-ready improvements, establishing a path for the platform in the years ahead.
The latest updates in Pimcore 11 bring significant improvements and refinements across various facets of its operations.
Here are the key enhancements that impact businesses the most:
Pimcore Element Upgrades
Several methods and functionalities within the Element Interface have been adjusted or deprecated to streamline processes and enhance code reliability. These changes will require some code adjustments, but will ultimately result in more robust and maintainable software.
Asset handling has seen various refinements such as changes in metadata management, improved thumbnail handling, and removal of deprecated methods. These improvements make digital asset management more efficient and user-friendly, facilitating smoother operations.
Data Object Improvements
Data objects have seen significant changes, including removal of deprecated methods, additions of helper functions, and changes in data handling. These enhancements provide a more intuitive and efficient way of managing data objects.
Changes to document types, handling, and associated features like Areabricks and Controllers bring greater flexibility and clarity. With the simplification of document type definitions and refinements in handling, businesses can manage their digital content more efficiently.
The minimum supported PHP version is now 8.1, with added support for 8.2, ensuring compatibility with the latest technology trends and improving overall system performance.
Pimcore 11 offers an enhanced suite of tools, including Application Logger improvements, Cache System upgrades, Console Adjustments, and Email Enhancements. These upgrades improve the overall user experience, making Pimcore more efficient and easier to use.
By leveraging these new features and improvements, businesses can streamline their digital content management, reduce development time, and improve the overall quality of their digital products and services.
Are you a geek? Then, the following paragraphs are for you. We also explained what every update means for the business.
If you’re not into details, jump right to the paragraph Why should you update to Pimcore 11.
Pimcore Updates and Enhancements: A Closer Look
Pimcore 11 introduces fundamental refactorings, structural enhancements, and optimized integrations. These improvements aim to ensure the platform's performance and reliability continue to evolve. Let’s have a look at some of them.
API General Updates
Pimcore 11 has introduced native PHP types for argument types, property types, return types, and strict type declarations. This update implies a more robust, intuitive, and less error-prone system that ensures code quality, system stability, and predictability.
For businesses, this translates into lower costs for debugging, reduced risks of system crashes, and enhanced performance of your applications.
The Installer module has undergone changes to streamline the installation process. It now includes a BundleSetupEvent Event, enabling customization of available bundles during the installation process.
This level of flexibility empowers businesses to adapt Pimcore to their unique needs from the start, reducing the time and resources spent on post-installation customization.
The logging system has been revamped with the integration of Monolog 3.2, providing businesses with more sophisticated, versatile, and useful logging capabilities.
This upgrade allows for better tracking and understanding of system events, leading to faster detection and resolution of issues, improved system security, and overall better insights into system operations.
Third-Party Dependency Upgrades
There has been a major clean-up of unused Symfony packages and an upgrade of other vital packages like matomo/device-detector to version 6.0 and mjaschen/phpgeo to version 4.0.
These upgrades offer businesses the benefits of better functionality, security, support, and performance from these third-party tools.
Admin UI General Updates
Pimcore 11 has reengineered its navigation building process, making it easier than ever to add main and submenus.
This allows businesses to customize their data management workspace, thereby increasing productivity by organizing menus according to their specific needs and workflow.
Pimcore 11 has prioritized security by enabling the Content Security Policy by default and implementing Symfony's HTML sanitizer for WYSIWYG editors.
These features protect your application from potential cross-site scripting (XSS) attacks, thereby ensuring your data's integrity and the safety of your users.
Bundles General Updates
Pimcore 11 revamps its bundles handling, with the removal of support for loading bundles through extensions.php and the Extension Manager from Admin UI. Now, changes in assets like CSS and JS files require running the command 'bin/console assets:install' for each change, leading to more reliable and efficient asset management.
This approach promises businesses a more error-free environment for their applications.
Extracted Core Functionality
Pimcore 11 has moved key functionalities like Application Logger, CustomReports, Glossary, Search, SEO, and Staticroutes into their respective bundles. This modular approach makes it easier for businesses to manage, update, and customize functionalities based on their needs, contributing to improved agility and scalability.
New Bundles and Removals
Major functionalities, like the AdminBundle, System Info & Tools, File Explorer, Web2Print, Personalization and targeting, Google Marketing, and the Newsletter have been moved to their own repositories and need to be installed via composer. This results in a more organized codebase, allowing businesses to choose and maintain only the functionalities they need.
Commands & Configuration
Changes to commands and configuration contribute to better management of your Pimcore environment. Removal of deprecated methods, renaming of config files, and updating the storage format for languages, among other changes, allow for cleaner and more streamlined configurations.
Pimcore 11 now supports Gotenberg for tasks like PDF generation, conversion, merging, etc.
This new feature offers businesses an efficient tool for handling document transformations and preview generation, thereby enhancing the content management process.
Ecommerce Bundle Packaging
The ecommerce bundle has been moved to a separate package - 'pimcore/ecommerce-bundle'.
This allows businesses to add or remove the package as per their need, making the platform more adaptable and suitable for various business requirements.
Constructor Service Changes
Constructors of services such as IndexService\ProductList\DefaultMysql and IndexService\Worker\AbstractElasticSearch have been modified.
Businesses can now adapt their custom implementations to ensure they stay aligned with their specific operational needs and market dynamics.
Product Index Rebuild
The IndexService requires a product index rebuild to apply changes effectively. This is an opportunity for businesses to maintain an accurate inventory. Inaccurate inventories can lead to order cancellations and negatively impact customer satisfaction.
Therefore, this feature ensures a smooth customer experience by preventing such mishaps.
Return Type-hints Changes
The return type-hints of CheckoutableInterface methods such as getOSPrice and getOSPriceInfo have been made non-nullable. This provides more accuracy during the checkout process, potentially leading to increased conversion rates and subsequently, higher revenues.
Removal of Elasticsearch 7 Support
While this might seem like a downside, it's an indication that Pimcore is ready to move forward with newer and more powerful search tools, leading to better search capabilities on your eCommerce platform.
Enhanced Element Handling
Methods such as setParentId, setType, and setParent have been added to Pimcore\Model\Element\ElementInterface.
These additions provide businesses with greater flexibility in managing their digital elements, leading to more efficient content management.
Improved Identification Process
The methods getById, getByPath, and getElementById no longer accept the $force parameter as a boolean. Instead, they require an associative array (e.g., ['force' => true]).
This change streamlines the element identification process, leading to more accurate data retrieval and fewer errors.
Modernized Save Method
The method signature on Pimcore\Model\Element\ElementInterface::save() has been updated. This affects all classes implementing the interface, including DataObjects and Pages.
The modernized save method can lead to more efficient data storage, reducing the risk of data loss and increasing the accuracy of stored information.
Improved DateTime Display
Scheduled tasks, application logger, and notifications now display DateTime values in the local timezone for DataObjects, Assets, and Documents.
This change enhances usability by ensuring that time-specific information is always relevant and understandable to the user, regardless of their location.
Better Handling of Children/Siblings
When calling getChildren/getSiblings on AbstractObject, Document, and Asset, an unloaded listing is returned. It's now required to call load() explicitly if the list is not traversed immediately.
This update offers more control over when data is loaded, potentially improving application performance and responsiveness.
Advanced Metadata Handling
The refactored Pimcore\Model\Asset::getMetadata method now supports listing all metadata entries filtered by a specific language, without defining a specific metadata name in the parameters.
This improved approach offers businesses a more flexible, efficient way to manage metadata, ultimately enhancing their asset management processes.
Streamlined Asset Import
The deprecated Import from Server and Import from URL options have been removed.
This streamlined approach reduces confusion and potential errors, ensuring a more straightforward and effective import process.
Enhanced Thumbnail Management
Several improvements to thumbnail management have been introduced, including an improved method signature for $thumbnail->getPath(). Custom callbacks for thumbnail transformations are no longer supported, and the new package spatie/image-optimizer is now responsible for image optimization, replacing all the Image Optimizer services.
These changes pave the way for a more efficient and streamlined approach to managing image assets.
Updated WebDAV URL
The WebDAV URL has been updated, changing from https://YOUR-DOMAIN/admin/asset/webdav to https://YOUR-DOMAIN/asset/webdav.
This simplifies the URL structure and potentially makes it easier for businesses to integrate and manage WebDAV services.
Custom Asset Types
Assets can now be loaded without being restricted to a fixed namespace, enabling custom Asset Types to be configured. This provides businesses with the flexibility to create and manage custom asset types that best fit their unique needs.
Improved Setter Methods
Pimcore 11 has added return types to setter methods. This is a substantial upgrade because it increases code clarity and reduces the likelihood of bugs, resulting in more reliable data handling for businesses.
Advanced Relational Field Types
The isEqual() function for advanced relational field types no longer checks for type equality of meta fields.
This change simplifies the equality check, enhancing the efficiency of operations involving relational field types.
Changes in Object Loading
The getByXXX methods on the Concrete class now return objects and variants if nothing else is specified. However, loading non-Concrete objects with the Concrete class is no longer possible.
These updates increase precision and clarity in data object loading.
Enhanced Handling of Text Data Types
Text data types now set their corresponding database columns to null instead of '' (empty string) when empty. This ensures more accurate data representation, which is key to data integrity and proper analytics.
Global Language Switcher for Localized Fields
The introduction of a global language switcher for localized fields makes managing multilingual data far more efficient, a boon for businesses operating across multiple markets.
Simplified Video Asset Management
The ability to drop a video asset directly into a video editable in class simplifies content management, saving time and enhancing productivity.
Added features like inline asset download from relations and a confirm dialogue for the clear relations function in the class layout make managing relationships between data objects easier and safer.
Refined Class Definitions
Notably, Class Resolver no longer catches exceptions, which might assist in troubleshooting and debugging by providing more transparent error information.
Refined Document Types
The configuration of document types has been changed, with each document type now offering customizable navigational behavior and more.
This feature introduces flexibility and allows businesses to optimize their document management based on specific needs.
New Document Cleanup Command
The added pimcore:documents:cleanup command allows removal of documents with specified types and drops the related document type tables.
This is particularly useful when cleaning up after uninstalling features such as headless documents or web2print page/containers, leading to better space utilization and system performance.
Removal of Redundant Functions
Various outdated and redundant functions, like input of metadata HTML tags in the Settings section, deprecated WkHtmlToImage, and pimcore:document:types from the config, have been removed.
This decluttering simplifies the interface and reduces potential confusion, enhancing user experience.
More Control over Redirects
Moving a document in the tree no longer opens the redirect prompt asking to create redirects. Instead, creating a redirect is now configurable with pimcore:redirects:auto_create_redirects.
This feature offers greater control over site navigation, thereby improving the user experience.
Changes in Annotations
Pimcore 11 has removed the deprecated SensioFrameworkExtraBundle, which affects annotations such as @Template, @ResponseHeader, and @ParamConverter.
These should now be replaced with their respective attribute versions (e.g., #[Template]), streamlining the process and aligning with recent changes in the PHP ecosystem.
Added Chromium Support in Docker
Pimcore 11 now supports running Chromium in a Docker container for web2print and page previews, providing an additional, flexible option for generating these previews.
The default template location of AbstractTemplateAreabrick is now TEMPLATE_LOCATION_GLOBAL, centralizing the default template location and making template management more straightforward.
Through these updates, Pimcore 11's document management becomes more powerful and user-friendly, assisting businesses in their document-related workflows.
Upgraded PHP Support
The minimum supported PHP version is now 8.1, and the platform also supports PHP 8.2.
This upgrade aligns Pimcore with the most recent and secure PHP versions, ensuring improved performance, better security, and access to the latest PHP features.
Removal of Certain PHP Options
The settings for memory_limit, max_execution_time, max_input_time and display_errors have been removed.
This signifies that Pimcore 11 is taking more control over the performance parameters, ensuring optimized performance.
Pimcore 11 has replaced the deprecated Symfony\Component\HttpFoundation\RequestMatcher with Symfony\Component\HttpFoundation\ChainRequestMatcher.
This change brings improvements in the handling of HTTP requests, resulting in more efficient routing and better overall system performance.
These infrastructure updates offer a more stable, efficient, and secure environment for businesses to manage their digital assets. Embracing these changes will enable businesses to leverage the power of the latest technologies and stay ahead in the digital age.
Application Logger Improvements
Deprecated constants have been removed, with flysystem now handling fileobject storage. This change simplifies code and requires manual migration of fileobjects. Additionally, archive table naming has been adjusted for better organization.
Cache System Upgrades
The 'psr/simple-cache' dependency has been eliminated due to its lack of use in the Core, simplifying the underlying technology stack. Specific 'Cache-Control' headers will also prevent caching by the full page cache, ensuring more accurate data is delivered to users.
Several method visibility levels have been altered to private, promoting better encapsulation and improving the security of the application.
Deprecated email handling methods have been removed, with the league/html-to-markdown package also updated, making the handling of email communication more streamlined.
For effective use of custom translation domains, they must now be registered. Additionally, Symfony's HTML sanitizer has been added to the Translation save method for more secure translation handling.
Some Workflow classes have been removed, streamlining the Workflow management and making it less complex.
With these tool improvements, businesses can enjoy a smoother and more secure operation of their digital asset management, translating to better management of digital resources and increased productivity.
Why Should You Update to Pimcore 11?
The decision to update your software to the latest version isn't one to take lightly. With Pimcore 11, however, the benefits are clear and the risks of not updating are significant.
One of the most compelling reasons to update to Pimcore 11 is its forward-thinking improvements. The platform is designed to offer enhanced efficiency and scalability - two crucial elements in the competitive digital landscape.
By not updating to Pimcore 11, businesses may find themselves lacking the tools necessary to keep pace with their competitors, who have chosen to embrace this cutting-edge technology.
In addition to new improvements, it's essential to consider the "end of life" date for older versions of Pimcore. For instance, Pimcore X will reach its end of life on August 17th. Once a version reaches its end of life, it no longer receives support, security patches, or updates.
This can expose your business to security vulnerabilities, hamper your system's performance, and reduce the overall effectiveness of your data management strategy.
Moreover, not updating to the latest version can lead to compatibility issues with other software, plugins, or dependencies. Over time, this can result in a convoluted, inefficient, and potentially insecure system.
That's why we strongly advise businesses to take the leap and update to Pimcore 11.
With our expert team, the transition will be smooth, allowing your organisation to fully harness the power and potential that the newest version offers. Remember, falling behind in technology could mean falling behind in business.
Contact us so we can move your business forward along with Pimcore.
As you see, Pimcore 11 version offers a range of advancements and improvements that make it a compelling option for any organisation looking to remain competitive in the digital landscape.
Don't miss out on the opportunities Pimcore 11 brings - let us help you harness its power for your business.
Picture Source: Pimcore.
READ UP ON IT