Upgrade XWiki from 9 to 10

Hello,

I wondered if someone could help me with upgrading our XWiki from 9.11.1 to the latest LTS version (10.11.8). I’m struggling to follow the upgrade procedure, specifically method 1.C.

Is this the correct procedure?
I’ve created the following steps from this document:

  • Download LTS WAR file
  • Change xwiki.store.migration=0 to 1 in xwiki.cfg
  • Make a backup of these directories
    -WEB-INF
    -permanent data
    -skins
  • Rename WEB-INF/lib to lib.old
  • Rename solr to solr.old in permanent directory
  • Create a new folder in the tomcat webapps directory for the upgrade
  • Copy the new .WAR file to the new upgrade folder
  • Restart tomcat
  • Stop tomcat
  • Copy and replace backup files (WEB-INF and skins)
  • Start tomcat

We are running XWiki on Windows Server 2012 with Tomcat 9 with MySQL 5.7.

Let me know if you need any further information, any help would be really appreciated.

Thanks in advance.

Note: This is not what the doc says. It says to backup the WAR.

Why would you do this? I don’t see the point. You should never overwrite an XWiki WAR file.

You make it look like it’s complicated but it’s really simple :slight_smile:

Just move away the old WAR and unzip the new WAR. You’re done.

BTW this is not enough. The docs says you should also backup the DB. See https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Upgrade

Precisely here: https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Backup

PS: I’m curious to understand what’s not clear in the doc so that we can improve it. I’ve read it again and I don’t see what’s missing.

Thanks for getting back to me so quickly, I know I’ve overly complicated the process but I think I’m missing something here. The document says I shouldn’t just copy the new files over my old ones, are you saying that’s how simple it is?

Backup wise, I can take a snapshot of the server so I can always revert back if it all goes wrong.

I think if it was just step by step guide (which I imagine is quite hard with all of the possible configurations) it would be a bit easier to follow.

Yes the doc is right, you should never copy files over.

So… in very simple terms, I need to make a copy of my current WAR file and then copy the new WAR file. I then replace these files from my old WAR file:

  • WEB-INF/hibernate.cfg.xml
  • WEB-INF/xwiki.cfg
  • WEB-INF/xwiki.properties
  • WEB-INF/classes/logback.xml
  • WEB-INF/observation/*

In theory what you need to do is apply to the new ones the same modifications you applied to the old ones, not completely overwrite the new ones. The new one will contains new properties/documentation and in rare cases the default value of some property you set might have changed. Also I doubt you customized all those files.