PHPackages                             heimrichhannot/contao-migration-bundle - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. heimrichhannot/contao-migration-bundle

ActiveContao-bundle[Utility &amp; Helpers](/categories/utility)

heimrichhannot/contao-migration-bundle
======================================

Contao 4 migration project bundle

0.9.0(6y ago)0230LGPL-3.0-or-laterPHPPHP ^7.1

Since Jun 21Pushed 6y ago5 watchersCompare

[ Source](https://github.com/heimrichhannot/contao-migration-bundle)[ Packagist](https://packagist.org/packages/heimrichhannot/contao-migration-bundle)[ RSS](/packages/heimrichhannot-contao-migration-bundle/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependencies (2)Versions (14)Used By (0)

Contao Migration
================

[](#contao-migration)

A collection of various migration scripts.

Features
--------

[](#features)

- convert frontend modules to [Filter](https://github.com/heimrichhannot/contao-filter-bundle)/[List](https://github.com/heimrichhannot/contao-list-bundle)/[Reader](https://github.com/heimrichhannot/contao-reader-bundle) modules:
    - News Plus frontend module
    - Owl carousel news list
- move modules into [blocks](https://github.com/heimrichhannot/contao-blocks)
- move news\_categories to [Categories](https://github.com/heimrichhannot/contao-categories-bundle)
- Migrations:
    - contao-legacy/fry\_accessible\_tabs to [heimrichhannot/contao-tab-control-bundle](https://github.com/heimrichhannot/contao-tab-control-bundle)

Requires
--------

[](#requires)

- Contao 4.4
- [Filter-](https://github.com/heimrichhannot/contao-filter-bundle)/[List-](https://github.com/heimrichhannot/contao-list-bundle)/[Readerbundle](https://github.com/heimrichhannot/contao-reader-bundle)
- [Contao Blocks](https://github.com/heimrichhannot/contao-blocks): ^1.5.2

Commands
--------

[](#commands)

Use \[command\] --help to get more information.

### Modules

[](#modules)

#### Convert News Archive Menu to Filter Bundle

[](#convert-news-archive-menu-to-filter-bundle)

Usage:

```
huh:migration:module:newsmenu [options]

```

Options:

OptionDescription-i, --ids\[=IDS\]Provide the id of a single module or a comma separated list of module ids that should be migrated.-t, --types\[=TYPES\]What module types should be migrated? \[default: \["newsmenu"\]\] (multiple values allowed)--dry-runPerforms a run without writing to database and copy templates.Since: `0.4.0`

#### Convert Owl Carousel News List to Filter/List modules

[](#convert-owl-carousel-news-list-to-filterlist-modules)

Usage:

```
huh:migration:module:owlcarousel [options]

```

Options:

OptionDescription-i, --ids\[=IDS\]Provide the id of a single module or a comma separated list of module ids that should be migrated.-t, --types\[=TYPES\]What module types should be migrated? \[default: \["owl\_newslist"\]\] (multiple values allowed)--dry-runPerforms a run without writing to database and copy templates.Since: `0.2.0`

#### Convert News Plus modules to Filter/List/Readerbundle modules

[](#convert-news-plus-modules-to-filterlistreaderbundle-modules)

Usage:

```
huh:migration:module:newsplus [options]

```

Options:

OptionDescription--dry-runPerforms a run without writing to database and copy templates.-m, --module=MODULEConvert a single module instead of all modules.#### Convert News Plus reader modules to Filter/Readerbundle modules

[](#convert-news-plus-reader-modules-to-filterreaderbundle-modules)

Migration of tl\_module type:newsreader modules to huhreader and creates reader configurations from old tl\_module settings.

Usage:

```
migration:module:newsreader [options]

```

Options:

OptionDescription-i, --ids\[=IDS\]Provide the id of a single module or a comma separated list of module ids that should be migrated.-t, --types\[=TYPES\]What module types should be migrated? \[default: \["newsreader","newsreader\_plus"\]\] (multiple values allowed)--dry-runPerforms a run without writing to database and copy templates.### Content elements

[](#content-elements)

#### Convert Tabs to Tab Control Bundle

[](#convert-tabs-to-tab-control-bundle)

Supported source modules:

- contao-legacy/fry\_accessible\_tabs

Usage:

```
huh:migration:ce:tab_control_bundle [options]

```

Options:

OptionDescription-i, --ids\[=IDS\]Provide the id of a single module or a comma separated list of module ids that should be migrated.-t, --types\[=TYPES\]What content element types should be migrated? \[default: \["owl\_newslist"\]\] (multiple values allowed)--dry-runPerforms a run without writing to database and copy templates.Since: `0.3.0`

### Others

[](#others)

#### News Categories to Categories Bundle

[](#news-categories-to-categories-bundle)

Migration of database entries from news\_categories module to heimrichhannot/contao-categories.

Usage:

```
huh:migration:db:news_categories [] [options]

```

Arguments:

ArgumentDescriptionfieldWhat is the name of the category field in tl\_news? \[default: "categories"\]Options:

OptionDescription--category-idsRestrict the command to legacy news categories of certain IDs **and their children** \[default: no restriction\]--news-archive-idsRestrict the command to news of certain archives \[default: no restriction\]--primary-category-fieldPass in the name of the *source* field in tl\_news holding the ID of the primary category.#### Move modules to block

[](#move-modules-to-block)

Move given module into a block.

Usage:

```
huh:migration:movetoblock [options] [--]  ()...

```

Arguments:

ArgumentDescriptionmodulesIds of modules should migrated into a block.Options:

OptionDescription-b, --block=BLOCKSet a block where module should be added to. If not set, a new block is created.```
  --ignore-types   | Don't set custom module settings for block module like !autoitem for reader module.
  --dry-run        | Preview command without changing the database.

```

-t, --title=TITLE | Set a block name for new blocks. If not set, name of first module will be used. --no-replace | Don't replace modules with block.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~64 days

Recently: every ~87 days

Total

12

Last Release

2228d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/28ad3224d8727b622ebd229840eea6b9dbcb83eb0bd609e6ce65b614830ff538?d=identicon)[digitales@heimrich-hannot.de](/maintainers/digitales@heimrich-hannot.de)

---

Top Contributors

[![koertho](https://avatars.githubusercontent.com/u/12064642?v=4)](https://github.com/koertho "koertho (35 commits)")

### Embed Badge

![Health badge](/badges/heimrichhannot-contao-migration-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/heimrichhannot-contao-migration-bundle/health.svg)](https://phpackages.com/packages/heimrichhannot-contao-migration-bundle)
```

###  Alternatives

[metamodels/core

MetaModels core

10156.4k68](/packages/metamodels-core)[heimrichhannot/contao-encore-bundle

This bundle brings deep integration for symfony encore into contao. On the one hand, your can prepare your bundles to define own webpack entries, which added with just one command to your webpack entries. On the other hand, this bundle allows you to add encore entries only on the pages you need them for optimizing your website performance.

1016.6k](/packages/heimrichhannot-contao-encore-bundle)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3189.0k6](/packages/codefog-contao-news-categories)[terminal42/contao-node

Node bundle for Contao Open Source CMS

3177.0k6](/packages/terminal42-contao-node)[markocupic/calendar-event-booking-bundle

Contao Calendar Event Booking Bundle

135.2k1](/packages/markocupic-calendar-event-booking-bundle)

PHPackages © 2026

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