All Projects → einpraegsam → migration

einpraegsam / migration

Licence: other
TYPO3 Migration Framework for every kind of migration/imports from CLI (e.g. Templavoila to Gridelements, tt_news to news, etc...)

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to migration

ProcessMigrator
ProcessWire module that facilitates automated migration and sharing of page trees along with their templates and fields.
Stars: ✭ 29 (-44.23%)
Mutual labels:  migration, import
great-migration
Copy objects from Rackspace to S3
Stars: ✭ 15 (-71.15%)
Mutual labels:  migration, import
project-migration-tools
Project Migration tools to help you migrating to IAR Embedded Workbench more efficiently.
Stars: ✭ 36 (-30.77%)
Mutual labels:  migration, import
Undermoon
Mordern Redis Cluster solution for easy operation.
Stars: ✭ 166 (+219.23%)
Mutual labels:  migration
Lunatech Scala 2 To Scala3 Course
Lunatech course - "Moving forward from Scala 2 to Scala 3"
Stars: ✭ 174 (+234.62%)
Mutual labels:  migration
Scala 3 Migration Guide
The Scala 3 migration guide for everyone.
Stars: ✭ 220 (+323.08%)
Mutual labels:  migration
data-migrator
A declarative data-migration package
Stars: ✭ 15 (-71.15%)
Mutual labels:  migration
C2rust
Migrate C code to Rust
Stars: ✭ 2,111 (+3959.62%)
Mutual labels:  migration
vscode-typo3-typoscript
An extension for VS Code which provides support for the TypoScript syntax.
Stars: ✭ 18 (-65.38%)
Mutual labels:  typo3
Azure Devops Migration Tools
Azure DevOps Migration Tools allow you to migrate Teams, Backlogs, Tasks, Test Cases, and Plans & Suits from one Project to another in Azure DevOps / TFS both within the same Organisation, and between Organisations.
Stars: ✭ 218 (+319.23%)
Mutual labels:  migration
Migrate
Database migrations. CLI and Golang library.
Stars: ✭ 2,315 (+4351.92%)
Mutual labels:  migration
Migrate Windowsuserprofile
Migrate Windows user profile to a new machine using Microsoft USMT with a PowerShell GUI.
Stars: ✭ 182 (+250%)
Mutual labels:  migration
autoloader
⚙️ Best TYPO3 Swiss Army knife ever ⚙️
Stars: ✭ 22 (-57.69%)
Mutual labels:  typo3
Rekord
A javascript REST ORM that is offline and real-time capable
Stars: ✭ 171 (+228.85%)
Mutual labels:  migration
ddev-for-typo3-extensions
This repo contains an example DDEV configuration to provide a development environment for a single TYPO3 CMS extension.
Stars: ✭ 22 (-57.69%)
Mutual labels:  typo3
Imapsync
Imapsync is an IMAP transfers tool. The purpose of imapsync is to migrate IMAP accounts or to backup IMAP accounts. IMAP is one of the three current standard protocols to access mailboxes, the two others are POP3 and HTTP with webmails, webmails are often tied to an IMAP server. Upstream website is
Stars: ✭ 2,201 (+4132.69%)
Mutual labels:  migration
get-css-data
A micro-library for collecting stylesheet data from link and style nodes
Stars: ✭ 29 (-44.23%)
Mutual labels:  import
Ibm Z Zos
The helpful and handy location for finding and sharing z/OS files, which are not included in the product.
Stars: ✭ 198 (+280.77%)
Mutual labels:  migration
Migration
《系统重构与迁移指南》手把手教你分析、评估现有系统、制定重构策略、探索可行重构方案、搭建测试防护网、进行系统架构重构、服务架构重构、模块重构、代码重构、数据库重构、重构后的架构守护
Stars: ✭ 2,753 (+5194.23%)
Mutual labels:  migration
Fluentmigrator
Fluent migrations framework for .NET
Stars: ✭ 2,636 (+4969.23%)
Mutual labels:  migration

TYPO3 Migration Framework

Description

This extension (EXT:migration) is a helper extension for your TYPO3 updates and migrations based on CLI commands (to prevent timeouts, use a better performance, etc...).

What can this extension do for you:

  • Migration of table values
  • Import tables values from other tables
  • Port: Export of whole page branches with all records and files as json
  • Port: Import of whole page branches with all records and files from json into an existing table (and gives new identifiers and relations)
  • Page actions (move, copy and delete) from CLI

This framework extension helped us (in2code) in some really large projects to migrate some stuff - e.g.:

  • old backendlayouts to new backendlayouts
  • tt_news to tx_news
  • templatevoila to backendlayouts and gridelements
  • mailform to powermail or mailform to form
  • individual stuff to different individual stuff

Note: This extension is not a ready-to-use extension for your (e.g.) tt_news to tx_news migration. In my eyes it's nearly not possible to build a one-solves-all migrator extension that automatically fits all needs of your installation. Because TYPO3 instances can be build in such different ways an individual configuration is often needed.

Note2: If you want to use this extension for your migrations, you need a basic understanding of the database structure of your TYPO3 instance. Because you have to set up the migrators and importers by yourself (e.g. you have to know that tt_news.title will be migrated to tx_news_domain_model_news.title for your news migration, etc...).

Some naming conventions:

  • Import means here: Import stuff from an old to a new table (like from tt_news to tx_news_domain_model_news)
  • Migrate means here: Migrate existing records in an existing table (like in tt_content from TemplaVoila to Gridelements)

Introduction

Possible roadmap for TYPO3 update and migration projects

If your migration comes along with a TYPO3 update (like from 6.2 to 9.5 or so), you should go this way:

  • Update
    • Start with an empty database and a new TYPO3 9.5 and build your functions in it with some testpages
    • Add additional functions that are needed to your small test instance (like news, powermail, own content elements, etc...)
    • Of course I would recommend to store the complete configuration (TypoScript, TSConfig etc...) in an extension (sitepackage)
  • Preperation
    • Import your old database into the new instance
    • Make a db compare (I would recommend the package typo3_console for this to do this from CLI)
    • Make your update wizard steps (I would also recommend the package typo3_console for this to do this from CLI)
  • Migration
    • Dump your new database
    • Add an extension (e.g. key migration_extend) with a composer.json and require in2code/migration in it
    • Install this extension (e.g. in require_dev section)
    • Start with adding your own Migrators and Importers to your extension (Add a configuration file to your extension)
    • And then have fun with migrating, rolling back database, update your scripts, migrate again, and so on
  • Finish

Example CLI commands

# Example migration
./vendor/bin/typo3cms migration:migrate --configuration EXT:migration_extend/Configuration/Migration.php

# Example export into json file
./vendor/bin/typo3cms migration:export 123 > /home/user/export.json

# Example import from json file
./vendor/bin/typo3cms migration:import /home/user/export.json 123

See documenation for a detailed description of all CLI commands

Documenation

Breaking changes

  • Update to 7.6.0: This is only a small breaking change because constructors in extended with a configuration array now. If you are using own propertyHelpers and you overwrote __construct(), you have also to pass the new variable now.

Changelog

Version Date State Description
10.0.0 2023-03-17 Task Some smaller PHP 8 related fixes, first code cleanup for TYPO3 12 (e.g. ObjectUtility::getObjectManager() was removed)
9.0.0 2022-09-08 Feature Add property helpers for gridelements to container migration
8.0.1 2022-05-10 Bugfix Small fix in the import class for merging arrays with excluding tables
8.0.0 2022-04-17 Feature Support TYPO3 11 and drop older versions
7.8.0 2022-04-17 Feature Add an additional command for complex datahandler stuff on CLI
7.7.0 2022-01-21 Feature Add helper classes to FlexFormGeneratorPropertyHelper for even more power
7.6.1 2021-11-25 Bugfix Replace property helper should also handle array values
7.6.0 (!!!) 2021-10-29 Feature Make configuration available in propertyHelper classes
7.5.0 2021-10-11 Feature Import: Make the old identifiers available after importing
7.4.0 2021-07-05 Feature Port: Support inline relations with a parent relation now
7.3.0 2021-03-17 Task Fix command description, add extension key to composer.json, add autodeployment
7.2.0 2020-09-14 Feature Make FileHelper::indexFile a public function
7.1.0 2020-08-21 Task Small bugfix for writeFileFromBase64Code and add a message when adding slugs
7.0.0 2020-05-04 Task Update dependencies for TYPO3 9 and 10
6.7.0 2020-02-18 Feature Port: Add configuration of EXT:news and in2faq, keep identifiers feature
6.6.0 2020-02-13 Feature Port: Support relations like "tt_content_123,pages_234" now
6.5.2 2020-02-12 Bugfix Fix regression from 6.5.1
6.5.1 2020-02-12 Bugfix Migration: Don't use deleted=0 if there is no deleted field
6.5.0 2020-02-11 Feature Allow usage of {propertiesOld} when using an importer now
6.4.0 2020-02-03 Feature Allow manipulation of values while runtime for importers and migrators
6.3.0 2020-01-31 Task Port: Don't stop if file is missing, Fixes in FileHelper class
6.2.0 2019-12-19 Feature Migration: SlugPropertyHelper creates unique slugs in site now
6.1.0 2019-12-05 Feature Port: Import can now handle huge files (> 6GB) in fileadmin (if not embedded)
6.0.0 2019-11-12 Feature Port with file URI instead of embedding, absolute config path is supported now
5.4.0 2019-11-06 Feature Small features: Handle defect links, port config for powermail, etc...
5.3.0 2019-10-11 Task Port: Support links to records, some bugfixes, some cleanup
5.2.0 2019-10-02 Feature Export: Attach also files that simply linked in RTE + add localized records
5.1.0 2019-10-02 Feature Bugfix with missing tags, toggle file includes, added SlugPropertyHelper
5.0.0 2019-10-01 Feature Port and Migration is now based on an extend-extension with a configuration file
4.0.1 2019-09-16 Bugfix Restore deleted ArrayUtility class
4.0.0 2019-09-13 Task Complete rewrite for TYPO3 9 with symfony tasks and doctrine, etc...
3.1.0 2019-03-19 Feature Update RTE images, Export now with files from links
3.0.0 2019-02-08 Task Add a working import and export command controller
2.0.0 2018-09-07 Task Use extkey migration, add ImportExportCommandController, some improvements
1.1.1 2018-09-07 Task Add Changelog
1.1.0 2017-07-28 Task Add DataHandler and Help CommandControllers
1.0.0 2017-07-26 Task Initial release

Future Todos

  • Migration: Log errors to file
  • Migration: Throw error if given key is not defined
  • New: Show and remove unused files as CommandController
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].