Hi (Arun),
I've thought a bit and here are some ideas:
1) Have a xwiki-importer module in platform/core/
Note that later on we could move the XAR importer as a submodule in
there too.
This module will contain all the java code to perform input parsing +
import into wiki pages.
2) Have a xwiki-importer application in platform/applications/
This application would provide an "Import" icon in the Admin page.
When you click on that icon you would get to a second page with
several icons:
- Import Application (that's the current XAR import)
- Import from Confluence
- Import from Mediawiki
...
3) Each "Import from ..." will have its own UI since the import
methods differ from wiki to wiki
Arun, you need to look at all wikis for which we want to offer an
importer for (MediaWiki and Confluence to start with) and see what
options they offer:
- could be an export in the form of XML files in a zip
- could be accessing them through a REST/XMLRPC/other api online
For a first version I think we should offer only 1 way of importing
and I'd suggest the zip containing XML if that's supported by the wiki.
4) (this is a second step) Write Link parsers for the different wiki
syntaxes (since right now we only have XWiki 2.0 link parser). We'll
need 1 for mediawiki and 1 for confluence.
5) (this is a third step) Deal with macros. For example confluence
offers lots of macros which when imported will not work.
We can convert them to XWiki macros that do something similar. We'll
need to identify simple macros that we don't have to add them. Of
course for macros that we don't have, they wouldn't be converted.
6) We need a Roadmap/planning
* Do this in the sandbox for now
* Prepare a planning with milestones.
* Each milestone shouldn't be longer than 2 weeks.
* Make sure you don't slip dates
* Always have something that work. This means that after the first
milestone you *MUST* have something that can be demonstrated and that
is working (even if it's not doing much)
* Corollary: always start by doing the integration work first so that
you can have a working chain.
More specifically, after your first milestone, I should be able to
drop the xwiki-import JAR in my xwiki's WEB-INF/lib + import the xwiki-
import XAR and be able to click on "Import from Mediawiki" and be able
to have the pages imported in xwiki 2.0 syntax (no options for the
first version). The first milestone could be 3 weeks since you need to
set up the plumbery.
Let me know what you think.
All: let us know also what you think about this.
Guillaume: Let us know if you're ok with the UI ideas above.
Thanks
-Vincent