Skip to content

Comments

Migration service and script#123

Merged
Elfangor93 merged 121 commits intoJoomGalleryfriends:mainfrom
Elfangor93:migration-service
Feb 21, 2024
Merged

Migration service and script#123
Elfangor93 merged 121 commits intoJoomGalleryfriends:mainfrom
Elfangor93:migration-service

Conversation

@Elfangor93
Copy link
Member

@Elfangor93 Elfangor93 commented Jul 31, 2023

This PR adds the migration service as well as a new MVC routine called migration.
A migration script called Jg3ToJg4 to migrate a JoomGallery v3.x to v4.x is already included. Additional migration scripts intended to be installed as an extension like in Jg3.

The migration view can be requestid with the following url:
/administrator/index.php?option=com_joomgallery&view=migration

How to test this PR

Attention!!
This PR is not compatible with Joomla v4.4.0, v4.4.1, v5.0.0, v5.0.1.
Older and newer versions of Joomla are fully compatible.

Prerequirements

There has to be a source (JG3 updated to JG4) and a destination (JG4) available.

There are two possibilities:

  1. Source and destination are within the same Joomla installation. For this you update a JG3 in a Joomla 3 to Joomla 4 and then update the JG3 to JG4 using this PR for the installation.
  2. Source and destination are in two different Joomla installations, but on the same server. Here you prepare the source installation the same way as described in 1). Additionally you setup a second, fresh Joomla 4 installation. Within this Joomla 4 you install a fresh JG4. This second installation serves as your destination.

This way you end up having a source installation containing database tables looking something like #__joomgallery_XX_old. And a JoomGallery administration folder containing an xml file called joomgallery_old.xml. The source needs to have some categories and images.

Perform a migration

A migration consists of 4 steps.

grafik

  1. Configuration
  2. Pre-Check
  3. Migration manager
  4. Post-Check & Finish

You can go to the next step of the migration, if you successfully passed the prvious one.

Step 1: Configuration

Here you have to define where your source is located you want to use for the migration as well as how you want to write the records into the destination.

Source: JG3 updated to JG4
Destination: JG4

Step 2: Pre-Check

Your entire system and installation gets checked if everything is setted up correctly such that the migration will run without problems.

Step 3: Migration manager

Here you see a list of migration processes that have to be performed in a specific order. First the categories have to be migrated, then the images and at last the category thumbnails have to be reselected based on the new IDs created for the images during migration.

grafik

The start button starts the automatic execution of the migration process based on a queue. For each element in the queue an ajax request is started to execute the migration of this element. When the request returns from the server, the progress bar and the log output gets updated to inform you about the migration progress.
The automatic execution of the migration can be stopped at any time with the "Stop migration" button.

As soon as all the migration processes are performed the button on the bottom "Check and finish migration" becomes clickable.

Step 4: Post-Check & Finish

The results of the post check tells you how well the migration was done. It checks if all the queues are processed and if there were errors in the migration which might need to be resolved.
The button to remove the source data is not yet wokable. When you click it, you will always get a success message. But actually is not doing anything currently.

@AlexanderSupp
Copy link

AlexanderSupp commented Aug 18, 2023

I have prepared a test environment for this pull request.
My steps are documented here: http://joomgallery4.fotofreunde-much.de/de/administration-de/migration-de
I hope this works well. I'm looking forward. Likewise, I look forward to your progress.

@AlexanderSupp

This comment was marked as outdated.

@Elfangor93

This comment was marked as outdated.

@Elfangor93 Elfangor93 marked this pull request as ready for review December 6, 2023 09:14
@Elfangor93 Elfangor93 added needs testing This issue or pull request needs further testing GUI testing Tests can be perfomed using the GUI labels Dec 6, 2023
@rowi68

This comment was marked as resolved.

@Elfangor93

This comment was marked as resolved.

@Elfangor93 Elfangor93 removed needs testing This issue or pull request needs further testing GUI testing Tests can be perfomed using the GUI labels Dec 10, 2023
@Elfangor93 Elfangor93 added needs testing This issue or pull request needs further testing and removed needs testing This issue or pull request needs further testing labels Dec 18, 2023
@Elfangor93 Elfangor93 added needs testing This issue or pull request needs further testing DB changed New installation needed to test this change GUI testing Tests can be perfomed using the GUI labels Dec 23, 2023
@rowi68

This comment was marked as resolved.

@rowi68

This comment was marked as resolved.

@Elfangor93

This comment was marked as resolved.

@reni68

This comment was marked as resolved.

@rowi68

This comment was marked as resolved.

@Elfangor93

This comment was marked as resolved.

@Elfangor93

This comment was marked as resolved.

@rowi68

This comment was marked as resolved.

@Elfangor93

This comment was marked as resolved.

@Elfangor93

This comment was marked as resolved.

@rowi68

This comment was marked as resolved.

@Elfangor93
Copy link
Member Author

Yes, this is known. Im working on it.

@Elfangor93 Elfangor93 added testing done The pull request is ready to merge and removed needs testing This issue or pull request needs further testing DB changed New installation needed to test this change GUI testing Tests can be perfomed using the GUI labels Feb 21, 2024
@Elfangor93
Copy link
Member Author

Thank you everybody for helping!

@Elfangor93 Elfangor93 merged commit 9ed705f into JoomGalleryfriends:main Feb 21, 2024
@Elfangor93 Elfangor93 deleted the migration-service branch February 28, 2024 06:21
reilldesign added a commit to reilldesign/JG4-dev that referenced this pull request Mar 20, 2024
This adds back the necessary information that was deleted in pull request JoomGalleryfriends#123.
Elfangor93 added a commit that referenced this pull request Apr 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

testing done The pull request is ready to merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants