XWiki Eclipse
Remote/offline browsing of XWiki data in a standalone application or as an Eclipse plugin |
Type | Other |
Category | |
Developed by | |
Rating | |
License | GNU Lesser General Public License 2.1 |
Table of contents
Description
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:
- Syntax highlighting and completion (for Wiki syntax and Velocity scripts)
- Content outline for quick navigation.
- Object edition.
- Multiple languages support: edit pages in different translations.
- Previous version of a page retrieval.
- 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.
Using
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 of the RCP application as it appears during an XEclipse working session:
XEclipse could also be used in the Eclipse IDE. There is a custom perspective that can be used when editing wiki pages and that gives the IDE the same layout of the RCP application:
There are three main components in XEclipse:
- XWiki navigator
- XWiki page editor
- XWiki content outline
- XWiki preview
They will be described in detail in the following sections.
XWiki Navigator
The XWiki Navigator 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 Navigator by opening the Show view dialog (select the menu item Window->Show View->Other) and by selecting the XWiki Navigator under the XWiki folder
XWiki Navigator'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.
Menu items appear enabled or disabled depending on the selected element.
XWiki Page Editor
The XWiki editor supports syntax highlighting and completion for the wiki syntax, links and API inside velocity scripts.
A content outline view is also provided in order to ease the navigation of very long documents.
XWiki Object Editor
The object editor allows the user to edit objects associated to a page, by filling the corresponding property fields.
Since many properties are supposed to be filled with wiki content, a bigger editor can be opened in order to make the edition more comfortable:
Objects can also be created using a wizard:
A content outline shows all the available properties in the currently edited object and allows the user to jump to a given property directly.
Translations and versions
By using the context menu it is possible to open a previous version of a page or editing a translation.
Working sets
XEclipse supports the standard Eclipse working set mechanism in order to define a limited set of resources to be displayed when working with wikis with a lot of pages.
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.
The user can also choose to solve the conflict later. In this case she can continue to edit the document and deal with the conflict when she's done (by clicking on the small icon on the top right part of the editor)
Confluence compatibility
XEclipse can also be used in order to edit Confluence wikis.
Development
- Building in Eclipse
- Contributing: 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 there.
- For bug reporting please use our JIRA system at: https://jira.xwiki.org/browse/XECLIPSE
- Building XEclipse RCP With Maven
Prerequisites & Installation Instructions
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.