Gerade bemerkte ich eine Lustige Angewohnheit der Auth-Component von CakePHP.

Nehmen wir an wir haben eine Userregistration, also mit Feldern wie Username, Password, E-Mail usw. nun trägt der User alles richtig ein, nur bei der E-Mail vertippt er sich bzw. trägt dort keine valide Mailadresse ein. Da ich natürlich in CakePHP auf das Feld eine ValidationRule gelegt habe die besagt das in das Feld nur valide Mailadressen eingetragen werden dürfen schlägt Cake Alarm und quittiert den Versuch mit einer Fehlermeldung.

Da Cake schlau ist füllt es alle Felder automatisch mit den zuvor eingegebenen Werten wieder aus, damit man auch wirklich nur das fehlerhafte Feld neu bestücken muss. Das lustige ist jedoch das die Auth-Component in das Passwort-Feld bereits den MD5-Hash als value übergibt. Merkt man das nicht und korrigiert nur das eigentlich fehlerhafte Feld, so wird der MD5-Hash nochmal in einen MD5-Hash verwandelt und man kann sich somit nicht mit dem angelegten Account einloggen. Für mich ist das ein klarer Bug, denn die Auth-Component sollte natürlich prüfen ob die Validierung einen Alarm ausgelöst hat, und nur falls alles Ok ist sollte der Wert in MD5 umgewandelt werden.

Im IRC-Channel zu CakePHP wurde mir nun gesagt ich solle doch einfach das Passwordfeld generell leer halten, denn das sei schließlich vollkommen normal das man bei einem Validierungsfehler auch die Passwörter nocheinmal eintragen müsse. Ja klar, das machen zwar einige Portale so, doch mich persönlich nervt das einfach gewaltig.

Sicherlich ist es unsicher das Passwort in das value zu setzen, doch ist sowas doch bei einer Adminoberfläche die nur 2-3 Personen nutzen zu vernachlässigen. Warum wird da ein offensichtlicher Bug also so bekämpft?

Eine Lösung habe ich dafür leider nicht, außer dem Feld dauerhaft ein value="" mit auf den Weg zu geben, damit eben das Feld bei einer Falscheingabe statt dem MD5-Hash wenigsten nichts beinhaltet und somit wieder Alarm schlägt falls man es versehentlich leer lässt.

Wie seht ihr das? Sollte man ein Passwordfeld bei einer Fehlerausgabe wieder mit dem Eingabewert befüllen oder den Nutzer nochmals dazu auffordern sein Passwort einzugeben, obwohl es ja eigentlich die Validierung absolviert hat?


Logo von CakePHP

Da ich leider nirgendwo ein fertiges Suchplugin für das “neue” CakePHP-Cookbook fand, bastelte ich mir schnell selber eins zusammen.

Dabei entstanden zwei einfache Suchplugins für die Dokumentation von CakePHP 1.1 und CakePHP 1.2. Im Anschluss wollte ich die beiden XML-Dateien über das Mozilla Add-Ons Portal anderen Entwicklern zugänglich machen, doch Pustekuchen. Ich kann zwar neue Plugins hochladen, aber darf nur Plugins, Wörterbücher, Themes oder Übersetzungen hochladen.

Komisch, oder gibt es da evtl. für die Suchwerkzeuge ein eigenes Formular das irgendwo weit weit versteckt untergebracht wurde?

Naja, solange ich die beiden Dateien nicht direkt bei Mozilla unterbringen darf bekommt der interessierte CakePHP-Entwickler sie eben hier.

Da meine Dateien jetzt nicht auf den Mozilla-Servern liegen, fragt der Firefox auch nicht selber ob man die Suchmaschine direkt hinzufügen will. Daher muss man aktuell noch manuell die jeweilige XML-Datei in den Ordner searchplugins im Firefox-Ordner kopieren. Nach einem Neustart des Browsers solltet ihr dann direkt aus der integrierten Suche heraus das Cookbook durchsuchen können.


Logo von CakePHP

Zu meinen reinen Freelancer-Zeiten arbeitete ich ja einige Zeit regelmäßig mit dem MVC-Framework CakePHP, seit Ende letzten Jahres jedoch leider wieder etwas weniger. Das lag zum einen daran das sich meine Aufgabengebiete etwas verschoben haben, zum anderen jedoch an der bis Dato wirklich bescheidenen Dokumentation des Frameworks.

Es gab zwar eine grobe API in der man sich im Notfall z.B. mal ansehen konnte wie einer der Standardhelper überhaupt arbeitet und welche Variablen man einer Funktion überhaupt übergeben kann, um damit dann sein Script zu debuggen, doch am Ende führte dies zu etlichen Stunden von Try & Error.

Nun habe ich mich mal wieder an ein kleines Projekt gewagt was wieder mit CakePHP 1.2 umgesetzt wird, und ich bin begeistert was sich in der Dokumentation so alles getan hat. Mit dem Cookbook kann man endlich richtig arbeiten! Alles ist ordentlich gegliedert und auch die Suche spuckt endlich passable Ergebnisse aus. So habe ich mich z.B. vorher nie an die Auth-Component heran gewagt, einfach weil ich kaum etwas über sie wusste.

In der neuen Dokumentation wird einem nun endlich alles erklärt was man braucht. Es werden direkte Codebeispiele und Vorschläge ausgegeben, so das es wieder richtig Spaß macht sich an neuen Cake-Entdeckungen zu versuchen.

Wer sich also bisher aufgrund der noch schlechten Dokumentation mit CakePHP nicht anfreunden konnte, dem sei ein zweiter Versuch ans Herz gelegt!


Für viele eventuell noch unbekannt, aber es gibt sie: Die Google Wetter-API.

Komischerweise scheint diese XML-Schnittstelle keine öffentliche API von Google zu sein, sondern eher sowas wie ein Nebenprodukt für die Personalisierte Startseite von Google.

Wie kann man diese API nun Ansprechen und wie genau funktioniert das?

Eigentlich sehr simpel: Es braucht im Prinzip nichts ausser einer URL, z.B. wie folgt: http://www.google.com/ig/api?weather=Magdeburg

Wie man sieht kann man in der URL den Namen einer Stadt hinterlegen. Leerzeichen im Stadtnamen können durch ein + ersetzt werden, also z.B. New+York. Alternativ kann man auch die Postleitzahl angeben, das kann dann so aussehen: 39120+Germany. Und was erhält man da nun?

Ganz simpel: Eine XML-Datei mit vielen Infos zum Wetter. Unter anderem aktuelle Temperaturen, Windgeschwindigkeiten, Luftfeuchtigkeit, Regenwahrscheinlichkeit, Bewölkung, etc. pp.

Zudem gibt es eine Vorhersage für die nächsten 3 Tage. Da das ganze als XML daher kommt können wir es natürlich auch vielseitig einsetzen und ausgeben. Egal ob nun als HTML, Grafik oder Flash.

Kompletten Artikel lesen...


Man merkt das Sommerloch auch hier irgendwie, da ich ja auch nicht der tausendste sein möchte der über irgendein ausgelutschtes Thema schreibt sieht es hier aktuell leider etwas leer aus, aber das wird wieder, versprochen!

Solange dann also doch etwas Grundrauschen:
Meine beiden Lieblingsframeworks erfahren in den nächsten Tagen einige Updates. Das betrifft zum einen das PHP-MVC-Framework CakePHP als auch das JavaScript-Framework jQuery.

In der Bakery kam kürzlich die Ankündigung das die erste Stable-Version von CakePHP 1.2 nun in den Startlöchern steht. Zeitgleich wurde dazu aufgefordert sich doch am Testing zu beteiligen um die Entwicklung noch weiter voran zu treiben.

Ich verfolge die Entwicklung von CakePHP nun seit über einem Jahr, fast täglich wird dabei die SVN-Version mit Updates versorgt, auch wenn leider nur selten ein Export in die öffentliche Version stattfinden, so machen die Entwickler durchaus ihre Hausaufgaben, was mich doch stark hoffen lässt das CakePHP 1.2 Stable ein großer Erfolg sein wird.

Was jQuery angeht, so hat der Erfinder John Resig vor ein paar Tagen eine Video-Präsentation veröffentlicht die den alles erklärenden Titel What’s Next in jQuery and JavaScript? trägt.

Dabei wurde unter anderem auch der Plan für die nächsten Versionen des beliebten Frameworks veröffentlicht. So soll bereits in einigen Tagen jQuery 1.2.4 den Weg zu uns finden.

jQuery 1.2.4 hat demnach als Kernpunkte zwei wesentliche Verbesserungen:

  1. Das Plugin dimensions.js wird direkt in den Core integriert.
  2. Weitere Performance-Optimierungen

Ob die Integration der dimensions.js so eine gute Idee ist weiß ich gerade nicht, immerhin vergrößert dies abermals die Core-Datei… und gerade jQuery hatte mich damals wegen der minimalen Größe und der grandiosen Plugin-Fähigkeit gereizt. Es mag sein das viele Projekte und auch Plugins die dimensions.js benutzen, dennoch bin ich eher dafür solche Sachen weiterhin Optional zu lassen. Wer jQuery nur für einige kleine Effekte und Funktionen benötigt ärgert sich eh schon über jedes nicht benötigt Kilobyte mehr.

John gibt zudem auch Infos zum nächsten großen Schritt: jQuery 1.4. So soll jQuery 1.4 bereits in diesem Sommer erscheinen und weitere Geschwindigkeitsvorteile mitbringen, nichts weltbewegendes bisher also.

Worauf er in dem Video ebenfalls eingeht ist jQuery UI 1.5, auf das denke ich viele von uns schon gespannt warten. Die Homepage dieses Widget-Pakets wurde übrigens vor kurzem ebenfalls optisch überarbeitet.


Logo von CakePHP

Heute war es endlich mal wieder soweit: Sowohl CakePHP 1.1 als auch CakePHP 1.2 wurden in aktuellen Versionen der Öffentlichkeit zugänglich gemacht. Gerade CakePHP 1.2 wurde das letzte mal im Juli aktualisiert, so dass ich schon ins Grübeln kam ob die Entwicklung an der neuen Version denn schon eingeschlafen ist.

Aber nein, es wurden doch einige neue Funktionen in den Core gepackt und was noch viel besser ist: CakePHP 1.2 ist jetzt Pre-Beta. Pre-Beta deshalb, weil es noch nicht alle geplanten Funktionen in die aktuelle Version geschafft haben, sobald die letzten Feature-Tickets dann abgeschlossen sind, was wohl hoffentlich nicht mehr lange dauert, ist CakePHP 1.2 endlich aus dem Alpha-Stadium raus.

Die komplette Meldung zum Thema gibts wie immer in der Bakery.



Ältere Einträge

Blogsuche

RSS-Feeds

Plaste & Plastik

plasteundplastik.de - Das Geocaching-Weblog

Die Kategorien


Netz-Fundstücke


Meta / Propaganda