sbuerk / dce-fce-migration
Specialist dce to fce migration toolchain
Installs: 103
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:typo3-cms-extension
Requires
- php: ^7.2
- ext-json: *
- typo3/cms-core: ^10.4
Requires (Dev)
- typo3/cms-backend: ^10.4
- typo3/cms-composer-installers: ^3.0
- typo3/coding-standards: ^0.5.5
- typo3/tailor: ^1.4.0
- typo3/testing-framework: ^6.16.6
README
Introduction
This package contains a toolchain for migration DCE to FCE in several (internal/customer) projects. It contain's only the stuff we needed so far, so this is not a full-fledged feature enriched package, and maybe will never become one. Feel free to fork and extend it with the things you need.
Installation
This package is currently only available as composer package.
$ composer require sbuerk/dce-fce-migration
Usage
This package comes with a centralized command to process migrations. However, migrations are project specific and thus must be provided by the instance. They must be registered, so the command can pick them up.
Command Usage
$ vendor/bin/typo3 dce2fce:migrate # list migrations $ vendor/bin/typo3 dce2fce:migrate --run # run all registered migrations $ vendor/bin/typo3 dce2fce:migrate --run \ # run only selected migration(s) --select="dce-1" --select="dce-2" # using the select option to select by identifiers
Migrations are registered with the global $GLOBALS['DCE_FCE_MIGRATIONS']
:
$GLOBALS['DCE_FCE_MIGRATIONS'] = array_replace( $GLOBALS['DCE_FCE_MIGRATIONS'] ?? [], // register migrations \Vendor\Extension\Migrations\YourDceElementMigrationClass::class, );
TODO's
[ ] Enrich README.md with information about how to write custom DCE->FCE Migration sets [ ] Explain basic migration sets templates [ ] Add tests to cover the functionality
Tagging and releasing
packagist.org is enabled via the casual github hook. TER releases are created by the "publish.yml" github workflow when tagging versions using tailor. The commit message of the tagged commit is used as TER upload comment.
@todo TER Release not implemented yet
Example:
composer install
.Build/bin/tailor set-version 0.2.0 --no-docs
git commit -am "[RELEASE] 0.2.0 Bug fixes and improved core v11 compatibility"
git tag 0.2.0
git push
git push --tags