From 414912295cc2081f51692105b5005cf101962e22 Mon Sep 17 00:00:00 2001
From: Simon Sippert <s.sippert@techdivision.com>
Date: Tue, 25 May 2021 16:31:22 +0200
Subject: [PATCH] Formatting changes

---
 .github/ISSUE_TEMPLATE/bug_report.md          | 21 +++---
 .github/ISSUE_TEMPLATE/feature_request.md     |  4 +-
 .travis.yml                                   |  6 +-
 Block/Adminhtml/Block/Edit/SaveButton.php     | 62 ++++++++--------
 Block/Adminhtml/Page/Edit/SaveButton.php      | 63 ++++++++--------
 CHANGELOG.md                                  | 29 +++++---
 Controller/Adminhtml/Block/Save.php           | 11 +--
 Controller/Adminhtml/Page/Save.php            |  9 +--
 Model/Config/Parser/ContentHeadingParser.php  |  2 +-
 Model/Config/Parser/ContentParser.php         |  2 +-
 Model/Config/Parser/MediaDirectoryParser.php  |  2 +-
 Model/Config/Parser/MetaDataParser.php        |  2 +-
 Model/Console/AddBlockCommand.php             |  2 +-
 Model/Console/AddPageCommand.php              |  2 +-
 Model/Console/BlockListCommand.php            |  4 +-
 Model/Console/PageListCommand.php             |  2 +-
 Model/Query/GetBlocksByBlockEntry.php         |  4 +-
 Model/Resolver/PathResolver.php               |  8 +--
 .../Resolver/StoreIdsByStoreCodeResolver.php  |  4 +-
 README.md                                     | 63 ++++++++++------
 Setup/RecurringData.php                       |  2 +-
 .../Model/BlockInstaller/TestCase.php         |  2 +-
 .../Model/Config/ConverterTest.php            |  2 +-
 .../Config/_files/content_provisioning.xml    | 10 +--
 .../Model/Config/_files/result.php            |  6 +-
 .../PageInstaller/InstallMediaFilesTest.php   | 22 +++---
 .../Model/PageInstaller/TestCase.php          |  4 +-
 .../_files/content_provisioning.xml           | 10 +--
 Test/Integration/_files/result.php            |  6 +-
 etc/adminhtml/routes.xml                      |  2 +-
 etc/content_provisioning.xsd                  | 72 +++++++++----------
 etc/di.xml                                    | 10 +--
 .../maintained_content_warning.phtml          | 10 +--
 .../adminhtml/ui_component/cms_block_form.xml |  4 +-
 view/adminhtml/ui_component/cms_page_form.xml |  4 +-
 35 files changed, 250 insertions(+), 218 deletions(-)

diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index dd84ea7..a39cab4 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,7 +1,5 @@
 ---
-name: Bug report
-about: Create a report to help us improve
-title: ''
+name: Bug report about: Create a report to help us improve title: ''
 labels: ''
 assignees: ''
 
@@ -12,6 +10,7 @@ A clear and concise description of what the bug is.
 
 **To Reproduce**
 Steps to reproduce the behavior:
+
 1. Go to '...'
 2. Click on '....'
 3. Scroll down to '....'
@@ -24,15 +23,17 @@ A clear and concise description of what you expected to happen.
 If applicable, add screenshots to help explain your problem.
 
 **Desktop (please complete the following information):**
- - OS: [e.g. iOS]
- - Browser [e.g. chrome, safari]
- - Version [e.g. 22]
+
+- OS: [e.g. iOS]
+- Browser [e.g. chrome, safari]
+- Version [e.g. 22]
 
 **Smartphone (please complete the following information):**
- - Device: [e.g. iPhone6]
- - OS: [e.g. iOS8.1]
- - Browser [e.g. stock browser, safari]
- - Version [e.g. 22]
+
+- Device: [e.g. iPhone6]
+- OS: [e.g. iOS8.1]
+- Browser [e.g. stock browser, safari]
+- Version [e.g. 22]
 
 **Additional context**
 Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index bbcbbe7..5fe926b 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -1,7 +1,5 @@
 ---
-name: Feature request
-about: Suggest an idea for this project
-title: ''
+name: Feature request about: Suggest an idea for this project title: ''
 labels: ''
 assignees: ''
 
diff --git a/.travis.yml b/.travis.yml
index f5f84da..2ffaa33 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,7 @@ addons:
     packages:
       - mysql-server
       - mysql-client
-      - rabbitmq-server 
+      - rabbitmq-server
 services:
   - mysql
   - rabbitmq
@@ -18,8 +18,8 @@ php:
 
 env:
   matrix:
-  - MAGENTO_VERSION=2.3
-  - MAGENTO_VERSION=2.4
+    - MAGENTO_VERSION=2.3
+    - MAGENTO_VERSION=2.4
 
 matrix:
   exclude:
diff --git a/Block/Adminhtml/Block/Edit/SaveButton.php b/Block/Adminhtml/Block/Edit/SaveButton.php
index 44e766a..b28f573 100644
--- a/Block/Adminhtml/Block/Edit/SaveButton.php
+++ b/Block/Adminhtml/Block/Edit/SaveButton.php
@@ -55,13 +55,13 @@ class SaveButton extends GenericButton implements ButtonProviderInterface
                                 'params' => [
                                     true,
                                     [
-                                        'back' => 'continue'
-                                    ]
-                                ]
-                            ]
-                        ]
-                    ]
-                ]
+                                        'back' => 'continue',
+                                    ],
+                                ],
+                            ],
+                        ],
+                    ],
+                ],
             ],
             'class_name' => Container::SPLIT_BUTTON,
             'options' => $this->getOptions(),
@@ -89,14 +89,14 @@ class SaveButton extends GenericButton implements ButtonProviderInterface
                                     'params' => [
                                         true,
                                         [
-                                            'back' => 'duplicate'
-                                        ]
-                                    ]
-                                ]
-                            ]
-                        ]
-                    ]
-                ]
+                                            'back' => 'duplicate',
+                                        ],
+                                    ],
+                                ],
+                            ],
+                        ],
+                    ],
+                ],
             ],
             [
                 'id_hard' => 'save_and_close',
@@ -111,15 +111,15 @@ class SaveButton extends GenericButton implements ButtonProviderInterface
                                     'params' => [
                                         true,
                                         [
-                                            'back' => 'close'
-                                        ]
-                                    ]
-                                ]
-                            ]
-                        ]
-                    ]
-                ]
-            ]
+                                            'back' => 'close',
+                                        ],
+                                    ],
+                                ],
+                            ],
+                        ],
+                    ],
+                ],
+            ],
         ];
 
         if ($this->hasDefaultConfiguration->get((int)$this->getBlockId())) {
@@ -136,13 +136,13 @@ class SaveButton extends GenericButton implements ButtonProviderInterface
                                     'params' => [
                                         true,
                                         [
-                                            'back' => 'applyDefault'
-                                        ]
-                                    ]
-                                ]
-                            ]
-                        ]
-                    ]
+                                            'back' => 'applyDefault',
+                                        ],
+                                    ],
+                                ],
+                            ],
+                        ],
+                    ],
                 ]]]);
         }
 
diff --git a/Block/Adminhtml/Page/Edit/SaveButton.php b/Block/Adminhtml/Page/Edit/SaveButton.php
index 6cdbcc5..4af0006 100644
--- a/Block/Adminhtml/Page/Edit/SaveButton.php
+++ b/Block/Adminhtml/Page/Edit/SaveButton.php
@@ -4,6 +4,7 @@
  * See COPYING.txt for license details.
  */
 declare(strict_types=1);
+
 namespace Firegento\ContentProvisioning\Block\Adminhtml\Page\Edit;
 
 use Firegento\ContentProvisioning\Model\Query\HasDefaultPageConfiguration;
@@ -54,13 +55,13 @@ class SaveButton extends GenericButton implements ButtonProviderInterface
                                 'params' => [
                                     true,
                                     [
-                                        'back' => 'continue'
-                                    ]
-                                ]
-                            ]
-                        ]
-                    ]
-                ]
+                                        'back' => 'continue',
+                                    ],
+                                ],
+                            ],
+                        ],
+                    ],
+                ],
             ],
             'class_name' => Container::SPLIT_BUTTON,
             'options' => $this->getOptions(),
@@ -88,14 +89,14 @@ class SaveButton extends GenericButton implements ButtonProviderInterface
                                     'params' => [
                                         true,
                                         [
-                                            'back' => 'duplicate'
-                                        ]
-                                    ]
-                                ]
-                            ]
-                        ]
-                    ]
-                ]
+                                            'back' => 'duplicate',
+                                        ],
+                                    ],
+                                ],
+                            ],
+                        ],
+                    ],
+                ],
             ],
             [
                 'id_hard' => 'save_and_close',
@@ -110,15 +111,15 @@ class SaveButton extends GenericButton implements ButtonProviderInterface
                                     'params' => [
                                         true,
                                         [
-                                            'back' => 'close'
-                                        ]
-                                    ]
-                                ]
-                            ]
-                        ]
-                    ]
-                ]
-            ]
+                                            'back' => 'close',
+                                        ],
+                                    ],
+                                ],
+                            ],
+                        ],
+                    ],
+                ],
+            ],
         ];
 
         if ($this->hasDefaultConfiguration->get((int)$this->getPageId())) {
@@ -135,13 +136,13 @@ class SaveButton extends GenericButton implements ButtonProviderInterface
                                     'params' => [
                                         true,
                                         [
-                                            'back' => 'applyDefault'
-                                        ]
-                                    ]
-                                ]
-                            ]
-                        ]
-                    ]
+                                            'back' => 'applyDefault',
+                                        ],
+                                    ],
+                                ],
+                            ],
+                        ],
+                    ],
                 ]]]);
         }
 
diff --git a/CHANGELOG.md b/CHANGELOG.md
index dfbb872..d67c6ac 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,45 +1,56 @@
 # CHANGELOG
 
 ## 1.2.2 / 1.2.3
+
 * *Bugfix:* `composer.json` blocked installation of the module in Magento 2.2
-** Change `composer.json` dependency definition
-** Remove some type and return type hints in order to support Magento's code generation in older versions
+  ** Change `composer.json` dependency definition
+  ** Remove some type and return type hints in order to support Magento's code generation in older versions
 
 ## 1.2.1
+
 * *Improvement:* Better extensibility for fetching media files from content (PR from @roma-glushko)
 
 ## 1.2.0
+
 * *Feature:* Enables module to provide media files
-** Introduce optional XML node for pages and blocks: `media_directory`
-** Media files, which are used in the content will be copied to Magento's `pub/media` directory if they are
-   present in the defined source media directory
+  ** Introduce optional XML node for pages and blocks: `media_directory`
+  ** Media files, which are used in the content will be copied to Magento's `pub/media` directory if they are present in
+  the defined source media directory
 
 ## 1.1.1
+
 * *Bugfix:* In some cases `bin/magento` execution was not able at all during the initial Magento install
 
 ## 1.1.0
+
 * *Feature:* Introduce further interfaces and refactor config reader structure, in order to improve extensibility
 
 ## 1.0.4
+
 * *Bugfix:* Backport bugfix from version 1.1.1
 
 ## 1.0.3
+
 * *Bugfix:* Fix issue with missing `store_id` values while persisting block entries.
 
 ## 1.0.2
+
 * *Bugfix:* Extend schema in order to allow `.` for `key` like it is shown in the examples
 
 ## 1.0.1
+
 * *Bugfix:* Add PHP 7.1 compatibility
 
 ## 1.0.0
+
 * *Feature:* Notification in Magento backend (admin), for editors - if the content entry is maintained by code
 * *Improvement:* Introduce `key` attribute for configured entries, in order to improve merging of all configurations
 * *Refactoring:* Improve query for fetching existing cms entities by configured entries
 
 ## 0.1.0
+
 * *Feature:* Implement initial functionality
-** Configuration for pages
-** Configuration for blocks
-** Recurring setup installer for pages
-** Recurring setup installer for blocks
\ No newline at end of file
+  ** Configuration for pages
+  ** Configuration for blocks
+  ** Recurring setup installer for pages
+  ** Recurring setup installer for blocks
diff --git a/Controller/Adminhtml/Block/Save.php b/Controller/Adminhtml/Block/Save.php
index 08725b9..6b48f25 100644
--- a/Controller/Adminhtml/Block/Save.php
+++ b/Controller/Adminhtml/Block/Save.php
@@ -4,15 +4,16 @@
  * See COPYING.txt for license details.
  */
 declare(strict_types=1);
+
 namespace Firegento\ContentProvisioning\Controller\Adminhtml\Block;
 
 use Firegento\ContentProvisioning\Model\Command\ApplyBlockEntry;
 use Firegento\ContentProvisioning\Model\Query\GetBlockEntryByBlock;
-use Magento\Framework\App\Action\HttpPostActionInterface;
 use Magento\Backend\App\Action\Context;
 use Magento\Cms\Api\BlockRepositoryInterface;
 use Magento\Cms\Model\Block;
 use Magento\Cms\Model\BlockFactory;
+use Magento\Framework\App\Action\HttpPostActionInterface;
 use Magento\Framework\App\Request\DataPersistorInterface;
 use Magento\Framework\Exception\LocalizedException;
 use Magento\Framework\Registry;
@@ -138,11 +139,11 @@ class Save extends \Magento\Cms\Controller\Adminhtml\Block implements HttpPostAc
     {
         $redirect = $data['back'] ?? 'close';
 
-        if ($redirect ==='continue') {
+        if ($redirect === 'continue') {
             $resultRedirect->setPath('*/*/edit', ['block_id' => $model->getId()]);
-        } else if ($redirect === 'close') {
+        } elseif ($redirect === 'close') {
             $resultRedirect->setPath('*/*/');
-        } else if ($redirect === 'duplicate') {
+        } elseif ($redirect === 'duplicate') {
             $duplicateModel = $this->blockFactory->create(['data' => $data]);
             $duplicateModel->setId(null);
             $duplicateModel->setIdentifier($data['identifier'] . '-' . uniqid());
@@ -152,7 +153,7 @@ class Save extends \Magento\Cms\Controller\Adminhtml\Block implements HttpPostAc
             $this->messageManager->addSuccessMessage(__('You duplicated the block.'));
             $this->dataPersistor->set('cms_block', $data);
             $resultRedirect->setPath('*/*/edit', ['block_id' => $id]);
-        } else if ($redirect === 'applyDefault') {
+        } elseif ($redirect === 'applyDefault') {
             $block = $this->getBlockEntryByBlock->execute($model);
             $this->applyBlockEntry->execute($block);
             $resultRedirect->setPath('*/*/edit', ['block_id' => $model->getId()]);
diff --git a/Controller/Adminhtml/Page/Save.php b/Controller/Adminhtml/Page/Save.php
index c8ac12d..40a5e88 100644
--- a/Controller/Adminhtml/Page/Save.php
+++ b/Controller/Adminhtml/Page/Save.php
@@ -4,16 +4,17 @@
  * See COPYING.txt for license details.
  */
 declare(strict_types=1);
+
 namespace Firegento\ContentProvisioning\Controller\Adminhtml\Page;
 
 use Firegento\ContentProvisioning\Model\Command\ApplyPageEntry;
 use Firegento\ContentProvisioning\Model\Query\GetPageEntryByPage;
-use Magento\Framework\App\Action\HttpPostActionInterface;
 use Magento\Backend\App\Action;
+use Magento\Cms\Controller\Adminhtml\Page\PostDataProcessor;
 use Magento\Cms\Model\Page;
+use Magento\Framework\App\Action\HttpPostActionInterface;
 use Magento\Framework\App\Request\DataPersistorInterface;
 use Magento\Framework\Exception\LocalizedException;
-use Magento\Cms\Controller\Adminhtml\Page\PostDataProcessor;
 
 /**
  * Save CMS page action.
@@ -168,10 +169,10 @@ class Save extends \Magento\Backend\App\Action implements HttpPostActionInterfac
                 '*/*/edit',
                 [
                     'page_id' => $newPage->getId(),
-                    '_current' => true
+                    '_current' => true,
                 ]
             );
-        } else if ($this->getRequest()->getParam('back', false) === 'applyDefault') {
+        } elseif ($this->getRequest()->getParam('back', false) === 'applyDefault') {
             $block = $this->getPageEntryByPage->execute($model);
             $this->applyPageEntry->execute($block);
             return $resultRedirect->setPath('*/*/edit', ['page_id' => $model->getId()]);
diff --git a/Model/Config/Parser/ContentHeadingParser.php b/Model/Config/Parser/ContentHeadingParser.php
index a813cda..3fd88fe 100644
--- a/Model/Config/Parser/ContentHeadingParser.php
+++ b/Model/Config/Parser/ContentHeadingParser.php
@@ -34,7 +34,7 @@ class ContentHeadingParser implements ConfigParserInterface
         $contentNode = $contentNodes[0];
         return [
             PageEntryInterface::CONTENT_HEADING =>
-                $this->fetchAttributeValue->execute($contentNode, 'heading', '')
+                $this->fetchAttributeValue->execute($contentNode, 'heading', ''),
         ];
     }
 }
diff --git a/Model/Config/Parser/ContentParser.php b/Model/Config/Parser/ContentParser.php
index 8b9d450..2a883b6 100644
--- a/Model/Config/Parser/ContentParser.php
+++ b/Model/Config/Parser/ContentParser.php
@@ -66,7 +66,7 @@ class ContentParser implements ConfigParserInterface
 
         return [
             $this->arrayKey => $content,
-            EntryInterface::MEDIA_FILES => $this->fetchMediaFilesChain->execute($content)
+            EntryInterface::MEDIA_FILES => $this->fetchMediaFilesChain->execute($content),
         ];
     }
 }
diff --git a/Model/Config/Parser/MediaDirectoryParser.php b/Model/Config/Parser/MediaDirectoryParser.php
index 5e78cb7..d47de98 100644
--- a/Model/Config/Parser/MediaDirectoryParser.php
+++ b/Model/Config/Parser/MediaDirectoryParser.php
@@ -46,7 +46,7 @@ class MediaDirectoryParser implements ConfigParserInterface
         }
 
         return [
-            EntryInterface::MEDIA_DIRECTORY => $mediaDirectory
+            EntryInterface::MEDIA_DIRECTORY => $mediaDirectory,
         ];
     }
 }
diff --git a/Model/Config/Parser/MetaDataParser.php b/Model/Config/Parser/MetaDataParser.php
index 1b8231a..b4446f5 100644
--- a/Model/Config/Parser/MetaDataParser.php
+++ b/Model/Config/Parser/MetaDataParser.php
@@ -56,7 +56,7 @@ class MetaDataParser implements ConfigParserInterface
             PageEntryInterface::IS_ACTIVE =>
                 $this->fetchBooleanAttributeValue->execute($element, 'active', 'false'),
             EntryInterface::IS_MAINTAINED =>
-                $this->fetchBooleanAttributeValue->execute($element, 'maintained', 'false')
+                $this->fetchBooleanAttributeValue->execute($element, 'maintained', 'false'),
         ];
     }
 }
diff --git a/Model/Console/AddBlockCommand.php b/Model/Console/AddBlockCommand.php
index 01a0be4..40264b9 100644
--- a/Model/Console/AddBlockCommand.php
+++ b/Model/Console/AddBlockCommand.php
@@ -37,7 +37,7 @@ class AddBlockCommand extends Command
     ) {
         parent::__construct($name);
         $this->getBlockEntryByKeyFactory = $getBlockEntryByKeyFactory;
-        $this->applyBlockEntry           = $applyBlockEntry;
+        $this->applyBlockEntry = $applyBlockEntry;
     }
 
     /**
diff --git a/Model/Console/AddPageCommand.php b/Model/Console/AddPageCommand.php
index 75f5993..ae986b2 100644
--- a/Model/Console/AddPageCommand.php
+++ b/Model/Console/AddPageCommand.php
@@ -37,7 +37,7 @@ class AddPageCommand extends Command
     ) {
         parent::__construct($name);
         $this->getPageEntryByKeyFactory = $getPageEntryByKeyFactory;
-        $this->applyPageEntry           = $applyPageEntry;
+        $this->applyPageEntry = $applyPageEntry;
     }
 
     /**
diff --git a/Model/Console/BlockListCommand.php b/Model/Console/BlockListCommand.php
index 29d5ea0..a7dbe60 100644
--- a/Model/Console/BlockListCommand.php
+++ b/Model/Console/BlockListCommand.php
@@ -8,9 +8,9 @@ use Firegento\ContentProvisioning\Model\Query\GetBlockEntryList\Proxy as GetBloc
 use Firegento\ContentProvisioning\Model\Query\GetBlocksByBlockEntry\Proxy as GetBlocksByBlockEntry;
 use Magento\Framework\Exception\LocalizedException;
 use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Helper\Table;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
-use Symfony\Component\Console\Helper\Table;
 
 class BlockListCommand extends Command
 {
@@ -55,7 +55,7 @@ class BlockListCommand extends Command
                 $entry->isMaintained() ? 'yes' : 'no',
                 $entry->isActive() ? 'yes' : 'no',
                 $entry->getTitle(),
-                $this->getExistsInDbValue($entry)
+                $this->getExistsInDbValue($entry),
             ]);
         }
 
diff --git a/Model/Console/PageListCommand.php b/Model/Console/PageListCommand.php
index d4e95a9..35bde4f 100644
--- a/Model/Console/PageListCommand.php
+++ b/Model/Console/PageListCommand.php
@@ -9,9 +9,9 @@ use Firegento\ContentProvisioning\Model\Query\GetPageEntryList\Proxy as GetPageE
 use Firegento\ContentProvisioning\Model\Query\GetPagesByPageEntry\Proxy as GetPagesByPageEntry;
 use Magento\Framework\Exception\LocalizedException;
 use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Helper\Table;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Output\OutputInterface;
-use Symfony\Component\Console\Helper\Table;
 
 class PageListCommand extends Command
 {
diff --git a/Model/Query/GetBlocksByBlockEntry.php b/Model/Query/GetBlocksByBlockEntry.php
index 34e24af..8f2d65b 100644
--- a/Model/Query/GetBlocksByBlockEntry.php
+++ b/Model/Query/GetBlocksByBlockEntry.php
@@ -4,12 +4,12 @@ declare(strict_types=1);
 namespace Firegento\ContentProvisioning\Model\Query;
 
 use Firegento\ContentProvisioning\Api\Data\BlockEntryInterface;
+use Firegento\ContentProvisioning\Model\Resolver\StoreIdsByStoreCodeResolver;
 use Magento\Cms\Api\BlockRepositoryInterface;
 use Magento\Cms\Api\Data\BlockInterface;
+use Magento\Framework\Api\SearchCriteriaBuilder;
 use Magento\Framework\Exception\LocalizedException;
 use Magento\Framework\Exception\NoSuchEntityException;
-use Firegento\ContentProvisioning\Model\Resolver\StoreIdsByStoreCodeResolver;
-use Magento\Framework\Api\SearchCriteriaBuilder;
 
 class GetBlocksByBlockEntry
 {
diff --git a/Model/Resolver/PathResolver.php b/Model/Resolver/PathResolver.php
index 8d67b80..879af16 100644
--- a/Model/Resolver/PathResolver.php
+++ b/Model/Resolver/PathResolver.php
@@ -3,8 +3,6 @@ declare(strict_types=1);
 
 namespace Firegento\ContentProvisioning\Model\Resolver;
 
-use DOMElement;
-use Firegento\ContentProvisioning\Api\ContentResolverInterface;
 use Magento\Framework\Exception\LocalizedException;
 use Magento\Framework\Filesystem\DirectoryList;
 use Magento\Framework\Module\Dir\Reader;
@@ -46,13 +44,13 @@ class PathResolver
             $moduleDirectory = $this->moduleReader->getModuleDir('', $moduleName);
             return implode(DIRECTORY_SEPARATOR, [
                 $moduleDirectory,
-                $filePath
+                $filePath,
             ]);
         } else {
             return implode(DIRECTORY_SEPARATOR, [
                 $this->directoryList->getRoot(),
-                $path
+                $path,
             ]);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/Model/Resolver/StoreIdsByStoreCodeResolver.php b/Model/Resolver/StoreIdsByStoreCodeResolver.php
index 00200a1..05057f3 100644
--- a/Model/Resolver/StoreIdsByStoreCodeResolver.php
+++ b/Model/Resolver/StoreIdsByStoreCodeResolver.php
@@ -4,8 +4,8 @@ declare(strict_types=1);
 namespace Firegento\ContentProvisioning\Model\Resolver;
 
 use Magento\Framework\Exception\NoSuchEntityException;
-use Magento\Store\Model\StoreManagerInterface;
 use Magento\Store\Model\Store;
+use Magento\Store\Model\StoreManagerInterface;
 
 class StoreIdsByStoreCodeResolver
 {
@@ -36,4 +36,4 @@ class StoreIdsByStoreCodeResolver
         }
         return $storeIds;
     }
-}
\ No newline at end of file
+}
diff --git a/README.md b/README.md
index b051f77..ce5e242 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
 # Description
+
 This module was developed during a Magento Hackathon organized by FireGento e.V. (https://firegento.com/).
 
 ## Supported versions matrix
@@ -6,33 +7,38 @@ This module was developed during a Magento Hackathon organized by FireGento e.V.
 Only the latest patch versions of the following Magento versions are covered by test automation.
 
 ### "develop" branch
+
 | PHP   | Magento 2.3 | Magento 2.4 |
 |:---:  |:---:|:---:|
 | 7.3   | [![Build Status](https://travis-matrix-badges.herokuapp.com/repos/magento-hackathon/m2-content-provisioning/branches/develop/1)](https://travis-ci.org/magento-hackathon/m2-content-provisioning) | [![Build Status](https://travis-matrix-badges.herokuapp.com/repos/magento-hackathon/m2-content-provisioning/branches/develop/2)](https://travis-ci.org/magento-hackathon/m2-content-provisioning) |
 | 7.4   | - | [![Build Status](https://travis-matrix-badges.herokuapp.com/repos/magento-hackathon/m2-content-provisioning/branches/develop/3)](https://travis-ci.org/magento-hackathon/m2-content-provisioning) |
 
 ## The idea behind this module
-It is a common requirement, that some parts of content (like CMS pages or blocks) need be deployed within
-a release. There are content entries, which should be maintained by code all the time and some content just needs
-delivered one time to each system.
 
-In most cases such requirements will be solved by setup scripts (or setup patches), which is possible way there is
-no chance to declare the responsibility for each content entity.
+It is a common requirement, that some parts of content (like CMS pages or blocks) need be deployed within a release.
+There are content entries, which should be maintained by code all the time and some content just needs delivered one
+time to each system.
+
+In most cases such requirements will be solved by setup scripts (or setup patches), which is possible way there is no
+chance to declare the responsibility for each content entity.
 
 This module allows you to declare such content entries via XML file and ensures, that this declaration will be applied
 to database on each `setup:upgrade` run.
 
 ## Install with composer
+
 ```bash
 composer require firegento/magento2-content-provisioning
 ```
 
 ## How it works
-After installing this module you can create own `content_provisioning.xml` in each of your modules. 
+
+After installing this module you can create own `content_provisioning.xml` in each of your modules.
 
 ## Example configurations
 
 ### Minimal configuration for a page
+
 ```xml
 <?xml version="1.0"?>
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Firegento_ContentProvisioning:etc/content_provisioning.xsd">
@@ -45,6 +51,7 @@ After installing this module you can create own `content_provisioning.xml` in ea
 ```
 
 ### Full configuration for a page
+
 ```xml
 <?xml version="1.0"?>
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Firegento_ContentProvisioning:etc/content_provisioning.xsd">
@@ -78,6 +85,7 @@ After installing this module you can create own `content_provisioning.xml` in ea
 ```
 
 ### Minimal configuration for a block
+
 ```xml
 <?xml version="1.0"?>
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Firegento_ContentProvisioning:etc/content_provisioning.xsd">
@@ -90,6 +98,7 @@ After installing this module you can create own `content_provisioning.xml` in ea
 ```
 
 ### Full configuration for a block
+
 ```xml
 <?xml version="1.0"?>
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Firegento_ContentProvisioning:etc/content_provisioning.xsd">
@@ -110,32 +119,39 @@ After installing this module you can create own `content_provisioning.xml` in ea
 ## Some explanation
 
 ### `key`-Attribute
-The `key` attribute is required in order to merge all content provisioning configurations across all modules.
-It is like the `name` attribute for layout blocks...
+
+The `key` attribute is required in order to merge all content provisioning configurations across all modules. It is like
+the `name` attribute for layout blocks...
 
 #### You could use `identifier` - or?
-No, identifier is not unique since the same identifier can be used for multiple store views. 
+
+No, identifier is not unique since the same identifier can be used for multiple store views.
 
 ### `maintained`-Attribute
+
 With this attribute you define whether this content should be applied every time or even only once. Is the value
 `false` the content will only be persisted, if there is no `identifier` for the defined stores present in database.
 
 ### `content`-Node
-This node provide THE content for your page or block. It can be added as node value in a CDATA block or as a
-file path, which is relative to your Magento instance or prefixed by a module namespace. In order to use files
-you need to add the `type="file"` attribute to the content node.
+
+This node provide THE content for your page or block. It can be added as node value in a CDATA block or as a file path,
+which is relative to your Magento instance or prefixed by a module namespace. In order to use files you need to add
+the `type="file"` attribute to the content node.
 
 ### `stores`-Node
-This node is optional. If it is not defined, the block or page will be applied to all stores. A "maintained" entry
-will also be applied to stores, which will be created in the future after re-running `setup:upgrade` command.
-You can also use the 'wildcard' `*` in order to define that the content should be applied to all stores.
+
+This node is optional. If it is not defined, the block or page will be applied to all stores. A "maintained" entry will
+also be applied to stores, which will be created in the future after re-running `setup:upgrade` command. You can also
+use the 'wildcard' `*` in order to define that the content should be applied to all stores.
 
 ### `media_directory`-Node (since version 1.2.0)
-Specifies the directory for media files. Each used media file in the content and present in media source directory
-will be copied to Magento's `pub/media` directory. Sub-directory structure should be same like inspected it to be
-in `pub/media`. Only existing and used media files will be copied. 
+
+Specifies the directory for media files. Each used media file in the content and present in media source directory will
+be copied to Magento's `pub/media` directory. Sub-directory structure should be same like inspected it to be
+in `pub/media`. Only existing and used media files will be copied.
 
 ## Executing integration tests on local environment
+
 ```bash
 # Create a new Magento instance
 composer create-project --repository=https://repo.magento.com/ magento/project-community-edition magento
@@ -153,13 +169,18 @@ php vendor/bin/phpunit -c $(pwd)/vendor/firegento/magento2-content-provisioning/
 ```
 
 ## Issues and planned features
+
 See issues to see what's planed next: https://github.com/magento-hackathon/m2-content-provisioning/issues
 Feel free to add your ideas there.
 
 ## Changelog
+
 See [changelog file](CHANGELOG.md)
- 
+
 ## Extensions for this extension ;)
-For [`magenerds/pagedesigner`](https://github.com/Magenerds/PageDesigner) there is an module, which extends this content 
-provisioning module: [`techdivision/pagedesigner-content-provisioning`](https://github.com/techdivision/pagedesigner-content-provisioning).
+
+For [`magenerds/pagedesigner`](https://github.com/Magenerds/PageDesigner) there is an module, which extends this content
+provisioning
+module: [`techdivision/pagedesigner-content-provisioning`](https://github.com/techdivision/pagedesigner-content-provisioning)
+.
 
diff --git a/Setup/RecurringData.php b/Setup/RecurringData.php
index be6055c..ccb740d 100644
--- a/Setup/RecurringData.php
+++ b/Setup/RecurringData.php
@@ -6,8 +6,8 @@ namespace Firegento\ContentProvisioning\Setup;
 use Firegento\ContentProvisioning\Model\BlockInstaller;
 use Firegento\ContentProvisioning\Model\PageInstaller;
 use Magento\Framework\Setup\InstallDataInterface;
-use Magento\Framework\Setup\ModuleDataSetupInterface;
 use Magento\Framework\Setup\ModuleContextInterface;
+use Magento\Framework\Setup\ModuleDataSetupInterface;
 
 /**
  * Class Recurring
diff --git a/Test/Integration/Model/BlockInstaller/TestCase.php b/Test/Integration/Model/BlockInstaller/TestCase.php
index 4b1bf17..ec2c390 100644
--- a/Test/Integration/Model/BlockInstaller/TestCase.php
+++ b/Test/Integration/Model/BlockInstaller/TestCase.php
@@ -11,8 +11,8 @@ use Firegento\ContentProvisioning\Model\Query\GetFirstBlockByBlockEntry;
 use Magento\Cms\Api\Data\BlockInterface;
 use Magento\Framework\App\ResourceConnection;
 use Magento\Store\Model\StoreManagerInterface;
-use PHPUnit\Framework\MockObject\MockObject;
 use Magento\TestFramework\Helper\Bootstrap;
+use PHPUnit\Framework\MockObject\MockObject;
 
 class TestCase extends \PHPUnit\Framework\TestCase
 {
diff --git a/Test/Integration/Model/Config/ConverterTest.php b/Test/Integration/Model/Config/ConverterTest.php
index cc505e1..757fe1b 100644
--- a/Test/Integration/Model/Config/ConverterTest.php
+++ b/Test/Integration/Model/Config/ConverterTest.php
@@ -3,8 +3,8 @@ declare(strict_types=1);
 
 namespace Firegento\ContentProvisioning\Test\Integration\Model\Config;
 
-use Magento\Framework\Exception\ConfigurationMismatchException;
 use Firegento\ContentProvisioning\Model\Config\Converter;
+use Magento\Framework\Exception\ConfigurationMismatchException;
 
 class ConverterTest extends \PHPUnit\Framework\TestCase
 {
diff --git a/Test/Integration/Model/Config/_files/content_provisioning.xml b/Test/Integration/Model/Config/_files/content_provisioning.xml
index 4affb24..0616ede 100644
--- a/Test/Integration/Model/Config/_files/content_provisioning.xml
+++ b/Test/Integration/Model/Config/_files/content_provisioning.xml
@@ -8,8 +8,8 @@
         <title>Title 2</title>
         <content heading="New Page Heading 2" type="file">Firegento_ContentProvisioning::Test/Integration/Model/Config/_files/test-files/file-1.html</content>
         <stores>
-            <store code="default" />
-            <store code="admin" />
+            <store code="default"/>
+            <store code="admin"/>
         </stores>
         <seo>
             <title>SEO Page Title</title>
@@ -40,8 +40,8 @@
         <title>Test Block 2</title>
         <content type="file">Firegento_ContentProvisioning::Test/Integration/Model/Config/_files/test-files/file-1.html</content>
         <stores>
-            <store code="default" />
-            <store code="admin" />
+            <store code="default"/>
+            <store code="admin"/>
         </stores>
     </block>
     <block key="test.block.3" identifier="test-block-3" maintained="true" active="true">
@@ -49,4 +49,4 @@
         <content type="file">Firegento_ContentProvisioning::Test/Integration/Model/Config/_files/test-files/content-with-images-1.html</content>
         <media_directory>Firegento_ContentProvisioning::Test/Integration/Model/Config/_files/test-files/media</media_directory>
     </block>
-</config>
\ No newline at end of file
+</config>
diff --git a/Test/Integration/Model/Config/_files/result.php b/Test/Integration/Model/Config/_files/result.php
index 5f2fdf3..e729b3a 100644
--- a/Test/Integration/Model/Config/_files/result.php
+++ b/Test/Integration/Model/Config/_files/result.php
@@ -1,7 +1,7 @@
 <?php
 
-use \Firegento\ContentProvisioning\Api\Data\PageEntryInterface;
-use \Firegento\ContentProvisioning\Api\Data\BlockEntryInterface;
+use Firegento\ContentProvisioning\Api\Data\BlockEntryInterface;
+use Firegento\ContentProvisioning\Api\Data\PageEntryInterface;
 
 return [
     'pages' => [
@@ -53,7 +53,7 @@ return [
                 'some-test-image.png',
                 'foobar/test.png',
             ],
-        ]
+        ],
     ],
     'blocks' => [
         'test.block.1' => [
diff --git a/Test/Integration/Model/PageInstaller/InstallMediaFilesTest.php b/Test/Integration/Model/PageInstaller/InstallMediaFilesTest.php
index dc8e7d1..73ae70d 100644
--- a/Test/Integration/Model/PageInstaller/InstallMediaFilesTest.php
+++ b/Test/Integration/Model/PageInstaller/InstallMediaFilesTest.php
@@ -6,8 +6,8 @@ namespace Firegento\ContentProvisioning\Test\Integration\Model\PageInstaller;
 use Firegento\ContentProvisioning\Api\Data\PageEntryInterface;
 use Firegento\ContentProvisioning\Api\TargetMediaDirectoryPathProviderInterface;
 use Firegento\ContentProvisioning\Model\Command\ApplyMediaFiles;
-use Magento\TestFramework\Helper\Bootstrap;
 use Firegento\ContentProvisioning\Model\PageInstaller;
+use Magento\TestFramework\Helper\Bootstrap;
 use org\bovigo\vfs\vfsStream;
 use org\bovigo\vfs\vfsStreamDirectory;
 use PHPUnit\Framework\MockObject\MockObject;
@@ -39,17 +39,17 @@ class InstallMediaFilesTest extends TestCase
                     'file-2.txt' => 'some value',
                     'not-used.png' => 'some value',
                     'sub-directory' => [
-                        'file-3.jpg' => 'some value'
+                        'file-3.jpg' => 'some value',
                     ],
                     'existing' => [
-                        'file-4.gif' => 'some value'
-                    ]
-                ]
+                        'file-4.gif' => 'some value',
+                    ],
+                ],
             ],
             'pub' => [
                 'media' => [
-                    'existing' => []
-                ]
+                    'existing' => [],
+                ],
             ],
         ];
 
@@ -67,7 +67,7 @@ class InstallMediaFilesTest extends TestCase
         $this->installer = Bootstrap::getObjectManager()
             ->create(PageInstaller::class, [
                 'getAllPageEntries' => $this->getPageEntryListMock,
-                'applyMediaFiles' => $applyMediaFiles
+                'applyMediaFiles' => $applyMediaFiles,
             ]);
     }
 
@@ -86,7 +86,7 @@ class InstallMediaFilesTest extends TestCase
             PageEntryInterface::MEDIA_FILES => [
                 'sub-directory/file-3.jpg',
                 'file-1.png',
-            ]
+            ],
         ]]);
 
         $this->pageEntries[2] = $this->pageEntryInterfaceFactory->create(['data' => [
@@ -102,7 +102,7 @@ class InstallMediaFilesTest extends TestCase
             PageEntryInterface::MEDIA_FILES => [
                 'file-2.txt',
                 'existing/file-4.gif',
-            ]
+            ],
         ]]);
 
         $this->pageEntries[3] = $this->pageEntryInterfaceFactory->create(['data' => [
@@ -119,7 +119,7 @@ class InstallMediaFilesTest extends TestCase
                 'sub-directory/file-3.jpg',
                 'file-1.png',
                 'not-existing/image.png',
-            ]
+            ],
         ]]);
 
         $this->getPageEntryListMock->method('get')->willReturn($this->pageEntries);
diff --git a/Test/Integration/Model/PageInstaller/TestCase.php b/Test/Integration/Model/PageInstaller/TestCase.php
index e877f35..15201fc 100644
--- a/Test/Integration/Model/PageInstaller/TestCase.php
+++ b/Test/Integration/Model/PageInstaller/TestCase.php
@@ -11,8 +11,8 @@ use Firegento\ContentProvisioning\Model\Query\GetPageEntryList;
 use Magento\Cms\Api\Data\PageInterface;
 use Magento\Framework\App\ResourceConnection;
 use Magento\Store\Model\StoreManagerInterface;
-use PHPUnit\Framework\MockObject\MockObject;
 use Magento\TestFramework\Helper\Bootstrap;
+use PHPUnit\Framework\MockObject\MockObject;
 
 class TestCase extends \PHPUnit\Framework\TestCase
 {
@@ -134,7 +134,7 @@ class TestCase extends \PHPUnit\Framework\TestCase
             PageEntryInterface::META_KEYWORDS => 'Some, seo, keywords',
             PageEntryInterface::META_TITLE => 'Seo title',
             PageEntryInterface::PAGE_LAYOUT => '3columns',
-            PageEntryInterface::LAYOUT_UPDATE_XML => ''
+            PageEntryInterface::LAYOUT_UPDATE_XML => '',
         ]]);
 
         $this->getPageEntryListMock->method('get')->willReturn($this->pageEntries);
diff --git a/Test/Integration/_files/content_provisioning.xml b/Test/Integration/_files/content_provisioning.xml
index a3bb514..d7385cd 100644
--- a/Test/Integration/_files/content_provisioning.xml
+++ b/Test/Integration/_files/content_provisioning.xml
@@ -8,8 +8,8 @@
         <title>Title 2</title>
         <content heading="New Page Heading 2" type="file">Firegento_ContentProvisioning::Test/Integration/_files/content/file-1.html</content>
         <stores>
-            <store code="default" />
-            <store code="admin" />
+            <store code="default"/>
+            <store code="admin"/>
         </stores>
         <seo>
             <title>SEO Page Title</title>
@@ -40,8 +40,8 @@
         <title>Test Block 2</title>
         <content type="file">Firegento_ContentProvisioning::Test/Integration/_files/content/file-1.html</content>
         <stores>
-            <store code="default" />
-            <store code="admin" />
+            <store code="default"/>
+            <store code="admin"/>
         </stores>
     </block>
     <block key="test.block.3" identifier="test-block-3" maintained="true" active="true">
@@ -49,4 +49,4 @@
         <content type="file">Firegento_ContentProvisioning::Test/Integration/_files/content/content-with-images-1.html</content>
         <media_directory>Firegento_ContentProvisioning::Test/Integration/_files/content/media</media_directory>
     </block>
-</config>
\ No newline at end of file
+</config>
diff --git a/Test/Integration/_files/result.php b/Test/Integration/_files/result.php
index a689507..9967f2a 100644
--- a/Test/Integration/_files/result.php
+++ b/Test/Integration/_files/result.php
@@ -1,7 +1,7 @@
 <?php
 
-use \Firegento\ContentProvisioning\Api\Data\PageEntryInterface;
-use \Firegento\ContentProvisioning\Api\Data\BlockEntryInterface;
+use Firegento\ContentProvisioning\Api\Data\BlockEntryInterface;
+use Firegento\ContentProvisioning\Api\Data\PageEntryInterface;
 
 return [
     'pages' => [
@@ -53,7 +53,7 @@ return [
                 'some-test-image.png',
                 'foobar/test.png',
             ],
-        ]
+        ],
     ],
     'blocks' => [
         'test.block.1' => [
diff --git a/etc/adminhtml/routes.xml b/etc/adminhtml/routes.xml
index 42dc867..ade8963 100644
--- a/etc/adminhtml/routes.xml
+++ b/etc/adminhtml/routes.xml
@@ -8,7 +8,7 @@
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
     <router id="admin">
         <route id="cms" frontName="cms">
-            <module name="Firegento_ContentProvisioning" before="Magento_Cms" />
+            <module name="Firegento_ContentProvisioning" before="Magento_Cms"/>
         </route>
     </router>
 </config>
diff --git a/etc/content_provisioning.xsd b/etc/content_provisioning.xsd
index c755cb0..a23357c 100644
--- a/etc/content_provisioning.xsd
+++ b/etc/content_provisioning.xsd
@@ -4,8 +4,8 @@
         <xs:complexType>
             <xs:sequence>
                 <xs:choice minOccurs="1" maxOccurs="unbounded">
-                    <xs:element type="page" name="page" />
-                    <xs:element type="block" name="block" />
+                    <xs:element type="page" name="page"/>
+                    <xs:element type="block" name="block"/>
                 </xs:choice>
             </xs:sequence>
         </xs:complexType>
@@ -22,7 +22,7 @@
 
     <xs:complexType name="page">
         <xs:choice maxOccurs="unbounded">
-            <xs:element minOccurs="1" maxOccurs="1" type="content" name="content" />
+            <xs:element minOccurs="1" maxOccurs="1" type="content" name="content"/>
             <xs:element minOccurs="1" maxOccurs="1" name="title">
                 <xs:simpleType>
                     <xs:restriction base="xs:string">
@@ -37,45 +37,45 @@
                     </xs:restriction>
                 </xs:simpleType>
             </xs:element>
-            <xs:element minOccurs="0" maxOccurs="1" type="stores" name="stores" />
-            <xs:element minOccurs="0" maxOccurs="1" type="seo" name="seo" />
-            <xs:element minOccurs="0" maxOccurs="1" type="design" name="design" />
-            <xs:element minOccurs="0" maxOccurs="1" type="custom_design" name="custom_design" />
+            <xs:element minOccurs="0" maxOccurs="1" type="stores" name="stores"/>
+            <xs:element minOccurs="0" maxOccurs="1" type="seo" name="seo"/>
+            <xs:element minOccurs="0" maxOccurs="1" type="design" name="design"/>
+            <xs:element minOccurs="0" maxOccurs="1" type="custom_design" name="custom_design"/>
         </xs:choice>
-        <xs:attribute name="key" type="key" use="required" />
-        <xs:attribute name="identifier" type="identifier" use="required" />
-        <xs:attribute name="active" type="xs:boolean" use="required" />
-        <xs:attribute name="maintained" type="xs:boolean" use="optional" />
+        <xs:attribute name="key" type="key" use="required"/>
+        <xs:attribute name="identifier" type="identifier" use="required"/>
+        <xs:attribute name="active" type="xs:boolean" use="required"/>
+        <xs:attribute name="maintained" type="xs:boolean" use="optional"/>
     </xs:complexType>
 
     <xs:complexType name="seo">
         <xs:choice maxOccurs="unbounded">
-            <xs:element minOccurs="0" maxOccurs="1" type="xs:string" name="title" />
-            <xs:element minOccurs="0" maxOccurs="1" type="xs:string" name="keywords" />
-            <xs:element minOccurs="0" maxOccurs="1" type="xs:string" name="description" />
+            <xs:element minOccurs="0" maxOccurs="1" type="xs:string" name="title"/>
+            <xs:element minOccurs="0" maxOccurs="1" type="xs:string" name="keywords"/>
+            <xs:element minOccurs="0" maxOccurs="1" type="xs:string" name="description"/>
         </xs:choice>
     </xs:complexType>
 
     <xs:complexType name="design">
         <xs:choice maxOccurs="unbounded">
-            <xs:element minOccurs="0" maxOccurs="1" type="layout" name="layout" />
-            <xs:element minOccurs="0" maxOccurs="1" type="xs:string" name="layout_xml" />
+            <xs:element minOccurs="0" maxOccurs="1" type="layout" name="layout"/>
+            <xs:element minOccurs="0" maxOccurs="1" type="xs:string" name="layout_xml"/>
         </xs:choice>
     </xs:complexType>
 
     <xs:complexType name="custom_design">
         <xs:choice maxOccurs="unbounded">
-            <xs:element minOccurs="0" maxOccurs="1" type="xs:date" name="from" />
-            <xs:element minOccurs="0" maxOccurs="1" type="xs:date" name="to" />
-            <xs:element minOccurs="0" maxOccurs="1" type="xs:integer" name="theme_id" />
-            <xs:element minOccurs="0" maxOccurs="1" type="layout" name="layout" />
+            <xs:element minOccurs="0" maxOccurs="1" type="xs:date" name="from"/>
+            <xs:element minOccurs="0" maxOccurs="1" type="xs:date" name="to"/>
+            <xs:element minOccurs="0" maxOccurs="1" type="xs:integer" name="theme_id"/>
+            <xs:element minOccurs="0" maxOccurs="1" type="layout" name="layout"/>
         </xs:choice>
     </xs:complexType>
 
     <xs:complexType name="block">
         <xs:choice maxOccurs="unbounded">
-            <xs:element minOccurs="0" maxOccurs="1" type="stores" name="stores" />
-            <xs:element minOccurs="1" maxOccurs="1" type="content" name="content" />
+            <xs:element minOccurs="0" maxOccurs="1" type="stores" name="stores"/>
+            <xs:element minOccurs="1" maxOccurs="1" type="content" name="content"/>
             <xs:element minOccurs="0" maxOccurs="1" name="media_directory">
                 <xs:simpleType>
                     <xs:restriction base="xs:string">
@@ -83,12 +83,12 @@
                     </xs:restriction>
                 </xs:simpleType>
             </xs:element>
-            <xs:element minOccurs="1" maxOccurs="1" type="xs:string" name="title" />
+            <xs:element minOccurs="1" maxOccurs="1" type="xs:string" name="title"/>
         </xs:choice>
-        <xs:attribute name="key" type="key" use="required" />
-        <xs:attribute name="identifier" type="identifier" use="required" />
-        <xs:attribute name="active" type="xs:boolean" use="required" />
-        <xs:attribute name="maintained" type="xs:boolean" use="optional" />
+        <xs:attribute name="key" type="key" use="required"/>
+        <xs:attribute name="identifier" type="identifier" use="required"/>
+        <xs:attribute name="active" type="xs:boolean" use="required"/>
+        <xs:attribute name="maintained" type="xs:boolean" use="optional"/>
     </xs:complexType>
 
     <xs:simpleType name="key">
@@ -98,33 +98,33 @@
             </xs:documentation>
         </xs:annotation>
         <xs:restriction base="xs:string">
-            <xs:pattern value="[a-zA-Z0-9_\\\-\.]{1,}" />
-            <xs:minLength value="2" />
+            <xs:pattern value="[a-zA-Z0-9_\\\-\.]{1,}"/>
+            <xs:minLength value="2"/>
         </xs:restriction>
     </xs:simpleType>
 
     <xs:simpleType name="identifier">
         <xs:restriction base="xs:string">
-            <xs:pattern value="[a-zA-Z0-9_\\\-]{1,}" />
-            <xs:minLength value="2" />
+            <xs:pattern value="[a-zA-Z0-9_\\\-]{1,}"/>
+            <xs:minLength value="2"/>
         </xs:restriction>
     </xs:simpleType>
 
     <xs:complexType name="stores">
         <xs:sequence>
-            <xs:element minOccurs="1" maxOccurs="unbounded" type="store" name="store" />
+            <xs:element minOccurs="1" maxOccurs="unbounded" type="store" name="store"/>
         </xs:sequence>
     </xs:complexType>
 
     <xs:complexType name="store">
-        <xs:attribute name="code" type="xs:string" use="required" />
+        <xs:attribute name="code" type="xs:string" use="required"/>
     </xs:complexType>
 
     <xs:complexType name="content">
         <xs:simpleContent>
             <xs:extension base="xs:string">
-                <xs:attribute name="type" type="content_type" use="optional" />
-                <xs:attribute name="heading" type="xs:string" use="optional" />
+                <xs:attribute name="type" type="content_type" use="optional"/>
+                <xs:attribute name="heading" type="xs:string" use="optional"/>
             </xs:extension>
         </xs:simpleContent>
     </xs:complexType>
@@ -144,4 +144,4 @@
             <xs:enumeration value="3columns"/>
         </xs:restriction>
     </xs:simpleType>
-</xs:schema>
\ No newline at end of file
+</xs:schema>
diff --git a/etc/di.xml b/etc/di.xml
index fc3bc55..7222ea2 100644
--- a/etc/di.xml
+++ b/etc/di.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0"?>
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
-    <preference for="Firegento\ContentProvisioning\Api\ConfigurationInterface" type="Firegento\ContentProvisioning\Model\Config\Data" />
-    <preference for="Firegento\ContentProvisioning\Api\StoreCodeResolverInterface" type="Firegento\ContentProvisioning\Model\Resolver\StoreCodeResolver" />
-    <preference for="Firegento\ContentProvisioning\Api\Data\PageEntryInterface" type="Firegento\ContentProvisioning\Model\PageEntry" />
-    <preference for="Firegento\ContentProvisioning\Api\Data\BlockEntryInterface" type="Firegento\ContentProvisioning\Model\BlockEntry" />
-    <preference for="Firegento\ContentProvisioning\Api\TargetMediaDirectoryPathProviderInterface" type="Firegento\ContentProvisioning\Model\Configuration\TargetMediaDirectoryPathProvider" />
+    <preference for="Firegento\ContentProvisioning\Api\ConfigurationInterface" type="Firegento\ContentProvisioning\Model\Config\Data"/>
+    <preference for="Firegento\ContentProvisioning\Api\StoreCodeResolverInterface" type="Firegento\ContentProvisioning\Model\Resolver\StoreCodeResolver"/>
+    <preference for="Firegento\ContentProvisioning\Api\Data\PageEntryInterface" type="Firegento\ContentProvisioning\Model\PageEntry"/>
+    <preference for="Firegento\ContentProvisioning\Api\Data\BlockEntryInterface" type="Firegento\ContentProvisioning\Model\BlockEntry"/>
+    <preference for="Firegento\ContentProvisioning\Api\TargetMediaDirectoryPathProviderInterface" type="Firegento\ContentProvisioning\Model\Configuration\TargetMediaDirectoryPathProvider"/>
 
     <virtualType name="Firegento\ContentProvisioning\Virtual\Config\Parser\PageContentParser" type="Firegento\ContentProvisioning\Model\Config\Parser\ContentParser">
         <arguments>
diff --git a/view/adminhtml/templates/maintained_content_warning.phtml b/view/adminhtml/templates/maintained_content_warning.phtml
index bbe31ea..11961e3 100644
--- a/view/adminhtml/templates/maintained_content_warning.phtml
+++ b/view/adminhtml/templates/maintained_content_warning.phtml
@@ -2,11 +2,11 @@
 /** @var \Firegento\ContentProvisioning\Block\MaintainedContentWarning $block */
 ?>
 <?php if ($block->isMaintained()): ?>
-<div class="message-system-short">
-    <div class="message-system-wrapper" data-repeat-index="0">
-        <div class="message message-warning">
-            <?= $block->getMessage() ?>
+    <div class="message-system-short">
+        <div class="message-system-wrapper" data-repeat-index="0">
+            <div class="message message-warning">
+                <?= $block->getMessage() ?>
+            </div>
         </div>
     </div>
-</div>
 <?php endif ?>
diff --git a/view/adminhtml/ui_component/cms_block_form.xml b/view/adminhtml/ui_component/cms_block_form.xml
index b723aba..c9d285e 100644
--- a/view/adminhtml/ui_component/cms_block_form.xml
+++ b/view/adminhtml/ui_component/cms_block_form.xml
@@ -8,7 +8,7 @@
     <htmlContent name="content_provisioning_hint" sortOrder="1">
         <block name="content_provisioning_hint"
                template="Firegento_ContentProvisioning::maintained_content_warning.phtml"
-               class="Firegento\ContentProvisioning\Block\MaintainedContentWarning" />
+               class="Firegento\ContentProvisioning\Block\MaintainedContentWarning"/>
     </htmlContent>
-    <fieldset name="general" sortOrder="2" />
+    <fieldset name="general" sortOrder="2"/>
 </form>
diff --git a/view/adminhtml/ui_component/cms_page_form.xml b/view/adminhtml/ui_component/cms_page_form.xml
index ef13dc2..72bdc3b 100644
--- a/view/adminhtml/ui_component/cms_page_form.xml
+++ b/view/adminhtml/ui_component/cms_page_form.xml
@@ -8,7 +8,7 @@
     <htmlContent name="content_provisioning_hint" sortOrder="1">
         <block name="content_provisioning_hint"
                template="Firegento_ContentProvisioning::maintained_content_warning.phtml"
-               class="Firegento\ContentProvisioning\Block\MaintainedContentWarning" />
+               class="Firegento\ContentProvisioning\Block\MaintainedContentWarning"/>
     </htmlContent>
-    <fieldset name="general" sortOrder="2" />
+    <fieldset name="general" sortOrder="2"/>
 </form>
-- 
GitLab