Veränderungen an einer bestehenden SilverStripe Applikation sollten immer erst getestet werden, bevor man sie auf den Server überträgt. Nichts kostet mehr Kundenvertrauen, als eine Webseite die plötzlich nicht mehr sauber funktioniert. Der Kunde oder Benutzer hat natürlich keine Einblicke hinter die Fassade einer Webseite. Deshalb können kleine Risse in der Fassade das Vertrauen in das ganze Haus erschüttern. Getestet wird auf einem Staging-Server oder auf dem Localhost des Entwicklerrechners. Das Entwicklungssystem hat aus Gründen der Vorsicht eine eigene Datenbank.
Die SilverStripe Crew hat in den letzten 6 Monaten einen wahren Updatemarathon hingelegt. Neben den vielen Security Releases von Version 2.3.2 auf 2.3.7 gibt es jetzt seit kurzem die Version 2.4rc1. Diese bringt so viele Veränderungen/Verbesserungen, dass man sie genau so gut hätte 3.0 taufen können. SilverStripe übt sich hier in Bescheidenheit ;)
Die Suche nach den Fehlern in meinen Programmierergebnissen ist ein wesentlicher Teil meiner Entwicklungsarbeit. Was steht jetzt eigentlich in dieser Variablen? Kommt das Script überhaupt an eine bestimmte Stelle im Code? Die hauseigenen Mittel von PHP, wie etwa var_dump(), helfen in manchen Situationen nur nicht weiter. Bei der Arbeit am JavaScript-lastigen Backend von SilverStripe führt var_dump() unter Umständen dazu, dass überhaupt nichts mehr ausgegeben wird.
Ach ja, die Sesamstraße, das waren noch Zeiten, in denen das Kinderfernsehn durchgehend Klasse hatte. Naja, es gab auch in unserer Kindheit miese Sendungen, ich lasse mir die Verkärung meiner Vergangenheit nur ungern nehmen. In gewisser Weise ist ein anständiger Browser ein Krümelmonster, denn er nimmt im Normalfall alle Cookies gerne an. Natürlich kann man mit den entsprechenden Tools das Speichern von Cookies verhindern. Jemand der Cookies abschaltet, weis aber in der Regel, was er tut und wird sich wohl nicht wundern, wenn daraufhin die ein oder andere Internetapplikation nicht mehr richtig funktioniert.
Die Template Engine von SilverStripe baut wie das Framework auf Vererbung. Natürlich gibt es einen engen Zusammenhang zwischen Controller und Templates.
Heute wurde SilverStripe 2.3.5 veröffentlicht. In diesem Release gibt es keine großen Neuerungen, so dass es auch zu keinen Änderungen in der SilverStripe API gekommen ist.
Formulare machen eine Webseite zu einem Kommunikationsmedium. Die Webseite liefert nicht nur Informationen an die Nutzer, sondern die Nutzer können wiederum Informationen an die Seite zurückliefern. Im schönsten Fall für den Betreiber einer Seite sind das Kreditkarteninformationen ;) Hinter jeder Interaktionsmöglichkeit steckt immer ein Formular, das aus Feldern, Checkboxen, Dropdownmenüs, Radiobuttons und einem Bestätigungsbutton (absenden", spiechern") besteht. Ein gutes Formular versucht zudem Benutzerfehler oder Benutzermissbrach zu vermeiden, indem es die eingegebenen Daten validiert. Um Rechenkapazitäten des Servers zu schonen sollte die Validierung browserseitig mit JavaScript geschehen. Für den Fall, dass der Benutzer JavaScript im Browser deaktiviert hat, muss aber die serverseitige Validierung greifen. All das bietet in Silverstripe die Klasse Form". Des weiteren werden die zur Erstellung eines Formulars die Klassen FieldSet", FormAction" und Unterklassen der Klasse FormField".
Hinter jedem CMS steht immer eine Datenbank, die zu speichern der Daten, die ein Benutzer eingibt, dient. In SilverStripe geschieht dies durch objektrelationales Mapping (ORM), das heißt der Programmierer arbeitet nicht mit SQL-Strings sondern mit Objekten. Diese Objekte oder auch Datensätze heißen in SilverStripe DataObject".
Webdesigner müssen einen nicht unerheblichen Teil ihrer Zeit damit verbringen, die Probleme auszubügeln, die ein gewisses Produkt der Firma Microsoft namens InternetExplorer bei der Darstellung von Webseiten verursacht. Eigentlich müsste das nicht so sein, wenn Microsoft sich an die Vorgaben des W3C halten würde, das festlegt, wie Browser HTML und CSS darzustellen haben. Aber die Zeiten, in denen man sich damit rumschlagen musste, gehören der Vergangenheit an, denn jetzt gibt es YAML. YAML ist ein CSS-Framework. Auf der Homepage von YAML gibt es ein kleines Tool names YAML-Builder, mit dem sich ein Grundlayout definieren lässt. Dazu liefert der Builder dann CSS-Dateien und Markup, welches man in sein Webprojekt einbindet und schon hat man eine große Sorge weniger. Wie man das YAML Framework in SilverStripe einbindet, beschreibe ich in den folgenden Schritten:
Meine bescheidenen Anfänge mit Content Management Systemen (CMS) habe ich mit der ExpressionEngine der Firma EllisLab gemacht. Wer sich mit HTML und CSS gut auskennt ist als Einsteiger mit diesem System gut aufgehoben. Es gibt eine sehr gute Dokumentation, ein sehr gutes Forum und wer sich für eine professionelle Lizenz entschieden hat, die natürlich Geld kostet, der bekommt dazu noch einen sehr guten und schnellen Support über das Forum. Meine Anfragen wurden in der regel innerhalb einer Stunde beantwortet.