Import/Export

Version 18.1 by Dmitry Bakbardin on 2013/01/17

This feature allows you to export one or several pages from your wiki into a XAR file (XWiki ARchive) or to import one or several pages from an existing XAR file. This is useful for moving wiki pages from one instance to another or to perform lightweight backup of your wiki pages.

Warning

This feature doesn't replace a proper backup.

Importing XWiki pages

Prerequisites:

  • A configured database and Servlet Container. If you don't have them, see the Installation guide.

Follow these steps:

  • Ensure your database and container are started
  • Point your browser to http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences or hover over "Wiki" and click on "Administer Wiki"
  • Click on "Import"
  • Attach the XAR file you wish to import and then select it from the list under "Available packages". After a few seconds you should see the list of all the pages in your XAR listed and selected by default (unselect the pages/folders you don't wish to import):

    ImportPackageColibri.png

  • Select the second radio button if you want to replace the document history with the history from the imported package. If you don't select it the newly imported pages will have the revision "1.1"
  • Click "Import". This will import all the selected pages
  • At this stage your rights might have been changed as the import may have imported different rights. You may need to log out and log in again.
Information
  • If it's NOT backup package then the user is the CURRENT USER
  • If it's a backup package then the user used is the one defined in the XAR. Usually it is XWiki.Admin. 

This means for exapmle, that if you have wiki farm and you install the XAR in a subwiki that user may not exist in your local wiki (since it could be a global user on the main wiki).

Note, that pages requiring PR are supposed to also contain a XWiki.RequiredRightClass xobject so it should be easy to query them. If you find some that don't have this XObject please let us know. This XObject is just indicative and doesn't change permissions.

Warning

If you get a 'Java heap space Out Of Memory exception' you'll need to increase the memory allocated to the JVM running XWiki. How you do this depends on the container you use:

  • For Jetty you must change a line in start_xwiki.bat (or start_xwiki.sh) from JAVA_OPTS=-Xmx300m to something like JAVA_OPTS=-Xmx1024m
  • For Tomcat you must set CATALINA_OPTS to something like -Xmx1024m

Exporting XWiki pages

Prerequisites:

  • A configured database and Servlet Container. If you don't have them, see the Installation guide.

Follow these steps:

  • Ensure your database and container are started
  • Point your browser to http://localhost:8080/xwiki/bin/admin/XWiki/XWikiPreferences
  • Click "Export" and fill the form
  • Click "Export"

    ExportPackageColibri.png

Customizing a XAR

When doing an export, XWiki pages are saved using the XAR format. This is in fact a renamed ZIP format with a package.xml file containing metadata about the export. A typical XAR created when doing an export will include all the pages on your XWiki instance.

It is possible however to create a XAR that will include only the pages you want. This is useful when you want to export only the pages of a specific application. Here are the steps:

  • Unzip the file
  • Keep the pages you want to put in your archive
  • Edit package.xml to delete the pages you do not want to be in the archive
  • Zip together the modified package.xml file and the pages you want to put together in your archive, naming the file "MyArchive".xar where "MyArchive" is the actual name you want to give it
  • You're done! You can now import this specific set of pages to any XWiki instance
Information

In the future XWiki will offer the ability to do selective exports natively. For the moment you'll need to install the Multipage Export Extension.

Get Connected