Hi Arun, On Sun, Jul 26, 2009 at 8:18 PM, Arun Reddy<[email protected]> wrote:
Hi Vincent,
On Sun, Jul 26, 2009 at 4:15 PM, Vincent Massol <[email protected]> wrote:
(resending since I got a failure from xwiki's mail content filter )
---------- Forwarded message ---------- From: Vincent Massol <[email protected]> Date: Sun, Jul 26, 2009 at 11:33 AM Subject: [Wiki Importer] Design questions To: XWiki Developers <[email protected]>
Hi Arun,
I've just started reviewing your module. I'll send questions as they come. Here are some to start with:
1) Why do you need the Wiki interface? Since all implementations are wiki-specific and since it doesn't contain any useful method I don't see why it's needed.
2) Why do you need 2 methods in WikiImporter interface? I would have imagine only a single method:
WikiImporter.import(...)
Wiki Interface is useful to access the Wiki Instance (MediaWiki , Confluence ) at runtime.
I don't understand why it's useful since it doesn't have any interesting method. You can just access whatever specific instance you need for a given wiki. The WikiImporter Interface first method processInputDump()
process the Pages, Attachments and metadata and returns an object of Export Wiki Type( implements Wiki<T> Interface) which can be used to customize the import process.
For Eg : Change in the Sitename, Preserve metadata and revision history.
I don't understand why you need to expose this in the interface. A single import() seems more than enough to me. What wouldn't work with that method?
All such properties can be set at run time during import process.( From GUI - Wizard Interface)
You should have a WikiImporterConfiguration component for storing config properties.
After customisation, second method createWikiPages() can be called on the same export type wiki object. which imports the pages to XWiki.
Again why do you need to expose it in the public API?
3) Why do you pass a byte array instead of a stream? If the import is large a byte array will result in an OOM error.
Yes, that is an issue. During import process the dump is uploaded as Attachment.
We shouldn't do this. It won't work a of now. We need to have the dump on the server's file system and read it from there. [snip]] Thanks -Vincent