Import/Export

Version 29.1 by Thomas Mortagne on 2015/08/07

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.

This feature doesn't replace a proper backup.

Importing XWiki pages

Prerequisites:

  • New in XWiki 5.0+ If your wiki is empty and this is your first import, you will need to log in as superadmin to do the first import since there are no users defined in the wiki at this time.
  • 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 click on the "Wiki" menu and then 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):

    ImportPackageFlamingo.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.

If you own the sub-wiki (virtual wiki, wiki-farm), you need to be sure that you either:

  • install with a global user having Programming Rights (PR) and UNCHECK the backup pack option
  • install with a global user having PR and keep the backup pack option but in this case MAKE SURE that the user defined in the XAR exists and has PR.
    Otherwise all imported pages would be saved without PR and scripts won't work until you resave them under the user with Programming Rights .

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.

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

Importing an Extension

When you import a XAR, if the XAR's package.xml contains an extensionId value (representing an Extension Id) then the Importer will check if the Extension exists in its configured XWiki Extension Repositories (the configuration for this is located in xwiki.properties under the extension.repositories keys). If the Extension is found, the Importer will then register it in the list of installed Extensions that you can see when going to the Extension Manager Application's UI.

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"

    ExportPackageFlamingo.png

Customizing a XAR

When doing an export, XWiki pages are saved using the XAR format. A typical XAR created when doing an export will include all the pages on your XWiki instance. However you can control this using a custom Export URL.

That said, it is also possible 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 for example. 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

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.

XAR Format

See XAR Format specifications.

Tags:
   

Get Connected