157 Posts
root
Today
0
Topic

Hi all,

For anyone running 4.7.0b: updating or reinstalling SEBLOD in that state corrupts your Seblod configuration and data. The installer runs an old, destructive migration path against your current site, which can damage content types, fields, folders and more. The exact impact varies from site to site. One visible symptom is lists (e.g. seb_table) losing their assigned fields and assigned template, and the process ending with a Call to undefined method stdClass::get() error. The catch is that 4.7.0b on its own doesn't break anything, the damage happens the moment you install SEBLOD 6 on top of it or even the same 4.7.0b. So if you're on 4.7.0b and haven't updated or reinstalled yet, you're still in time.

What NOT to do for now if you're on 4.7.0b:

  1. Don't install Seblod 6 on top of it
  2. Don't reinstall Seblod 4.7.0b over itself (that triggers the failure too)

The installer's postflight (plg_content_cck) decides which migrations to run by looking up the installed version in an internal version array that ends at 4.6.2 and doesn't include 4.7.0. When it can't find the version, that lookup returns false, and because of how that value is used afterwards, the installer ends up running a branch of old migrations (meant for much earlier versions) against a current site. That's what corrupts the content types. Updating from any version prior to 4.7.0b works fine; the failure only shows up (and always does) when starting from 4.7.0b, because that's the version that introduced the version number the installer doesn't recognize.

Workaround if you need to update now (tested on a staging site; take a full backup first): set the recorded version back to one the installer does recognize, then install Seblod 6 as usual.

UPDATE `#__extensions`
SET manifest_cache = REPLACE(manifest_cache, '"version":"4.7.0"', '"version":"4.6.2"')
WHERE element = 'com_cck' AND type = 'component';

(Adjust the #__ prefix to match your installation)

It would be great if the team could look into this and release a version that fixes the installer, so nobody has to edit the database by hand.

Best regards,

Adonay

Get a VIP membership