Migration from xwiki-tomcat9-pgsql 14.10 to xwiki-xjetty-pgsql 16.10.15

Hi everone,

I’ve been working on migrating my XWiki setup across different systems and ran into some issues.

Source environment

  • OS: Ubuntu 20.04 LTS (deprecated)

  • Package: xwiki-tomcat9-pgsql (installed via apt)

  • Database: PostgreSQL 12

Destination environment

  • OS: Ubuntu 24.04 LTS

  • Package: xwiki-xjetty-pgsql 16.10.15 (installed via apt)

  • Database: PostgreSQL 16

Steps I’ve taken

  1. Upgrade source instance

    • Switched apt repo from stable to LTS

    • Upgraded to the latest available LTS: xwiki-tomcat9-pgsql 16.10.15

  2. Database migration

    • Dumped source database (Postgres 12)

    • Restored dump into destination (Postgres 16)

  3. Datadir migration

    • Rsync’ed /var/lib/xwiki/data from source to destination
  4. Cleanup on destination filesystem

    rm -rf /var/lib/xwiki/data/extension/*
    rm -rf /var/lib/xwiki/data/store/extension/*
    rm -rf /var/lib/xwiki/data/extensioncache/*
    rm -rf /var/lib/xwiki/data/tmp/*
    rm -rf /var/lib/xwiki/data/extension/repository/*
    chown -R xwiki:xwiki /var/lib/xwiki/data
    
    
  5. Cleanup on destination database

    DELETE FROM xwikidoc
    WHERE xwd_fullname IN (
      'XWiki.StandardFlavor',
      'XWiki.BaseFlavor',
      'XWiki.PlatformExtensions',
      'XWiki.ExtensionHistory',
      'XWiki.Extensions',
      'XWiki.ExtensionUpdater'
    );
    
  • On the next restart, the setup wizard appeared.

  • I was prompted to install the XWiki Standard Flavor.

  • Note: I wasn’t able to upgrade the existing Standard Flavor 14.10 without deleting the contents of /var/lib/xwiki/data/extension/repository/ and removing the DB records above.

After completing the installation, I’m unable to edit or create new articles.

Browser console error:

Uncaught TypeError: Cannot read properties of undefined (reading 'plugins')
    at Translations:6:18
    at Object.execCb (require.min.js?r=1:5:16630)
    at e.check (require.min.js?r=1:5:10458)
    at e.<anonymous> (require.min.js?r=1:5:12842)
    at require.min.js?r=1:5:1602
    at require.min.js?r=1:5:13293
    at each (require.min.js?r=1:5:1062)
    at e.emit (require.min.js?r=1:5:13261)
    at e.check (require.min.js?r=1:5:11012)
    at e.enable (require.min.js?r=1:5:13169)

What am I doing wrong here? Has anyone encountered this issue when migrating from Tomcat → Jetty with a flavor reinstall?