We are a Pimcore development agency based in Manchester, UK. There are not many technologies that we go all in on but Pimcore is one of them, quite simply - we love it (for reasons I’ll outline in this article).
Members of our team have been using Pimcore a long time, probably around 10 years now (since version 1.4). In that time, we’ve seen the platform evolve dramatically but it has never lost its fundamentals as a really flexible and scalable data management platform. On top of that, come a host of features that allow content and digital assets to be easily managed across any digital space. It really is an impressive toolkit for large digital projects, read on if you’d like to understand more.
A brief history of Pimcore
Pimcore was born from a project at Austrian development agency, Elements (https://www.elements.at/en) around 2010. It began life as their in-house tech stack used for building ecommerce websites for the Austrian tourism industry. After seeing its potential to a wider community the Elements team packaged it up and released it as an open source project.
Initially Pimcore focused very much on PIM (Product Information Management) and included a useful Digital Asset Management (DAM) and document management feature. Its star feature though was its flexibility in allowing complete control over the product data modelling (no out the box expectations were set), you could use it in any way you liked. This was picked up by indie agencies around the world and used for all sorts of projects.
Since that time, we’ve seen another 7 major releases (2-6, then jumping to Pimcore X in late 2020). During those releases the platform has evolved into offering much more than simple product management. Its become an MDM (Master Data Management) solution and is now leaning heavily into Experience management as a core offering.
Who uses Pimcore
Pimcore is used by 100,000+ businesses around the world including an impressive array of big names, such as: Audi, T Mobile, Burger King, Lego, Unicef and Bloomberg. These organisations put their trust in Pimcore to power their data management needs.
Companies typically come to learn about Pimcore when looking for a PIM solution. Others when they are looking to manage digital assets.
More and more, Pimcore is being used as general data management solution.
With the addition of two important components (Ecommerce & Customer data management extensions) people are turning to Pimcore to entirely power their online stores.
The big drive now in digital commerce is around experience management and Pimcore has positioned itself as an emerging DXP (Digital Experience Platform), allowing experiences to be managed seamlessly across devices, platforms and borders.
The high-level view
Pimcore is split into 3 core applications: Document management, Asset management and Object (or data) management.
Documents are any kind of page that can be built using HTML - web pages, email templates, PDFs etc. You typically use documents to power websites built on top of Pimcore. It uses a document tree structure that is simple to organise and feels like working on your desktop, rather than a clunky CMS. Document management within Pimcore is easy, but also full featured with things like: SEO settings, property management, versioning and multi-device previews all available out the box.
Assets are any kind of digital file: images, videos, 3D files and documents like PDF, Excel and Word docs. Pimcore's Digital Asset Management (DAM) is also full featured. You can manage assets across your entire platform, manipulate assets with image editing features, control use of meta data and export assets to exterior libraries. You can also move assets around easily without worrying about losing paths on the frontend, Pimcore takes care of that.
Objects are where data is stored. Objects are configured manually so very flexible and there are lots of tools built in to help with quickly building your objects classes. There are huge benefits to storing data in object form as it can then be made available pretty much anywhere and easily manipulated.
Documents, Assets and Objects form the base set of tools within Pimcore, but there are so many more features to the framework that make it what it is.
It's a framework, not an out the box solution
One of the biggest misconceptions we get from clients in understanding how Pimcore works is them thinking it's an out the box solution that they can immediately start adding data to. It's not, but that's a really good thing!
Pimcore is a framework of tools that lets you build applications that are specific to a businesses requirements. There are no pre-existing ideas for how you should model your product data. There are no set standards for creating web pages and no rules to follow when using the DAM. Pimcore out the box gives you a blank canvas for adding content and data but comes with a tonne of features to make adding those things simple and scalable.
You build custom object classes
Pimcore comes with an object class builder (a GUI that lets you drag and drop fields into place). It gives you component blocks to build layouts for your administrators and data components to populate those with, from simple data items such as: inputs, textarea's and number fields to more complex items like: relational management, geographic fields and structured data components.
With this it's possible to build data objects that map to any business model requirements. Its 100% flexible in how you build your objects.
You can create field collections
When working on large complex PIM builds, often it is useful to predefine sets of fields you may wish to use multiple times. Pimcore allows you to do this with field collections (which are basically small data objects). Once setup you can incorporate them into your data models to reuse wherever you like.
Create object bricks
Another useful item in Pimcores data modelling is object bricks, which allow you to extend objects where base data needs to be flexible. Think of it as a small piece of an object that may or may not be included. This is useful when you have a large number of products that have differing attributes to include. Some may need power unit attributes where others need material finishing attributes. You can use object bricks to only include the attributes you need and not over complicate the admin panel for product managers.
A great new feature for Pimcore is its classification store, which allows groups of definitions to be created and added into your objects. This is great for solving problems like internationalisation of units, where one country needs to use metric and another imperial.
Bulk import and export of data is simple
When working with large datasets you need to be able to easily import and export that data and Pimcore has done a great job enabling this.
Every folder of data is easily managed via a grid view (like working in a spreadsheet) and this is simple to export straight to CSV. If you want to change what's in your grid view/spreadsheet, there is a handy dialogue box that lets you do that in a few clicks (making any attribute easy to grab). There are also lots of advanced features that let you get at the more complex data, such as language specific information saved on single attributes (want to export your product data in just Russian, no problem!).
Once you’ve got your import/export settings just right, you can easily save those as a template for next time and make that template available to you wider team.
It has a GraphQL powered data hub
One of the newer features in Pimcore is its datahub (powered by GraphQL) that lets you send and receive data to Pimcore from the outside world. This is where API’s can talk to your application and you can set rules for specifically what data is available to read/write to and by who. This feature is in its infancy at the moment, but over time will likely become to primary gateway to any data stored within your Pimcore application.
There are some really powerful (and easy to manage) admin features
When working in larger teams, its often desirable to limit what certain users can do and see. Different people in an organisation will have concerns over different data and some may not have the level of authority to access sensitive information. Pimcore have made the admin panel really flexible in terms of managing who gets access to what.
You can manage user and role permissions on a granular level
Users are an individual with a login, roles are sets of permissions that a user can be granted. You can set access to any document, asset or object on any user or role (down to the individual file). So if you wanted you could just grant access to a single item to a particular user, or create a role that grants access to a whole bunch of folders and make that available to a group of people in your business.
Permissions are also set on features and allow granular detail in what access you get to the item, so creating view only, edit and full admin permissions are easily done.
Multi-lingual support on the front and backend
Multi-lingual support comes out the box with Pimcore. Managing multi-lingual websites is simply a matter of setting up translation keys and loading the correct languages. This is also extended to the admin panel itself, which is really useful when you have international teams logging in to make changes. So, you might setup Pimcore using English as your base language, but allow your Italian office to login and work in their own language too.
Use workflow to manage admin tasks
Workflow in Pimcore allows you to set specific steps a user must go through in order to complete a task. This is useful for aligning data storage with business processes. We’ve used workflow in Pimcore to define all sorts of tasks, from onboarding new customers, creating contractual documents and managing new product launches.
Create perspectives for different roles
Perhaps you want your product managers to only see certain sections within Pimcore and your warehouse staff to see others. Some may need quick access to complete one specific task with no additional clutter whilst others need a broader view. Perspectives are designed to do just that. There are a few pre-defined perspectives available, or you can create your own.
Create custom reports (on basically anything)
If you are storing data in Pimcore, you can create a report on it. Data is very easily accessible and ready to export via CSV. For something a little more visual, there is a custom reporting tool that will generate graphs and charts (with a little configuration) that can be used for presentational reporting. This can also be extended to allow data to be visualised and added into documents or anywhere else you want to push them to.
Manage you email logs
If you use Pimcore to send emails out to your customers, you’ll find managing those a breeze with its email logger built in. We rarely have to do much with this, but of course you can extend if needed.
You can use Pimcore to manage very large full featured websites
Multi-site, multi-lingual, multi-currency (multi-whatever you may conceive) out the box. All the standard stuff you might expect from an enterprise level application. Pimcore is powerful, robust and scalable when it comes to building websites.
Templating is really flexible
Your frontend can look however you like with no pre-conceived notions in place. It uses the Twig templating language so pulling in data is straight forward. Pimcore templates also allow you to think modularly, creating blocks and snippets of content (or pieces of a page) that can be added, removed or moved up and down the page hierachy easily by page admins.
Supports multiple asset types
Managing different asset types on the frontend is simple with many items already built in. Choose from common video platforms like Youtube and Vimeo for instance or create your own. And by any asset types, I mean any! If you’ve got a project that requires the use of some obscure 3D file that no one uses anymore, no problem! The DAM will host it and let you do whatever you need on the frontend.
Managing image thumbnails is easy
Uploading high-res images to the DAM and automating the creation of optimised versions of that image to all your device types is simple. Plus there are some impressive image manipulation features that let you do things like: adding water marks to your images, scaling, cropping, rotation etc. Oh, and MiniPaint comes built in (which is basically an opensource online version of Photoshop).
Create personalised experiences
Pimcore has personalisation features available that lets you create targeted campaigns to different user groups. You can segment your users anyway you like, manually or with automation. Pimcore will then do the hard work in serving up content based on those segments, which lets you run A/B tests or create whole different experiences for your users.
Its ecommerce ready (sort of)
The ecommerce extension within Pimcore has been developing over recent years. Originally available only as a partner exclusive extension, it now ships as part of the core product.
Pimcore Ecommerce extension
The Pimcore Ecommerce Extension is just that, its an extension of Pimcore and as such follows the same principles in that it is a set of tools made available to build your ecommerce store. It is not an out the box shopping cart, but it does include all the necessary object classes (and a pre-built admin panel) required to manage your orders.
What's great about this, is the backend is good to go for a basic ecommerce implementation (or ready to extend in anyway you need to meet business requirements). The frontend is 100% open to do whatever you like with.
Customer data management
Pimcore's ecommerce extension goes hand in hand with its customer data management extension, which again is a framework for managing customer data. Its here you manage your customer groups, segmentation and associations to other datasets.
GDPR is sorted!
GDPR is baked into Pimcore now and as long as you have configured it using the available extensions, managing things like: data retrieval and the right to be forgotten can be done using the tools in admin.
Web to print allows creation of print ready PDFs
You can also use Pimcore to manage the creation of print ready PDFs! Using web technologies, in the same way you build website templates, you can create print page templates to be compiled for your printer. This makes the creation of product catalogues for instance, not only possible, but fast! The reduction of design time for large catalogues that traditionally designers would use InDesign for is quite astounding. Months of work, can be done in days. Rather than spending time laying out pages, staff can just check the details and send to print.
This of course can be automated too, allowing PDFs to be created on the fly by users in the frontend, meaning downloads can always include the most up to date product information.
And so much more…
I can’t really express the amount of useful functionality the Pimcore platform offers. In this article I’ve highlighted the standout points for us, but I’ve really just scratched the surface, and left plenty out. We are Pimcore developers, because the platform offers the greatest flexibility and scalability than any other similar technology we’ve ever used. We use it to manage product information for companies large and small. We build websites with Pimcore and ecommerce solutions. In the past, I’ve used it to manage mobile apps, CRMs and all sorts of customer data management projects.
Put simply, its a best in class PIM and content management platform.
If you have any questions about Pimcore development or the capabilities of the platform, please get in touch, I’d be happy to talk.