XOffice

Last modified by Vincent Massol on 2024/11/19 16:12

 XWiki
 Feature
 Completed
 

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.

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:

XWriterUI.png

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: XWriterArchitecture.png

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.
  • 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.
  • 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
  • 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

 


Get Connected