Styx - Migration

Get Styx - ‘Migrate’

The important migration Upgrade HowTo - Step by Step Guide:

Preamble: (If not using Styx already, and having done that before...)

Migration of very old Serendipity S9y-Origin installations

Please note: The more Serendipity Styx develops and time passes by, the more it differs from the origin, since the ongoing development has already more than doubled the commit changes against S9y Origin! The normal version upgrade manager until Styx 2.9.5 includes all tasks which are necessary to successful proceed between the two editions. With Serendipity S9y-Origin 2.1 + releases there were no migration routine(s) checked. This does not say they could not work too. It is just a matter of having upgrade tasks matching and taking the responsibility, so you don't destroy certain parts of your system.

The following Guide was originally meant to help migrating this "Origin-to-Styx" process to the first Styx release 2.1.0, over to 2.2, 2.3 and then 2.4.0. In a second step this was reworked for Serendipity Styx 2.6, better pointing you back to 2.4 for the autoupdater plugin. By time, Serendipity Styx stable hit version 2.9.5, it was checked again. The 2.9(.5) revision branch is the recommended last version for simple drop-over migration upgraders! Do not do this Origin-to-Styx migrations with Styx 3.x releases, since a lot of helper tasks were removed! That said, if you are on Styx already, jumping to Styx 3.x will be as easy as ever.

Styx has come a long way with lots of changes. It would require to inspect and update this guide in deep to jump to latest release without any possible flaws for these migration upgrades. Needless to say: Best of all is a complete new installation.

Starting from scratch enables "hand-cared migrations " too, since you always install the latest Styx release independently, make it run and afterwards carefully include everything you (also) had in your old Blog, like plugins (by their new edition), your MediaLibrary uploads/ items and probably more you had a need to store in other places. Then export your old database (probably as UTF-8), edit the SQL file with an UTF-8 ready Editor like Notepad++ and then carefully fill up the new database tables one by one to include all necessary parts of your old install. It has successfully been done by users before! But you need a little knowledge which database items have dependencies in other database tables and which database parts and values can get ignored. This enables to have a clean system with clean structure and including your blogs history.

But now, back to the migration guide:

Upgrade migration by named package (FTP or WGET like tools)

Did I already say: Back it up? No? Then fully backup your blog and your database!

Get Styx 2.9.5 (‘serendipity-2.9.5.zip’) and deflate it. It will unzip to a "serendipity/" directory (Note, that GitHub source zips are DEV versions and have another parent directory).

  • PREPARATIONS:
  • First of all, hide your normal blog site from the public by using a simple .htaccess restriction! (see about locking here.)
  • Second, log-in to your old blog and remove all Plugins that you don't essentially need! You most probably have very old versions lying around, which are prone to error (in example, the "browser compatibility event plugin").
    If you are not able to access your old blog because of too new PHP versions and regarding fatal errors, you have to do this step by hand.
  • Third, update the Plugins of essential need by deleting their directories and replacing them with a fresh version from Styx additional_plugins. Do not just drop it over the old!
  • Fourth, check into templates and make sure you have a default theme installed. There is no best of use case, since that depends on the version you have. Beside of this "Bulletproof", or better "default", or the newer "2k11" is recommended at this point. Why is this necessary? Themes have changed a lot. Some even may carry old smarty API calls (same as in plugins), which then would fully halt your system on the upgrade. We want to avoid this as much we can.
  • THE UPGRADE:
  • Perform the fetch of the new Styx package as said on start. Copy all inner unzipped content to your current installation. Point yourself to the blogs http page. The upgrade manager should start and give you some upgrade task informations of what is going to happen and what you might have to do later on (like, update your copy or child themes, etc.). If you don't get any errors while processing this upgrade step, you are happy, but it does not mean there are no possible hidden flaws that can hit you later. Follow the upgrade until finished.
  • If you do get any fatal errors which halt your system, you have to search for their reason and fix them up. Most common errors are old left over plugins, yelling a Smarty Exception error in the Smarty package (files). This is not helpful, since you probably don't get to know which is the one. Now you have to try your best and guess! Disable or remove one by one and check your upgrade page on each if the error is gone. If you have errors that specifically point to a plugin, replace it with a fresh version like done before for the essentials.
  • POST UPGRADE CHECKS:
  • Log-in. Check your Browser to load a fresh copy of internal assets by [Ctrl-F5] or whatever command your Browser needs to reload its cache. Immediately check into Plugins and perform a Plugin update run. After that you might need to reload your Browsers Cache again.
  • Check into Maintenance section. Check for "Plugin Cleanup Manager" and perform a local plugin zombie check. Remove any shown plugins in which you are not personally involved as a developer. Now do the same with "Theme Cleanup Manager".
  • All is neat and looks ok? Great! Now, open up PhpMyAdmin or your Terminal and do pull another full database backup.
  • Perform a database UTF8MB4 migration in the Maintenance "Database: UTF-8-MB4 migration" section. If this is possible on your system, you have a examine and probably a perform button showing up. Read the info notes about what is going to happen. Follow the migration and migration guide as long as it is necessary. At the end you get a green OK message telling you a success "UTF-8-MB4 charset".
  • Now you are ready to chill back and have a fresh look around. But there is more to do for you. You still have to care about personal themes (remember what the upgrade tasks were talking about). And you need some backend finetuning by option changes/tweaks:
  • Read on in the following: "The hitchhikers guide to Upgraders Styx Backend tuning".

Steps for using an autoupgrade with the autoupdate Plugin.

  • If you are still with Serendipity 1.6 or 1.7 Series, please follow this guides points “a” to “c”.
  • Then manually append this line to your backend startpage URL:
    ?serendipity[adminModule]=event_display&serendipity[adminAction]=update&serendipity[newVersion]=2.4.0
    (as a 1-liner) and hit ENTER - This will start the autoupdate upgrade routine. You are now at the 2cd half of upgrade guide point “f”. The new version string, ie. ‘2.4.0’, has to match the zip files version string, ie. ‘serendipity-2.4.0.zip’, which also has to match the searched docs/RELEASE file version string!
  • Afterwards resume with point “g” to “h”! Enable “d” at last.
  • On the other hand, if you upgrade an existing Serendipity 2.1.x installation, it makes sense to downgrade your version first to ‘2.0.0’ in the serendipity_config.inc.php and in the serendipity_config_local.inc.php files, to get all the recommended and necessary upgrade tasks in need for Styx on upgrade (see a-h steps).

Read and follow carefully (inclusive the advising “Update” section):

  1. Manually update the Serendipity Spartacus plugin file with the temporary ‘styx-spartacus-up’ file (4) to solve some bugs and set the custom plugin load location option to this URL (5).
  2. Update the “Autoupdater” by Spartacus from the new location, currently this is version 1.5.3 or up.
  3. Click somewhere else and then return to the plugin list page. Select events and search for the installed/updated autoupdater plugin. It now is configurable! The two new options are pre-filled with the origin Serendipity GitHub path. Change both to the new URLs (6) and (7). Version 1.4.0 has this already preset. This is important!
  4. Next, go to your BACKEND global “Configuration” “General Settings” and enable the “autoupdate” option to search for “beta” releases. This as well gives you RC and full release versions.
  5. Now click the HOME top navigation button or the Blog name to open your BACKEND dashboard.
  6. It will now (or later *) show you that an upgrade is available. (*) If that has run before, it might show you an old update version for another ~6 hours. Upgrade to Serendipity Styx Edition. Follow the routine. Don't forget, if it gets stuck, just try to reload the upgrade page. Very easy!
  7. Open up the Spartacus plugin configuration and set this URL [5] to the custom mirror field. This enables to fetch the Styx additional plugin repository, highly recommended. When all is done, upgrade all other plugin updates via Spartacus, since some of them rely on Styx changes. Styx 2.1.0 and up have this already preset.
  8. Now, open up the global configuration again and see a new config option field inside “General Settings” to read the RELEASE file. Change it to the correct Styx path (8). Styx 2.1.0 and up have this already preset.
  9. From now on you are on the right track! The next short how-to section is about some important and recommended BACKEND changes.

Please attend:

  1. Fresh Styx installs will have to set the URLs too; In this mentioned order! (Except step a. for [4].).
  2. [ Update ]:
    With Styx 2.1++ releases, the Spartacus custom mirror g.[5] and the general setting h.[8] are already preset for new installations.
  3. [ Update ]:
    Newer versions of the Serendipity Autoupdater from this repository already also have [6] and [7] preset for new installations.
  4. [ Update ]:
    Since the Serendipity Styx 2.6-beta1 release (read the BLOG NOTES and scroll down to to the 2.6-beta1), you don't need to self-care about these URLs any more, neither for Spartacus, the Configuration, nor the Autoupdater!
  5. [ Update ]:
    Since the Serendipity Styx 2.9.5 release (read the BLOG NOTES) the recommended way of doing a migration upgrade is the normal upgrade method (read about it above in the upgrade guide) and not the Autoupdater!

The hitchhikers guide to migration Upgraders Styx Backend tuning:

  1. Open up your “Personal Settings”. See the force popup options is pre-filled with links. This means, the info button on the dashboard now opens some links embedded to the dashboard and another quick info hello box. If you like it, keep it. My preferred and recommended method here is: links,categories,tags. You'll notice the difference in the entry form.
    Another recommended option to use, is setting "simplified filters" to NO. This enables extended filter possibilities, like the un-mentioned subdirectory exclude item filter in the MediaLibrary, which is a huge performance helper when having multi-directories and lots of images.
  2. Option WYSIWYG Editor enabled? Why not! It definitely is a good one! And it is even better with the additional CKEditor Plus plugin installed.
  3. Option Default Dashboard Widgets? My recommendation is: Set it to NO. It spares some enormous place on the dashboard and the comment administrations is even better done via sidebar comment link. And it gives you some additional support, with from Styx 2.1+.
  4. If you want to get informed about plugin updates in the Dashboard (backends startpage) in future, install the event “plugup” plugin and check the depending option in the “spartacus” event plugin. (There is no actual recommendation to install this, since the normal plugin update is doing a better job.)
  5. In your Backend Themes, change to use the recommended Styx Backend. This also helps to remember that you have Styx on board!
  6. Upgraders, check if Configuration - Image Conversion Settings - Thumbnail max size option is set to 400. This is the default since Serendipity 2.0. In addition you might want to change exiting thumb images in Maintenance.
  7. Open up the configuration of the entryproperties event plugin. Change the movable item boxes to this new pair order:
    • Active Mark this entry as a Sticky Post
    • Active Empty movable grouping grid-(space-)box
    • Active Author
    • Active Password
    • Active Hide from article overview / frontpage
    • Active Hide content in RSS
    • Active Entries can be read by
    • Active Disable Markup plugins for this entry:
    • Active / Inactive Read permission: Author
    • Active / Inactive Read permission: Group
    • Active / Inactive Custom Fields

You will notice the last three may be activated or not by your needs only. Why this at all? Since this is one of the best pair-order options for the entry form, making it appear nice and smooth, without taking too much of the available place. You will notice, when opening up the entry form. If you don't have it installed, go and install it via Spartacus.

Styx new modemaintain and changelog event plugins are available, plugged as maintenance widgets. Upgraders have to install them via Spartacus themselves. And at last, you should read the Styx ChangeLog. This can (then) be done easily via the Backends Maintenance page. :) Definitely!

Fresh installs already supplied and activated the entryproperties, changelog and modemaintain plugins for you ... among others!