PHPackages                             passionweb/contentblocks-reg-api-migration - 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. [API Development](/categories/api)
4. /
5. passionweb/contentblocks-reg-api-migration

ActiveTypo3-cms-extension[API Development](/categories/api)

passionweb/contentblocks-reg-api-migration
==========================================

Migrate content blocks from Content Blocks Registration API to TYPO3 CMS Content Blocks.

292PHP

Since Dec 4Pushed 1y ago1 watchersCompare

[ Source](https://github.com/passionweb-manuel-schnabel/contentblocks-reg-api-migration)[ Packagist](https://packagist.org/packages/passionweb/contentblocks-reg-api-migration)[ RSS](/packages/passionweb-contentblocks-reg-api-migration/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Migrate content blocks from Content Blocks Registration API to TYPO3 CMS Content Blocks.
========================================================================================

[](#migrate-content-blocks-from-content-blocks-registration-api-to-typo3-cms-content-blocks)

Adds a migration command to migrate content blocks from the Content Blocks Registration API to TYPO3 CMS Content Blocks.

What does it do?
----------------

[](#what-does-it-do)

- copy old content blocks to new place (folder ContentBlocks/ContentElements/)
- build new folder structure
    - delete unnecessary files (e.g. composer.json)
    - rename files (e.g. language files, icon file)
    - rename folders (e.g. src to Source and dist to Assets)
    - adjust language files
- convert the EditorInterface.yaml
- adjust template files (only Frontend.html and EditorPreview.html)
    - (adds the "data-" prefix to all variables which are not declared as "useExistingFields" in the EditorInterface.yaml)
    - convert the EXT:content\_blocks specific ViewHelpers
- convert database structure

What does it not do?
--------------------

[](#what-does-it-not-do)

- Considers Collections on first level (Collections in Collections ... in Collections ... are not tested/supported)
- Template adjustments must be done manually (the migration only adjust the above-mentioned parts)

Installation
------------

[](#installation)

Add via composer:

```
composer require passionweb/contentblocks-reg-api-migration --dev

```

or

```
composer require passionweb/contentblocks-reg-api-migration:dev-master --dev

```

- Install the extension via composer
- Flush TYPO3 and PHP Cache

Requirements
------------

[](#requirements)

- TYPO3 12.4
- [EXT:content\_blocks](https://extensions.typo3.org/extension/content_blocks "EXT:content_blocks")

Important notes / before you start
----------------------------------

[](#important-notes--before-you-start)

Be sure to have a backup of your database and files (if not, do it before you start)! This migration should not be executed on a live system without a backup! An additional question will be asked before the migration starts, so you have the possibility to cancel the migration before things get changed.

Command details
---------------

[](#command-details)

```
ddev typo3 content-blocks:migrate --target-extension=EXTENSION --vendor-name=VENDOR_NAME --package-path=PACKAGE_PATH --source-content-block=CONTENT_BLOCK_PACKAGE

```

- `--target-extension` (required): The extension key of the target extension where the content blocks should be migrated to.
- `--vendor-name` (required): The vendor name of the migrated content blocks.
- `--package-path` (required): The path to the package of the "old" content blocks which should be migrated (relative from document root).
- `--source-content-block` (optional): The package key of one "old" content block which should be migrated.

Drawbacks to keep in mind
-------------------------

[](#drawbacks-to-keep-in-mind)

If you migrate the database structure, it is possible that you get a "Row size too large" error while running `database updateschema`.

Sometimes it is enough if you run the `database updateschema` command again with additional argument like `"table.add"`. If this does not help, you have to analyze the database structure manually based on the information from the "Row size too large" error and execute some necessary SQL queries.

Troubleshooting and logging
---------------------------

[](#troubleshooting-and-logging)

If something does not work as expected take a look at the log file first. Every problem is logged to the TYPO3 log (normally found in `var/log/typo3_*.log`)

Achieving more together or Feedback, Feedback, Feedback
-------------------------------------------------------

[](#achieving-more-together-or-feedback-feedback-feedback)

I'm grateful for any feedback! Be it suggestions for improvement, extension requests or just a (constructive) feedback on how good or crappy the extension is.

Feel free to send me your feedback to [service@passionweb.de](mailto:service@passionweb.de "Send Feedback") or [contact me on Slack](https://typo3.slack.com/team/U02FG49J4TG "Contact me on Slack")

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity17

Early-stage or recently created project

 Bus Factor1

Top contributor holds 69.2% 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/120183093?v=4)[Manuel Schnabel](/maintainers/passionweb-manuel-schnabel)[@passionweb-manuel-schnabel](https://github.com/passionweb-manuel-schnabel)

---

Top Contributors

[![passionweb-manuel-schnabel](https://avatars.githubusercontent.com/u/120183093?v=4)](https://github.com/passionweb-manuel-schnabel "passionweb-manuel-schnabel (9 commits)")[![velletti](https://avatars.githubusercontent.com/u/912094?v=4)](https://github.com/velletti "velletti (4 commits)")

### Embed Badge

![Health badge](/badges/passionweb-contentblocks-reg-api-migration/health.svg)

```
[![Health](https://phpackages.com/badges/passionweb-contentblocks-reg-api-migration/health.svg)](https://phpackages.com/packages/passionweb-contentblocks-reg-api-migration)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k15](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

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