Kopieren oder Selbst machen

Die Webseite, an der ich arbeite, besteht im Kern aus einer Vielzahl von Formularen und den durch sie befüllten Datenbanktabellen. Der Anwender wird in erster Linie Eingabeformulare, Listen von Suchergebnissen, oder aber Detailansichten von Datensätzen zu Gesicht bekommen. Viele dieser Formulare und Listenansichten ähneln sich sehr,, es liegt also nahe, die Formulare nicht von Hand in HTML zu schreiben, sondern sie generieren zu lassen, und hierzu ein vollautomatisches System wie Dadabik heranzuziehen, oder aber eine der hunderte bestehenden PHP-Klassen, die diese Aufgaben beherrschen, zu verwenden.

Die Benutzung von Dadabik war leider nicht möglich, da das Tool aus dem Stand nur Tabellen darstellen kann, nicht dagegen Formulare für Abfragen, die Daten aus mehreren Tabellen ziehen. Zudem dupliziert Dadabik sämtliche in der Datenbank vorhandenen Tabellen, was zu erheblichem Überhang an Daten führt und – so vermute ich – auch nicht wirklich performant ist.

Bei den PHP-Klassen ist mit ihrer Anzahl schon eines der beiden größten Probleme benannt: Welche wählen, wie feststellen, welche der bestehenden Klassen die Arbeit leistet, die ich von ihr erwarte? Dokumentation gehört zu den unbeliebtesten Aufgaben jedes Programmierers und ist in der Mehrheit der Fälle schlicht nicht verfügbar, sieht man von einigen mürrischen Zeilen im Programmcode selbst ab.

Die zweite Problematik ist die der Einbettung – selbst wenn sich eine halbwegs dokumentierte PHP-Klasse fände, die meinen Wünschen entspricht, wie viel Arbeit wird notwendig sein, sie in das bestehende Gerüst der Seite einzubetten? Ich werde den Verdacht nicht los, dass der kulmulierte Aufwand für Recherche nach und Anpassung von PHP Klassen in meinem Fall den Aufwand übersteigt, die entsprechenden Funktionen schlechter, aufwändiger und komplizierter selbst zu programmieren.

was natürlich der gesamten Idee der Script-Seiten zuwiederläuft, oder aber zumindest der Idee, seine Arbeit der Öffentlichkeit zur Verfügung zu stellen. Sicherlich enthalten Seiten wie hotscripts oder php-resource nützliche Schnipsel, von denen ich bei anderen Projekten schon sehr profitiert habe. Aber für dieses Problem habe ich bisher einfach keine Lösung auftreiben können. Was ich bräuchte wäre eine Klasse die

  • sicher zu einer Datenbank verbindet.
  • Aus einem Konfigurations-File oder Konfigurationsdaten in der Datenbank ein Formular generiert.
  • Daten aus der Datenbank in ein Formular zulädt und/ oder Daten aus einem Formular in die Datenbank schreibt.
  • Die Datenbank-Interaktion auf SQL-Injection und andere Sicherheitslücken prüft.
  • Zuläßt, dass die automatisch generierten Formulare per CSS gelayoutet werden.

Sollte doch so schwer nicht sein.

Database Worries

After basically half a year I’m back to zero with my database project. I had found a PHP programmer that was willing to help me smoothen my programming of all the forms and tables that the Database needs to interface with the website, and he said his work had progressed quite a bit. Then in the last weeks he ditched some dates, and it looks like I won’t get anything out of the cooperation. His reasons sound convincing, but in the end the result is the meter to be judged by, and… I am back to Zero. Means I can devote more of my free time to the project and start to do it all by myself again, or I can start looking again for someone to help me, either in exchange for stuff I can do better like CSS and Webdesign, or I might need to pay someone. In either way a very frustrating experience – particularily so since so far I’ve made only good experiences collaborating with friends.

Next step in any case will be registering a new website and putting the stuff online again, for debugging, testing, and as a showcase. But thats only getting me to where I left the whole darn thing in 2007.

So, if there is some nice PHP-programmer out there who is interested contributing to a very uncool, data-heavy, sober historical database project that will bring us nothing but fame and glory, let me know, and I’ll be happy to provide details.

Sorum, Andersum, und Was noch alles

Nun stehe ich vor der Entscheiung, entweder die gesamte Seite über WordPress zu betreiben (einfache Lösung), oder aber das Blag in das bestehende Design der Exzession einzubinden. Hätte den schönen Vorteil, das ich flexibler bin, und das ich mehr dabei lerne. Die Schwierigkeit hierbei scheint weniger der komplexe Code von WordPress zu sein (die Tutorials die ich im Netz gefunden habe sind da recht verständlich), sondern was mich eher noch zweifeln läßt ist die lange Liste an Dingen, die ich sonst noch so angehen will computertechnisch…

Da ist zunächsteinmal der Generalstab, der dringend wieder ein Update braucht – gottseidank ist das schon größtenteils vorbereitet, aber ne Stunde werd ich trotzdem darauf aufwenden müssen, mindestens. Immerhin steht das neue Layout.

Dann ist da mein alter Rechner, der eigentlich eine prima OpenBSD-Box abgeben würde, einfach nur um mal ein paar neue Unix-Sachen auszuprobieren und meine Kenntnisse mit PF und Firewalling zu verbessern.

Außerdem stapeln sich bei mir auf dem Schreibtisch immer noch die einzuscannenden und wegzusortierenden Papiere, darunter noch fast ein Dutzend großformatiger Fotoalben meines Urgroßvaters aus dem ersten und zweiten Weltkrieg.

Als nächstes steht noch an das ich die bereits gescannten Sachen mal ordendlich wegsortieren wollte…

Und dann ägere ich mich immer noch mit meiner Militärdatenbank herum. Derzeit sitzt ein Programmierer dran, der allerdings seit Wochen nichts von sich hören läßt. Entweder, weil er unzuverlässig ist, oder weil ich ihn nicht dafür bezahle, sondern es eine Gefälligkeitsleistung ist. Oder ein bißchen von beidem.

Und von demKram, der in der Wohnung zu erledigen ist, will ich gar nicht erst anfangen…

Genug mit dem Gejammere. Letzten Endes reizt mich die Aufgabe zu sehr, ähnlich wie damals die Einbindung des Kalenders in die Exzesoin mehr Zeit kostete, als das Ergebnis rechtfertigte – aber ich hatte viel Spaß dabei, und darum gehts ja schließlich hier. Ergo werde ich mich wohl mal in einer ruhigen Stunde nächste Woche dransetzen, und Euch auf dem Laufenden halten, wie es gelaufen ist.