Bericht vom Treffen am 11. Mai 2009
Die Erstveröffentlichung gibt's hier. Aufgeschrieben und berichtet von Martin Bless.
Hier der direkte Link zum folgenden Treffen.
"Was wurde denn besprochen?"
Einleitung
Spät kommt er, aber kommt, dieser Bericht vom letzten Treffen. Die Zeit geht einfach verboten schnell um - kann da nicht mal jemand etwas Geschwindigkeit rausnehmen? Wohl nicht, und so nehmen wir's, wie's ist und freuen uns ganz nebenbei schon mal auf Montag Abend.
Treffen am 8. Juni 2009
Zertifizierung
Mit einem "Randthema" ging's los. Aber das sind ja oft die besten, vor allem, wenn's in Wirklichkeit um eine ganz zentrale Frage geht, zum Beispiel nach Sinn und Unsinn der Zertifizierung als "TYPO3 Integrator". Nicht ganz billig und schwierig wohl auch, einen Termin zu bekommen. Da gibt's ja einen richtigen Ansturm. Braucht man das? Na ja, ist zur Marktwertsteigerung unter Umständen sinnvoll. Andererseits gibt's da wohl auch kleinkarierte Fragen, die an dem, was in der Praxis wichtig ist, völlig vorbeigehen. Man muss plötzlich Begriffe auswendig lernen, die man sich sonst nicht merkt und eher nachschlägt. Also, wer ohne Vorbereitung in die Prüfung geht, kann "reinfallen". Auch wenn er schon jahrelange TYPO3-Erfahrung hat. Sagt dies nun mehr über den Test oder über den Prüfling aus? Probiert's aus. Tipp: Wer das vorhat, sollte sein Backend mal auf Englisch umstellen, da er dann die "abgefragten" Begriffe besser im Wortlaut kennt, denn die Prüfung ist englischsprachig. Und es gibt natürlich auch das Buch zum Thema:
TYPO3 Association
Mitgliedschaft - das war das nächste Thema. Die gibt's in verschiedenen Preis- und "Qualitäts"- Stufen. Für Einzelpersonen, zum Beispiel selbständige Freelancer, geht's ab 100,- Euro im Jahr los. Dafür "ist man dabei", fördert die Sache, ist besser informiert, auch über eine spezielle Mailingliste und erhält Vergünstigungen. Einfach die Sache mal anschauen bei:
association.typo3.org
Bücher
Im April hatte ich ja mal wieder daran erinnert, interessante Bücher mitzubringen. Das hatte so gut geklappt, dass wir so viele hatten, dass keines wirklich im Gedächtnis geblieben ist. Auf zwei sind wir jetzt noch einmal zu sprechen gekommen. Mit diesen beiden fühle ich mich für Javascript-Projekte gut gerüstet. Beide sind in deutscher Sprache zu bekommen.
Buch: Das Beste an Javascript
Bei diesem ersten Buch geht's um die Grundlagen von Javascript. Das ist etwas für die Programmierer. Im letzten Jahr hatte Douglas
Crockford, der "Papst" auf diesem Gebiet, noch beklagt, dass es nicht möglich sei, Javascript aus Büchern zu lernen, da es einfach kein
brauchbares Buch gebe. Nun, inzwischen hat er selbst eins geschrieben. Es ist recht dünn, nicht ganz so teuer, auch auf Deutsch, aber
keineswegs ganz leichte Lektüre, obwohl er ganz einfache und klare Sätze benutzt. Aber begreifen muss man das ersteinmal! Wer wissen
will, WIE man JS richtig benutzt, für den ist es genau richtig. Crockford's Credo: Javascript ist eine sehr "ausdrucksstarke" Sprache
mit sehr starken Seiten und echten Designfehlern. So kann sie "Himmel" oder "Hölle" sein. Benutze einfach konsequent nur die guten Seiten,
und du bist im Himmel.
www.oreilly.de/catalog/javascriptgpger/
lmgtfy.de
www.blinkx.com/videos/douglas+crockford
Buch: Javascript: Missing Manual
Sehr empfehlenswert, und ganz das Gegenteil zum Theoriebuch. Praxisnah und anwendungsorientiert richtet es sich an Nichtprogrammierer, die
ihrer Website nun auch noch "Verhalten" beibringen wollen. Merke: Heutige Sites haben erstens Struktur (html), zweitens Aussehen (css)
und drittens Verhalten (Javascript). Obwohl es nicht im Titel steht, kann man das Buch auch als Einstieg in das Framework jQuery verstehen,
denn dieses wird hauptsächlich benutzt. Da wird auch gleich richtig nützlicher jQuery-Code entwickelt, Schritt für Schritt und ausführlich
beschrieben. Und im Web kann man sich schon einmal anschauen, was dabei herauskommt.
www.oreilly.de/catalog/javascriptmmger/
www.sawmac.com/missing/javascript/tutorials/examples/index.html
jquery.com
TYPO3-Extensions: ameos_formidable, naw_securedl, kw_secdir
Formidable
Hierzu haben wir Neues gehört. Jemand hat's auprobiert, und wie folgt befunden: Die Extension wendet sich an Entwickler. Man kann sie
einbinden, wenn man selbst eine Extension programmiert, um Formulare generieren zu lassen, die man dann "nur" noch per XML konfigurieren
muss. Ist vermutlich sehr gut. Eine halbe Stunde Doku lesen, und es kann losgehen. Leider nur solange, wie es sich um "Standardaufgaben"
handelt. In untypischen Fällen ist der Lernaufwand doch erheblich, und die Übersichtlichkeit der Doku und des Wikis wurden bemängelt. Also
doch lieber selbst programmieren? Wäre schade, da ein Code, der von vielen benutzt wird, viel eher ausgereift ist und mit "mit
eingebauter Sicherheit" daher kommt. Oder haben wir "formidable" einfach nur noch nicht richtig verstanden?
www.typo3ugms.de/Extensions.80.0.html
formidable.typo3.ug
typo3.org/extensions/repository/view/ameos_formidable/current/
Als Parallelbeispiel für ein häufig eingesetztes Package wurden die PHP-Quickforms:
http://www.midnighthax.com/quickform.php
Geschützte Downloads mit naw_securedl
Die Extension "naw_securedl" haben wir uns angeschaut. Sie verspricht: "Secure Download": Apply TYPO3 access rights to ALL file assets (PDFs,
TGZs or JPGs etc. - configurable) - protect them from direct access." Erst wollte sie nicht, dann wollte sie doch, und sieht, wenn ich mich
recht erinnere, gut aus. Also merken wir uns:
typo3.org/extensions/repository/view/naw_securedl/current/
Extension zu ".htaccess": kw_secdir
Jemand hat erwähnt, dass es da doch auch eine Extension gibt, mit der man ganz bequem im Backend, aus dem File-Module heraus, für Ordner
einen Verzeichnisschutz einrichten kann. Aus den Kontextmenü heraus. Das ist doch wirklich eine gute Idee, also gesucht, und 'kw_secdir'
gefunden. Genau: steht ja auch in meinen Notizen. Bei nächster Gelegenheit mal anschauen!
typo3.org/extensions/repository/view/kw_secdir/current/
Small-Talk über TYPO3
("Jo, könnten wir ja auch mal drüber reden ..."):
Formulare in TYPO3 entwickeln
Das ist manchmal nicht so leicht. Es fällt auch auf, dass der Code in TYPO3 unterschiedlich alt ist. Ziemlich alt ist zum Beispiel dieser
hier: Wer hat schon mal versucht, die Frontend-Registrierung für das Newsletter-Modul 'direct_mail' zu installieren? Nun, das TER sagt,
'direct_mail_subscription" wurde vom Meister selbst geschrieben, ist "stable", hat 16.657 Downloads, 12.049 davon allein in der aktuellen
Version. Die ist allerdings vom 7.4.2006. Kann aber doch nicht schlecht sein. Und dann: Au weia, da hätte ich doch gerne mal die
Personen (an einer Hand?) abgezählt, die mit der fe_adminLib.inc, die da benutzt wird, souverän umgehen können. Und, wer sich wundert, warum
die Dialoge immer englisch sind: das lange, sehr unübersichtliche Template 'fe_admin_dmailsubscrip.tmpl' darf sich jeder zunächst einmal
selbst übersetzen. In jede gewünschte Sprache. "Kannst du türkisch?" wurde ich dazu gefragt. "Nee, nur essen" habe ich geantwortet. Mehr
konnte ich dazu leider nicht bieten.
typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/11/3/
typo3.org/extensions/repository/view/direct_mail_subscription/current/
typo3.org/extensions/repository/view/direct_mail_subscription/current/info/
TYPO3 Version 4.3:
Kommt da jetzt eigentlich das neue, Javascript-basierte Frontendediting "direkt im Text"?
Kommen wir zur Frage: Wann nimmt man eigentlich TYPO3 und wann besser nicht?
EIN wichtiges Kriterium ist: Ist die gewünschte Site eher Backend-lastig? Dann nehme TYPO3. Ist sie Frontend-lastig, dann sind
andere Lösungen vermutlich besser. Wie Cake-PHP, Symfony, Django und Kollegen.
cakephp.org
www.symfony-project.org
www.djangoproject.com
Sicherheit
Passwortlänge
Behauptung: 6 Zeichen lange Passwörter sind unsicher - es gibt schon Dienste, die für jedes mögliche Passwort auf Terabytes den MD5-Hash
gespeichert haben. Andererseits: öffentlich habe ich noch keinen Dienst gefunden, der die Lösung wirklich parat hatte, wenn der
Zeichenvorrat mehr als Buchstaben und Ziffern enthält. Preisfrage: Wer hat ne URL dazu?
Passwörter generieren
Beim Passworterfinden hilft mir dieses kleine Programm, das auf "Knopfdruck" immer eine Webseite mit neuen, unterschiedlich langen und
komplizierten Passwörtern anzeigt. Einfach im Browser einige Male Male F5 wie "Aktualisieren" drücken und dann mit Copy und Paste sich eine
Zeichenfolge herausschnippeln. Ich habe vor, das Programm dort stehen zu lassen und eventuell noch ein bisschen auszubauen.
mbless.de/4us/s/apps/genpasswd.py
"Sicherere Authentifizierung für Kundenportale"
Sehr interessant auch der Ansatz von Savernova: Passwörter für eine ganze Firma mit minimalen Hardware-Kosten!? Auch für die private
Nutzung und die eigene Hosentasche geeignet, wenn man sich eine eigene Passwortkarte herunterlädt. Bei der Demo-Karte handelt es sich dann
aber doch wohl um immer ein und dieselbe Musterkarte, oder habe ich was übersehen?
de.savernova.com
Locknote: Ein Notepad mit Sicherheit
Es sei auch noch einmal auf das kostenlose, opensource Windows-Programm 'Locknote.exe' verwiesen. Es ist ausführbares
Notepad-Programm und Textdokument in einem. Braucht man ein zweites Dokument, zum Beispiel für Zugang-Kunde-B.exe, kopiert man das
Programm einfach. Der Witz an der Sache ist, dass der Text nie das Programm verlässt. Es werden also keine temporären Dateien auf der
Platte angelegt. Es funktioniert prima und ist wahrscheinlich genau so sicher, wie das Passwort, dass man sich dazu ausdenkt.
www.steganos.com/de/produkte/gratis-fuer-sie/locknote/ueberblick/
Und, ach ja, hitzige Diskussion:
Im Webserver soll man sensible Dateien doch möglichst außerhalb des Webverzeichnisses (WV) lagen. Klar, Übereinstimmung. Aber kann man PHP
tatsächlich so konfigurieren, dass ein Skript, das innerhalb des WV liegt, keine Files zum Lesen öffnen kann, die außerhalb liegen? Her
mit den Beweisen! Ist das eine php.ini Einstellung? Oder betrifft das nur den Safemode?
Kleine Tipps - große Wirkung: WERKSTATTTIPS
Nennen wir das doch einfach mal "Werkstatttips". Wir alle sollten uns klar machen, dass einfache, "ganz normale" Handgriffe und Routinen,
die jeder so für sich entwickelt, von großem Wert sind. Und gerade diese Tipps machen das Treffen wertvoll. Also, einfach mal selbst drauf achten, wie man so arbeitet, und davon ausgehen, dass andere da SEHR dran interessiert sind. Und dann mitbringen und einfach mal erzählen. So wie die folgenden:
Werkstatttipp: Webentwicklung, IETester
Wer's noch nicht kennt: Es gibt den IETester! Kostenlos, downloaden, zur Zeit v0.3.3, unter Windows installieren. IN diesem Programm kann man dann beliebig viele Internet Explorer starten, und zwar die Versionen 5.5, 6, 7 und 8! Und dann immer locker von einem zum anderen schalten und gucken, ob die Seite noch funktioniert. Das es so etwas nicht direkt von MS gibt, ist ein Verbrechen am BSP der Menschheit. Browsershots.org ist natürlich auch ein guter Tipp. Allerdings muss man sich bei den heutigen, "verhaltenslastigen" Sites doch die Frage stellen, ob ein statischer Schnappschuss noch ausreicht.
www.my-debugbar.com/wiki/IETester/HomePage
de.wikipedia.org/wiki/BSP
browsershots.org
Werkstatttipp: IDE
Auch an "Aptana" denken. Klasse Entwicklungsemgebung auf Eclipse-Basis. Bringt die aktuellen Javascript Bibliotheken und Demo-Programme gleich mit.
aptana.com
Werkstatttipp: Firebug
Da gibt es zum Beispiel -> F12 (Firebug), -> Element untersuchen, -> und dann im rechten Panel nicht nur immer unter "Styles" den CSS-Code
anschauen, sondern auch mal nach "Layout" gehen. Dann wird das Boxmodell des Elements angezeigt mitsamt Pixelangaben. Und als wenn das noch nicht schön genug wäre: Wenn man nun einfach mit der Maus über das Boxmodell fährt, wird die jeweilige Boxgröße im echten Layout farbig hinterlegt. Ein wirklich nützlicher "Werkstatttipp".
Werkstatttipp: Nochmal Firebug
Wussten Sie, dass Sie den Code der Seite auch direkt verändern können?
Werkstatttipp: Und nochmal Firebug
Im Javascript kann man Breaktpoints setzen. Preisfrage: Wie kommt man denn erstmal an die inkludierten JS-Dateien? "Einfach im Menü öffnen", sagt Google. Aber wo? Ich habe gesucht und gesucht, bis ich endlich das Dateimenü gefunden haben: "Skript" anklicken, dann haben wir darüber in der horizontalen Leiste "den Käfer", "Untersuchen" und "Bearbeiten". Und daneben rechts stand bei mir "#". Und dahinter steckt das Dateimenü. "#" war in meinem Falle der Dateiname. Wer ein anderes Dokument debuggt kann mehr Glück haben. Dann ist der Name vielleicht aussagekräftiger, und man komm eher drauf. Na ja, jetzt wissen wir's ja! Zu Firebug könnten wir locker einen ganzen Abend gestalten. Hier die Tipps zur Bedienung:
getfirebug.com
Das war's
So, Schluss jetzt, das Leben geht weiter. Vielleicht ist es aber gar nicht schlecht, dass dieser Bericht erst jetzt kommt. So sind wir am Montag gleich wieder "voll im Thema". Bis Montag, Martin.
