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(5y ago)0230LGPL-3.0-or-laterPHPPHP ^7.1

Since Jun 21Pushed 5y 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 6d 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 43% 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

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

[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[madeyourday/contao-rocksolid-custom-elements

Create your own, nestable content elements using a modular system. End the WYSIWYG chaos with your own content elements.

50341.9k12](/packages/madeyourday-contao-rocksolid-custom-elements)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3183.3k6](/packages/codefog-contao-news-categories)[terminal42/contao-folderpage

Provides a new page type for Contao that allows you to group pages into folders.

18147.9k9](/packages/terminal42-contao-folderpage)[inspiredminds/contao-glightbox

Contao extension to integrate GLightbox.

1223.3k1](/packages/inspiredminds-contao-glightbox)[pdir/social-feed-bundle

Social feed extension for Contao CMS

1414.8k](/packages/pdir-social-feed-bundle)

PHPackages © 2026

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