Mrz 15

Da ich dieses Problem gerade mal wieder hatte, dachte ich mir, ich schreibe mal die Arbeitsschritte nieder:

Die Grundsituation ist die Folgende: TYPO3 läuft auf einem Server und soll nun auf einen neuen Server umgezogen werden. Man könnte dies natürlich nun mittels FTP und phpMyAdmin bewerkstelligen – aber wir haben einen SSH-Zugang und nutzen diesen daher. Die Anleitung geht davon aus, dass wir Zugang zu einer Shell haben. Linux und Mac OS X haben diese bereits an Board – Windows User sollten auf PuTTY ausweichen (in diesem Fall sieht der erste Schritt anders aus – bitte die Doku kontaktieren):

  1. Als erstes müssen wir uns mittels SSH auf dem Server einloggen. Statt “loginname” geben wir das Login an, welches wir vom Serverbetreiber erhalten haben und statt “www.alter-domainname.de” geben wir natürlich unseren Domainnamen (von der Domain, die wir umziehen wollen) an.:
    ssh -l loginname www.alter-domainname.de
  2. Nun wechseln wir in das “public_html”-Verzeichnis  (also dem Verzeichnis, welches unsere “index.php” für den TYPO3-Betrieb enthält. Unter Umständen ist der SHH-Zugang so konzipiert, dass man nach dem einloggen direkt dort landet. Dieses Verzeichnis kann auch “html”, “web” oder ähnlich heissen).
    cd pfad1/pfad2/public_html
  3. Nun fertigen wir ein Backup der Datenbank an. Genaugenommen müssten wir sicherstellen, dass keinerlei Schreibzugriffe mehr stattfinden, indem wir den Apache-Webserver stoppen.”HOSTNAME” ist der Name des Datenbankservers (ist oftmals “localhost”), “USERNAME” eben der Username und das Passwort muss direkt hinter “-p” geschrieben werden. Das Backup landet nun direkt in der Datei “backup.sql” in unserem “public_html”-Verzeichnis
    mysqldump -h HOSTNAME -u USERNAME -pPASSWORT DATENBANKNAME > backup.sql
  4. Jetzt fertigen wir ein Backup aller Dateien an – dafür verwenden wir den Befehl “tar” an. Dieser packt alle Dateien in eine einzige Datei und komprimiert diese sogar anschließend noch. Durch “website.tar.gz” wird der Name der Datei festgelegt, der die ganzen gepackten Dateien aus dem public_html-Verzeichnis beinhalten soll. Die Angabe des Punktes “.” besagt, dass wir das Backup vom aktuellen Verzeichnis anfertigen wollen.
    tar -czvf website.tar.gz .
  5. Nun loggen wir uns mit einer zweiten Shell in den neuen Server ebenfalls per SSH ein:
    ssh -l loginname www.neuer-domainname.de
  6. Und wechsel bei diesem ebenfalls in das “public_html”-Verzeichnis
    cd pfad1/pfad2/public_html
  7. Mittels “wget” übertragen wir nun das Backup direkt vom alten auf den neuen Server
    wget www.alter-domainname.de/website.tar.gz
  8. Als nächsten entpacken wir das Tar-File auf dem neuen Server:
    tar -xzvf website.tar.gz
  9. Nun müssen wir einfach nur eine neue Datenbank auf dem neuen Server mit dem Namen “NEUERDATENBANKNAME” (hier natürlich einen eigenen Namen wählen) anlegen – beispielsweise mittels Sysadmin-Tool wie Confixx, SysCP oder phpMyAdmin
  10. Und spielen das Datenbank-Backup wieder ein
    mysql -h HOSTNAME -u USERNAME -pPASSWORT NEUERDATENBANKNAME < backup.sql
  11. Jetzt passen wir noch die Zugangsdaten für die Datenbank in der Datei “typo3conf/localconf.php” an – also Server, Datenbank, Username, Passwort)
  12. und voilá – wir sind ersteinmal fertig.
  13. Um nun dieses Setup zu testen, kann man in die Datei “hosts” (bei Mac OS X in /private/etc/) einen Eintrag in der folgenden Art hinterlegen – damit werden alle Anfragen an die Domain direkt an die neue IP-Adresse des Servers weitergeleitet und man kann die umgezogene TYPO3-Installation in Ruhe testen. Erst wenn alles zur Zufriedenheit läuft, kann man im DNS die entsprechenden Änderung vornehmen.
    # IP-Adresse  Domain
    12.34.56.78   www.neuer-domainname.de
  14. Die Anleitung geht prinzipiell davon aus, dass sowohl alter, wie auch neuer Datenbankserver die selbe Kodierung für die Datenbank verwenden. Wenn dies nicht so sein sollte, wird der Workflow etwas komplizierter – dies werden wir in einem der nächsten Postings behandeln.
Mrz 13

Am 11.03.2009 wurde die Version TYPO3 4.3 alpha 2 veröffentlicht. Die nur für Entwickler zu verwendende Version enthält unter anderem folgende Neuerungen:

Das JavaScript-Framework ExtJS wurde integriert
Damit ist es möglich, Interface-Elemente schnell und unkompliziert zu erstellen (wie Grids, Dialoge, Panels, …). Im Backend wird ExtJS momentan in “Session-Timeout”-Dialog und beim Mülleimer verwendet.

Logging für Aufrufe von veralteten Funktionen
Eine Reihe von Funktionen im Kern von TYPO3 ist als veraltet gekennzeichnet. Ruft man diese auf, werden die Aufrufe geloggt, sodass man als Extension-Entwickler schnell sehen kann, welche Funktionen man tunlichst nicht mehr verwenden sollte, um auch auf der sicherern Seite zu sein, wenn diese veralteten Funktionen  in späteren TYPO3-Version wegfallen sollten.

Der Caching-Framework wurde geupdated
Der nun verwendete Caching-Framework ist ein Backport von FLOW3 und wurde von Alpha1 zu Alpha2 erneut geupdated. Mit diesem Update haben sich einige Klassennamen und Methodennamen geändert.

Integration eines Zufallsgenerators
Der neu hinzugefügte Zufallsgenerator kann für kryptografische Methoden im TYPO3-Kern oder in anderen Extensions verwendet werden.

Externe Bibiliotheken
Die externen JavaScript-Bibliotheken wurden geupdated. Es nun nun “Prototype 1.6.0.3″ und “script.aculo.us 1.8.2″ enthalten.

Verbessertes Recycling von gelöschten Datensätzen
Die meisten in TYPO3 gelöschten Datensätze werden nicht physikalisch gelöscht. Sie verbleiben weiterhin in der Datenbank und werden lediglich nicht mehr im User Interface angezeigt.  Der neue Papierkorb führt die Möglichkeit ein, diese Datensätze wieder herzustellen. Basierend auf ExtJS wurde ein Interface geschaffen. welches einen schnellen Überblick über alle gelöschten Elemente gibt – inkl. Filtermöglichkeiten und Aktionen. Für dieses neue Feature wurde die Extension “kj_recycler” mordernisiert und in den Kern überführt.

Einige Verbesserungen am RTEhtmlarea
Neben vielen Bugfixes arbeitet der RTEhtmlarea nun auch mit Opera 9.62 zusammen. Zusätzlich gibt es nun erweiterte Möglichkeiten zur Konfiguration und zum Styling, sowie die Unterstützung von Mount-Points im Element-Browser um nur einige zu nennen.

Maintenance.Modus
Es ist nun möglich, das Backend für andere Benutzer zu sperren, wenn man selbst Arbeiten darin ausführen will. Editoren sehen beim Login eine Nachricht, dass das Backend temporär gesperrt ist. Sobald die Arbeiten wieder beendet sind, kann man die Sperre wiedeer aufheben und jeder kann sich wie gewohnt einloggen.

Austausch des “login expired”-Popup-Fensters
Das Popup, welches dem Benutzer nitteilt, dass die Login-Session abgelaufen ist, wurde durch einen ExtJS-Dialog ersetzt.

Herunterladen kann man sich TYPO3 4.3 alpha2 wie gewohnt auf http://typo3.org/download/packages/.

Feb 19
DVD Torrents der 4. TYPO3 Konferenz 2008 erhältlich
icon1 patrick | icon2 TYPO3 | icon4 02 19th, 2009| icon3Kommentare deaktiviert

Wie Gina und Thomas eben bekannt gegeben haben, stehen ab sofort die Torrents der DVDs der 4. TYPO3 Konferenz 2008 zur Verfügung. Viel Spaß beim Saugen und vor allem vielen Dank an Gina und Thomas für die ganze Arbeit!!

P.S.: Seeden nicht vergessen :-)

Feb 10
Kritisches Sicherheitsupdate für TYPO3
icon1 patrick | icon2 TYPO3 | icon4 02 10th, 2009| icon3Kommentare deaktiviert

Wie bereits gestern angekündigt, erfolgte heute das Sicherheitsupdate für übrigens *alle* TYPO3 Versionen – von 3.3 bis hin zur aktuellen 4.3alpha1.

Auf der offiziellen Seite gibt es weitere Informationen hierzu.

Das Problem liegt diesemal in der Datei typo3/sysext/cms/tslib/class.tslib_fe.php. In der dort enthaltenen Funktion jumpUrl()  wird ein MD5-Hash aus JumpUrl, locationData und encryptionKey errechnet und gegen den ebenfalls übermittelten juHash-Wert geprüft. Sind diese beiden nicht identisch, liegt(wahrscheinlich) eine Manipulation vor und es wird eine Fehlermeldung ausgegeben. In dieser wird aber der errechnete Hash ausgegeben – somit weiss ein Angreifer, welcher Wert erwartet wird und kann somit die Parameter solange manipulieren, bis eine Übereinstimmung der beiden Werte eintrifft. Damit ist es dann möglich, beliebige Dateien herunterladen (zu lassen) – insbesondere die Datei “localconf.php” um damit an das Install-Tool Passwort zu gelangen (welches u.U. mittels Rainbow-Tables entschlüsselt werden könnte) oder die Passwörter für die Datenbank.

Irgendwo um Zeile 2542 herum befindet sich folgender Code:

} else die('jumpurl Secure: Calculated juHash, '.$calcJuHash.', did not match the submitted juHash.');

Letztlich muss nur die Ausgabe der Variablen $calcJuHash verhindert werden. Wer schnell mit der Shell ist, kann einfach die Datei öffnen und die Ausgabe löschen. Ansonsten gibt es ein Shell-Programm, welches die entsprechende Stelle patcht oder natürlich gänzlich neue Versionen des Cores.

Feb 9

Morgen, den 10.02.2009 um 10:00 Uhr wird es laut TYPO3 Security Team wieder sehr wichtige Sicherheitsupdates für den Core geben! Man kann also wieder etwas Zeit einplanen um alle Instanzen hochzuziehen.

Scheinbar handelt es sich um ein gaaaaaaz altes Problem – wenn man sich die Liste der geplanten Patches anschaut. Und zwar für die Versionen:

Updates for TYPO3 versions 4.2.x, 4.1.x and 4.0.x, as well as patches for versions 3.3, 3.5, 3.6, 3.7, 3.8 and 4.3alpha1

Dabei fällt mir ein… gäbe es nicht die Möglichkeit ein sogenanntes inkrementelles Update einzubauen? Das wäre doch mal was – ein Knopfdruck, ein paar Korrekturen (falls nötig) und schwups – ist das Security Update drüber gebügelt.

Jan 27
Usability im Backend
icon1 alex | icon2 TYPO3 | icon4 01 27th, 2009| icon36 Comments »

Wird über TYPO3 gesprochen, kommt über kurz oder Lang das Argument, das es schwer zu bedienen sei, unübersichtlich und für den Laien (Kunden) nicht leicht zu verstehen. Doch ganz so einfach ist das nicht. Es ist eher so, das die Usability im Backend von den Integratoren, also den Agenturen, die den Webauftritt mit TYPO3 umsetzen, vernachlässigt wird. Dabei könnte es so einfach sein.

TYPO3 kennt mitunter nicht nur einen Weg zum Ziel, sondern wie Rom, derer viele. Das kann verwirren. Hier ist es die Aufgabe des Integrators durch geschickte Backendanpassung den Redakteur zu führen. Die goldene Regel dazu lautet: Nur was zur Pflege der Seite benötigt wird, sollte auch verfügbar sein. Es soll Kundenwebseiten geben, auf denen die Redakteure mit Admin-Rechten arbeiten. Das Ergebnis sind überforderte Redakteure und abgeschossene Webseiten. Aber wie genau passt man eine Seite für den Redakteur an? Hier ein paar hilfreiche Tipps:

Setzen Sie restriktive Rechte. Kein Redakteur benötigt Zugang zum Template. Geben Sie nur die Seiten im Seitenbaum frei, auf denen der Redakteur etwas bearbeiten muss. Beispielsweise den SysOrdner mit den News-Datensätzen. Auch die Tabellen sollten restriktiv freigegeben werden. Soll der Redakteur beispielsweise keine zeitgesteuerten Inhalte anlegen, benötigt er auch „Start“ und „Stop“ nicht. Alle Rechte sollten nur über Benutzergruppen definiert werden. Das vereinfacht die Administration mehrerer Redakteure und sorgt für Übersicht.

Formulare sollten an die Bedürfnisse des Redakteurs angepasst werden. Beispiel News mit tt_news. Normalerweise werden die Felder in Tabs aufgeteilt. Wenn der Redakteur die Hälfte der Felder nicht benötigt, werden diese für ihn deaktiviert. Tabs sind nun nicht mehr nötig, also werden sie ebenfalls abgeschaltet und das Formular auf nur einer Seite präsentiert. Es macht auch Sinn, die Reihenfolge von Formularfeldern zu ändern. Um beim News-Beispiel zu bleiben: Wenn im Frontend nach der Überschrift erst mal ein Bild kommt, ist es sinnvoll die Felder für die Bilder unter die Überschrift zu setzen. So kann der Redakteur einen Punkt nach dem anderen abarbeiten, wie er auch auf der Webseite dargestellt wird.

Nutzen Sie Aufgaben. Mit Aufgaben können Sie sehr einfach eine Listendarstellung von Datensätzen mit eigenen Bedingungen erstellen. Auch neue Datensätze können so einfach erstellt werden. In den Benutzereinstellungen wird die Aufgabenseite als Startseite gewählt, so kann der Redakteur seine Aufgaben sofort wahr nehmen, ohne sich erst durch den Seitenbaum arbeiten zu müssen.

Extensions sollten mit Backend-Modulen ausgestattet werden wenn es Sinn macht. Wenn Sie eigene Extesions entwickeln, sollten Sie genau überlegen, wie sie im Backend eingesetzt werden kann. Es macht einen Unterschied, ob der Benutzer nur über das Listenmodul auf Datensätze zugreifen kann, oder ob er ein eigenes Modul dafür vorfindet, das die Daten optimal für ihn aufbereitet. Ein schönes Beispiel ist die relativ neue Extension T3BLOG, die dem Benutzer vier eigene Module bietet, mit der die Blogpostings, Kommentare, Kategorien und die Blogroll verwaltet werden können. Es reicht, diese dem Redakteur frei zu schalten.

Bearbeitet ein Redakteur vorwiegend Inhaltselemente wie Texte und ähnlichem, ist er mit Frontend-Editing besser beraten, als mit dem Backend. Er kann durch die Seite navigieren und sie direkt bearbeiten. Aber auch hier gilt es, die Formulare entsprechend anzupassen und die Rechte zu setzen.

All diese Maßnahmen zusammengenommen ergeben ein aufgeräumtes Backend, in dem sich jeder Redakteur sofort zu Recht findet. So nehmen Sie dem Kunden Angst und Frust und verhelfen ihm sich auf die Aufgaben zu konzentrieren – und nicht auf das Backend.

Sie vermissen Code zu diesem Artikel? Geduld, dem widmen wir uns in einem der nächsten Beiträge.

Jan 20
Bugfix: 3 neue TYPO3-Versionen erschienen – Update erforderlich
icon1 patrick | icon2 TYPO3 | icon4 01 20th, 2009| icon3Kommentare deaktiviert

Michael Stucki hat eben drei Maintenance-Releases veröffentlicht – diese enthalten eben lediglich (wichtige) Bugfixes und keine neuen Features:

Im Einzelnen handelt es sich um die Versionen:

  • TYPO3 4.2.4
  • TYPO3 4.1.8
  • TYPO3 4.0.10

Da die Fehlerbeseitigungen auch wichtige Teile im Kern betreffen (weitere Sicherheitshinweise hierzu folgenden in den nächsten Tagen) wird geraten, die Updates unbedingt durchzuführen. So wurden beispielsweise XSS-Schwachstellen im Workspace-Modul und “indexed_search” gefunden.
Für weitere Details kann man das TYPO3-Wiki konsultieren:

Download:
http://typo3.org/download/packages/

Jan 20
T3CON09 am 10.-12.09.2009 in Frankfurt
icon1 patrick | icon2 TYPO3 | icon4 01 20th, 2009| icon3Kommentare deaktiviert

Die 5. TYPO3 Conference findet vom 10.-12.09.2009 in Frankfurt im Hotel “Holiday Inn Frankfurt City South” statt. Laut einem Bericht auf T3N werden  “über 450 Teilnehmer aus 15 Ländern aus der Internet-, Technologie-, Medien- und Werbebranche” erwartet. Warum die Konferenz schon wieder woanders und auch nicht zum gewohnten Termin im Oktober stattfindet bleibt leider offen. Hoffentlich ändert sich mit Ort und Datum auch die Qualität und Leitbild der Konferenz und wird nicht wieder zum Entwickler Meet&Greet (was primär nicht schlecht ist, nur davon gibts schon genug Events) – sondern wird dem Anspruch einer weltweiten Leitmesse der TYPO3-Sphäre gerecht.

Danke auch den kollegialen und umsichtigen Veranstaltern, dass wir nun das seit Monaten geplante und kommunizierte Münchner TYPO3 Camp deswegen verschieben dürfen.

Jan 15
Neue Blogextension
icon1 alex | icon2 TYPO3 | icon4 01 15th, 2009| icon36 Comments »

Um es gleich von vornherein klar zu stellen: die Extension t3blog ist mit dieser Seite weder verwandt noch verschwägert. Entwickelt wurde sie von Snowflake.ch. Aber das was ich bisher in der Doku gesehen habe, gefällt mir sehr sehr gut. Deswegen werde ich das Ding gleichmal ausprobieren. Ich werde berichten…

Jan 5
Swiss TYPO3 Usergroup Conference am 24.01.2009 in Olten/CH
icon1 patrick | icon2 TYPO3 | icon4 01 5th, 2009| icon3Kommentare deaktiviert

Mario Rimann (einer der Organisatoren) hat mich gerade darauf aufmerksam gemacht:

Am Samstag 24.01.2009 findet in Olten die erste nationale Swiss TYPO3 Usergroup Conferece statt.

Nach den monatlichen Sessions und Smalltalks kam die Idee auf, ein ganztägiges Event mit interessanten Vorträgen und Verpflegung durchzuführen.

Die Details:

  • Datum: 24. Januar 2009
  • Ort: Olten, CH
  • Gute Infrastruktur am Bahnhofbuffet Olten
  • Erwartete Teilnehmer: 50+
  • Kosten: moderate 75CHF inkl. Lunch
  • Specials: Lotterie mit coolen Sachpreisen

Weitere Details unter:

http://www.swiss-tug.ch/Usergroup-Day.82.0.html

f8f04abe49

« Previous Entries Next Entries »