Hi Keerthan,
thanks for your interest in XWiki & the GSoC. I'll try answering some of
your questions below.
On Sat, Mar 28, 2009 at 9:30 PM, Keerthan MUTHURASA <
muthurasa.keerthan(a)gmail.com> wrote:
Hello,
I am Keerthan Muthurasa , Msc Software Engineering student at Oxford
Brookes
University , I am interested on
doing a project for xwiki.
I would like to discuss about my ideas for the "Import Export from any
other
Wiki Project" and if you could in return give me your opinions
that would be really helpfull for me.
This is the project requirement :
____________________________________________________________________________________________________________
Import Export from any other
Wiki<
http://dev.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/ImportExportfromanyo…
Create a extensible framework to import export data between wikis. This
should handle converting the data in the pages including
links between pages and metadata as well as direct access to the data
through either a web service (prefered) or database or the
file system
The system should at least for MediaWiki and Confluence in import mode
____________________________________________________________________________________________________________
I will begin with some questions:
* What does it mean when talking about converting links between pages ( we
are talking about converting internal links in the source wiki isn it ?,
That's mean when importing or exporting data we should think about
exporting
or importing the linked data as well in order to keep an integrity).
Indeed. Most of the time, the use case will be to import a full wiki rather
than subparts, thus links would be preserved. If you want to let users
import/export only subarts of a wiki (such as a space or a single page), you
should provide them with a warning that some links will be broken rather
than trying to import all pages that are linked to. Or you could make
importing liked to pages an option. It could result in surprised users if
someone tries to export / import one page and ends up with the 76 pages that
page linked / was linked to ;-)
Since the most common use case is to import a full wiki, it shouldn't be
much of an issue.
* What does it mean when talking about exporting
metadata ,direct access to
data through either a web service or database or file system ?
Some metadata can be conserved across systems. For instance, the date when
the page was created, its edition date and its previous versions might need
to be preserved (if that's technically feasible). Thus it basically means
taking care of all the information associated with the page other than its
content.
Here my idea for the project , if I can have some
feedback it would be
helpfull for me:
When exporting or importing data from a given wiki to a destionation
one
Setp 1: get rid of all specific synthax proper to the source wiki
and retrieve data,metadata, and other usefull information.This can be
achieved
using a kind of parser whose job is to scan the source
page and reconize the specific synthax and only retrieve proper
data.Concerning encountered links ,we should
convert theses pages as well but we have to be carefull
when cross linked ( for instance we are converting page A and A links to B
but when
converting B ,B links to A).
You could start by looking at the XWiki 2.0 syntax and see everything it
allows. I think that when trying to convert pages from other wikis
(specifically Confluence) you will run in the following issue: some pages
use macros that are defined elsewhere on the system and won't work correctly
when imported in XWiki.
For pure content, you should be able to import it all in XWiki without much
of a problem. For content generated by a script, you could try to identify
it and then issue warnings in your output such as "this is specific content
that couldn't be converted".
See my answer above about retrieving the content of linked to pages.
Step 2: adopt a datacentric approach to
properly store data in a
such a way that is easy to retrieve them.We have to be carefull when
storing
data
since they have to keep the original pages structure.
Have you already looked at the content of a MediaWiki, Confluence and XWiki
export file? In XWiki's case, data is stored in a XML format. It might be
the same for Confluence & MediaWiki. If it is, you might be able to use XSLT
to convert one XML format to another.
Step 3: use previously retrieved data to create
the result page in
the destination wiki using the wiki specific synthax for destination wiki.
See my answer above.
I am having a look at wikiModel that seems to contain
a parser.I am also
trying to understand Plexus.
A Many thanks for your advices.
Hope this helps,
Guillaume
Regards,
Keerthan Muthurasa
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Guillaume Lerouge
Product Manager - XWiki
Skype ID : wikibc
http://guillaumelerouge.com/