Hi list, In order to ease XWiki installation for those who don't want to deal with tomcat/mysql, Ludovic asked me to work on a standalone installation of XWiki based on jetty and hsqldb. I think I get to a point where I have something useful, so I wanted to describe what I have done, and if Ludo agrees to create an account for me, I will be able to commit some files in the next few days ;-) So, I have added a 'standalone' target into the build.xml file (see below). This target expands a jetty.5.1.5 archive, removes the sample applications, inserts the xwiki release (exploded war) into the webapps directory, copies some configuration files in order to make xwiki use an in-process hsqldb database. hsqldb database files are also copied into the package. The database data have been taken from the mysql export (xwiki-db-0.9.2.sql). At the root of this package, 4 scripts are eventually copied in order to help user to start/stop the application server (start_xwiki.bat|sh, stop_xwiki.bat|sh). The produced package is usable 'as-is' simply by copying the files somewhere on your disk. And yes, it works on a USB key also. It weights a total of 37 MB. With this target, I have also written a basic Nullsoft Installer script, in order to help Windows users in installing the package. Basically this installer installs all the files produced by the standalone target in a user specified directory, then create 3 shortcuts in the Windows start menu: start, stop (à la tomcat) and uninstall. Before doing this the installer checks if a jre 1.4 or newer is installed (I'm not sure that 1.4 is required for xwiki, this can be changed easily), if not the user is redirected to the download section of the Java web site. This installer weight a total of 30 MB. On the todo list of this installer : - add the possibility to specify a port number for the jetty server ; - install a bundled jre if needed (have to check the sun license in order to be sure this is possible) - add a final window explaining what to do after the installation (use the start/stop shortcuts, start a browser...) On the todo list of this standalone installation : - add an installer for Mac OS X platforms - add an installer for Linux platforms (autopackage ?), may be not so useful, since Linux users are more acquainted to tomcat/mysql installation ... Any question, comment, idea would be greatly appreciated. Seb. here is the standalone target code : <!-- Standalone package properties --> <property name="standalone.base.dir" value="${basedir}/standalone"/> <property name="standalone.jetty.archive.dir" value="jetty-5.1.5"/> <property name="standalone.jetty.archive" value="${standalone.base.dir}/${standalone.jetty.archive.dir}.zip"/> <property name="standalone.package.name" value="xwikionjetty"/> <property name="standalone.release.dir" value="${release.dir}/${standalone.package.name}"/> <fileset id="standalone.db.bootstrap" dir="${standalone.base.dir}/db" includes="xwiki_db.*"/> <fileset id="standalone.config" dir="${standalone.base.dir}/config" includes="xwiki.cfg, hibernate.cfg.hsql.xml"/> <fileset id="standalone.scripts" dir="${standalone.base.dir}/scripts" includes="*"/> <target name="standalone" depends="release"> <!-- unzip jetty archive into standalone release dir --> <!-- exclude some jetty provided jar files in order to avoid clashes --> <!-- these jars are provided by xwiki --> <unzip src="${standalone.jetty.archive}" dest="${release.dir}"> <patternset> <exclude name="**/ext/xercesImpl.jar"/> <exclude name="**/ext/xml-apis.jar"/> <exclude name="**/ext/xmlParserAPIs-2.5.jar"/> </patternset> </unzip> <move todir="${standalone.release.dir}"> <fileset dir="${release.dir}/${standalone.jetty.archive.dir}"/> </move> <!-- remove example webapps --> <delete file="${standalone.release.dir}/webapps/javadoc.war"/> <delete dir="${standalone.release.dir}/webapps/template"/> <!-- explode xwiki war file into jetty/webapps --> <mkdir dir="${standalone.release.dir}/webapps/xwiki"/> <unwar src="${release.warfile}" dest="${standalone.release.dir}/webapps/xwiki"/> <!-- replace configuration files with standalone version --> <copy todir="${standalone.release.dir}/webapps/xwiki/WEB-INF" overwrite="true"> <fileset refid="standalone.config"/> </copy> <!-- install db bootstrap --> <mkdir dir="${standalone.release.dir}/db"/> <copy todir="${standalone.release.dir}/db"> <fileset refid="standalone.db.bootstrap" /> </copy> <!-- install start/stop scripts --> <copy todir="${standalone.release.dir}"> <fileset refid="standalone.scripts"/> </copy> </target>