Preface

Nowadays, digital innovation is a challenge for any medium-sized or large organization. This journey, also known as digital transformation, is not only related to technology but is guided by cultural and motivational pillars. Many managers or communication gurus will tell you that technology is not important and that it's just a commodity or a set of tools at the service of the company (marketing, sales, and suchlike). We believe that this approach is possible only if the technology you have chosen is genuinely able to support your business initiatives. In terms of starting to forget about technical issues and focusing on business only, we have to find a technical solution that works perfectly under all conditions that can scale and support the business as it grows. Following an extended period of research, we have found that this solution is called Pimcore.

Pimcore, in simple terms, is a technology facilitator that removes most of the operative friction between the mind and the hands of a company. Pimcore can act as a PIM (Product Information Management) system for distributing product information across the entire company or centralize essential data for the company (Master Data Management), allowing all other parties to consume it without any security risk.

Moreover, Pimcore is a powerful CMS engine that can manage a lot more than simple web pages. It is a very versatile solution that covers most of the problems you encounter every day. In this book, we will learn how to get the best out of Pimcore.

After reading this book, you will be able to do the following:

  1. You will understand what Pimcore is and how it works. In fact, we believe that it isn't only a matter of which tool to use, but also to incorporate it perfectly into the big picture.
  2. You will be able to create websites and portals, using Pimcore as a digital experience platform. This includes using the CMS engine, but also creating custom web MVC pages and reusable components.
  3. You will be able to use the enterprise feature of Pimcore (PIM, DAM, MDM). You will learn how to collect data, incorporate it into a unified database, and share it with all potential consumers (apps, websites, legacy applications, and so on).
  4. You will be able to install, maintain, and deploy a Pimcore website.

In simple terms, this book will lead you on a journey through theoretical and practical lessons to become a Pimcore developer!

Who this book is for

This book is designed to encourage you to learn about Pimcore in a straightforward manner. We will cover all the important topics to enable you to initiate and complete a real-world project. To reach this goal, we have developed a book that's not only a set of information but something that combines theory and practice. This pragmatic approach will teach you how Pimcore works and how to put your knowledge into practice without getting annoyed or barely being able to follow tutorials by asking you why you need to do that. In fact, the first chapters will introduce you to a high-level vision of Pimcore so that you are aware of all of its benefits, and then we will embark on a journey that will progressively uncover all the details of Pimcore step by step without introducing any excessive complexity.

This book is designed for any developer, CTO, or any other kind of technician wanting to deliver Pimcore-based solutions or is willing to build digital platforms to support their customers or their business on the digital transformation journey.

This book gradually introduces the most important concepts, so you do not require any special background. All you need to know in order to understand the book is the basics of the PHP language and some practices involving HTML and CSS.

What this book covers

Chapter 1, Introducing Pimcore, explains what Pimcore is. It introduces the main characteristics and describes how it works. This chapter introduces the tool to the reader and reveals all the features from a wide-angle point of view.

Chapter 2, Setting Up Your Pimcore Development Environment, covers the installation of Pimcore with a deep dive into setting up a local environment compatible with a source code repository.

Chapter 3, Getting Started with Pimcore Admin UI, explains how the admin UI works and how to find UIs for basic commands. This is useful for navigating the Pimcore menus and functionalities.

Chapter 4, Creating Documents in Pimcore, explains how to create Pimcore's documents and how to handle basic settings. This is a useful resource when it comes to editing documents and creating web pages.

Chapter 5, Exploring Object and Classes, explains how to create and manage Pimcore objects and classes. This step constitutes the basis for the majority of Pimcore tasks, such as creating complex websites.

Chapter 6, Using Digital Asset Management, explains how to manage assets in Pimcore using the DAM feature. This is important for uploading assets and spreading or integrating them inside web pages.

Chapter 7, Administrating Pimcore Sites, covers administration and maintenance routing. It explains how to install Pimcore sites and how to manage third-party add-ons. This is what you need to keep Pimcore up and running.

Chapter 8, Creating Custom CMS Pages, explains how to implement themes and prepare templates for custom CMS pages. Doing this is important when it comes to mastering the basics of custom web page building.

Chapter 9, Configuring Entities and Rendering Data, explains how to present data to the user in terms of implementing web pages. This is a real-world use case that helps to put into practice what you have learned so far.

Chapter 10, Creating Pimcore Bricks, explains how to create reusable components that can be configured by the user. This is the way to save you from a lot of work and simplify maintenance.

Chapter 11, Finalizing the Website, contains tips and tricks that save time and provide assistance in reusing a component on multiple projects.

Chapter 12, Implementing Product Information Management, shows the PIM configuration of Pimcore. It explains how to tune it for managing it as a PIM system. With this chapter, you can start using Pimcore as a PIM system.

Chapter 13, Implementing Master Data Management, explains how to expose data using GraphQL APIs. With this, you can activate this feature and start data integration.

Chapter 14, Data Integration, covers the data integration feature of Pimcore. This helps to implement a standard way of integrating with other systems without any development effort.

To get the most out of this book

Pimcore is a great platform, supported by many vendors and communities. This means that your application will always be hosted on an updated platform that will periodically release new features. This book is based on Pimcore X, and it is the latest version released at the time of publication, so by reading this book, you will be learning on the latest version available!

Pimcore X comes with many new features and an updated technology stack (Symfony 5, PHP 8, and ExtJS 7) that provides many performance improvements. Even though there are enormous changes between Pimcore X and the previous versions, most of the concepts you will learn reading this book will also be applicable to all the previous versions.

This book is designed for a seamless learning experience and doesn't require any relevant expertise other than basic PHP and HTML knowledge. In any case, any developer who has some experience with other platforms will be able to follow the instructions and understand the code. Moreover, we haven't introduced any paid or OS-related tools, and this makes this book available to all without any limitations:

All the items marked with (*) are only required if you do not choose to use Docker. In fact, we provide a Docker-based setup option that doesn't require anything other than Docker. All the dependencies will be managed automatically, so you won't have to worry about that. In any event, if you are going to follow the manual installation, you will also need all the tools marked with (*) installed on your local PC.

If you are using the digital version of this book, we advise you to type the code yourself or access the code via the GitHub repository (link available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.

Download the example code files

You can download the example code files for this book from GitHub at https://github.com/PacktPublishing/Modernizing-Enterprise-CMS-using-Pimcore. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://static.packt-cdn.com/downloads/9781801075404_ColorImages.pdf.

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Add a template to /bundles/BlogBundle/Resources/views/Areas called view.html.twig."

A block of code is set as follows:

<?php

use PimcoreBundleBundleGeneratorBundlePimcoreBundleGeneratorBundle;

return [

    PimcoreBundleGeneratorBundle::class => ['all' => true],

];

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

"autoload": {

    "psr-4": {

      "App\": "src/",

      "BlogBundle\": "bundles/BlogBundle/",

      "Pimcore\Model\DataObject\": "var/classes/DataObject",

      "Pimcore\Model\Object\": "var/classes/Object",

      "Website\": "legacy/website/lib"

    }

  },

Any command-line input or output is written as follows:

docker-compose exec php bash

Bold: Indicates a new term, an important word, or words that you see on screen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Fill the form with data (it is a contact form, so the field meanings should be self-explanatory) and then click Send."

Tips or important notes

Appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at [email protected].

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packt.com.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.159.150