PHPackages                             firegento/magento2-content-provisioning - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. firegento/magento2-content-provisioning

ActiveLibrary

firegento/magento2-content-provisioning
=======================================

N/A

1.4.3(3y ago)4464.1k↓21.4%18[1 issues](https://github.com/magento-hackathon/m2-content-provisioning/issues)[1 PRs](https://github.com/magento-hackathon/m2-content-provisioning/pulls)1OSL-3.0PHP

Since Feb 10Pushed 3y ago8 watchersCompare

[ Source](https://github.com/magento-hackathon/m2-content-provisioning)[ Packagist](https://packagist.org/packages/firegento/magento2-content-provisioning)[ RSS](/packages/firegento-magento2-content-provisioning/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (10)Dependencies (7)Versions (37)Used By (1)

FireGento Magento 2 Content Provisioning
========================================

[](#firegento-magento-2-content-provisioning)

This module was developed during a Magento Hackathon organized by FireGento e.V. ().

> **ℹ️ Maintenance**
>
> This module is maintained by [TechDivision](https://www.techdivision.com/). Therefore, there we created a mirror repository, which allow us to run automated quality checks on our internal infrastructure for this module. Please see for details. Please feel free to contact us, if you have questions regarding the repository structure or mirroring.

#### Build-Status (`develop` branch)

[](#build-status-develop-branch)

[![pipeline status](https://camo.githubusercontent.com/855a111a58d2fe0f5e91652eed87d5b88466d61897e46d3e6b4687530995df85/68747470733a2f2f6769746c61622e6d65742e7464696e7465726e2e64652f746563686469766973696f6e2d7075626c69632f6d322d636f6e74656e742d70726f766973696f6e696e672f6261646765732f646576656c6f702f706970656c696e652e737667)](https://gitlab.met.tdintern.de/techdivision-public/m2-content-provisioning/-/commits/develop)

The idea behind this module
---------------------------

[](#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.

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
---------------------

[](#install-with-composer)

```
composer require firegento/magento2-content-provisioning
```

How it works
------------

[](#how-it-works)

After installing this module you can create your own `content_provisioning.xml` in each of your modules.

Example configurations
----------------------

[](#example-configurations)

### Minimal configuration for a page

[](#minimal-configuration-for-a-page)

```

        Page Title
        Your_Module::path/to/content.html

    ...

```

### Full configuration for a page

[](#full-configuration-for-a-page)

```

        Page Title
        Your_Module::path/to/content.html
        Your_Module::path/to/media

            SEO Page Title
            Some, SEO, keywords
            SEO description

            3columns
            bar]]>

            2019-03-03
            2019-03-29
            3columns
            3

    ...

```

### Minimal configuration for a block

[](#minimal-configuration-for-a-block)

```

        Test Block 1
        test foobar Aenean commodo ligula eget dolor aenean massa]]>

    ...

```

### Full configuration for a block

[](#full-configuration-for-a-block)

```

        Test Block 2
        Your_Module::path/to/content.html
        Your_Module::path/to/media

    ...

```

Some explanation
----------------

[](#some-explanation)

### `key`-Attribute

[](#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...

#### You could use `identifier` - or?

[](#you-could-use-identifier---or)

No, identifier is not unique since the same identifier can be used for multiple store views.

### `maintained`-Attribute

[](#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

[](#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

[](#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.

### `media_directory`-Node (since version 1.2.0)

[](#media_directory-node-since-version-120)

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
------------------------------------------------

[](#executing-integration-tests-on-local-environment)

```
# Create a new Magento instance
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition magento

# Install content provisioning extension
cd magento
composer require firegento/magento2-content-provisioning

# Update database configuration for integration tests
mv dev/tests/integration/etc/install-config-mysql.php.dist dev/tests/integration/etc/install-config-mysql.php
vi dev/tests/integration/etc/install-config-mysql.php

# Execute tests
php vendor/bin/phpunit -c $(pwd)/vendor/firegento/magento2-content-provisioning/Test/Integration/phpunit.xml
```

Console Commands
----------------

[](#console-commands)

```
# reset a CMS block (all localizations) by its key
bin/magento content-provisioning:block:reset --key "myKey"
bin/magento content-provisioning:block:reset -k "myKey"

# reset a CMS blocks by its identifier
bin/magento content-provisioning:block:reset --identifier "myIdentifier"
bin/magento content-provisioning:block:reset -i "myIdentifier"

# add a CMS block by key
bin/magento content-provisioning:block:apply "myKey"

# add a CMS page by key
bin/magento content-provisioning:page:apply "myKey"

# list all configured CMS block entries
bin/magento content-provisioning:block:list

# list all configured CMS page entries
bin/magento content-provisioning:page:list
```

Issues and planned features
---------------------------

[](#issues-and-planned-features)

See issues to see what's planed next: Feel free to add your ideas there.

Changelog
---------

[](#changelog)

See [changelog file](CHANGELOG.md)

Extensions for this extension ;)
--------------------------------

[](#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).

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity42

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 80.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~45 days

Recently: every ~88 days

Total

35

Last Release

1110d ago

Major Versions

0.1.0 → 1.0.02019-02-12

PHP version history (5 changes)0.1.0PHP ~7.1.3||~7.2.0

1.1.2PHP ~7.1.3|~7.2.0

1.2.x-devPHP ~7.1.3|~7.2.0|~7.3.0

1.3.0PHP ~7.1.3|~7.2.0|~7.3.0|~7.4.0

1.3.7PHP ~7.1.3|~7.2.0|~7.3.0|~7.4.0|~8.1.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/68cd756580a447a243e697cc293b69e1178190e436146d67e90f9c63b285272b?d=identicon)[firegento](/maintainers/firegento)

---

Top Contributors

[![vadimjustus](https://avatars.githubusercontent.com/u/4609608?v=4)](https://github.com/vadimjustus "vadimjustus (125 commits)")[![sippsolutions](https://avatars.githubusercontent.com/u/1697820?v=4)](https://github.com/sippsolutions "sippsolutions (10 commits)")[![ffalkone](https://avatars.githubusercontent.com/u/39594405?v=4)](https://github.com/ffalkone "ffalkone (6 commits)")[![LukasKiederle](https://avatars.githubusercontent.com/u/46490366?v=4)](https://github.com/LukasKiederle "LukasKiederle (4 commits)")[![deiserh](https://avatars.githubusercontent.com/u/16748061?v=4)](https://github.com/deiserh "deiserh (3 commits)")[![steinkopffp](https://avatars.githubusercontent.com/u/30256363?v=4)](https://github.com/steinkopffp "steinkopffp (3 commits)")[![TD-ellguthe](https://avatars.githubusercontent.com/u/77002227?v=4)](https://github.com/TD-ellguthe "TD-ellguthe (2 commits)")[![sarah-joy](https://avatars.githubusercontent.com/u/47857763?v=4)](https://github.com/sarah-joy "sarah-joy (1 commits)")[![Flyingmana](https://avatars.githubusercontent.com/u/237319?v=4)](https://github.com/Flyingmana "Flyingmana (1 commits)")[![berwa](https://avatars.githubusercontent.com/u/3853441?v=4)](https://github.com/berwa "berwa (1 commits)")

---

Tags

cmsmagento-configurationmagento2magento2-module

### Embed Badge

![Health badge](/badges/firegento-magento2-content-provisioning/health.svg)

```
[![Health](https://phpackages.com/badges/firegento-magento2-content-provisioning/health.svg)](https://phpackages.com/packages/firegento-magento2-content-provisioning)
```

###  Alternatives

[smile/elasticsuite

Magento 2 merchandising and search engine built on ElasticSearch

8044.5M33](/packages/smile-elasticsuite)[mollie/magento2

Mollie Payment Module for Magento 2

1121.6M10](/packages/mollie-magento2)[dotdigital/dotdigital-magento2-extension

Dotdigital for Magento 2

50374.2k18](/packages/dotdigital-dotdigital-magento2-extension)[swissup/module-search-mysql-legacy

Legacy mysql search for magento 2.4

10483.0k](/packages/swissup-module-search-mysql-legacy)[fredden/magento2-module-javascript-error-reporting

A Magento 2 module which captures JavaScript errors for later review by website administrators

3138.1k](/packages/fredden-magento2-module-javascript-error-reporting)[opengento/module-category-import-export

This module add the capability to import and export the categories from the back-office.

119.1k](/packages/opengento-module-category-import-export)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
