Migrate Developer Wiki
Background
Mifos developer documentation is currently hosted at http://www.mifos.org/developers/wiki/, a Plone "Zwiki" format Wiki (see http://zwiki.org/FrontPage). Zwiki supports a number of Wiki markup syntaxes, mifos.org (appears to) only use the reStructured Text format. We'd like to migrate all content from this wiki to http://mifosforge.jira.com/wiki/display/MIFOS
Status - Completed
Thanks to Michale Vorburger - you are now viewing this page on our new wiki.
Latest information now on http://mifosforge.jira.com/wiki/display/MIFOSADMIN/ZWiki+to+Confluence+Wiki+Converter+Tool
See Preview of Current Functionality
Contact
Please email the mifos-developer list if you are interested in helping on this project.
Mentor
Adam Monsen
Current Volunteer(s)
Michael Vorburger and Raphael Ackermann have started looking at effort of doing this in late May 2010. - Ravi Chinoy and Adam Lerman have posted to the list earlier mentioning interest for this project.
Terminology
Time Estimate
- 20 hours
Prerequisite experience
- general programming skills
- text matching and manipulation
Open questions
- Is migrating just the latest version of each page acceptable, or do we want to preserve page history?
- just the latest is fine (Adam M)
- It it OK to lose user page creator/modifier information, and just create new pages with a technical import user?
- yes (Adam M)
- Are there (a lot?) of attachments/images in this Wiki requiring (automatic?) migration? (https://studio.plugins.atlassian.com/wiki/display/UWC/UWC+Webdav+Attachments)
- I don't think there are many (Adam M)
Details
- Migrate all content from the Mifos.org wiki to the new wiki
- Convert reStructured text documents to Confluence wiki markup
- preserve
- hyperlinks
- inline formatting, heading, tables, etc.
- images
- hierarchy of pages
More information from Atlassian, from JST-3618
You may be able to download an evaluation version of Confluence and use the Universal Wiki Converter to do this although I cannot spot it on the 'Supported Wikis' list (although you may be able to extend it yourself to do this). You just need to make sure you use Confluence 3.0.1 as this is the version Studio is currently on.
According to our Import Policy, we only import Confluence data from Confluence backups, so you will need to get it into the form of a Confluence backup for us to be able to import it.
For more information on this you can visit: http://confluence.atlassian.com/display/JIRASTUDIO/Importing+Data
- How do we get the raw reStructured Text (not HTML!) page data out of the Zwiki/Plone, say into a series of text files (which we can then feed into a custom UWC Wiki Importer) ?
- One way would be to write a WWW::Mechanize or Selenium crawler (Adam M)
- http://en.wikipedia.org/wiki/Zwiki#Storage_backend says: "Due to the use of the Zope application server, Zwiki pages are by default stored in the ZODB object oriented database backend.", is this how it's set-up on mifos.org?
- yes (Adam M)
- JRst from http://jrst.labs.libre-entreprise.org/jrst/en/, or at the worst using Docutils (http://docutils.sourceforge.net/) via Jython, may be of interest if we have to parse reStructured wiki page text for conversion into Confluence's Wiki markup syntax.
- http://twiki.org/cgi-bin/view/Plugins/ZwikiToTWikiAddOn and/or http://www.dokuwiki.org/tips:zwiki2dokuwiki MAY BE worth a closer look? If the zwiki could be converted to twiki or dokuwiki, converters to confluence then exist https://studio.plugins.atlassian.com/wiki/display/UWC/UWC+DokuWiki+Notes and https://studio.plugins.atlassian.com/wiki/display/UWC/UWC+TWiki+Notes could be faster/easier then manually and directly migrating from zwiki to confluence. Need to evaluate.
- http://www.google.ch/search?q=Towards+a+Wiki+Interchange+Format+(WIF), or directly http://eyaloren.org/pubs/semwiki2006-wif.pdf and http://xam.de/2006/2006-12-19-SA-Andreas-Kurz.pdf (in German), may be too "academic" to be of direct relevance / use for this project, but may still be an interesting/inspiring read in this context?
- Based on experience gained in the java.net issuezilla to JIRA migration, a multi-step approach (pull down from Zwiki, Convert locally, push into Wiki) is much more suitable for a productive iterative workflow than the all-in-one default mode of UWC. https://studio.plugins.atlassian.com/wiki/display/UWC/UWC+F.A.Q.#UWCF.A.Q.-Iseetheconvertedfilesintheoutputdirectory%2CcanIchangethembeforesendingtoConfluence%3F describes how to use UWC step-by-step.
Steps
- Read the Developer Kick Start page for information on contributing and getting set up. Follow the steps under
- Introduce yourself to the community - Mailing Lists
- Fill out the Contributor Agreement
- Set up your machine for development:
- If you are blocked, post questions (and an in-work patch, if applicable) to (a) the IRC channel ( http://pastey.net can be used for sharing patches) and/or (b) the mifos-developer mailing list.
- For any code changed which is not covered by tests: (a) consider creating a unit test (see AccountingRulesTest for an example). If a unit test is not practical, consider creating an integration test or an acceptance test.