= Trac Wiki Editor 4 Eclipse = [[PageOutline(2-3, , inline)]] == Description == !WikiEditor4Eclipse is a new plug-in providing Trac Wiki editing capabilities to Eclipse IDE. === Implemented Features: === * Trac Wiki Servers explorer * Eclipse Wiki Editor: currently, it borrows the editor from the original EclipseTracPlugin plugin. * Wiki Page management: Creation, edition and page deletion. * Concurrent edition management: - Prevents overwriting other users changes when a concurrent edit happens. - Helps merge contents when a concurrent edit happens. === Future development: === * Integrate with [http://wiki.eclipse.org/Mylyn/WikiText Mylyn WikiText] * Enable/Facilitate spellcheck facilities. == Installation == !WikiEditor4Eclipse features a Wiki Editor as an [http://eclipse.org Eclipse] plugin that communicates with Trac wiki server through the XmlRpcPlugin. It requires the following software to be installed: === Server === * XmlRpcPlugin: !WikiEditor4Eclipse requires XmlRpcPlugin to be installed and enabled on the server * [download:eclipsetracplugin/tracrpcext/0.10 TracRpcExt] (optional): !WikiEditor4Eclipse reuses !TracRpcExt plugin from EclipseTracPlugin to provide a ''page history'' view. This dependency is optional as the editor can work without it, but if its not installed and enabled you will miss page history functionality. === Client === * Add [http://trac-hacks.org/svn/wikieditorforeclipseplugin/trunk/releases/update-site] to Eclipse Update Manager (Help -> Software Updates -> Available Software -> Add Site). This plugin requires Java Runtime version 1.5 or higher and Eclipse SDK 3.2 or higher (it was tested successfully on Eclipse SDK 3.4.2). == Screenshots == * Wiki Editor Perspective: [[Image(source:/wikieditorforeclipseplugin/trunk/docs/screenshots/wikieditor-prespective.png)]] * Merging conflicting changes [[Image(source:/wikieditorforeclipseplugin/trunk/docs/screenshots/merge-editor.png)]] == Bugs/Feature Requests == You can help improving the wiki editor. If you find something annoying, something wrong or something missing you may want to file a [http://trac-hacks.org/newticket?component=WikiEditorForEclipsePlugin&owner=ivangsa new ticket]. You can also search for existing bugs and feature requests in !WikiEditor4Eclipse are [report:9?COMPONENT=WikiEditorForEclipsePlugin here]. == Building from Source == This plugin is composed by: * Java !WikiRPC client library: including a high level API to access this [http://www.jspwiki.org/wiki/WikiRPCInterface WikiRPCInterface] and a batch of automated tests to test default implementation against a Trac server (see [#RunningTests Running Tests] below). * Set of Eclipse plugins: Eclipse wiki source editor and management capabilities. [[Image(source:/wikieditorforeclipseplugin/trunk/docs/screenshots/source-layout.png)]] You can check out !WikiEditor4Eclipse from [http://trac-hacks.org/svn/wikieditorforeclipseplugin here] using Subversion, or [source:wikieditorforeclipseplugin browse the source] with Trac. In order to build !WikiEditor4Eclipse you will need the following software: * Subversion client * Java JDK >= 1.5 * [http://docs.codehaus.org/display/M2ECLIPSE/Tycho+builds Tycho] maven plugin (tested with version 0.3.0-DEV-1819) * Eclipse SDK >= 3.2 (tested with version 3.4.2) You can build the plugin running the following commands on the command line: {{{ #!sh svn co http://trac-hacks.org/svn/wikieditorforeclipseplugin/trunk/source/ WikiEditor4Eclipse cd WikiEditor4Eclipse /opt/tycho-distribution-0.3.0-DEV-1819/bin/mvn \ -Dtycho.targetPlatform=/opt/eclipse/eclipse-SDK-3.4.2 \ clean install -Dmaven.test.skip }}} ... {{{ [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] ------------------------------------------------------------------------ [INFO] Trac WikiEditor 4 Eclipse ............................. SUCCESS [26.864s] [INFO] Trac WikiEditor 4 Eclipse ~ Core ...................... SUCCESS [1:05.127s] [INFO] Trac WikiEditor 4 Eclipse ~ Eclipse Modules ........... SUCCESS [1.083s] [INFO] Trac WikiEditor 4 Eclipse ~ org.trachacks.wikieditor.eclipse.core SUCCESS [47.909s] [INFO] Trac WikiEditor 4 Eclipse ~ org.trachacks.wikieditor.eclipse.plugin SUCCESS [13.284s] [INFO] Trac WikiEditor 4 Eclipse ~ org.trachacks.wikieditor.eclipse.feature SUCCESS [2.595s] [INFO] Trac WikiEditor 4 Eclipse ~ org.trachacks.wikieditor.eclipse.site SUCCESS [8.048s] [INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2 minutes 57 seconds [INFO] Finished at: Thu May 21 22:14:13 CEST 2009 [INFO] Final Memory: 29M/52M [INFO] ------------------------------------------------------------------------ }}} This will create a local eclipse update site at ''!WikiEditor4Eclipse/source/eclipse/org.trachacks.wikieditor.eclipse.site/target/site'' you can point Eclipse Update Manager to. == Running Tests == In order to run automated tests against a Trac server you will need to setup a local server. These are the prerequisites in order to run the test suit included in the ''core'' library: * Set up a test project on a local Trac server of hand. This Trac server must support BASIC authentication on the standard Trac url location. * Set up an user for that project with (at least) the following permissions: - WIKI_VIEW - WIKI_CREATE - WIKI_MODIFY - XML_RPC * Set up another user with also the following permission: - WIKI_DELETE Default username/password for these users are: * user/user * admin/admin Default url for local Trac test project is: * !http://localhost/trac/test If you need to override settings configured at [source:wikieditorforeclipseplugin/trunk/source/core/pom.xml#L111 core/pom.xml], probably the best way is creating a new ''profile'' on the standard maven $HOME/.m2/settings.xml file. You can use the following snippet as base: {{{ #!text/xml test-properties !maven.test.skip http://localhost/trac/test admin admin user user }}} NOTE: some TestSuites need to be run in particular order but this is not guaranteed by unit testing technology used. This is something I would like to address at some point, as it is a potential test failure cause in some particular environments. If after setting up testing prerequisites as mentioned in this guide, automated tests still fail to run in your particular environment you can open a [http://trac-hacks.org/newticket?component=WikiEditorForEclipsePlugin&owner=ivangsa ticket] for support. Happy Hacking!! == Comments == If you would like to leave a comment or any feedback about this wiki editor just go ahead, this is a good place to do so: * : * Hi! Nice Eclipse Integration so far! Here are some ideas for future features: * Show wiki hierarchy in the Tree -> e.g. show /Documentation/Chapter1 as Chapter1 in a folder Documentation * Support for Wiki-Rename (incl drag'n'drop) -> Maybe by using the rename plugin * Export Wiki-Pages to HTML, Eclipse-Help and maybe Docbook == Recent Changes == [[ChangeLog(wikieditorforeclipseplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:ivangsa] [[BR]] '''Contributors:''' [wiki:EclipseTracPlugin] {{{ #!html }}}