XOffice
Description
Overview
The objective of the Word Add-in is to make use of our users basic infrastructure(usually MS Office) and bring it towards online collaboration. The add-in is also a way to encourage new users to use the wiki, by uploading their documents to the server.
- This is now a XWiki.org project. More info at xoffice.xwiki.org
UI
One of the advantages of using an Add-in is that we can create a custom user interface and add functionality to the host application(Word, Excel, Outlook, etc).
This is how the Word Add-in currently looks like:

Most of the buttons have no functionality implemented yet. This is what we have at our disposal:
- classic menus
- tabs + ribbon UI for Office 2007
- toolboxes for Office 2003
- TaskPanes(the one you see on the right, with the TreeView)
- we can popup any custom made window from .NET
The first version will handle document upload and conversion to wiki page so we'll have a more simple UI.
Architecture
- The add-in runs under a .NET Framework runtime an is build using the VSTO package (Visual Studio Tools for Office). A part of the .NET code is marked as being COM visible so that it can enable Windows messaging with the Office applications.
- At the moment the communication between .NET and the XWiki server is made via HTTP calls, using a wrapped WebClient.
- This WebClient will be embedded into a separate assembly generated by a distinct .NET project. This makes it easy to be reused in different Add-ins and other type of clients.
Here's a picture of the architecture that will be implemented: 
We are still considering several options for the server part:
- Use a component to provide a wide range of services.
- PROs:
- Very powerfull and flexible.
- Allows us to integrate any XWiki module/functionality like: Wang's Office Importer and html cleaner, Vincent's syntax rendering, Asisri's WebDAV etc.
- CONs:
- Longer development time.
- Hard to install on the server until the component becomes a part of the platform.
- PROs:
- Use wiki pages that will be shipped in a XAR.
- PROs:
- Very easy to install on the server => More users will test it;
- Easy use of the XWiki API for page creation/retrieving, attachment and object saving;
- CONs:
- Not so flexible when needed to use other XWiki components
- Does not allow us to use the work that is already done in Office Importer and WebDAV.
- PROs:
- The Add-in just provides a simple UI and writes the content to WebDAV
- PROs:
- We use a lot of great work Asiri has done
- CONs:
- Additional steps for the end user to install WebDAV
- Not as flexible as using services
- PROs:
- Develop our current XML-RPC services and use the client to call them
- CONs: the existent .NET APIs that handle XML-RPC are not so good
We are currently going with the XAR approach, so the installation process will imply:
- the admin will import the XAR to the server
- users will have a Windows installer to setup the Add-in
Roadmap
First version
- Users will be able to create a new wiki page from Office(Word works as an WYSIWYG using WebView to directly create HTML)
- Users can upload a local document to the wiki, as an attachment
- Users can export a local file as a wiki page.
Future versions
- Enable wiki page editing inside Word
- Enhance the collaboration over Charts, Excel Sheets and other advanced content features