TYPO3weblog.de

Das Blog zu TYPO3, JavaScript und openSource

t3n Magazin - Jetzt im Abo bestellen

Entries for Dezember, 2008

TYPO3 Jahresrückblick 2008

Eigentlich hatte ich vor, Euch heute einen umfassenden TYPO3 Jahresrückblick zu geben, leider hat mir jedoch mein Internet-Anbieter gestern einen Streich gespielt und mich kurzerhand offline gesetzt. Heute fehlt mir nun leider die Zeit so einen ausführlichen Rückblick zu schreiben. Aber ich möchte zumindest das Jahr in Stichpunkten noch einmal in Erinnerung rufen:

Januar 2008
_ TYPO3 4.2 Alpha 3 erscheint

Februar 2008
_ Registrierung für die TYPO3 Developer Days 2008 startet
_ TYPO3 4.2 Beta 1 erscheint
_ FLOW3 bekommt seinen Namen
_ TYPO3 4.2 Beta 2 erscheint

März 2008
_ TYPO3 4.1.6 und TYPO3 4.2 Beta 3 erscheinen
_ Veröffentlichung von SweeTS 1.20

April 2008
_ TYPO3 4.2 RC 1 erscheint
_ DEV3 Projekt wird gestartet, eine IDE für TYPO3 und FLOW3 auf basis von Eclipse
_ TYPO3 4.2 RC 2 erscheint
_ TYPO3 4.2 final erscheint

Mai 2008
_ forge.typo3.org geht an den Start
_ Die TYPO3 Developer Days finden erstmals in Elmshorn statt

Juni 2008
_ TYPO3 Core wird auf den neuen SVN Server migriert
_ 1. TYPO3 BugDay findet statt

Juli 2008
_ 2. TYPO3 BugDay findet statt
_ Alle TYPO3XDEV Extensions werden nach forge.typo3.org portiert

August 2008
_ Serge Vleugels stirbt

Spetember 2008
_ TYPO3 schafft es zum Hackontest in die Schweiz

Oktober 2008
_ T3CCON’08 erstmalig in Berlin
_ T3BOARD09 Registrierung startet
_ Eine Roadmap für TYPO3 wird veröffentlicht
_ TYPO3 certified integrator – Zertifizierungen starten
_ Ein weiterer TYPO3 BugDay findet statt

November 2009
_ Bekanntgabe: 1. T3CON in den USA
_ TYPO3 4.3 Alpha 1 erscheint
_ Cross Site Scripting vulnerabilities im TYPO3 core gefunden
_ Einbruch in typo3.org

Dezember 2008
_ TYPO3 Coding Weekend in Karlsruhe
_ DAM 1.1.0 wird veröffentlicht

Das war das Jahr 2008 aus Sicht von TYPO3, ich hoffe ich habe nichts vergessen.
Ich wünsche Euch allen einen guten Start in das Jahr 2009. Wir sehen / lesen uns im nächsten Jahr wieder. Kommt gut rein und feiert ordentlich Silvester.

Comments (4)

Frohe Weihnachten

Frohe WeihnachtenLieber Leser,

heute ist es nun so soweit, der heilige Abend ist da. Auch wenn mir dieses Jahr – aus persönlichen Gründen – nicht so wirklich nach Weihnachten ist, so wünsche ich Euch allen ein paar besinnliche Tage. Geniesst die freien Tage mit Euren Familien und Freunden. Das neue Jahr rückt immer näher und es warten neue Herausforderungen auf uns alle.

In diesem Sinne, ho, ho, ho

Euer Frank vom TYPO3Weblog

Foto von bildertube.de

Kommentare deaktiviert

Adventskalender 2008: Türchen 23

Nachdem Tim Euch gestern in Türchen 22 erklärt hat, wie man kommaseparierte Listen in Extensions abfragen kann, stelle ich Euch heute drei interessante Funktionen aus der Klasse t3lib_div vor.

1. t3lib_div::array2json($data)
Mit dieser Funktion kann man sehr einfach seine Daten in ein JSON Objekt konvertieren. Die Funktion erwartet ein Array mit den Daten, dieses kann beliebig verschachtelt sein. Natürlich gibt es auch noch die PHP native Funktion json_encode, jedoch muss dies von der installierten PHP Installation unterstüzt werden.

2. t3lib_div::convUmlauts($str)
Eine sehr nützliche Funktion ist convUmlauts, welche die deutschen Umlaute konvertiert, dabei wird aus einem Ä eine Ae oder aus einem ü ein ue. Groß und Klein-Schreibung wird also berücksichtigt.

3. t3lib_div::rmFromList($element, $list)
Auch diese Funktion ist sehr nützlich. Möchte man aus einer kommaseparierten Liste ein Element entfernen, ist dies mit einem Funktionsaufruf getan. Gerade bei TYPO3 ist diese Funktion sehr hilfreich, wenn man z.B. eine Benutzergruppe eines FE-Users entfernen möchte.

Das war es dann auch schon wieder von mir für diesen Adventskalender. Das letzte Türchen und somit das große Finale kommt dann morgen von Tim. Ich hoffe wir konnten Euch ein paar neue und interessante Dinge zu TYPO3 verraten. Ich wünsche allen Lesern ein paar besinnliche Weihnachtstage und natürlich auch einen guten Rutsch in das Jahr 2009.

Comments (3)

Adventskalender 2008: Türchen 21

Die Zeit verfliegt, der heilige Abend rückt immer näher und der Streß-Faktor was die Geschenke angeht steigt. Dennoch gibt es heute wieder einmal etwas TypoScript bzw. eine Erklärung zu TypoScript.

Erst vor wenigen Tagen habe ich einem Kollegen erklärt, worin eigentlich der Unterschied zwischen Objekten besteht, die mit temp. und lib. beginnen.

Dazu mal ein Beispiel TypoScript:

temp.meinObject = TEXT
temp.meinObject.value = Text1

lib.meinObject = TEXT
lib.meinObject.value = Text2

Bis hierhin gibt es keinen großen Unterschied, wir haben zwei Objekte, welche einen Text enthalten. Was passiert jedoch, wenn wir diese beiden Objekte nun als Referenz an einer anderen Stelle verwenden wollen:

page = PAGE
page.10 < = temp.meinObject
page.20 <= lib.meinObject

Hier zeigt sich, dass lediglich page.20 mit dem Text befüllt wird. Aber warum ist das so? Das ist sehr schnell und einfach erklärt. Objekte die mit temp. eingeleitet werden, werden nicht gecached. Wie der Prefix es selbst schon aussagt, es sind temporäre Objekte. Alles was hingeben mit lib. beginnt kann auch bei einer Referenz verwendet werden.

Arbeitet man nicht mit dem Referenz-Operator (<=) sondern mit dem Kopier-Operator (<), spielt es keine Rolle ob man temp. oder lib. verwenden.


Comments (4)

Adventskalender 2008: Türchen 19

Eine Weihnachtsfeier jagt die nächste, auf der einen Seite ist es immer sehr nett, auf der anderen Seite gerät man schnell in Streß. Naja, heute ein wenig verspätet nun das Türchen 19. Tim hat Euch gestern im Türchen 18 gezeigt, wie man mit TypoScript schicke GMENUs erzeugt. Heute möchte ich wieder ein wenig PHP Code zeigen.

Diesmal geht es um die Benutzung der Session in TYPO3. In der Regel genügt nur eine Zeile Code um einen Wert in die Session zu schreiben oder wieder heraus zu holen. Schauen wir uns erstmal an, wie man etwas in die Session schreibt:

$GLOBALS["TSFE"]->fe_user->setKey("ses", "tx_myext", $data);

Die Funktion setKey() erwartet drei Parameter:

  1. Type: Dieser kann “ses” oder “user” sein.
  2. Key: Eindeutiger Ident für eine Session Variable
  3. Data: Die Daten die gespeichert werden sollen.

Die beiden Typen “ses” und “user” unterscheiden sich wesentlich. Während der Typ “ses” nur temporär die Daten speichert, also genau so lange, wie die Session besteht (Session-Cookie), ist es mit dem Key “user” möglich, die Daten auch über mehrere Sessions hinweg zu speichern, wobei diese an den FE-User gekoppelt werden.

Der Key sollte so gewählt werden, dass man nicht in Konflikt mit anderen Extensions kommt. Am besten benutzt man seinen Extension-Key dafür.

Die Daten die man speichern will kann jede beliebige PHP Variable sein, sogar komplette Objekte kann man ablegen.

So, nun wollen wir uns den Wert mal wieder raus holen, auch dies geht sehr schnell und einfach:

$data = $GLOBALS["TSFE"]->fe_user->getKey("ses", "tx_myext");

Die Methode getKey erwartet nur zwei Parameter, die Bedeutung ist die gleiche wie bei setKey().

Das Leben kann so einfach sein, wenn es nicht ab und an diese kleinen fiesen Sonderfälle gibt ;)

Nehmen wir mal an, man erzeugt ein PDF oder eine AJAX-Antwort, dann gibt man das PDF aus und steigt mit einem exit() oder die() aus. In diesen Fällen, reicht ein einfacher Aufruf von setKey() nicht aus. Denn TYPO3 kann dann die Daten nicht automatisch speichern. Aber hier schafft der folgende Code Abhilfe:

$GLOBALS["TSFE"]->fe_user->setKey("ses", "tx_myext", $data);
$GLOBALS["TSFE"]->fe_user->storeSessionData();

Mit storeSessionData() sorgen wir dafür, dass TYPO3 umgehend die Werte speichert. Sehr häufig wird gerade auf die letzte Zeile verzichtet, was in der Regel auch funktioniert, jedoch nur so lange, wie kein Fehler auftritt oder das Script vorzeitig beendet wird.

Fröhliches Session-Handling Euch allen :)

Kommentare deaktiviert

t3n Magazin - Jetzt im Abo bestellen