This feature imports a WordPress blog into a Tiki installation using a WordPress eXtended RSS (WXR) file.
Basically you need to generate a WordPress WXR file using WordPress and upload this file through the Tiki importer interface.
Table of contents
Before trying WordPress importer, it is highly recommended that you perform a full backup of your Tiki installation.
- DOMDocument (should be enabled by default on recent PHP installations)
- WordPress XML file generated by WordPress export tool
The script might work with other versions but it is tested with the following versions of each software:
- Tiki 7.0
- WordPress 3.0.1
(known to work also on 2.8.4, at least)
- Posts and pages attachments
- Posts and pages comments
- Tags and categories
- Theme options
- Users since they are not included in the XML file. It is possible to export WordPress users using WP Export Users plugin and than import them to Tiki using batch import users feature.
In other to make sure all imported data will be displayed by Tiki, the importer will automatically set the following preferences:
- feature_blogs = y
- feature_blogposts_comments = y
- feature_categories = y
- feature_freetags = y
- feature_comments_moderation = y
- comments_notitle = y
Follow the instructions on Wordpress documentation site to export your blog data to a WXR file.
Basically, you have to log in on your WordPress site and go to "Tools > Export" (./wp-admin/export.php) to generate the WXR file.
Once you have a WXR file with the data from your WordPress site, go to your Tiki installation and under the Admin menu click on the option "Tiki Importer" (tiki-importer.php). Read carefully the messages and select "WordPress" from the list of software that can be imported.
In the next screen you will be able to upload your WXR file. You have also four options:
- Import images and other attachments - if checked the importer will download your WordPress images and attachments and insert them in a Tiki file gallery created with the name of your blog. The links pointing to the images and attachments in the content of your pages and posts are automatically updated.
- Update internal links (experimental) - if checked the importer will try to identify internal links in the content of your pages and posts and replace them with the new links for the content inside Tiki. This work only for absolute links, relative links are not supported (patches welcome). Also it might not work in some corner cases and that is why it is marked as "experimental".
- Suggest .htaccess rules to redirect from old WP URLs to new Tiki URLs (experimental) - if checked after the importation you will have a list of suggested redirect rules from old WP URLs to new Tiki URLs to add to your .htaccess file. You have to add those rules before the last Tiki default rule (RewriteRule ^(.+)$ tiki-index.php?page=$1 [QSA,L]). This will only work if your Tiki installation will use the same domain as your old Worpdress installation. If your site is inside a folder in your domain you might have to manually adjust the rules. If you have non-English characters or spaces in your URLs the rules might generate a 500 internal error (patches welcome).
- Set new blog as Tiki homepage - self-explanatory title.
After the import process is finished, you will see some report like this one:
Loading and validating the XML file
Attachment jbi2010_attachment_64_v3.pdf successfully imported!
6 attachments imported and 0 errors.
Extracting data from XML file:
Page "Presentation" successfully extracted.
Post "JBI2010: "Using R in Tiki for Bioinformatics"" successfully extracted.
Found 5 posts, 24 pages, 5 tags and 2 categories. Inserting them into Tiki:
Post "JBI2010: "Using R in Tiki for Bioinformatics"" sucessfully imported
Page "Presentation" sucessfully imported
Importation completed! Click here to finish the import process
The following is a list of known issues with the current version of the importer. If you have technical knowledge please feel free to help.
- WordPress and its plugins use shortcodes (like [caption] and [gallery]) in addition to HTML in post and page content. The current version of the importer just adds a no parse markup (~np~) to the shortcodes.
- Only published content (posts and pages) is imported. Posts marked as draft or pending revision are ignored by the importer
- Content (pages or posts) with protected by password visibility will be imported as private posts (the password information will be lost).
- Tiki has no support for trackbacks and pingbacks so they will not be imported
- Sticky posts are imported as regular posts (lose the sticky property as this feature does not exist in Tiki)
- WordPress comments have support for basic HTML tags (<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>) but Tiki comments don't. HTML tags are removed from a comment when imported to Tiki.
- WordPress uses CSS classes to position images and other elements in a post or page. The importer will keep those classes but they have no definition in Tiki CSS files, so the user will have to manually edit Tiki CSS files adding those classes. If you do that please share.
- Some versions of WordPress under certain circumstances can produce a XML file that contains formatting errors. Since this importer use PHP built-in XML functions to process WordPress XML file it is intolerant to this errors. WordPress 3.1 will probably fix those issues: http://core.trac.wordpress.org/ticket/8471. Below is a list of workarounds for some situations:
- wp:meta_value has some XML invalid characters (WordPress < 3.0) - http://core.trac.wordpress.org/ticket/9633. Solution: upgrade your WordPress installation to WordPress >= 3.0 before generating the XML file. It is also possible to remove all the wp:meta_value elements from the malformed XML file, this will solve the issue but will create some minor problems when importing attachments since part of the information to import attachments is extracted from wp:meta_value elements.
- links to internal content will stop working since link naming conventions are different among the two softwares. For example, if you have a post called "Tiki Fest Montreal 5" in WordPress the link will be something like /2010/06/25/tiki-fest-montreal-5/ and in Tiki blogpost38-Tiki-Fest-Montreal-5. Note that this only refers to manually created links inside one post content pointing to another post.
- Before using the importer it is a good idea to check your XML file for errors. You can do that by opening it on Firefox (or another program that can open XML files). If your file has XML errors Firefox will tell in which lines, whereas Tiki importer will just generate an error without further information.