Wang Ning wrote:
> On Mon, Jul 7, 2008 at 5:27 PM, Guillaume Lerouge <[EMAIL PROTECTED]>
> wrote:
>
>   
>> Hi Wang,
>>
>>
>>     
>>> [snip]
>>>       
>> I'm looking forward testing your work !
>>
>>
>>     
>>> Now the plugin can work. However it's a little complicate. If you want to
>>> convert a office document
>>> 1. you first upload the document
>>> 2. copy the attachment name(because the name of document change after
>>> upload)
>>> 3. edit the page and add the velocity code to use the importer plugin
>>> 4. save and view.
>>> I think it should be more simple.
>>>       
>> So do I :-)
>>
>> There is 2 ways we can go about doing this : the page action way and the
>> application way.
>>
>>   1. Page action : we add an "import" action in the menu at the top of the
>>   page (and maybe in the WYSIWYG editor as well). When clicking on the
>> button,
>>   the user is prompted to choose a compatible file on his machine, then he
>>   clicks on "import" (with an interface similar to the one used for
>> uploading
>>   attachments). The .../bin/import/Main/... is called, and the content from
>>   the file appended at the bottom of the existing page, with a #info('')
>> macro
>>   at the top saying something like "The following content has been imported
>> to
>>   the page :"
>>     
>
> This action way is easy to  implement as I can get whatever I want to use by
> using java. But as you said, change the xwiki-core is not a good idea.
> However, I can get the byte[] data of the source office doument without
> using attachment.
>
>   
>>   2. Application : we create an OfficeImport application with the following
>>   components : a homepage where the user is prompted to import one or
>> multiple
>>   documents. The documents are then imported, each creting its own wiki
>> page.
>>   Once the importation is complete, the user is prompted to move the
>> documents
>>   to their new locations (using the Rename or the copy feature to implement
>>   this)
>>     
>
> The application way is good and decouple. However there are some problem
> too. I want to get the name of the attachment after upload the office
> document as the name of the document changed by the xwiki.clearName().
> But the util.clearName() don't provide the same result. Do I need to add
> another clearName model in api util? Alternately, I just provide a select
> type input in the importer page which contain all the attachments in the
> page for use to select the source attachments.
>   

I don't think you need to go through the save as attachment at all..
You can use the FileUpload plugin...

http://svn.xwiki.org/svnroot/xwiki/xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/fileupload/FileUploadPluginApi.java

which allows to retrive a file upload element withough saving it as an 
attachment..
You retrieve it as a byte[]

Ludovic
>   
>> The benefits of going the page way is that it's probably more intuitive for
>> users. However it means adding core changes = less flexibility in the long
>> run. And the action bar already has a lot of items ;-)
>>
>> OTOH going the application way woud make the application easier to setup
>> (plugin + XAR), store all the pages in a dedicated place and make it
>> possible to import many documents at once and sort things out at a later
>> stage. However it makes it a bit longer to import a file to a given page
>> and
>> might be less intuitive...
>>
>> WDYT ?
>>
>> Guillaume
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
>>     
>
>
>
>   


-- 
Ludovic Dubost
Blog: http://blog.ludovic.org/
XWiki: http://www.xwiki.com
Skype: ldubost GTalk: ldubost

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

Reply via email to