Hello Vincent, 2009/4/2 Vincent Massol <[email protected]>
> > On Apr 2, 2009, at 1:04 PM, Keerthan MUTHURASA wrote: > > > Hello Vincent, > > > > Thank you for your reply. > > > > 2009/4/2 Vincent Massol <[email protected]> > > > >> Hi Keerthan, > >> > >> On Apr 2, 2009, at 2:59 AM, Keerthan MUTHURASA wrote: > >> > >>> Hello, > >>> > >>> I now have a good understanding of existing works regarding Parser > >>> and > >>> Renderer for differents wiki syntax within > >>> wikiModel. > >>> I am coming with some new questions. Does Xwiki provide some kind > >>> of API > >>> for retrieving a remonte page > >>> from another wiki just like using XWikiXmlRpcClient to copy Xwiki > >>> Pages ( > >>> I followed some previous discussion > >>> about Xwiki Batch). > >> > >> That completely depends on the remote wiki. Some wikis supports > >> XMLRPC > >> (confluence for example and it's even compatible with the XWiki > >> XMLRPC > >> API). For other wikis the best will be for the user to do an export > >> of > >> their wiki (mediawiki is in this category I think - they have tools > >> to > >> export the full wiki as a big zip). There are also libraries that > >> exist. For example found this one a few days ago: > >> http://code.google.com/p/gwtwiki/wiki/MediaWikiAPISupport > >> > > > > Thank you. > > > > > >> > >> You should also have a look at the following which contains lots of > >> information: > >> > http://confluence.atlassian.com/display/CONFEXT/Universal+Wiki+Converter > >> > > > > I already had a look, Guillaume sent it to me in one of the previous > > thread. > > In order to perform export or import , the created toolI can follow > > the > > next few step : > > > > Step 1: Ask for operation type ( export or import) > > > > Step 2: Ask for information about the source wiki ( wikiType > > (mediaWiki,Confluence...), address,username, password).In case of the > > operation is export we know that the wiki type is > > Xwiki. > > > > Step 3: Ask information about page(s) to be exported > > > > Step 4: Ask for information about the destination wiki > > (address,username, password).In case the operation is export we > > don't need > > information > > about address, username,password. > > I don't understand why we need steps 1 to 4. For me it's up to the > user to perform the export for his wiki. I really don't see how we can > help him do this. It would be really a lot of work to provide a common > export interface for all wikis. I don't think it's doable and > maintainable. > Apologize for my explanation, It was not quite clear.Step 1 to 4 are not all about providing > > IMO for each wiki we need to find the best export format we can use to > import the data and document what the user has to do to perform the > export. > > Then the import tool should probably ask for the input source type > (Mediawiki Blob1, Mediawiki Whatever2, Confluence Zip, etc) and use > the corresponding implementation to read the data and pass it to the > parsers. > > Now I haven't thought much about this so maybe you have some better > idea that I don't understand. > > Thanks > -Vincent > > > > > > > If Import > > Step 5: Perform import (1) > > > > If Export > > Step 5: Perform export (2) > > > > > > Does the following make sense ? I will give more information about > > (1) and > > (2) in the proposal. > > Thanks, > > > > Regards, > > Keerthan > > > > > >>> Use Case 1: > >>> User provide URL to a wiki page in another wiki and press the > >>> export > >>> button. > >>> The expected result would be : > >>> a) the source wiki provide an export tools then we can use this > >>> tools to > >>> export > >>> b) the source wiki does not provide an export tools then in this > >>> case we > >>> have to find a way to export > >>> > >>> After exporting we need to get the remote page and then wikiModel > >>> API in > >>> order to parse and convert into a proper format to the > >>> destination wiki. > >> > >> I don't think we need this use case of exporting a single wiki page. > >> It's easier to just copy paste it inside a xwiki page. > >> > > > > Sure I understand. > > > >> > >>> Use Case 2: > >>> The user provide an exported XML from a destination wiki. > >>> In this no problem with retrieving remotely the page. > >> > >> I don't think it should be restricted to XML. Each wiki will have its > >> own export format. > >> > > > > I said XML because I was looking at mediaWiki and get some xml file > > but I > > understand the input format can be > > of any kind. > > > >> > >>> Are they anything wrong with this approach ? Many thanks > >> > >> Thanks > >> -Vincent > >> > >> PS: I haven't followed the past discussion so I may be repeating what > >> was already said... sorry if that's the case. > >> > > > > No prob. > > > >> > >>> Regards, > >>> Keerthan > >>> > >>> > >>> > >>> 2009/3/31 Keerthan MUTHURASA <[email protected]> > >>> > >>>> Hello Guillaume, > >>>> > >>>> Thanks a lot for your quick answer. > >>>> > >>>> 2009/3/31 Guillaume Lerouge <[email protected]> > >>>> > >>>> Hi Keerthan, > >>>>> > >>>>> On Tue, Mar 31, 2009 at 1:21 AM, Keerthan MUTHURASA < > >>>>> [email protected]> wrote: > >>>>> > >>>>>> Hello, > >>>>>> > >>>>>> Many thanks for all these helpfull details. > >>>>>> > >>>>>> 2009/3/30 Guillaume Lerouge <[email protected]> > >>>>>> > >>>>>>> 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 < > >>>>>>> [email protected]> 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/ImportExportfromanyotherWiki2009 > >>>>>>>>> > >>>>>>>> > >>>>>>>> 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 ;-) > >>>>>> > >>>>>> > >>>>>> I understand, I will keep in mind these details. > >>>>>> > >>>>>> > >>>>>>> > >>>>>>> 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. > >>>>>> > >>>>>> > >>>>>> I already had a look at Xwiki 2.0 syntax. > >>>>>> > >>>>>> > >>>>>>> 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. > >>>>>> > >>>>>> > >>>>>> I had a look at some of the previous threads in the mailling list > >>>>> regarding > >>>>>> import / export feature. > >>>>>> > >>>>>> > >>>>>>> > >>>>>>>> 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? > >>>>>> > >>>>>> > >>>>>> Nop, I did not but I had a litle idea about the format since > >>>>>> several > >>>>>> parsers ( XWikiParser , MediaWikiParser ...) are dealing with > >>>>>> DOM. > >>>>>> Where Can I get these differents exported files ? What is the > >>>>>> usual case > >>>>>> when getting this files ? Are we using any export utilities from > >>>>>> the > >>>>> source > >>>>>> wiki in order to get an xml format file ? I will investigate on > >>>>>> that for > >>>>>> MediaWiki and Confluence. > >>>>>> > >>>>>> You can download Confluence from this page: > >>>>> > >>>>> > >> > http://www.atlassian.com/software/confluence/ConfluenceDownloadCenter.jspato > >>>>> install it locally and play with it a bit. You could specifically > >>>>> give > >>>>> a > >>>>> look to > http://confluence.atlassian.com/display/DOC/Confluence+to+XML > >>>>> . > >>>>> Similar documentation is probably available from MediaWiki as well > >>>>> but > >>>>> you'll have to look it up by yourself ;-) > >>>>> > >>>> > >>>> Thanks a lot I am having a look at MediaWIki Export format.I will > >>>> setup > >>>> Confluence as well. > >>>> > >>>> > >>>>> > >>>>>>> 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. > >>>>>>> > >>>>>> > >>>>>> I had a look at some of your previous discussion concerning the > >>>>>> export / > >>>>>> import feactures. > >>>>>> If I properly understood: > >>>>>> > >>>>>> XWikiParser => Transform XWiki format text into a DOM > >>>>>> representation > >>>>>> MediaWikiRenderer => Render a MediaWiki format text from a DOM > >>>>>> representation > >>>>>> MediaWikiParser => Transform MediaWiki format text into a DOM > >>>>>> representation > >>>>>> XWikiRenderer => Render a XWiki format text from a DOM > >>>>>> representation > >>>>>> > >>>>>> Using the same idea it's possible to do the same think for any > >>>>>> other > >>>>> wikis > >>>>>> if we aware of this wiki's syntax. > >>>>>> > >>>>>> Within the wikiModel I found some references to > >>>>>> org.wikimodel.wem.xwiki.XWikiParser > >>>>>> org.wikimodel.wem.mediawiki.MediaWikiParser > >>>>>> org.wikimodel.wem.jspwiki.JspWikiParser > >>>>>> org.wikimodel.wem.creole.CreoleWikiParser > >>>>>> > >>>>>> Where can I find the source code for these elements ? > >>>>> > >>>>> > >>>>> http://code.google.com/p/wikimodel/source/browse/#svn/trunk/ > >>>>> org.wikimodel.wem/src/main/java/org/wikimodel/wem/xwiki > >>>>> > >>>> > >>>> Great , I just had a look at the source code and I am delighted to > >>>> see that > >>>> it's exactly what I have been doing during these last 3 month as > >>>> part of Compiler Construction Code with professor *Hanspeter > >>>> Mössenböck*.I > >>>> wrote a compiler for a simplifier java looks like language. > >>>> The idea is more or less the same here, > >>>> I will give more details about how I plan to do it in my proposal. > >>>> > >>>> > >>>>> > >>>>> > >>>>>> There were some issues concerning incompatible syntax between > >>>>>> wikis in > >>>>> the > >>>>>> discussion.Specially > >>>>>> issues concerning syntax that can exist in some wiki and does not > >>>>>> exist > >>>>> on > >>>>>> other.(Example of confluence that is quite restrictive ,macro > >>>>>> problem as > >>>>>> refered by Guillaume). Are they any solutions found for this kind > >>>>>> of > >>>>> issues > >>>>>> or should you just warn that some information will be ommited ? > >>>>> > >>>>> > >>>>> I think that trying to convert everything is too idealistic. In > >>>>> the case > >>>>> of > >>>>> the Office Importer, content that cannot be converted properly is > >>>>> stripped > >>>>> and warnings are issued for unsupported macros for instance. I'll > >>>>> let > >>>>> Asiri > >>>>> tell you more about the Office Importer conversion behavior if > >>>>> needed. > >>>>> > >>>> > >>>> It could be helpfull for me if I could have some feedback from > >>>> Asiri. > >>>> > >>>> > >>>>> > >>>>>> As far as I can see there are works already done for export / > >>>>>> import > >>>>>> feature > >>>>>> so what's wrong with the existing work ? There are a lot of > >>>>>> changes > >>>>>> betweeen > >>>>>> xWiki 1.0 and 2.0 syntax.I guess XWikiParser and XWikiRenderer > >>>>>> has been > >>>>>> modified according to these changes ? > >>>>> > >>>>> > >>>>> XWiki 1.0 syntax was using the Radeox parser while XWiki 2.0 > >>>>> syntax is > >>>>> using > >>>>> WikiModel. You would definitely be working with WikiModel a lot, > >>>>> improving > >>>>> WikiModel's Confluence & MediaWiki syntax parsers so that they can > >>>>> eventually issue XDOM elements. > >>>> > >>>> > >>>> alright > >>>> > >>>> > >>>>> > >>>>> > >>>>>> To finish with my long list of questions ( sorry about that , I > >>>>>> am just > >>>>>> trying to understand the existing work), Can I have an use case > >>>>>> for > >>>>>> importing data from Confluence to xWiki ? ( from getting input > >>>>>> data file > >>>>> to > >>>>>> expected result in xWiki). > >>>>> > >>>>> You can get an input file from the Confluence instance you will > >>>>> have > >>>>> installed on your machine. You can also give a look to XE 1.8 > >>>>> default XAR > >>>>> (available to download from XWiki.org) to see what the expected > >>>>> result > >>>>> looks > >>>>> like > >>>> > >>>> > >>>> thank you Guillaume. > >>>> Keerthan > >>>> > >>>> . > >>>>> Guillaume > >>>>> > >>>>> > >>>>>> Many thanks again for your answer. > >>>>>> > >>>>>> Best regards, > >>>>>> Keerthan Muthurasa > >>>>>> Msc Software Engineering, > >>>>>> School of Technology, > >>>>>> Oxford Brookes University > >>>>>> > >>>>>>> > >>>>>>>> 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 > >>>>>>> > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

