Loading...
 
Skip to main content

History: XML Wiki Import-Export

Source of version: 14 (current)

Copy to clipboard
            ! XML Import-Export

See also ((MediaWiki Importer))

Introduced in ((Tiki3))

(2022-08-14) The XML Import-Export feature is outdated, thereby broken and barely documented. It uses image galleries, which are no longer supported in Tiki. Both the import and export of images is broken.

It was possible to import/or export a list of pages or a structure in an xml format
Each page could be exported with:
* its history
* its comments
* its attached files
* its images

The export produced a zip file containing
* a wiki.xml page
* a directory for each page. And each of this directory
** page.txt: that contains the data of a page
** a directory attachments that contains all the attached files of the page
** a directory images that contains all the images contained in the page (via the wiki plugin {img})
** a directory history that contains all the data of each history

Example of a wiki.xml page
{CODE()}
<pages>
  <page zip="noel/page.txt">
    <name>noel</name>
    <user>me</user>
    <comments>
      <comment>Joyeux Noel</comment>
    </comments>
    <images>
      <image zip="test1/images/fgal/2" where="fgal">
         <wiki>/test/tikiwikitrunk/tiki-download_file.php?fileId=2&amp;display</wiki>
      </image>
    </images>
     <attachments>
	<attachment filename="noel.jpg" attId="1" zip="test1/attachments/1">
		<filesize>89597</filesize>
		<filetype>image/jpeg</filetype>
	</attachment>
     </attachments>

     <history>
	<version version="1" zip="test1/history/1.txt">
		  <user><![CDATA[admin]]></user>
        </version>
      </history>
  </page>
</pages>
{CODE}
This example is very simplified. More fields are provided

For a structure we will have something like
{CODE()}
<structure>
  <page><name>noel</name></page>
  <structure>
    <page>1 noel</page>
    <structure>
       <page>1.1 noel</page>
    </structure>
  <structure>
  <structure>
     <page>2 noel</page>
  </structure>
</structure>
{CODE}

The export could be done in wiki->List pages or in Structures-> List structures
The import could be done by calling tiki-import_xml_zip.php
You need to have tiki_p_admin to do the import and the export

^::{img src="img/wiki_up/tiki3_listpages_xml_export.png" }::^

! Requirements
[http://php.net/manual/en/class.ziparchive.php|The ZipArchive class for php] must be installed
(Example: for gentoo, emerge pecl-zip and restart the server)

! Documentation
The documentation is incomplete. It consists only of the two examples above. The XML Import-Export feature uses the Smarty template engine to generate the xml.zip file. The most complete documentation is this template that is being used. It's located here in the Tiki source code: -+templates/tiki-export_page_xml.tpl+-.

! Repairing XML Import-Export
For anyone who wants to repair it, here are the concerned source code files:
;tiki-import_xml_zip.php: Entry point.
;lib/core/Services/Wiki/Controller.php: Contains a small section which is used when exporting pages.
;lib/wiki/xmllib.php: Main code. Defines a sort of library which does  most of the work. This code is mostly commented now.
;templates/tiki-import_xml_zip.tpl: Tempalte for the XML Zip Import page, used by tiki-import_xml_zip.php.
;templates/tiki-export_page_xml.tpl: Template for the <page> element in the wiki.xml file. This means this is generating most of it.
;templates/tiki-export_comment_xml.tpl: Template for comments attached to wiki pages.

! Alias
* (alias(XML Import-Export))
* (alias(XML Import/Export))