TYPO3 CMS 6 Konfiguration auf Serverway Webhosting X1-Paket

Webseitenerstellung liegt ja voll im Trend und so liegt es nahe, sich Typo3 mal näher anzuschauen. Und wenn schon denn schon:  Dann doch gleich in der neuen Version Typo3 CMS 6.0.2. Nach anfänglichen Schwierigkeiten (gibt es eigentlich irgendetwas ohne anfängliche Schwierigkeiten?) ist die Installation durchgelaufen und das Backend konnte seinen Betrieb aufnehmen. Getestet wird der Betrieb einer Typo3-Seite zur Zeit beim Webhoster ServerWay mit dem Paket Webhosting X1. Das ist für eine größere Seite sicher unterdimensioniert, für die Testzwecke soll es erstmal reichen.

Erste Hürde: PHP-Version, php.ini und DB-Konfiguration

Mit voller Euphorie wurde das typo3_src+dummy-6.0.2-Paket auf die Seite hochgeladen und dann die Installation gestartet (…/typo3/Installation/index.php). Allerdings kam ich immer nur bis zur Eingabe des Adminpasswortes, mmmh, DB-Probleme? Na gut, schauen wir uns mal die Konfigurationsmöglichkeiten an. Schnell die LocalConfiguration.php in …/typo3/typo3conf als Ziel ausfindig gemacht und festgestellt, das dort überhaupt nichts hinterlegt ist. Okay, das soll eigentlich durch die Installation erfolgen, aber wenn ich mich nicht anmelden kann? Nach ein bisschen Netzrecherche waren die erforderlichen Parameter allerdings schnell gefunden und mit den entsprechenden Angaben im Webinterface von ServerWay (Vertrag auswählen und dann unter Dienste MySQL anklicken. Es erscheint die Seite Übersicht der MySQL-Zugänge) war der Datenbankzugang schnell konfiguriert:

<?php
 return array(
 ...
 'DB' => array(
 'database' => 'ServerWay-MySQL-Datenbankname',
 'host' => 'ServerWay-MySQL-Servername',
 'password' => 'Das Passwort',
 'username' => 'ServerWay-MySQL-Benutzername',
 'extTablesDefinitionScript' => 'extTables.php',
 ),
 ...

Ok, war nicht so schwer, funktionierte allerdings immer noch nicht. Obwohl Typo3 CMS 6 mit PHP-Version 5.4 kompatibel sein soll, lag wohl hier das Problem. Nachdem die PHP-Version auf 5.3 umgestellt war. lief alles fehlerfrei, sobald die PHP-Version wieder auf 5.4 umgestellt war, scheiterte ich wieder am Login. Wenn also von Anfang an die PHP-Version auf 5.3 steht, dann sollte der typo3-Installer auch wie gewünscht funktionieren. Na gut, ich hatte ein wenig mehr über die DB-Konfiguration gelernt – kann ja auch nicht schaden. Blieb noch ein Meckerpunkt der Typo3-Installation bezüglich eines PHP-Parameters: Für suhosin.get.max_value_length soll der Wert auf mindestens 2000 stehen. Bei ServerWay kann die php.ini (leider) nicht selbst geändert werden (zu mindestens nicht im X1-Paket), allerdings ist der Support dort echt auf Zack und nach zwei EMails war der Parameter schon angepasst. Nachdem mit dem Installationstool die Datenbank angelegt war und alle Tests ohne Fehler durchgelaufen waren (ok, beim Grafik-Test passten jetzt nicht alle Anzeigen, aber vom Prinzip her sah es schon sehr gut aus) stand dem Start des Backends nichts mehr im Wege.

Zweite Hürde: Admin-User

Und wieder ein Login-Problem: Es fehlt der Admin-User. Der lässt sich allerdings leicht mit dem Installationstool anlegen. Ich habe an der Stelle kein Admin-Konto angelegt, sondern für mich ein Konto mit Admin-Rechten. Der Name Admin ist mir immer zu offensichtlich und ich muss die Administration ja sowieso machen :).

Geschafft: Das Backend läuft

Nachdem die ersten Hürden genommen waren, konnte nun endlich das Backend gestartet werden: Uiiih, das sieht ja richtig gut aus – Läuft! Hurra, war doch gar nicht so schwer. Okay, der Teufel hat sich natürlich wieder in den Details versteckt und da ich nicht explizit nach ihm Suche, taucht er (der Teufel) natürlich an unerwarteten Stellen auf:

Sprache einstellen

Einer der ersten Schritte ist natürlich die Konfiguration der Sprache und die Prüfung des Extensionmanager. Schnell deutsch ausgewählt und auf „update from repository“ geklickt. Na prima, alles rot, lauter Errors. Schnell Tante Google befragt und siehe da: In der Konfiguration muss im Sys-Bereich ein Parameter aktiviert werden:

[SYS][curlUse] = 1

Jetzt klappt es auch mit dem Update from Resository.

Extension-Manager

Der Extension-Manager bereitete das schon größere Probleme. Die Liste der Extensions zum Herunterladen war nach Klick auf den Reiter Get Extensions leer und ein Klick auf Retrieving Extension-List from TYPO3 Extension Resository (TER) lieferte einen leeren Bereich mit der Meldung

{"updated":false,"message":"last update: 2013-02-19 (5904 extensions)","errorMessage":""}

Gut, drücken wir mal F5 zum Aktualisieren. Ah, jetzt ja: Eine Liste. Okay kann ja mal passieren, allerdings war in der Titelleiste der Tabelle das Datum des letzten Abruf nicht zu sehen. Es wurde wieder Retrieving Extension-List from TYPO3 Extension Resository (TER) angezeigt.

Egal Karl, zum Test mal schnell die Extension Lorem Ipsum installieren: klick – klick klick:

Oops, an error occurred!
No module "" could be found.
More information regarding this error might be available online.

Mmmmh, das geht auch und erst recht gar nicht: Error-Seite und von einer installierten Extension nichts zu sehen. Das Problem war schon etwas hartnäckiger und letztendlich stellte sich der Internet Explorer (ja, ja – ich nutze ihn :)) als Ursache für die Extension-Manager-Probleme heraus. Kaum ruft man das Backend mit dem Firefox auf schon geht alles. Grrrrh.

Lorem Ipsum Extension

Obwohl die Lorem Ipsum Extension mit Version 1.1.1 als stabil angegeben wird, läuft sie gar nicht, sondern erzeugt die Fehlermeldung

Lorem Ipsum hat einen einen Fehler in der Datei class.tx_loremipsum_wiz.php in Zeile 106

In der Datei muss es in Zeile 106 statt

t3lib_div::intInRange($PA['params']['count'],2,100),

richtigerweise

t3lib_utility_Math::forceIntegerInRange($PA['params']['count'],2,100, 10),

heißen. Bin ja erst am Anfang von Typo3, aber das wird ja spaßig. Mal sehen, was noch so für Problemchen auftauchen – ggf. werde ich diesem Bericht ergänzen.

Losungen der Hermhuter Brüdergemeine (sowie Extension Karussell)

So kann man sich auch Arbeit machen: Die Extension losungen der Bruderschaft lässt sich unter CMS6 nicht direkt installieren. Als Fehlermeldung erscheint „Dependencies could not be resolved“ „Could not resolve dependency for „div““: Fehlermeldung Losungen Na gut – kein Problem: Laden wir die Extension eben nicht über das TER sondern direkt. Schnell die losungen_1.5.0.t3x gedownloaded und direkt im Extensionmanager geuploaded. Das hätte ich besser nicht getan. Nun kann die Seite gar nicht mehr geöffnet werden – weder im Backend noch im Frontend. Um wieder ins System zu kommen, habe ich in der ext_localconf.php der losungen-Extension die dritte Zeile auskommentiert:

<?php
if (!defined ('TYPO3_MODE'))  die ('Access denied.');
/* require_once(t3lib_extMgm::extPath('div') . 'class.tx_div.php'); */
if(TYPO3_MODE == 'FE') tx_div::autoLoadAll($_EXTKEY);
?>

Danach konnte ich das Backend wieder öffnen. Zunächst erst mal die losungen-Extension komplett gelöscht (Klick auf den Mülleimer) und anschließend auf die Fehlersuche begeben. Und siehe da, in den FAQs von losungen steht es beschrieben: Die Extensions div und lib müssen VORHER installiert werden, dann klappt es auch mit den losungen (die ich nun ganz normal über den Extensionmanager installieren konnte). In der …\losungen\configurations\class.tx_losungen_wizicon.php muss dann noch

     function includeLocalLang() {
      $llFile = t3lib_extMgm::extPath('losungen').'locallang.xml';
      $LOCAL_LANG = t3lib_div::readLLXMLfile($llFile, $GLOBALS['LANG']->lang);

in

     function includeLocalLang() {
      $llFile = t3lib_extMgm::extPath('losungen').'locallang.xml';
      $LOCAL_LANG = t3lib_div::readLLfile($llFile, $GLOBALS['LANG']->lang);

geändert werden.

Hinweis:
Für die Extension karussell muss in der class.tx_karussell_pi1_wizicon.php und für die Extension t3s_jslidernews in der class.tx_t3sjslidernews_pi1_wizicon.php dieselbe Änderung vorgenommen werden.

Leider war das noch nicht alles. In der lib-Extension muss in der Datei class.tx_lib_t3loader.php

function makeInstanceClassName($class, $alternativeKey='', $prefix = 'class.', $suffix = '.php') {
  if(tx_lib_t3Loader::load($class, $alternativeKey, $prefix, $suffix)) {
   return t3lib_div::makeInstanceClassName($class);
  } else {
   return false;
  }
 }

der Funktionsname geändert werden:

 function makeInstanceClassName($class, $alternativeKey='', $prefix = 'class.', $suffix = '.php') {
  if(tx_lib_t3Loader::load($class, $alternativeKey, $prefix, $suffix)) {
   return t3lib_div::makeInstance($class);
  } else {
   return false;
  }
 }

Damit nicht genug. In der class.tx_lib_parameters.php muss

 function tx_lib_parameters ($controller) {
  parent::tx_lib_object($controller);
  $this->setArray(t3lib_div::GParrayMerged($controller->getDesignator()));
  // Initialize the cHash system if there are parameters available
  if ($GLOBALS['TSFE'] && count($parameters)) {
   $GLOBALS['TSFE']->reqCHash();
  }
 }

in

function tx_lib_parameters ($controller) {
  parent::tx_lib_object($controller);
  $this->setArray(t3lib_div::_GPmerged($controller));
  // Initialize the cHash system if there are parameters available
  if ($GLOBALS['TSFE'] && count($parameters)) {
   $GLOBALS['TSFE']->reqCHash();
  }
 }

geändert werden. Jetzt, endlich, klappt es prima mit den Losungen: Screenshot_losungen Um die Umlaute korrekt zu sehen, bedarf es, falls das noch nicht geschehen ist, folgender Einstellungen in den Konstanten des Templates:

plugin.tx_losungen {
  serverUrl = www.brueder-unitaet.de/download
  zipName = Losung_%04d_XML.zip
  xmlName = Losungen Free %04d.xml
  termsName = Nutzungsbedingungen.pdf
  treeName = Losungen
  verse1txt = Losungstext
  verse1verse = Losungsvers
  verse2txt = Lehrtext
  verse2verse = Lehrtextvers
  dateFormat = %A, %e. %B %Y:
  encoding = utf-8
}

Sowie im config-Abschnitt des Templates:

config {
  sys_language_uid = 0
  language = de
  locale_all = de_DE.UTF-8 
}

So, jetzt ist aber gut.

Datentyp HTML ohne Funktion?

Das CObject HTML gibt es unter Typo 3 CMS 6 nicht mehr. Für Neueinsteiger wie mich ist das ebenso neu wie für alle anderen, nur eben nicht so offensichtlich. Und wie will man, wenn man nicht einmal weiß, dass es sich hier um ein CObjekt in Typo3 handelt, mit Tante G nach HTML suchen? Trilliarden von Antworten durchlesen? Na gut, in jedem Anfang wohnt ja ein Zauber inne…

Im alten Typo3 (vor Version CMS 6) hat dieser Code noch hervorragend funktioniert (Quelle siehe Realisierung einer Schriftgrößenauswahl):

fontsize = COA
fontsize{

  1 = HTML
  1.value = A   
  1.value.typolink.parameter.data = page:uid
  1.value.typolink.additionalParams = &fsize=0
  1.value.typolink.ATagParams = title="Schriftgröße: normal"

  2 < .1
  2.value = A+   
  2.value.typolink.additionalParams = &fsize=1
  2.value.typolink.ATagParams = title="Schriftgröße: groß"

  3 < .1
  3.value = A++
  3.value.typolink.additionalParams = &fsize=2
  3.value.typolink.ATagParams = title="Schriftgröße: sehr groß"
  }
marks.FONTSIZE < fontsize

Nur unter CMS6 bekommt man als Ergebnis nur ein leeres div:

<div id="fontsize"></div>

Spielt man ein wenig mit dem Code herum, stellt man schnell fest, das man mit TEXT schon ein Stückchen weiterkommt:

...
  1 = TEXT
  1.value = A   
  1.value.typolink.parameter.data = page:uid
  1.value.typolink.additionalParams = &fsize=0
  1.value.typolink.ATagParams = title="Schriftgröße: normal"
...

Die Texte „A“, „A+“, „A++“ sind jetzt zu sehen. Nur leider funktionieren die Links immer noch nicht. Da wir nun allerdings nicht mehr mit einem HTML-Element sondern mit einem TEXT-Element arbeiten, hat sich die Objektstruktur „natürlich“ auch geändert: typolink ist jetzt direkt ein Element des COA-Elementes 1 und nicht mehr ein Element vom value:

...
  1 = TEXT
  1.value = A   
  1.typolink.parameter.data = page:uid
  1.typolink.additionalParams = &fsize=0
  1.typolink.ATagParams = title="Schriftgröße: normal"
...

Kaum macht man es richtig, schon klappt es auch mit den Links. Welcome at Typo3 CMS 6.

Static Info Table: Fehler beim Aufruf der Konfiguration (6.4.2013)

Ich weiß nicht mehr wann sich dieser Fehler eingeschlichen hat, aber plötzlich und unerwartet lies sich die Konfiguration der Extension Static Info Table nicht mehr aufrufen:

Oops, an error occurred!

PHP Catchable Fatal Error: Argument 2 passed to tx_staticinfotables_emconfhelper::buildCharsetField() must be an instance of TYPO3\CMS\Core\TypoScript\ConfigurationForm, instance of TYPO3\CMS\Extensionmanager\ViewHelpers\Form\TypoScriptConstantsViewHelper given in .../typo3conf/ext/static_info_tables/classes/class.tx_staticinfotables_emconfhelper.php line 45

Die Lösung war schnell gefunden (Patch): Der Datentyp t3lib_tsStyleConfig im Aufruf buildCharset von passt nicht mehr. Ändert man den Aufruf

public function buildCharsetField(array $params, t3lib_tsStyleConfig $pObj) {

in

public function buildCharsetField(array $params, TYPO3\CMS\Extensionmanager\ViewHelpers\Form\TypoScriptConstantsViewHelper $pObj) {

dann ist die Konfigruation von Static Info Table wieder möglich. Alles wird gut.

Die erste App: Tile-Click

Was als kleine Fingerübung begann endete in einer kleinen App für Windows 8.

Auf jedem Handy kann man jederzeit die Uhrzeit sehen – auf dem Windows 8 Startbildschirm nur, wenn man die Cham-Bar öffnet. Irgendwie unbefriedigend – so empfanden es wenigstens einige Nutzer.

Naja, komm, ’ne Uhr ist ja fast so simple wie ein Hallo-Welt-Programm. Das ist doch keine App wert. Und warum fehlt die eigentlich? Wieso liefert Microsoft nicht gleich eine Uhr mit?

Wie so oft steckt der Teufel im Detail und so stellte sich schnell heraus, dass es nicht ganz so einfach ist und so war die Idee schnell geboren, daraus eine App zu machen. Und um das ganze noch spannender zu gestalten, wurde die App gleich in vier Sprachen (deutsch, englisch, französisch und spanisch) angelegt. So kann man die Fallstricke der Internationalisierung auch gleich erkennen.

Als Ergebnis entstand Tile-Clock, eine Weltzeit-Uhr für die Kacheloberfläche, die jedoch die Uhrzeit auch auf dem gesamte Bildschirm anzeigen kann – mit persönlichen Hintergrundbild und eigener Farbgebung.

Man findet sie hier im Windows-8-Appstore:
Tile-Clock

Und hier ein paar Screenshots:

Screenshots_DE8

Screenshots_DE1

Screenshots_DE3

Screenshots_DE2

Hallihallo, ich bin’s: Jana

HAALIHALLO , ich bin eins der J´s vom PJJJR-Team.

Genauer gesagt bin ich das dritte J der Rasselbande.

Demnächst werdet Ihr hier noch mehr von mir erfahren: Was ich so treibe, was ich erlebt habe und wie es mir so geht.

 

Also bis bald und schreibt mir viele Kommentare.

Gruß

eure Jana

PJJJR?

Dies ist der Blog von PJJJR, den Geocachern auch als PJJJRTeam bekannt.

Wir sind ein fünfer Rudel und schlagen uns so durch die Welt: Familie, Freunde, Freizeitbeschäftigungen, Arbeit und Beruf stellen ja so manch interessante Aufgaben.

Das soll an dieser Stelle erst einmal reichen, wenn der Blog richtig läuft, dann melden wird uns wieder.

Gruß
Ralf (das R von PJJJR)

Hallo Welt!

Willkommen zur deutschen Version von WordPress. Dies ist der erste Beitrag. Du kannst ihn bearbeiten oder löschen. Um Spam zu vermeiden, geh doch gleich mal in den Pluginbereich und aktiviere die entsprechenden Plugins. So, und nun genug geschwafelt – jetzt nichts wie ran ans Bloggen!

Freitag 8 August 2008: Der Abflug naht

Heute stehen die Abflugvorbereitungen, das letzte Shoppen und nochmal Las Vegas Boulevard auf dem Programm. Das lässt keinen Platz mehr fürs Schreiben der Blog-Einträge, so dass dies der letzte Eintrag direkt aus Amerika ist. Da es am Montag auch gleich mit Schule, Arbeit und Gepäck auf die Wohnung verteilen losgeht, werden wir sicher nicht so schnell dazu kommen, den Rest schreiben. Der Blog macht also ein paar Tage Pause.

Vielleicht hat sich der eine oder andere gefragt, wie das geht, bei so einem Urlaub auch noch ein so langes Tagebuch zu schreiben – man hat ja schließlich besseres zu tun. Nun, im Prinzip war es ganz einfach. Da wir das Notebook auch im Auto betreiben konnten, konnten wir uns die Zeit mit dem Schreiben ein wenig vertreiben und so auch (hoffentlich) wenig vergessen.

So, macht es gut, die meisten, die hier mitgelesen haben, werden wir ja in den nächsten Tagen sehen. Grüße aus Amerika

Petra, Jana, Jan, Jonas und Ralf

Donnerstag, 7. August 20008: Viva, Las Vega

Das späte ins Bett gehen bedeutet gleichzeitig spätes aufstehen, sodass wir erst gegen 11:30 Uhr in den Pool kamen. Das war mal ein richtiger Pool. Nicht quadratisch sondern mit Kurven. Für Jana hatte er nur einen Nachteil, sie konnte sich, mit stehen auf Zehenspitzen, nur mühsam über Wasser halten. Dieses bedeutete für sie: Viel Schwimmen. Uwe, wenn du das hier liest: Für die Seepferdchenprüfung muss trotzdem noch mehr geübt werde. Irgendwie kommt sie im Moment mit dem Schnaufen nicht zurecht. Alle hatten ihren Spaß im kühlen Naß. Kaum saß man auf der Liege, fing die Sonne an einem auf den Pelz zu rücken. Powersonne verspricht hier einen fetten Sonnenbrand. Also immer gut eincremen. Wir haben das mit dem Sonnenbrand ja schon in Boise hinter uns gebracht und waren somit vorbereitet. Nachdem Poolbesuch fuhren wir dann erst mal den Las Vegas Boulevard mit unserem Leihwagen runter, wir wollten Abschied nehmen vom Taco Bell, mussten doch tatsächlich auch noch einmal tanken und außerdem soll es hier ja nicht nur Casinos geben, sondern auch richtige Geschäfte.

Irgendwie sind wir mal wieder zu früh abgebogen, also landeten wir zuerst in einer anderen Mall-Gegend. Aber egal, gucken kostet nichts. Auf dem Weg zur Fremont Mall, kamen wir doch tatsächlich am letzten Taco Bell unseres diesjährigen USA-Urlaubes vorbei. Anhalten, im stillen Gedenken Essen und Fotos schießen. Ralf wollte noch ein Tablett mit Glockenemblem als Andenken kaufen, dieses lila Tablett bekam er dann als Geschenk. Gott sei dank nur eines, unsere Taschen waren schon sehr voll und schwer als wir hier ankamen.

Die Fremont Mal ist eine überdachte Straße an der einige Casinos liegen, nicht so spektakulär wie am Strip, aber da sie wirklich dicht beieinanderliegen ist die Wirkung der Lichter hier supertoll. Bei Dunkelheit wird in Abständen eine Light- und Soundshow unter der gesamten Dachlänge von ca. 300 m projiziert. Wirklich sehr beeindruckend. Life Musik gab es auch. Im Ganzen war es in der Mall recht laut. Wir kauften uns dann noch ein paar Käppis und zu guter letzt noch ein Dutzend Donuts. Der Abend sollte ja noch länger werden. Im Hotel zurück kauften wir uns für teuer Geld die Erlaubnis ins Internet gehen zu dürfen, checkten die E-Mails, spielten Karten und vertilgten die Donuts, bevor wir um 1.00 Uhr nachts, das Hotel mit unserer Fotoausrüstung noch einmal verließen.

Es gilt ja weiterhin, sich auf die Zeitumstellung vorzubereiten und so schlenderten wir durch die Hotels New York New York, Excalibur und Luxor. Man glaubt es kaum, aber auch die Stadt legt mal eine Pause ein. So ab zwei Uhr war nicht mehr viel los – deutlich weniger Glücksspieler an den unzähligen Automaten und die Geschäfte haben doch tatsächlich geschlossen. So konnten wir auch Jessicas Wunsch nicht erfüllen (Kette aus dem Chris Angel-Laden). Um drei fuhren wir wieder zu unserem Hotel zurück und blieben alle bis nach vier Uhr auf. Das lässt sich schon gut an, so müssten wir die Zeit im Flieger ohne Schlaf überstehen.

Mittwoch, 6. August 2008: Auf nach Las Vegas

Der Poolbesuch fiel leider wegen Servicearbeiten aus – bei mehr als 100 Grad Fahrenheit absolut ärgerlich. Eigentlich wollten wir die Kinder mit einem Abstecher zum Skywalk im Grand Canyon überraschen, aber der Umweg war zu groß (fast 200 Meilen mehr) und preislich scheinen die Indianer den Kapitalismus entdeckt zu haben: Pro Person sollten wir von mindestens 50 $, eventuell sogar 75 $ ausgehen; für 10 Minuten Spaß eindeutig zu viel. Stattdessen ließen wir es gemütlich angehen und frühstückten mal wieder ausgiebig bei Denny’s und machten und auf zum Hoover Damm. Der konnte bei mittlerweile 108 Grad Fahrenheit die Kinder nicht beeindrucken, so schossen wir die obligatorischen Fotos, Petra entdeckte noch einen Benchmark (siehe www.Geocaching.com) und wir fuhren weiter nach Las Vegas.

Natürlich sieht die Anreise bei Tag nicht so spektakulär aus, als wenn man nachts anreist. Aber bei Tageslicht konnte man auch schon sehen, wie imposant das am Abend sein wird. Auf jeden Fall hat sich die Stadt verändert. Noch größer und höher. Hotels verschwinden, werden abgerissen und an selbiger Stelle wird ein neues aufgebaut. Das Leben drum herum geht einfach weiter.

Die frühe Ankunft um 16 Uhr ließ uns entspannt das Hotel aussuchen – außer den Cirque du Soleil-Karten hatten wir ja nichts gebucht. Aus Bequemlichkeit nahmen wir das Zimmer im gleichen Hotel, also im Treasure Island. Statt Motel-Erdgeschoss residierten wir jetzt im 25. Stock mit Sicht auf den Las Vegas Boulevard. Zweimal mussten wir fünf vollbepackt durchs Hotel latschen, bis unser gesamtes Gepäck im Zimmer war; es muss jetzt ja so langsam wieder flugfreundlich eingepackt werden. Schnell noch geduscht und dann ging es sauber zur Mystery-Vorstellung des Cirque du Soleil. Eine Beschreibung dieser reinen Artistenshow ist einfach nicht möglich, wer mehr wissen will, der möge bitte im Internet nachschauen – aber folgendes können wir mit voller Überzeugung sagen: Sprachkenntnisse nicht erforderlich, für jedes Alter geeignet, absolut sehenswert, super toll, unglaubliche Artistenleistungen und Effekte – wir kamen aus dem Staunen nicht mehr heraus. Danach schlenderten wir noch den Boulevard ein wenig ab und fielen um 1 Uhr müde ins Bett; so langsam müssen wir uns ja auf die Zeitverschiebung beim Rückflug vorbereiten.