Tips on migrating from Apple's Server Wiki to Xwiki?

I, like probably quite a few other people, am migrating away from Apple’s Server.app Wiki and into Xwiki. (I really like xwiki so much better! It has A LOT more flexibility and much better appearance!)

Apple’s wikiadmin program can export in the following formats:

wxr: Wordpress native format
pages: static html pages
json: haven’t investigated this, but obviously it’s JSON formatted pages
legacy: PostgreSQL format. (I use postgres as my backend DB, so maybe…)
decoded: apparently good if importing into a Swift App.

(I got from this here, by the way.)

I haven’t found anything to allow easy import from Wordpress into xwiki, but that was my initial thought. Is there a better way?

(I can actually drag & drop pages directly into xwiki and they’re fine, but having to create pages as I go and reset links is kinda slow.)

Any thoughts? I’m willing to write up something given my experience, if it’s more than just drag & drop.

Thanks for your thoughts!

/raj

I don’t have any extension in mind which support importing any of the formats you listed.

Usually new importers are written as “Input Filter”, meaning you read the data and produce SAX-like “events” by calling methos like begin/endDocument, onWikiAttachment, etc. Then you can use http://extensions.xwiki.org/xwiki/bin/edit/Extension/Filter+Application and put your filter as input and the “Instance” filter as output to do an import (or other output to convert to another format).

See https://extensions.xwiki.org/xwiki/bin/view/Extension/Filter+Module.

Probably the cleanest for your specific use case in term of data loss.

The closest example you can look at for inspiration is probably mediawiki/mediawiki-xml at master · xwiki-contrib/mediawiki · GitHub since mediawiki export is one big easy to parse XML file.

Probably what would benefit the most to the community but also probably a bit more complex to not loose anything (since some stuff might have been lost in the conversion to wordpress or html already or be hard to deduce). Still that’s definitely the most generic use case and you can probably reuse the XWiki HTML parser.

No I don’t think having postgres as your backend will help since I guess this is a dump of the Apple’s Server.app Wiki tables which have nothing to do with XWiki ones and makes it quite a pain to read and convert to XWiki documents usually. That’s pretty much what confluence/confluence-xml at master · xwiki-contrib/confluence · GitHub does since what Confluence calls an export format is just a dump of the database as XML.

There is probably another possibility you have not listed: this kind of tool often expose a REST API so you might want to consider also the possibility to directly request the data from the running instance in an input filter. That’s only if you can access everything trough this API which might not be the case.

If you can provide the pages in HTML format then XWiki can take that as input and convert to markup syntax.