Referenz: Personenschutz-Unternehmen

das Anfrageformular

Eine Arbeitsreferenz muss nicht immer ein vollständig selbst erstelltes Projekt sein — in Fällen wie dem oben gezeigten Beispiel kann es auch mal darum gehen, spezifische Leistungen in ein von anderen Anbietern erstelltes Projekt zu integrieren und sich hierbei an konkreten Vorgaben zu orientieren.

Bei diesem Referenzbeispiel wurde ich von einem örtlichen Dienstleister kontaktiert, der eine exzellente Website designt hat, aber in Punkto Web-Skriptsprachen keine nennenswerten Kenntnisse besitzt und von seinem Kunden aufgefordert wurde, ein ihm als Designentwurf präsentiertes Anfrageformular als funktionsfähige Anwendung umzusetzen. Da ihm zugetragen wurde, dass ich auch für Kooperationen oder als “Subunternehmer” verfügbar bin, bat er mich um…

1. die Entwicklung der erforderlichen Eingabevalidierungen des Formulars.

2. den abschliessenden Versand der überprüften Formularwerte als serverseitig generierte HTML-Email.

Die Validierungen

Da der Kunde meines Auftraggebers ein Sicherheitsunternehmen leitet und den Besuchern seiner Firmenwebsite ein extrem “sicheres” Formular präsentieren wollte, bat er darum, diverse Eingabefelder unter kombinierten Kriterien wie “Feld X darf nur alphanumerische Werte sowie Leerzeichen beinhalten, der Eintrag muss mit einem 5-stelligen numerischen Wert beginnen” prüfen zu lassen — kein Problem, da ich mich in diesem Fall für den Einsatz der “vdaemon” – Library entschieden habe, weil sie die für derart komplexe Kriterien erforderliche Verwendung von anwenderdefinierten “regulären Ausdrücken” (regular expressions bzw. regex) unterstützt.

Die “vdaemon” – Library gehört im Rahmen der selbst entwickelten Anwendungen zu meinen bevorzugten Tools, weil die über sie abgewickelten Formularvalidierungen sowohl clientseitig _ als auch serverseitig _(PHP) erfolgen, was ein sehr hohes Maß an Sicherheit bietet, da selbst bei deaktiviertem JavaScript stets die vom Besucher nicht beeinflussbare serverseitige Validierung greifen wird.

Dieses Leistungsmerkmal ist das wohl wichtigste Kriterium einer “seriösen” Überprüfung von Formularwerten, das leider von unerfahrenen Entwicklern und kriminellerweise auch von vielen Online-Tutorials sowie Billig-Anleitungsbüchern der Art “Webdesign für Doofies” nur allzu oft ignoriert wird. Anders als vielfach suggeriert, bietet eine JavaScript-basierte Formularüberprüfung faktisch keinen realen Schutz und ist ohne zusätzliche serverseitige Validierung völlig zwecklos — kein Wunder, dass viele von unkundigen bzw. gutgläubigen Entwicklern hergestellte Webseitenformulare dem Betreiber mehr Probleme als Vorteile bescheren.

Der Versand als HTML-Email

…basiert auf einer Eigenprogrammierung, enthält zusätzliche PHP-basierte Überprüfungen diverser im vorherigen Schritt nicht validierungsfähigen Formularfelder und “schleust” die Werte der Texteingabefelder durch eine Reihe sehr empfehlenswerter Bereinigungsfunktionen wie addslashes, trim usw.

Tests

Die Validierungsroutinen wurden selbstverständlich vor Auslieferung ausgiebig getestet und mehrfach überarbeitet, da man auch als erfahrener Entwickler immer irgendetwas übersieht oder der zuerst entwickelte “reguläre Ausdruck” nicht den erwünschten Validierungseffekt bringt. Im Rahmen des abschliessenden Tests wurde der Kunde meines Auftraggebers zwecks eigener Kontrollen sowie “Absegung” hinzugezogen.

Beim testweisen Versand der HTML-Email wurde auf meine Anregung hin der Kunde als “williges Opfer” engagiert, was sich erwartungsgemäß als sinnvoll herausstellte, da er auf diese Weise Einfluss auf die gestalterischen Aspekte der HTML-Email wie z.B. die Schriftgröße bzw. Schriftfarbe nehmen konnte.

Zum Thema Kooperationen

Kooperationen mit anderen Dienstleistern sind immer eine spannende Angelegenheit und erweitern den eigenen Horizont ungemein, weil man hierbei nicht eigenständig agieren und sein “business as usual” betreiben kann, sondern sich auf ein Terrain begibt, in welchem sich die (eingebildeten oder realen…) Qualifikationen sowie die bisherigen Erfahrungswerte auch mal als für´s Erste irrelevant erweisen können.

Jeder neue Kooperationspartner hat individuelle Fähigkeiten und Präferenzen, jeder im Auftrag eines anderen Dienstleisters übernommene Job hat seine eigenen Spezifikationen und zu überwindenden Hürden, und jeder übernommene Job verlangt, sich selber sowie seine Methoden der Leistungserbringung hinterfragen und an unterschiedliche Gegebenheiten anpassen zu können. All dies kann man auch als “Lernprozess” bezeichnen.

Ach ja, da wäre ja noch ein weiterer Faktor: “Respekt” — oder in anderen Worten: “wissen, dass man dem Kooperationspartner bei allen Differenzen nicht in die Suppe spucken darf” ;-)

Derartige Kooperationen sind für mich ja kein Neuland mehr, und ich habe im Laufe der Jahre den “Netzwerk”-Gedanken sehr zu schätzen gelernt. Hand auf´s Herz: keiner kann alles, jeder noch so erfahrene Entwickler stößt an seine Grenzen, jedem wirklichen Profi ist bewusst, dass auch er letztendlich nur mit Wasser kocht und dass andere Anbieter bestimmte Leistungen auch mal besser umsetzen können als er selber.

Dies akzeptieren zu können und aufgrund dieser Erkenntnis ein qualitätsorientiertes “Netzwerk” mit anderen Designern bzw. Entwicklern zu bilden, ist ein Gewinn sowohl auf persönlicher Ebene als auch – wie in diesem Fall – für den Kunden.

In diesem Sinne ! ;-)