Hi,

Here is some quick review comments:
> General:
> * this API is not streaming oriented, WikiImporter.import should take
> listener and not send a full Wiki for example. This api is nice but as
> a wrapper for the streaming api (like SAX and DOM or XWiki rednering
> events and XDOM).
>

I kind of had a different idea about the streaming api. I don't know why I
thought this but what I had in mind was something like:

Wiki::hasNextPage():boolean

Wiki::getNextPage():WikiPage

This is kind of like reading a result set (pull-parsing???)

I thought this kind of a api would be more natural but I have no idea if
this is even possible to implement for all the wiki export formats out
there.

If I understood you correct, what you have suggested is something like:

WikiImporterListener::onWikiPage(WikiPage)

WikiImporter::import(......, WikiImporterListener)

This might be viewed as a "push-parsing" mechanism?? Anyway, I'll be glad to
know what are the pros & cons of these two approaches.


> *** [NICE TO HAVE] List<Class<?>> getParameters(): the list of
> parameters type to provide to the importer, that way you can generate
> a UI based on it since parameters totally depends on the importer, you
> could have an importer able to import the wiki from an URL for example
> using REST/XMLRPC... for the same reason List<InputStream> is not
> generic enough IMO. You can look at MacroDescriptor for inspiration,
> we could make it more generic as a list of parameters instead of a
> list of macro parameters to use it in wiki importer, authenticators,
> etc. I see this tool as a generic way to get wiki content from any
> kind of external source, we could even use it to copy a XWiki wiki
> without having to do an export/import by hand for example.
>

+1

This will make it possible to define different types of importers with
different requirements (rather than restricting them to List<InputStream>)

Thanks.

- Asiri
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to