Improving the setup and upgrade process
Improving the setup and upgrade process
The installation is the first contact between XWiki and a potential user. If this is not a pleasant experience, then the chances of becoming a favorite tool drop drastically. Although we have an easy to use installer that sets up a default XWiki in a few seconds, this default configuration is only suited for small wikis or testing. Beyond that, additional steps must be taken in order to have a production ready wiki, and each such step is prone to mistakes. The process gets even more complicated when trying to upgrade, since configuration files must be merged, libraries must be correctly updated, the default content of the wiki must be updated without overriding users' changes, etc.
The objective of this project is to make XWiki installation a pleasant experience, with as few as possible possible mistakes, while allowing a great deal of customization.
Apr 28 2009
Introduction
Setting up the space
In order to setup a space on this wiki, I did the following:- Registered (actually I already had a global account, but that's not the case with you)
- From the list of spaces in the Dashboard, on the main page on http://gsoc.myxwiki.org/ , click on "Create a new space", and enter the name of your project.
- Enter the short project description as the content of the page, plus #includeTopic("Blog") to have the blog content at the end of the page.
- Go to http://gsoc.myxwiki.org/xwiki/bin/Blog/ and choose "Create another blog".
- Use the name of the space you just created and "blog inside an existing space" as the type.
- Write the first post, introducing yourself and the project.
Project description
The installation is the first contact between XWiki and a potential user. If this is not a pleasant experience, then the chances of becoming a favorite tool drop drastically. Although we have an easy to use installer that sets up a default XWiki in a few seconds, this default configuration is only suited for small wikis or testing. Beyond that, additional steps must be taken in order to have a production ready wiki, and each such step is prone to mistakes. The process gets even more complicated when trying to upgrade, since configuration files must be merged, libraries must be correctly updated, the default content of the wiki must be updated without overriding users' changes, etc. The objective of this project is to make XWiki installation a pleasant experience, with as few as possible possible mistakes, while allowing a great deal of customization. Planned improvements include:- For the installer:
- allowing the installer to deploy XWiki on other existing containers (Tomcat for example)
- allowing the installer to detect an existing XWiki instance and correctly update it (remove updated or deleted libraries, but keep the user's jar, merge settings)
- allowing the installer to work in graphicless environments (I think a new installer is needed for this, maybe a shell script would be enough)
- installer infrastructure enhancements: improve the maven projects for the installer and standalone distributions to reuse as much as possible other artifacts, make the build work on Windows...
- For the first run wizard:
- generating encryption keys
- selecting and enabling the RDBMS
- configuring the database (jdbc URL, username and password,
- importing a default wiki (new installs)
- updating the default wiki pages (upgrades)
- idea: once we have a unified product, decide what type of instance this is: Simple XE, XEM, XWS
- Misc:
- don't run migrations on a new install
- stabilize the GF+Derby distribution