Re: [xwiki-dev] XWiki standalone package proposal
The sounds awsome. I really would like a standalone package that runs off a USB key. I teach tech classes at a local college and have started using XWiki for presentations and documentation. Sometimes the colleges internet connection is not so reliable so I have fretted about not having my presentations available during class. To overcome this I have been bringing a laptop configured as a linux server with xwiki installed hosting all my presentations and notes. As you can see XWiki on a USB key would be absolutlely useful Great work! Dennis Dennis
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>
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
participants (1)
-
dennis.coonich@comcast.net