Die Arbeiten am Download Plugin für das CF3 verzögerte sich etwas aus unterschiedlichen Gründen.
Zum einen ist es extrem warm, was das Arbeiten an einer solch umfangreichen Konvertierung nicht gerade angenehm macht.
Zum anderen ist auch am vergangenen Wochenende die Fußball-WM 2010 erst zuende gegangen, wo die Spiele nach Möglichkeit verfolgt wurden.
Und am Rande: Das Finalspiel Niederlande – Spanien war wirklich nicht wert, Finale einer WM zu sein. Die Partie wurde durch herbe Fouls, viele (teilweise zu wenige) Karten und endlosen Diskussionen der Spieler mit dem Schiedsrichter unterbrochen, was das Spiel, welches an sich schnell gespielt wurde, schnell zu einem Disaster werden lies.
Nach meiner Meinung hätten es die Niederländer nach dieser Vorstellung nicht verdient, als Weltmeister aus diesem Finale hervorzugehen, was die Spanier dann auch letztlich zu verhindern wussten.
Nun, zurück zum Thema:
Abgesehen von der komplett umzustellenden Struktur der Download MOD auf das Plugin-System des CF3, wird diese Woche mit der Grundlagenforschung begonnen.
Will heissen: Es wird ein bestehendes Plugin untersucht, um die Installation, die Struktur und den Aufbau zu untersuchen, damit die Download MOD analog auf diese “Vorgabe” umgeschrieben werden kann.
Ggf. wird das ein oder andere Teilmodul der MOD dadurch komplett neu geschrieben werden, was nicht gerade der Konvertierungsgeschwindigkeit zu Gute kommt.
Was dagegen sicherlich einfacher sein wird, ist die Umstellung der SQL-Anweisungen, die sich zwar im CF3 vom phpBB 3 deutlich unterscheiden, aber nicht all zu schwer zu konvertieren ist. Zwar wird hier ggf. nicht 100% nach den Coding Guidelines für das CF3 gearbeitet, da dieses wirklich extreme Umbaumaßnahmen erfordern würde. Das betrifft gerade den Punkt, in der Ausführung der SQL-Anweisung diese direkt in den CF3-Methodenaufruf zu packen.
Da nicht wenige SQL-Anweisungen hierfür einfach zu umfangreich sind, wird die Mimik des phpBB 3 übernommen: SQL-Anweisung mittels $sql = ‘…’; erstellen und dieses dann an die Datenbank-Methode senden, um sie auszuführen. Das bewahrt die Übersicht über die SQL-Statements, was späteren Änderungen wieder zu gute kommt.
Ob allerdings die Feldnamen in den SQL-Anweisungen, wie gefordert, mit einem ` eingeschlossen werden, ist noch offen. MySQL-Datenbankserver benötigen dieses Feldtrennzeichen nicht zwingend und daher wäre hierfür nur unnötig Code zu verwenden, was die Scripte dazu auch umfangreicher und damit (für den Anwender nicht spürbar) langsamer macht. Ebenso verwendet das Script dadurch mehr PHP-Speicher, was bei den Massen an Daten, die durch das Download Modul vorgeladen werden, schon recht eng werden kann.
Aber noch steht zu diesem Punkt nichts endgültig fest. Ggf. werden die Feldtrennzeichen auch nachträglich eingefügt, also mit einer abschliessenden Überarbeitung und Prüfung der konvertierten Scripte der MOD.
Nun, wie bereits erwähnt, beginnt diese Woche die Grundlagenforschung, was wie aufzubauen ist, um die Grundstruktur der MOD als Plugin festzulegen.
Was bereits gesehen wurde, zumindest auf den ersten Blick, ist das Einbinden der Module mittels Datensatzbeschreibung in CF3-Systemtabellen.
Das sollte der MOD schon einmal den nötigen Einstieg im Forum ermöglichen, um im Board- als auch im Admin-Bereich die Module im ersten Schritt anzeigen zu können, auch wenn diese noch nicht funktionieren würden.
Zuletzt sei noch erwähnt, dass die eigentliche Struktur des CF3 datenbanktechnisch auch noch nicht vollkommen untersucht und bekannt ist und wie im CF3 Variablen/Arrays aus POST-/GET-, bzw. FILES-Daten übernommen werden und wie gut/einfach dieser Part konvertiert werden kann (die Download MOD hat nicht selten sehr viele Variablen aus einem Formular zu übernehmen). Auch ist offen, in wie weit das CF3 mit UTF-8 umgeht.
Diese Punkte münden dann auch in die entscheidende Frage, ob es einen Konverter für die Download MOD vom phpBB2, bzw. phpBB 3 zum CF3 geben wird oder nicht. Sollte es schliesslich zu umfangreich sein, die Daten auf der im CF3 verwendeten Zeichensatzmethode zu konvertieren, wird von einem Konverter im ersten Schritt der Konvertierung abgesehen und ggf. auf Wunsch oder im Nachgang ein eigenes neues Plugin hierfür erstellt.
Sobald die Grundlagen bekannt sind und der Installer für die erste Einrichtung des Plugins steht, wird hier ein neuer Status bekannt gegeben. Auch zu dann schon bekannten Problemen und Hindernissen, die ggf. auch wieder das Fortschreiten der Konvertierungsarbeiten verzögern könnten.
Ich hoffe, zum kommenden Wochenende schon mehr zu wissen und auch den Installer bis dahin fertig zu haben, dann sehen wir weiter. Schliesslich will auch ich das Plugin möglichst schnell fertig haben, damit die ersten Tests laufen können. Selbstverständlich öffentlich über die Community auf Cback.de.