Extension developed by the XWiki Development Team.
This extension can be downloaded.

XEclipse Extension

XEclipse is an Eclipse plug-in that allows the user to edit, view, save or delete XWiki pages directly from within the Eclipse IDE. XWiki is a very powerful tool when it comes to sharing details on project management, Collaborative writing and efficient document sharing. The intention of XEclipse is to merge these capabilities right into the popular IDE Eclipse, and thereby encourage developers to document their work on the go.

Features

Features currently provided by XEclipse are:

  • Navigate through the imported XWiki site (tree view).
  • Support for connections to multiple XWikis.
  • Edit / Save Existing XWiki Pages (with rendered output).
  • Add / Remove pages.
  • Add / Remove entire spaces.
  • Ability to work off-line. (Grab sites into local machine).
  • Warn about possible conflicts when syncing with server.
  • Ability to define working sets to focus on a subset of the XWiki content.
Features requested by users / developers:
  • Support Velocity & Groovy syntax in the XWikiEditor - Vincent Massol
  • Offer a XAR export view in addition to the "print" view in the XWikiEditor - Vincent Massol
  • Add support for translations - Ludovic Dubost
  • Add support for editing comments / attachments / objects - Ludovic Dubost
  • Integration with Mylyn Eugene Kuleshov
  • Add Your Request!!!

Installation

XEclipse can be installed either as a standalone application or as a plugin integrated in the standard Eclipse IDE.

To install XEclipse as a standalone application just unzip the downloaded ZIP file into a directory (usually your application directory) and run the XEclipse launcher by double clicking on its icon. The standalone application is provided for all the major platforms and systems: Linux, Mac OS X and Windows.

Installing XEclipse as a plugin is as easy as unzipping the downloaded ZIP file into your eclipse plugin directory (usually ${eclipse_home}/plugins where ${eclipse_home} is your eclipse installation directory) We will soon provide an eclipse update site so that XEclipse can be installed right from within the IDE itself.

Warning: You'll need Eclipse Europa Full version or above if you install XEclipse as a plugin.

Usage

In this section we will describe XEclipse components, features and how to use them. We will use the XEclipse standalone version as the reference. Notice that all the functionalities are available in the plugin version as well.

XEclipse workbench

This is the workbench as it appears during an XEclipse working session:

xeclipse-rcp

There are three main components in XEclipse:

  • XWiki explorer
  • XWiki page editor
  • XWiki preview
They will be described in detail in the following sections.

XWiki Explorer

The XWiki Explorer is the core component of XEclipse. It presents a list of connections to remote XWikis and provides a tree-oriented visualization of their structure in terms of spaces and pages .

If you are using the XEclipse plugin from the IDE you can show the XWiki Explorer by opening the Show view dialog (select the menu item Window->Show View->Other) and by selecting the XWiki Explorer under the XWiki folder

selectview.png

XWiki explorer's toplevel elements represent XWiki connections. By expanding these nodes it is possible to navigate the content of each XWiki.

Double clicking on a page will open the editor for editing it. When a page is opened for editing, it is automatically cached locally. Cached pages appear with a small decoration representing a storage icon. By having the page cached enables the user to edit it even when the connection to the remote wiki is not available.

XWiki Explorer context menu

By clicking with the second mouse button on an element of the XWiki explorer tree, a contextual menu is shown. This menu is the entry point for almost all the functionalities that are available in XEclipse.

xwikiexplorer-menu.png

Menu items appear enabled or disabled depending on the selected element. The available commands are:

  • Connect/Disconnect. Open or close a connection to a remote XWiki. When working online, connection elements appear in bold in XWiki Explorer and the tree structure reflects the actual structure of the remote Wiki. Pages are directly fetched and stored from an to the remote wiki. Changes are made directly available. When connecting, all the pages that have been modified locally when disconnected, are automatically synchronized with the remote wiki.
  • New space... Open the new space wizard for creating a new XWiki space. This command is available only when working online.
  • New page... Open the new page wizard for creating a new XWiki page. This command is available only when working online.
  • Grab space Automatically downloads and caches all the pages belonging to the selected space, making them available when working offline.
  • Delete Delete the selected resource (i.e., pages, spaces and connections).
  • Refresh Refresh the currently selected item (i.e., connections and spaces) in order to reflect the current state on the server (i.e., displaying new remotely added spaces and pages)
  • New connection... Open the new connection wizard for creating a new connection.

New connection wizard

The new connection wizard allows the user to define the settings for connecting to a remote XWiki.

newconnection.png

New space wizard

The new space wizard allows the user to create a new space.

newspace.png

New page wizard

The new space wizard allows the user to create a new page.

newpage.png

Once the wizard is dismissed the newly created page is automatically opened in an editor for editing its content.

Quick navigation

By using the CTRL-SHIFT-P key combination (COMMAND-SHIFT-P on a Mac) an Open page dialog is opened. By typing some text a list of all the pages that contains that text in the title is presented. Wildcards are allowed. Selecting one of the pages and pressing ok, will open an editor for editing that page.

openpage.png

Working sets

When working with XWikis with a lot of spaces and pages it is often useful to focus only on a subset of them in order to complete a given task. XEclipse allows to do that by defining working sets.

By using the XWiki Explorer view menu and selecting the command Manage working sets... a dialog for creating/remove working sets is presented

workingset-selection

This menu can also be used to select a previously defined working set. When a working set is selected a partial view including only the resources defined in the working set is displayed. The fact that the XWiki Explorer is displaying a working set is reflected by an header on the top of XWiki explorer.

When a working set is active, a newly created resources (i.e., connections, spaces or pages) are automatically added to the working set.

workingset-selected

Selecting No working set restores the displaying of all the resources in the XWiki Explorer.

Managing working sets

The Manage working sets... dialog presents a list of already defined working sets and two buttons for creating, editing and removing them.

workingset-management

Creating a working set

When the New... button is clicked in the Manage working sets dialog a new wizard is displayed.

workingset-wizard

This wizard allows the user to select the resources belonging to a working set. The dialog presents three areas:

  • The working set name.
  • A content selection tree where resources beloging to the working set being defined can be selected by clicking on checkboxes.
  • A preview view that shows what the XWiki Explorer tree will look like when the working set being defined will be selected.
Editing a working set

In order to edit an existing working set a wizard with the same functionalities for creating a working set is presented.

Conflict warning

When a page is edited with XEclipse nothing prevents another user to edit the same page on the remote server. This fact leads to a concurrent modification that must be handled. XEclipse is able to detect such a concurrent modification and, in the case when this actually happens, warns the user with a dialog and present the remotely modified content and the current content so that the user can choose which version she wants to keep or do a merge of the twos.

compare

Release Notes

XEclipse 1.0 Milestone 1

First release of XEclipse.

  • XECLIPSE-1 - Navigate the Documents tree and viewing XWiki pages.
  • XECLIPSE-2 - Delete existing pages/spaces
  • XECLIPSE-3 - Login to xwiki from Eclipse and import spaces selectively
  • XECLIPSE-9 - Edit and Save pages
  • XECLIPSE-10 - Add new pages/spaces

XEclipse 1.0

  • XECLIPSE-5 - Offline editing support
  • XECLIPSE-30 - Major refactorings.
    • Standalone version.
    • New user interface.
    • Connection persistence.
    • Quick navigation.
    • Working set support.

XEclipse 1.0.1

This release is a maintenance release that fixes some serious bugs that prevented 1.0 to work correctly.

  • XECLIPSE-64 - Solved Local index synchronization
  • XECLIPSE-66 and XECLIPSE-68 - Solved XMLRPC Issues with XWiki 1.2
  • XECLIPSE-67 - Solved problems in XWiki Explorer

XEclipse 1.1

  • XECLIPSE-70 - Invalid text in delete dialog box
  • XECLIPSE-84 - Invalid version displayed when editing a page
  • XECLIPSE-87 - Cannot reconnect after disconnecting
  • XECLIPSE-89 - Login name with space
  • XECLIPSE-23 - Double-clicking on a tree node should open the node
  • XECLIPSE-73 - Add edit working set feature
  • XECLIPSE-77 - In preview panel, display the current URL and allow typing any URL
  • XECLIPSE-78 - In preview pane, add right click action to open the current URL in external browser
  • XECLIPSE-81 - Let user decide if they want to overwrite the server version rather than merge it

Building From Source

Contribute

As you can see, there are many features that need to be supported in XEclipse. Discussions regarding XEclipse development are carried on the xwiki-dev mailing list. If you have suggestions, issues, bug-reports or would like to get involved in XEclipse development, you are welcome to join us on devs@xwiki.org (you will need to subscribe).

For bug reporting please use our JIRA system at: http://jira.xwiki.org/jira/browse/XECLIPSE

Thank you for trying XEclipse.

XWiki Team.

Version 41.1 last modified by asiri on 11/03/2008 at 02:57

Comments 3

Trinition | 28.08.2007 at 01:44 PM
What version of eclipse does this require? I tried it under eclipse 3.0 (via IBM Rational Software Architect 6) and got a "java.lang.UnsupportedClassVersionError: (org/xwiki/plugins/eclipse/views/navigator/XWikiNavigator) bad major version at offset=6".

asiri | 29.08.2007 at 04:09 AM
It requires eclipse 3.2. Sorry about any inconveniences, will add this info to page.

kjain9 | 25.02.2008 at 04:48 PM
    1. I do not see the standalone XEclipse icon in the downloaded folder.
Am I doing anything wrong here...Thanks

Attachments 20

Image
open-xwiki-navigator.png 1.3
PostedBy: asiri on 10/12/2007 (81kb )
Image
compare.png 1.2
PostedBy: fmancinelli on 17/02/2008 (76kb )
Image
xwikiexplorer-menu.png 1.3
PostedBy: fmancinelli on 10/12/2007 (30kb )
Image
xeclipse-rcp.png 1.3
PostedBy: fmancinelli on 10/12/2007 (235kb )
Image
navigate-xwiki.png 1.3
PostedBy: asiri on 10/12/2007 (114kb )
Image
xwiki-navigator.png 1.3
PostedBy: asiri on 10/12/2007 (64kb )
Image
connection-settings.png 1.3
PostedBy: asiri on 10/12/2007 (91kb )
Image
import-spaces.png 1.3
PostedBy: asiri on 10/12/2007 (85kb )
Image
workingset-wizard.png 1.3
PostedBy: fmancinelli on 10/12/2007 (89kb )
Image
workingset-selection.png 1.3
PostedBy: fmancinelli on 10/12/2007 (35kb )
Image
workingset-selected.png 1.3
PostedBy: fmancinelli on 10/12/2007 (14kb )
Image
workingset-management.png 1.3
PostedBy: fmancinelli on 10/12/2007 (20kb )
Image
selectview.png 1.3
PostedBy: fmancinelli on 10/12/2007 (31kb )
Image
outofsynch.png 1.3
PostedBy: fmancinelli on 10/12/2007 (53kb )
Image
openpage.png 1.3
PostedBy: fmancinelli on 10/12/2007 (48kb )
Image
newspace.png 1.3
PostedBy: fmancinelli on 10/12/2007 (22kb )
Image
newpage.png 1.3
PostedBy: fmancinelli on 10/12/2007 (20kb )
Image
newconnection.png 1.3
PostedBy: fmancinelli on 10/12/2007 (33kb )
Image
view-documents.png 1.3
PostedBy: asiri on 10/12/2007 (170kb )
Image
edit-documents.png 1.3
PostedBy: asiri on 10/12/2007 (180kb )

Creator: TharinduJayasuriya on 2007/08/11 11:43
This wiki is licensed under a Creative Commons license
1.4.1.10194