First of all, the landing page was updated which looks more convivial and displays a list of packages giving more choice to the visitor. As instance, the Government package existed long time ago but was never brought as demo website. Besides, a new Bootstrap package which was under preparation for some time was also made available as demo website. Some more explanations are given below about the approach and motivation.
The server is installed by a Chef cookbook which allows automatic deployment and easy maintenance of the server. The recipe is available on Github.
There is, part of the Chef cookbook, a script running every hour which resets the entire website including files and database. The script is pretty simple: it will download, unpack, reset, restore everything needed for each package:
# Download the package and unpack tarball
wget get.typo3.org/bootstrap
# Remove database and old files before re-deploying new instance
rm -rm /path/to/website
mv bootstrap-package /path/to/website
# Automatically go through the installer
bin/behat
For more information, check out the detail on-line.
Eagle eyes will notice the use of Behat for installing the package. In short Behat is a BDD tool which is used for feature testing. In this particular case, Behat will automate the installation by going through the steps of the installation, as a human would do. The code was also made public on Github with the various scenarios. As instance, the Government package set-up script looks like this which is surprisingly simple.
The Bootsrap package has been added as demo website. The work started with the modernisation of our Dummy package we were using in our company Ecodev. Our choices for this package were:
We wanted not only a package to demonstrate the capability of TYPO3 but also something useful so that it should save us from the tedious and repeating work when kick-starting a new website. The result is pretty much promising. More important we have made everything public with the idea that it could benefit to other people.
I have been maintaining demo.typo3.org for more than a year and believing the stats it looks the service is quite visited and plays its role. Some notes were added at the button of the landing page making it easier reporting issues and encouraging contribution to the Forge project. For instance If you would like to have your own Package listed here demoing special features of a TYPO3 product, don't hesitate to open a ticket there.
Every package can be downloaded through get.typo3.org. It is particular handy when it comes about scripting and automated deployment of TYPO3. Moreover, by the means of the scenarios, it is even possible to go an additional step by fully automating the installation.
Happy testing!
Fb.