Clansuite Community Forum

 
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
 
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: Projektgeschichte & Entwicklertagebuch von Clansuite  (Gelesen 7043 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 554

One-Man Team


« am: Juli 16, 2006, 07:14:55 »

Vorwort

Ausgangslage und Motivation für Clansuite

Im Rahmen meiner Tätigkeit als Webmaster und Organisator des im Sommer 1999 gegründeten Counter-Strike Teams "knd-squad", verwendete ich in den vergangenen 7 Jahren verschiedenste Clanscripte, die jeweils von mir stark angepasst wurden, um den Clan besser verwalten zu können und einigen Administrationsaufwand einzusparen. Angefangen von Revolutionary-Girls Intern, dem späteren Gamers-Intern bis zum Clanportal von Martin Weitzel aka triggertg, Roland Ernst's Clanmanger-Pro, Hajo Piepereit's bxcp und Michael Gruber's webspell. Doch auch diverse unvollständig gebliebene Neuansätze wurden von mir aufmerksam verfolgt, so z.B. Cagret's mygosuclan und Arpad Borsos Swatinemz CMS.

Im Laufe der Zeit begann ich, die aus meiner Sicht nützlichen Änderungen, Ideen und Vorschläge in den verschiedenen Communities dieser Clanscripte auszubreiten und hoffte auf Feedback, Integration, Zuarbeit oder gar Zusammenarbeit. Jedoch waren die meisten Communities nur wenig organisiert und viel zu sehr auf unnützliche Dinge fokusiert, anstatt in der Entwicklung der "wichtigen" Änderungen mitzuhelfen oder einfache Benutzeranfragen zu beantworten. Jeder kochte sein eigenes Clan-CMS-Süppchen, wie man so schön sagt - und das mag auch gut sein, schließlich belebt Konkurrenz das Geschäft, fördert neue Ideen und kurbelt, kurz gesagt, den Innovationstrieb des Unternehmers an.

Ich implementierte meine Vorstellungen so gut es eben ging, erreichte jedoch relativ schnell die Grenzen dieser Clanscripte. Es fehlten einfach zu oft grundlegende Funktionen, während man sich mit fehlerhaftem Grunddesign rumschlagen musste. Umgangssprachlich würde man wohl formulieren, dass ich mit den bestehenden Systemen nicht zu Rande kam.
Und so konnten sich einige meiner Ideen einfach nicht umsetzen lassen und andere fristeten ab dato ihr Leben auf meinem Notizblock.

An diesem Punkt angelangt, wäre man einfacherweise auf ein professionelles CMS umgestiegen und hätte dieses um einige Module erweitert.
Doch am Ende entschloss ich mich dazu, ein eigenes, speziell auf den E-Sport Bereich fokusiertes CMS zu erstellen. Clansuite war geboren.
Mein Entschluss lässt sich auf den Spaß am PHP-Coden, den enormen Lernfaktor bei der Erstellung eines CMS und die Lust, etwas eigenes auf die Beine zu stellen zurückführen.

Mein Ziel ist, ein einfach zu handhabendes, community-getragenes, freies CMS bzw. Portal System zu erstellen, welches auf die grundlegendsten Bedürfnisse der Verwaltung von E-Sport Teams, Sportmannschaften und Vereinen Rücksicht nimmt und dabei neuere Webtechnologien einsetzt.

Ich möchte darauf verzichten, unzählige positive und hervorhebenswürdige Eigenschaften unter einen hochtrabenden Begriff wie Entwicklungsphilosophie bei der Programmierung dieses CMS zu subsumieren. Für mich und meine Arbeit an diesem Projekt gelten vielmehr folgende Leitlinien: Einfachheit, Übersichtlichkeit, Anpassbarkeit bei nachvollziehbarer und solider Dokumentation.

Projektgeschichte & Entwicklertagebuch

Herbst 2005 - Mai 2006

Die Planungsphase mündet in die Umsetzung eines organisatorischen Rahmens für die Entwicklung.
Es wird die GPL als Lizenz bestimmt, denn Clansuite soll Open-Source sein.
Als Entwicklungsort des Projekts diente zunächst das CVS bei Sourceforge, später erfolgte dann der Wechsel zum schnelleren und SVN bietenden GNA-Host. Zahlreiche mir bis dahin unbekannte gebliebene CMS und Clanscripte werden getestet und grob auf Funktionen und Aufbau geprüft. Meine ToDo-Liste füllt sich.

Nebenher schlage ich im Forum des bxcp Clanscripts einige Features vor und komme prompt mit dem Chefentwickler Hajo ins Gespräch. Es schließen sich unzahlige ICQ-Chats über mehrere Monate an. Hajo schlägt darin eine Zusammenarbeit vor. Ich berichte über mein Fortkommen im Bezug auf Clansuite. Wir breiten Ideen aus und kommen in einigen Belangen recht schnell auf einen gemeinsamen Nenner. Jedoch findet der von mir bis dahin entwickelte Source keinen Gefallen, denn ich verwende durchgehend ein Classes-Konzept und beziehe auch 3th-Party Classes mit in die Entwicklung ein. Hajo's Bxcp-Script basiert bis zu diesem Zeitpunkt rein auf Funktionen, demnach steht die Verwendung von Classes im Widerspruch dazu. Und so steht natürlich auch der Verwendung von 3th-Party-Classes ein gesundes Mißtrauen gegenüber, man möchte doch lieber alles aus eigener Hand erschaffen wissen und die Kontrolle über alle Schnittstellen und Funktionanlitäten haben.
Dennoch schlägt er eine gemeinsame Neuentwicklung unter dem Namen Clansphere vor. Angedacht ist, die schon erarbeiteten Bausteine aus beiden Scripten wieder zum Einsatz kommen zu lassen.

Clansuite bekommt mit Smarty eine neue Templateengine. Das alte, durch Philipp v. Criegern erstellte und schon seit längerer Zeit nicht mehr weiterentwickelte System namens SmarterTemplate fliegt raus (http://www.phpclasses.org/browse/package/1032.html).Die Umstellung war innerhalb von ein paar Stunden erledigt, denn die Engines stellten sich als relativ artverwand dar und folgten auch den gleichen Template-Konstruktionsprinzipien. So sind beide modular aufgebaut und verfügen über ein Caching System. Dennoch mussten zahlreiche kleinere Änderungen an den einzelen Templatefiles und am Core vorgenommen werden. (PS: Das SmarterTemplate-System wurde aufgrund der enormen Performance im Sommer 2006 auf Sourceforge wiederbelebt, schlief jedoch nach einiges Bugfixes mangels Interesse und Nutzung wieder ein.) Der Umstieg auf Smarty stellte sich, obwohl die Classes recht monolithisch daherkommen, als guter Schritt dar, denn man konnte auf eine bestehende und große Community bauen.

Bis Ende Mai 2006 stand das System mit funktionsfähigem News-Modul und Gästebuch.
Dem Core fehlte jedoch immernoch das bereits detailliert ausgearbeitete Rechtesystems.

Juni 2006

Eine Zusammenarbeit zwischen Hajo und mir soll nun doch stattfinden. Der Projektname soll "Clansphere" lauten, denn Hajo hat diesen bereits auf bxcp als Nachfolgeversion beworben. Ich stimme unter dem Vorbehalt einer Open-Source-Entwicklung zu.

Hajo macht mich im Rahmen unserer Ideen-Gesprächsrunden mit Florian Wolf aka xsign.dll bekannt. Florian hatte zuvor zahlreiche Sicherheitslücken am bxcp entdeckt und entsprechende Bug-Meldungen mit Patches an Hajo gesandt und wollte seine Kenntnisse im Sicherheitsbereich von Anfang an in ein neues CMS einfließen lassen.

Das Projekt wird bei GNA unter dem Namen "clansphere" gehostet. Eingetragene Entwickler sind xsign, hajo und vain.

Die gemeinsamen Schritte und Aufgaben besprechen wir im Clansuite Board, welches mir bis dato lediglich als Ideenablage diente.
Es folgen detaillierte Ausführungen zu bestimmten Core-Classes und Modulen analog zu dem bereits im SVN befindlichen Source. Die Aufgabenzuweisungen erfolgen mittels der GNA-Entwicklertools.

Wir beginnen bei Null - gefolgt von zahlreichen Commits in das Clansphere SVN.
Florian stampft innerhalb von 2 Tagen und nur kurzer Sichtung meines Clansuite Codes eine Basis für Clansphere aus dem Boden und macht den "Initial Commit".

Es wird am Core geschraubt. Smarty wird wieder implementiert, Fehlerbehandlung, Eingabefilter, Mailer und Captcha eingebaut.

Hajo möchte seine Arbeit vom bxcp einfließen lassen und die Aufgabe übertragen bekommen, den PDO basierten Db-Layer zu erstellen. Die schnell begonnene Entwicklung kommt jedoch ins Stocken, denn der Db-Layer kommt nicht.

Mitte Juni erstellen wir den Layer selbst. Hajo fühlt sich übergangen und vor vollendete Tatsachen gestellt, als er ein gefülltes GNA-SVN vorfindet. Wir können das nicht nachvollziehen und fordern zur Zusammenarbeit auf. Ein Code-Commit erfolgt jedoch nicht.

Wir beschließen erstmal ohne Hajo weiterzumachen, da er immo nicht an einer produktiven Zusammenarbeit interessiert zu sein scheint. Auch treten Meinungsverschiedenheiten im Bezug auf die Open-Source-Lizenz und den von Beginn an offen verfügbaren Source auf.

Den von Hajo beworbenen Projektnamen "Clansphere" möchten wir nicht streitig machen und moven den bis dahin entwickelten Sourcecode in ein neues SVN-Repository namens "Clansuite". Mein Source landet im Branch als "Clansuite-Pre".

Die Entwicklung wird nun im 2 Mann (xsign, vain) Dauerbetrieb fortgesetzt.

Juli 2006

Der Adminbereich bekommt ein db-basiertes Javascript Menü, welches sich alsbald als große Hilfe bei der Aufgabenverwaltung herausstellen sollte, denn die eingetragenen Menüpunkte bilden die zu entwerfenden Funktionen und Classen ab. Wir versuchen uns an Pflichten- und Lastenheften, Todo-Lösungen ala Mantis, PhpBugtracker, Flyspray und Bugzilla werden begutachtet. Flyspray begleitet seither unseren Weg, auch als später der Aufgabenverwaltung bei GNA die größere Rolle zukommt.
Der Modulmanager geht ins SVN.

Ein Grafiker wird gesucht.

15. Juli 2006 - Clansuite.com geht Online.
Es erfolgt der Umzug der alten Seite und des Boards, die bis dato als Untersteiten meines Clans gehostet waren.

Die Erstellung der internen Online-Demoversion von Clansuite wird automatisiert.
Dazu wird die letzte SVN Version manuell per Update-Skript bzw. per zeitgesteuertem Cronjob aus dem SVN auf den Webserver geholt. Die Demoversion repräsentiert nahezu immer den aktuellen Entwicklungszustand, er kann also "live" verfolgt werden.

August 2006

16. August 2006 - Wir freuen uns, mit Björn Spiegel aka Freq77, einen neuen Mitentwickler gefunden zu haben. Auf gute Zusammenarbeit.
Freq77 commitet das Modul Shoutbox.

21. August 2006 - Die Google Group ClanSuite.com wird ins Leben gerufen und ein RSS/Atom Feed zur Verfügung gestellt. Im IRC füllt sich langsam aber sicher der Channel #clansuite mit einigen Bots. Der Public CounterStrike Source Server beschert uns tägliche Besucher auf der Website. Der Google PageRank beginnt in die Höhe zu schießen und selbst laut Statistik kommen die meisten Besucher von dem Schlagwort "BXCP 0.3" auf die Clansuite Seite. Der Rank für das Stichwort "ClanSuite" beträgt endlich Platz 1. Die ersten Eggdrops werden auf dem Rootserver installiert.

25. August - clansuite.net, clansuite.org gehen online - Verhandlungen über clansuite.de

September 2006

Anfang September wird das Rechtesystem basierend auf Usern, Gruppen, Rechten und Areas implementiert.
Ebenso werden die Kategorien verwaltbar und damit Zuordnungen möglich.

Die Module Shoutbox und Filebrowser haben den Bedarf einer einheitlichen und wiederverwendbaren Ajax-Lösung aufgezeigt.
Es wurden verschiedene Ajax-Bibliothek bzw. Frameworks angesehen und auch probeweise implementiert. Das im Clansuite-Pre Kategorienmanager eingesetzte Sajax findet keine Wiederverwendung. Die Wahl fiel auf die Ajax-Bibliothek "Prototype", welche im Zusammenspiel mit "Behaviour" overhead-freie, schlanke Templates entstehen lässt und durch Effekt-Bibliotheken ergänzt werden kann.

Es entsteht das Modul Serverliste. Hierfür wurde die nicht mehr gepflegte Gameserver-Query Schnittstelle "gsQuery" geforked.
Innerhalb dieses Projekts wird sie unter dem Namen "csQuery" weiterentwickelt und steht als Bibliothek separat zum Download.

Oktober 2006

Es wird eine Entwicklungspause zum Semesteranfang eingelegt.
Der Corebereich Modulverwaltung wird dahingehend überarbeitet, neben Modulen auch dazugehörige Submodule zu unterstützen.
Das Modul StaticPages erhält eine Overview Funktion, um den Überblick über sämtliche, bereits erstellten statischen Seiten zu gewähren.

November 2006

Die Überarbeitung der Modulverwaltung im Hinblick auf Ajax-Funktionalität zieh sich in die Länge.
Nebenher entsteht das Modul Users-on-Googlemap, welches die Benutzeraddressen auf der Google-Weltkarte anzeigt.
Der Installer wird begonnen.

Dezember 2006

Am 8. Dezember 2006 verzeichnet das Projekt 13 registrierte User im Board und 3797 Besucher auf der Projektwebseite seit April  2006.

Januar 2007

Arbeiten am Modul News und der Paginierung.
Modifikation des Webinstallers. Import/Export von Modulen verfeinert.
Settings Verwaltung erstellt und mit fluchendem Getobe weiterprogrammiert *g*.
Clansuite.com verzeichnet mittlerweile täglich im Schnitt 50 Besucher, welches wohl hauptsächlich durch die guten Rankings in den Suchmaschinen herbeigeführt wird.
Die Hilfe wurde ajaxified.

Februar 2007

News-Paginierung als Beispiel für die anderen Module abgeschlossen.
Settings-Verwaltung verfeinert.
Kleinere Xhtml Fixes(unclosed tags, etc.), vorallem am Menü. Fckeditor updated.

9. Februar 2007 - Umfangreicher Commit der "Leer"-Module: articles, download, forum, gallery, guestbook, messaging, replays

Static Modul verschoben und in StaticPages umbenannt.
Erweiterung des Tablegrid auf User-Profildaten.
Arbeiten am Messaging Modul.

13. Februar 2007 - Wir begrüßen Tino 'vyper' Goratsch als neuen Entwickler im Team.
Vyper submittete sogleich zahlreiche xhtml Fixes und arbeitet an einem neuen standardkonformen Template namens "accessible".

TrailStop hinzugefügt um zu verhindern, das der trail beim wrapped-tpl ergänzt wird.
*_ROOT Defines in ROOT_* umbenannt - um die logische Struktur der Verzeichnisse besser abzubilden.

16. Februar 2007 - Maintenance Modus hinzugefügt. Anschließende Restrukturierung der index.php um die Output-Differenzierungen (Maintenance, Admin, Login, Normal, Wrapped) abzubilden.

Die Debug Console wird überarbeitet. Das Modul Static wird zu Staticpages umbenannt.
Das Adminmenü mit Icons ist nun wider xhtml-konform und erhalt das zusätzliche Attribut "right_to_view", um zu bestimmen, ob ein Link für den Nutzer sichtbar ist oder nicht.
Die User-Profilverwaltung wird erweitert.

20. Februar 2007 - Einige Webserver-Statusinformationen werden integriert. So stehen ab jetzt die Funktionen {memusage} {serverload} und {gzipcheck} zur Verfügung.

23. Februar 2007 - Nachdem testweise die brandaktuelle Version des SmartyDoc Plugins verwendet wurde, kehren wir aus Overhead und Performance Gründen zu einer älteren Version zurück. Meine Optimierungsvorschläge teile ich dennoch den Mitgliedern des Smarty-Forums Boots und Brettz9, der das Plugin geforkt hat und nunmehr für die weitere Entwicklung zuständig ist, mit. Einige der Feature aus diesem neuen Plugin, wie zB die docraw movements aus sub-templates in den Head des wrapper-templates werden per hand in die alte Version eingepatcht.

Der Plugin-Test zeigte uns ebenfalls Validierungs-Probleme im Bereich der Dokumentenübermittlung im Falle von xml/xhtml doctypes an. Wir einigten uns daraufhin, den Doctype nicht zu übermitteln (d.h. der Browser wird nicht in diesen Interpretationsmodus gezwungen), jedoch annährend xhtml 1.0 zu entwickeln.
Dadurch obliegt die eigentliche Validierungsaufgabe dem Enduser. Dies scheint auch das gängige Verfahren bei anderen CMS zu sein, da die korrekte Übermittlung des Doctypes nicht auch zur korrekten Interpretation auf den verschiedenen Browsern führt.

26. Februar 2007 - Es wird eine Klasse für den BBCode ergänzt. Damit stehen nun Textformatierungen zur verfügung. Die Klasse kann durch den User ergänzt werden. Desweiteren einigen wir uns darauf, anstatt eines eigenen BB-Codes für das Element (code), eine eigenständige 3th-Party-Class einzusetzen. Die Wahl fiel dabei auf GeShi. Somit steht Code-Highlighting für zahlreiche Programmier- und Scriptsprachen zur Verfügung.

März 2007

Anfang März - der Webinstaller wird nochmals überarbeitet.

Am 16. März 2007 verzeichnet das Projekt 11 registrierte User im Board und 11434 Besucher auf der Projektwebseite seit April  2006.

19. März 2007 - Nach längerer Zeit der Inaktivität verlässt Björn Spiegel aka freq77/firstlord das Entwicklerteam. Er möchte eigene Projektideen verwirklichen bzw. sich anderen Hobbys widmen. Rotor hingegen erklärte sich erneut bereit an einem Public bzw. Admin Template zu arbeiten, man darf also gespannt sein.

20. März 2007 - Meine Vorschläge zur Optimierung des SmartyDoc Plugins fanden Zuspruch bei den Entwicklern. Nach einigem Gedankenaustausch über die Fortentwicklung, betreue ich in Zusammenarbeit mit Brett Zamir das SmartyDocB Plugin als eigenständigen Fork auf Sourceforge.
Den Anfang meiner Arbeit bildeten umfangreiche PHPDocumentor-Style Kommentierungsarbeiten und einige Code-Style Änderung in Richtung Pear-Coding-Style Syntax, sowie eine Reduzierung der Größe des 1-File Multi-Plugins durch aufteilung in mehrere Dateien. Die Arbeiten an Clansuite gehen ebenfalls im Bereich Kommentierung weiter, so werden die Comments schrittweise auf die besagte phpdoc Formatierung umgestellt, um die automatische Developerdokumentation zu ermöglichen.

24./25. März 2007 - Die Dokumentation zu SmartyDocB steht nun unter http://smartydocb.sourceforge.net/docs/documentation.xml bereit.

Zwischendurch und ganz nebenbei wurde die 3th Party Software aktualisiert: Smarty liegt nunmehr in Version 2.6.18 vor. Und Vyper aktualisierte auch den WYSIWYG-FCKeditor auf die Version 2.4.1 vom 20.März 2007. Die angestrebte Aktualisierung der Ajax-Klassen brachte einige Bugs hervor. Scheinbar gibt es nun ein Rekursions-Problem im Zusammenspiel von Prototype und script.aculo.us bzw Prototype und XulMenu. Wir werden sehn, wie die Community das in den Griff bekommt. Und solange bleiben auch alle alten Ajax-Versionen erhalten, in denen diese Fehler nicht auftraten.

Modul News und Gästebuch werden bearbeitet.

28. März - Installer updates
Nach mehreren Anfragen von Entwicklern, haben wir versucht den Installer etwas voranzutreiben. Es fehlt natürlich noch der Multiple Choice um später beim installieren Plugins/Module auszuwählen, aber bei grade mal ein Dutzend Modulen ist das auch (noch) nicht notwendig.

Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 554

One-Man Team


« Antworten #1 am: April 24, 2007, 05:00:44 »

April 2007

31.März/1. April - In den beiden letzten Tagen konnten wir einige sehr nützliche Ergänzungen durchführen. So setzen wir nun bei vielen Eingabemasken des Adminbereichs, aber auch bei einigen Edits des Frontends, auf Ajax-Windows oftmals auch in Kombination mit dem FCKEditor. Auch das Ajax-Kompatibilitätsproblem konnte in Wohlgefallen aufgelöst
werden.

Das Modul Board wurde begonnen und die Arbeit an den Modulen News und Guestbook durch die Vervollständigung der fehlenden Grundfunktionen im Adminbereich abgeschlossen.
In der Verwaltungsschnittstelle der Module wurde die "Show & Edit" Whiteliste überarbeitet. Dem Zugang zur Hilfe wurde, nach 5 stündiger Rumspiel&Ausprobier-Operation mit diversen Ajax-Effekten ein vernünftig aussehender FadeIn/FadeOut verpasst. Der Website-Messenger wurde überarbeitet.
Insgesamt sind wir sehr zufrieden mit dem Look&Feel, der sich durch die neuen Ajax-Features ergeben hat.

Einige grundlegende Systemvariablen wurden umbenannt, um eine einfachere Handhabung zu ermöglichen. So sind die Pfadvariablen nun auch nach der Reihenfolge, der in ihnen enthaltenen Pfade benannt.

2. April - Theme- und Languagewechsel sind nun sowohl durch Uservariablen mit Fallback auf die allgemeine Konfiguration als auch durch URL Parameter ?lang und ?theme möglich, um Schnellwechsel zu ermöglichen. Die Standardisierung der Languagefiles wurde begonnen.

10.April - 19.April: Kurz vor dem anstehenden Release wird das Design der Website clansuite.com erneuert: und so gibt es ein neues Logo, ein neues Seitenlayout und einige mootools-Menüeffekte zu bestaunen.

Unser erster Release erfolgte am 19.April. Es ist eine Schnupperversion für Entwickler und interessierte Projektbeobachter. Diese Version ist ausdrücklich nicht für einen public Einsatz geeignet. Vielmehr dient sie dazu, einen Überblick über Core und Module, sowie generellen Aufbau des CMS zu gewinnen. Wir hoffen auf diesem Wege, einige tatkräftige neue Entwickler zu finden.

29. April 2007 - Der Core erhält eine Benchmarking Klasse. Damit ist es nun möglich je nach Gusto Zeitmessungen während des Applikationsablaufs durchzuführen. So messen wir standardmäßig die gemsamte Ausführungszeit bis zur Darstellung im Browser, sowie die Aufbauzeit für die Templates.

Ebenfalls wird das Modul Userlist erstellt, um Überblick über registrierte User zu erhalten.

Mai 2007

Die Arbeit am Modul Board geht nur langsam voran. Testhalber werden SessionCountdown und Who's Online eingebaut. Das Modul Calendar wird begonnen. Im Zuge dessen wurde der bekannte JSCalendar von Mihai Bazon auf der Frontpage ergänzt und um einen Termindatenrequest mittels Ajax erweitert.

Nach einer unliebsamen Werbeaktion in den einschlägig bekannten Clan-Communities (webspell, devilcp, cmpro) meldeten sich zwei neue User (crimson und rony) mit Featurewünschen im Board. Crimson schlug ein Remote-Administrationstool auf Basis von XML-RPC Webservices vor. In der Entwicklung gehen wir etwas über den Wunsch hinaus und stellen die Daten sowohl als XML als auch als JSON zur Verfügung. Die Entwicklung des Remote-Admin-Clients möchte Crimson selbst übernehmen. Dem haben wir nichts entgegen zusetzen - Willkommen an Bord.

Nachdem uns soviele Gäste beehrt haben, blieb auch konstruktive Kritik am Installationsablauf nicht aus. Wir werden den Installer dementsprechend abändern, um die Installation noch einfacher und übersichtlicher zu gestalten.

9. Mai 2007 - Da es uns chronisch an fähigen Grafikern bzw. Designern mangelt, freuen wir uns umso mehr, dass wir Sebastian Gossmann aka Sebel-Design im Team begrüssen dürfen. Er möchte neue Themes entwickeln und Logos, sowie Icons entwerfen. Willkommen im Team!

10.Mai 2007 - Die Darstellung der Webseite clansuite.com wird nochmals bearbeitet und etwas nach rechts verschoben, um Platz für ein AdSense-Banner zu schaffen. Auch das SMF-Board wurde etwas modifiziert: die "Spiders from Mars" werden nun auch beim Namen genannt und ihr Erscheinen angezeigt. Nun wissen wir also, wer unsere Gäste wirklich sind.

11. Mai 2007 - Die Datenbankabfragen werden nun auch "gebenchmarked". Somit können wir nun Zeitmessungdaten zu jedem einzelnen Query liefern und auch die Gesamtzeit für Datenbankoperationen bestimmen.

Die Forum-Statistiken: 357 Beiträge in 70 Themen von 17 Mitgliedern.
Die Projekt-Webseite verzeichnet zwischen 40 und 50 Unique-Visitors am Tag, bei Gesamtvistorzahl von 13684 seit. 04-2006.

18. Mai 2007 - Florian aka xsign.dll geht in eine studiumsbedingte Sommerlernphase, denn für ihn stehen einige wichtige Prüfungen an. Florian's Statement: "So, die bekannte studiumsbedingte Sommerlernphase steht ins Haus. Im letzten Semester blieben einige Prüfungen auf der Strecke. Die möchte ich jetzt in Angriff nehmen.
Soll heißen: Ich werde eine Programmierpause einlegen, bis die Prüfungen überstanden sind!"

Die Grundstruktur der Anwendung wird in wesentlichen Punkten überarbeitet.
Erstens hat der Versuch Webservices einzurichten gezeigt, dass ein flexibles Verfahren im Bereich Output, also ein View-Controller gebraucht wird. Zweitens hat sich der Aufruf von Modulen via call_user_func_array als eine üble Performancebremse erwiesen, die unbedingt gelöst werden muß. So, nun bitte keine weitere Absichtserklärungen und nicht wundern, wenn die inkrementellen Commits ausbleiben.

Juni 2007

08.Juni 2007 - Webinstaller und Installer überarbeitet.
15.Juni 2007 - Die erste Phase der Umstellung auf Objekte ist abgeschlossen.

An dieser Stelle trennt sich nun die Spreu vom Weizen:
Denn hier ist Schluß mit Spaghetti-Code-Scripting! Schluß auch mit rein prozeduralem, inkrementellem Script-Gestricke, dass sich kaum wiederverwenden lässt.

Um meinem Wunsch zu entsprechen, möglichst modular zu entwicklen, entwerfe ich das System anhand einfacher OOP Entwicklungsmuster vollständig neu.

Ab jetzt heißt es also gegen Interfaces zu programmieren. Entstanden sind Registry, Config mit ArrayAccess, Request & Response sowie ein Frontcontroller mit Filtermanager für Vor- und Nachfilter und dazugehörigem ControllerResolver. Die Umstellung der Module auf Interfaces, die Anpassung der Vor-/Nach-Filter und das Templating fehlen nun noch.

Juli 2007

Die zunächst einfach zu handhabende Registry-Lösung erweist sich als reine Problemverschiebung. Die GLOBALS weichen nun einem Registry-Fetching, wobei der
Gewinn lediglich im Einhalten der oo-Kapselung besteht.
Diese Art der Abhängigkeitsauflösung erscheint zwar in der Anwendung einfach, mir jedoch nicht flexibel genug.

August 2007

10.August 2007 - Eine kurze Befragung von Rotor und Vyper ergab, dass weiterhin Interesse am Projekt besteht.

Rotor möchte das Logo überarbeiten. Die dafür erforderlichen Bilddateien werden ins SVN gestellt.

Ende Juni einigten Florian (xsign) und ich uns darauf, ein Entwicklertreffen bzw. eine Entwicklerwoche in den Semesterferien einzulegen. Das Treffen war für den 15. bis 21. August geplant, fand letztlich mangels Cash nicht statt. Geplant war, die Umstellung auf Objekte nochmals detailiert zu besprechen und gemeinsam zu verfeinern.

Der Installer wird nochmals überarbeitet und auf Multi-Language Unterstützung umgestellt.
Er verwendet das Design der Clansuite-Webseite. Fortschrittsbalken in Prozent und Sprachtoggle werden eingefügt. Vyper erledigte die XHTML-Korrekturen.

Für die automatische Generierung der Entwicklerdokumentation wird nun "phpxref" neben "phpdocumentor" eingesetzt. Wurde bislang die Dokumentation nur unter Windows manuell erstellt, wird jetzt ein Cronjob unter Linux dafür eingesetzt, nachdem die erforderlichen Konfigurationsdateien erstellt wurden.

Um einen "gleichbleibenen" Entwicklungsrahmen zu gewährleisten und einige der wiederkehrenden Aufgaben im Entwicklungsprozess zu bündeln, wird eine Aufgabenliste für das php-gestützte Buildtool Phing erstellt.

15.August: Während ich die Clanscripte/CMS - Liste mit neueren Versionsdaten aktualisierte, musste ich mit Bedauern zur Kenntnis nehmen, dass Roland Ernst's "CMPro", eines der langlebigsten PHP-Projekte für Clans nunmehr mangels "Zeit der Entwickler" beendet wurde.
Nach Anfrage bei wcm|Tweety, einem der Entwickler, wurde mir gestattet im Forum der CMPro-Community auf Clansuite hinzuweisen und nach Projektinteressierten zu fragen.
Bleibt abzuwarten, wie die Resonanz ausfällt.
 
17./18. August - Die 3th Party Libraries wechseln ihr Verzeichnis und werden von /core/ nach /libraries/ verschoben. TRUE/FALSE wird durch true/false ersetzt.

Die selbstgestrickte Registry für Objekte weicht einem Dependency Injector.
Nachdem zunächst mit Markus Baker's Phemto experimentiert wurde, einem DI, der die Type-Hints im Klassen-Constructor ausnutzt, um die Abhängigkeiten aufzulösen, kamen wir nach kurzer Beratung schnell zu der Auffassung, dass aufgrund besserer Dokumentation eher der aus der Java-Welt bekannte PicoContainer eingesetzten werden sollte.
Der dadurch eingeschleppte Overhead ist angesichts des Flexibilitätsgewinns verschmerzbar.

18./19. August - Der "View" bekommt eine Viewfabrik spendiert, die nun je nach Vorgabe des Modulcontrollers bzw. der Modulmethode eines der View-Objekte (smarty, json, xml, php) zurückliefert.

Florian fixes essential Security-Flaws in Clansphere.   Cool
Florian Wolf stellt fest, dass er unbedingt mehr Taschengeld braucht. Die Aktion "Aktion: Geld für Sicherheit!" des Clansphere Teams kam da gerade recht: Wer einen sicherheitsrelevanten Fehler in ClanSphere meldet, der bekommt pro Fehler 5 Euro. Am Ende des Tages waren die Clansphere Jungs rund 50€ ärmer und Flo mit seinem Nebenverdienst für ne gute Stunde Arbeit recht zufrieden. Einige Bugs hat er sich dennoch aufgehoben, er hofft wohl auf die nächste Aktion mit 10€ pro Bug. Augen rollen Ich hab mich über die Art der Fehler gewundert und über den kleinen Geldsegen bei Flo gefreut, denn so hat das Clansphere-Team ungewollt Florians Reisekosten für den nächsten Besuch bei mir gedeckt.

Ende August: PicoContainer und zyklische Dependencies in unseren Core-Klassen machen mich wahnsinning und bescheren dem Apache gewaltige Memory Leaks. Das sollten die Jungs im PHP Team schleunigst in den Griff bekommen - soweit ich gesehen hab gibts bereits einen nicht gerade kleinen Patch dafür. Pico wird (auch auf der Jagd nach Oma's Performance-Pfennigen) nochmals gegen Phemto ausgetauscht.

September 2007

07-08.09.2007: Entwicklertreffen in Jena
Nach unserem ersten persönlichen Treffen kann ich nun sagen: wir haben tatsächlich gearbeitet und was geschafft Lächelnd aber auch geraucht, gesoffen und gelacht, viele Vorträge vom 23c3 angesehn und natürlich das weitere Vorgehen im Hinblick auf Clansuite besprochen.

Die Korrektur des Errorhandlers wurde begonnen.

09.09.2007: Die Änderungen der letzten Monate gehen ins SVN.
Ab hier dürfte nun wieder mit inkrementellen Commits zu rechnen sein.
Und wir beginnen die Umstellung der Module.

23.09.2007: Releasetermin für Clansuite Version 0.2 "Majorian"
24.09.2007: Der Releasetermin konnte nicht gehalten werden. Ich versuche die erforderlichen Punkte für v0.2 gemäß Roadmap abzuarbeiten und dann zu einem schnürbaren Paket zu kommen. Ich bitte die Verzögerung zu entschuldigen und zur Kenntnis zu nehmen, dass ich seit einiger Zeit ohne Mithilfe arbeite.

25.09.2007: Arbeit am Installer
26.09.2007: csQuery wird vom Modul Serverview zu den Libraries gezogen
27.09.2007: Basisverzeichnis für das Handbuch angelegt /trunk/doc/clansuite_manual/book


Oktober 2007

05./06./07.Oktober 2007: Arbeit an neuen Favicons, sowie zwei ToolbarIcons.

Clansuite Community/Developers Firefox-Toolbar begonnen.
Menüstruktur übersichtlicher gestaltet, Icons hinzugefügt.

Rumgespiele mit Kompression: ob_start, gz_handler, zlib.output_compression, mod_gzip,mod_deflate. gzip_encode Library hinzugefügt. Ich frage mich, warum ein angebliches Top-System wie Typo3, eine so merkwürdige Klasse zum gzippen braucht. Das kann der Webserver doch viel besser allein. Für die anderen sei das Ding an Bord. PHP5 ist es jedenfalls nicht: werd ich dann wohl mal umschreiben müssen. Kleine Gzip-Leistungsanzeige von Kaspar gemopst. Er wird bestimmt nicht böse ein. Grüße ans Typo-Team.

Ein "headers already sent" - Error brachte mich zum Haare raufen: "clansuite.config.php:1".  :'(   Traurig  Schockiert
Line 1 also, aha. "<?php". Hmm. WTF! Gelöscht, neu geschrieben. Error! Es hat Stunden gedauert, bis ich finally in den Hex-Modus gewechselt bin und mir schlagartig das Byte-Order-Mark der UTF8 auffiel. Und ich dachte immer bei UTF8 sei das egal, ist es wohl auch, nur PHP5 nicht! Hoffen wir mal das diese groben Lästigkeiten in der Errorsuche mit PHP6 verschwinden. Auf der Liste stehts jedenfalls! Gebt Gas, Wez und all die anderen.

09.Oktober 2007:
Weiteres rumgespiele mit gzip Kompression, diesmal aufm clansuite.com webserver. Weite Config-Wege gelaufen. Aufm Clansuite.com Apachen endlich mod_deflate eingestellt bekommen. Alles viel besser nun - und vorallem kleiner. Gott sei Dank - der Ddos kann kommen!

15.Oktober 2007:
Florian Wolf aka xsign.dll hat das Projekt leider verlassen. Die Führung des Familienbetriebs geniesst natürlich Priorität. Da bleibt nur übrig, viel Erfolg als Unternehmer und gute Geschäfte zu wünschen.
Florian's Statement:
Zitat
also...kurz und knapp:
ich hab jetzt den familienbetrieb übernommen und werd mich erstmal darum kümmern.
muss derzeit wirklich prioritäten setzen und auch wenn es mir im herzen weh tut, dass projekt zu verlassen, muss ich es trotzdem tun, bis sich hier alles wieder beruhigt hat.
ich hoffe inständig, dass du weiter entwickelst! Denn du machst einen sau guten job wie ich finde, und 1 jahr arbeit für nichts wäre auch nicht in meinem sinne.

20.Oktober 2007: Arbeit am Installer - insgesamt minimale Veränderungen an den Files; dd/dt-Elemente zu ol/li-Elementen umgebaut; einige neue Beschreibungssätze mit Übersetzungen für de_DE und en_UK eingefügt.

21.Oktober 2007: Clansuite Community/Developers Firefox-Toolbar verfeinert; hinzugekommen ist der ViewToggle für die Toolbarelemente, denn nicht jeder Nutzer braucht die Menüs der Entwicklerlinks bzw. -werkzeuge.

22.Oktober 2007: SVN Properties für das halbe Projekt gesetzt. Damit alle mit den gleichen Subversion-Settings arbeiten könnnen, hab ich meine SVN-Config eingecheckt. Dito für SVN-Keywords.

Eine externe Datei als Keywordvariable zuzuweisen scheint nicht zu gehen. Gemeint wäre sowas wie: clansuiteversion.txt ist SVN-Keyword "$clansuiteversion$". Zu Schade.

28.Oktober 2007: Die Clansuite Toolbar geht ins SVN. Damit hat die Toolbar für mich persönlich schon den gewünschten Bündelungseffekt erzielt - nämlich alle Projektlinks die ins Web führen anzubieten und alle lokalen projektrelevanten Webserver-Verzeichnise direkt ansteuern zu können. Wer dazu weitere Ideen hat, schreibt in das Toolbar eigene Topic. Zeit das Ding zu testen.

30. Oktober 2007: Smarty Plugin Verzeichnisse aufgeteilt. Neben das Smarty-Plugins Verzeichniss tritt nun ein eigenes "Clansuite-Plugins" Verzeichnis um Ordnung und Übersichtlichkeit zu wahren. Außerdem werden dadurch kommende Smarty Updates erleichtert.

Anfang November: Liebes Tagebuch...ich habe wieder eine Seite im Entwicklertagebuch vollgeschrieben und musste daher einen neuen Post beginnen - sei nicht böse. Dein Jens
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 554

One-Man Team


« Antworten #2 am: November 24, 2007, 05:03:09 »

November 2007

1.November: Clansuite Toolbar Einige spezielle Suchen hab ich mit aufgenommen. So kann man beispielsweise bequem unser Forum durchforsten oder bei Google, Koders oder Krugle nach Code und natürlich nach "random everything" in normalen Suchmaschinen suchen.
Für Entwickler dürften die Schnelllinks (3L) auf den lokalen Webserver hilfreich sein.
Ich erwische mich jedenfalls dabei, dort ständig draufzuklicken.

2.November: Hmm. Multi-Language CMS. Verdammte Axt! Alles nich so einach. Auch Xml is doof.
Kann kein Mensch lesen - auch ich nicht. Was nun, wie weiter?

Standardisierte Lösungen gesucht und auch gefunden: php unterstützt gettext. Prima, denn die Übersetzertools "kbabel" und "poedit" im Hinterkopf lassen mein Übersetzerherz höherschlagen.
Doch was, wenn ein Webserver kein gettext installiert hat? ("Höchst selten in diesen Tagen!", höre ich jemanden sagen. Tja, gute Frage?! Wer die genauen Statistiken dazu kennt, der möge sich melden.)
Dann muss ein gettext Emulator her- und der ist mit php-gettext auch schnell gefunden.

Smarty mit dem hervorragenden Gettext-Smarty-Plugin aufgepeppt. Es ergibt sich ein Parallelbetrieb: {translate} holt xml-übersetzungen und {t} holt mittels getext LC_MESSAGES in der jeweiligen Locale. Xml als deprecated markiert.

Es steht fest, einer der nächsten Renderer wird definitiv PHPTAL. PHPTAL den Libraries hinzugefügt.
Den Yaml-Parser Spyc den Libraries hinzugefügt - hauptsächlich für die Module Settings und Configs.

4.5.Novemer 2007: Arbeit an den Webseiten: GNA-Homepage: Redirect mit Logo Image versehn.
Webinstaller: Logo eingebaut. GNA-Downloads aufgepeppt: Der Directory-Index des Downloadverzeichnisses wird mit "Readme.txt", einer schrittweisen Installationsbeschreibung und "Header.html", die Styles und ein Logo einbindet, versehn. Leider hat Gna die eigenart diese Files zulöschen und durch eigene zu ersetzen.

Verfeinerungsarbeiten des Filters "language_via_url" und arbeiten an der Core Language Klasse.

Dokumentationstool eingerichtet und an Settings und Automatisierung gearbeitet. Was unter einer Linux-Shell ein Kinderspiel ist, dass artet unter Windows zum blutrünstigen Batch-Massaker aus.
Erstmal nur das Inhaltsverzeichnis erstellt und auf einzubindene Dateien gelinkt - später soll das ganze dann automatisiert ablaufen. Nicht gerade easy das ganze - hoffentlich geht das.


22.-24. November: Bum Zap Peng. HDD über den Jordan gejagt. Servercrash!
Und wie sollte es anders sein: KEINE BACKUPS. So what?  Schweigend
Wenn ich in diesen paar Tagen eines gelernt hab, dann, dass man immer ein Backup gemacht haben sollte. Hab ich auch... nur war das auch aufm dem Server. "Sehr schlau!" und "Idiot" höre ich euch sagen - ja, i know.

Anweisung an die Regie: Bitte an dieser Stellen die Tafel mit Murphy's Gesetzen wieder einblenden, wo es so schön heißt:
Zitat
Das allgemeine Backup-Axiom
- Ein Backup wird immer dann unlesbar sein (und nur dann), wo Du es benötigst
Ableitungen:
   1. Wenn Du das Backup zurückspielen willst, wirst Du festellen, dass die einzige Version von "Restore" auf der Platte (und nur dort) war, bevor Du sie formatiert hast.
   2. Das Backup-Programm wird die einzige noch verbliebene Sichrungskopie ohne Nachfrage überschreiben.
   3. Die wichtigsten Dateien liegen immer auf dem letzten, nicht auffindbaren Band.

Nunja! Dumm gelaufen. Welche Backups hatte ich noch lokal? Die halben und alten natürlich, klaro.
Aber von beidem nur ein bisschen. Wenn man ein wenig schlau ist, dann fällt einem das Internet ein.
Dort lässt sich bekanntlich alles finden. Auch meine verlorenen Daten?
Wer googlet mit mir um die Wette?

Ich musste an die Ort des Internets reisen, wo die Vergangenheit lebt, um meine wichtigen Post aus den untiefen des Datennirvanas zurückzuholen: Suchmaschinen-Caches. Waybackmachine. Archive of the Internet. Die dunkle Seite des Netzes.

Was wäre ich nur ohne die 3 großen Backup-Brüder namens MSN, YAHOO und GOOGLE - eine Datenrestauration wäre undenkbar gewesen. Schockiert
Die sonst so verschrienen Alleswisser und Allesbeobachter erscheinen in diesem Moment in einem anderen Licht - ich bin etwas dankbar, dafür, dass für mich verloren geglaubte Dinge aufbewahrt wurden. Danke, Ihr lieben Datenkraken.

Das Forum ist auf dem Stand von Mai 2007 - ergänzt durch einige Post im Entwicklertagebuch, dem Überblick über ClanCMS, dem Toolbar-Post und einigem mehr, aus den Untiefen.  Traurig

Website im SVN: Die Clansuite.com-Website ist nunmehr aus Sicherheitsgründen ins SVN eingecheckt und wird von dort gepflegt.

26. November: Reobackup aufgesetzt. Damit sich das Crash-Szenario nich nochmal wiederholt wurde Reobackup als Backup-Solution eingerichtet und als Cronjobs eingehängt. Die entsprechenden Config- und Startdateien hab ich ins SVN eingecheckt.

Dezember

05. Dezember: Einige Libraries auf svn:externals umgestellt.

08. Dezember: Modifiaktionen am php-gettext, die olle Library is nicht php5 strict. Mann, Mann.

10. Dezember: Das Clansuite eigene Benchmarking fällt weg. Das kann man besser mit einem externen Tool wie cachegrind machen. Die XML-Sprachdateien fallen weg, die localization Klasse verwendet nun gettext.

17. Dezember: Änderungen am Copyright: Flo wird aus den Dateien entfernt, an denen er nicht mitgearbeitet hat. Whitespace/Whiteline Aufräumarbeiten. 3th Party Libraries den Credits inzugefügt.
Versionsupdate: 0.2 alpha-dev

19. Dezember: Die Pfadkonstanten in der clansuite.init.php werden neu strukturiert. Erst die internen Pfad, dann die externen Webpfade, dann der ganze Rest.

20. Dezember: Die debug.class.php mit Smarty-Debug Infos wird removed.

Weihnachten steht vor der Tür.

24. Dezember: Frohe Weihnachten.

31. Dezember: Guten Rutsch.

Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 554

One-Man Team


« Antworten #3 am: Januar 05, 2008, 07:03:20 »

Januar 2008

1. Januar: Happy New Year!!  Grinsend URL-Rewriting in die htaccess eingefügt.

5. Januar: Der Smarty View Wrapper erhält weitere Adaptermethoden um auf das Smarty Objekt zuzugreifen. Damit steht über $view->methode ein abstrakter Adapter-Zugriff auf die jeweilige View-Library zur Verfügung. Das ganze wird auch im Interface so beschrieben, damit sich alle kommenden View-Wrapper daran halten.

Arbeiten am Frontcontroller->processRequest. Die Reihenfolge der Verarbeitung gefällt mir immernoch nicht.
Gegenwärtig wird aus dem modulController bestimmt, welcher View-Wrapper aktiviert wird und welches Template später im FrontController geladen werden soll. Wird kein View-Wrapper angegeben, so wird Smarty eingestellt. Wird kein Template angegeben, wird versucht auf Grundlage des Requests (mod/action) einen Templatenamen zu bilden und verschiedene Pfade zu durchlaufen, um das entsprechende Template zu finden. Die Reihenfolge der Pfade ist dabei: Pfad des aktuellen Themes, Pfad des Moduls, Pfad des Standardthemes.

10. Januar 2008: Der Frontcontroller erhält die Methoden getModuleName und setModuleName, um das angeforderte Module zu ermitteln. Arbeiten an der Toolbar: phpdoctrine Links eingefügt.

11. Januar 2008: AsciiDoc wird als Dokumentationstool für die Benutzerhandbücher aufgesetzt. Diese werden später automatisch aus den entsprechenden Ascii-Files generiert. Damit steht der Entwicklungsrahmen für die Handbücher und das Schreiben der Dokumentation kann beginnen. Überarbeitung einiger Copyright-Fileheaders im Bereich Shell-Files. Neue Toolbaricons hinzugefügt.

14. Januar 2008: Die Dateiheader wurden von "2k7 to 2k8" geändert. Smarty Block translate (xml) ist rausgeflogen und aus {translate} {/translate} wurde {t}{/t}.

15. Januar 2008: Die Toolbarmenüs gehen nun auch per Mouseover auf.

19. Januar 2008: Arbeiten an der Website: Eingefügt wurde ein sessionbasierter Sprachtoggle. Der Benutzer kann nun zwischen englischer und deutscher Version der Hauptseite auswählen. Ich hoffe dadurch mehr deutschsprachige Benutzer an das Projekt heranführen zu können.

27. Januar 2008: René Stalder aka "Nachtmeister" wird als Grafiker das Team verstärken. Die Karteileichen "rotor" und "xsign" habe ich aus der GNA Mitgliederliste gestrichen. "rotor" hat sich seit dem 14.12.2006 nicht blicken, lassen und auch keine Grafikarbeiten per ICQ erbracht. "xsign" hatte bereits vor längerer Zeit seinen Austritt aus dem Projekt bekanntgegeben.

Februar 2008

13.Februar 2008: Spyc aus den Libraries gedropped, denn Doctrine kann auch YAML verstehn.
PHPTal auch gedropped, zu späterem Zeitpunkt kann es wieder hinzugefügt werden.

14.Februar 2008: TOC (Inhaltsverzeichnis) dem AsciiDoc Manual hinzugefügt. AsciiDoc in die Toolbar aufgenommen.

15.Februar 2008: Pre-und Postfilter nun eigenständig. Filterinterface überarbeitet. Filter für Language und Breadcrumbs bearbeitet. AsciiDoc Manual restrukturiert. getLocale() der Language-Klasse hinzugefügt.

16.Februar 2008: Testing-Verzeichnis angelegt (simpletest). Und tsmarty2c.php, für die automatisierte Übersetzung, den Build-Tools hinzugefügt.

17.Februar 2008: PHP hat immernoch diesen verflixten SessionBug. Workaround eingerichtet.
PHPDoc Kommentierungen verbessert. Das Index Modul vom Schrott befreit, d.h. aufgeräumt und gleich noch den MVC Ansatz dort erklärt.

18.Februar 2008: Dem Errorhandler die Detection von SmartyErrors hinzugefügt. Templates-Verzeichnis in Theme-Verzeichnis umbenannt - gleichzeitig die Änderung sämtlicher Konstanten und Pfade. Shell-CMD für phpdoc hinzugefügt.

19.Februar 2008: Neue Methoden für die RenderEngines hinzugefügt: getTemplate/setTemplatePaths. Aggregation/Overloading geadded, für einfacheren Zugriff auf RenderEngine Methoden über die Render_Base.

21.Februar 2008: clansuite.xdebug.php aufgeräumt. Die meisten meiner Zeitnahme-Funktionen bringt Xdebug inzwischen selbst mit - daher werden sie nich länger benötigt. Dem Errorhandler die Anzeige von SmaryErrors hinzugefügt.

22.Februar 2008: Die Doctrine Initialisierung überarbeitet und dem DI zum Laden hinzugefügt.
Die beiden Buildfiles der Toolbar (bat+sh) aus dem eigentlichen komprimierten Build entfernt - die braucht der User nun wirklich nich.

26.-27. Februar 2008: Vyper hat das Accessible im Bereich JQuery überarbeitet, aktualisert und xhtml-Fehler ausgebügelt.

29.Februar 2008: Neue Headerbanner (by Nachtmeister) für die clansuite.com Webseite eingefügt. Sieht Prima aus!

März 2008

8.März 2008: Toolbar-Zugriff auf die lokalen Logfiles des Apache (errorlog/accesslog) eingerichtet (über das httpd/Apache Menü). Das meta-tag caching der Clansuite.com Webseite war abgeschaltet - völliger Unfug, den ich nie bemerkt habe.

10.März 2008: Installer bekommt Exceptionhandling verpasst. Fehler werden nun ordentlich formatiert dargestellt und können auch mit weiteren Erläuterungen angezeigt werden.

11.März 2008: Sicherheitslücke durch doppeltes unset der Globals gestopft (übernommen von Flyspray). Wie dieser Bug entdeckt wurde, würde mich mal interessieren...

10.-13.März 2008: Viel Zeit dabei verplempert,  eine Bridge vom SMF Board zum Flyspray Bugtracker mit User-Transfer und automatischen Login zu bauen. Geht leider immernoch nicht....

21.März 2008: Arbeiten am Installer: Security Handler und eine einfache unicode_converter() Methode eingefügt. Der Entwicklungskram aus dem "/branches" - Verzeichnis hat dort nichts zu suchen und landet in einem neuen SVN Dir namens "/at-dev".
Die nicht umgestellten Module aus dem "SVN-Trunk" landen in "/at-dev/clansuite-dev".

26.März 2008: Filter werden aufgeräumt und ordentlich kommentiert.

29.März 2008: Die allgemeinen Templatevariablen für den Smarty-View werden in eine eigene Methode verpackt ( assignConstants() ).

30.März 2008: Errorhandling wird überarbeitet und getBacktrace hinzugefügt.
31.März 2008: Wartungsmodus Filter hinzugefügt.

April 2008

2.April 2008: Der Clansuite-Header wird angepasst und landet im SVN. Der Smarty View erhält die nötigen Methoden, um Module aus dem Template herraus zu laden.

3.April 2008: Config erhält die Methoden read/writeConfig für ini-Files. Die Clansuite Phing Buildfile komplett überarbeitet. Doctrine Records hinzugefügt. Intruder Detection System in httprequest eingebaut. Zugriff auf das Adminmenü ermöglicht.

4.April 2008: Zahlreiche PHPDoc Kommentierungen und Verbesserungen. Bugfix im Installer (mit PHP5 Methoden auf PHP5 Version geprüft, wenn man nur PHP4 hat..). Bugfix im Sessionhandler. Verbesserung des ExceptionHandling. printR() Methode der xdebug-Klasse hinzugefügt.

6.April 2008: SMF2Flyspray Bridge landet im SVN. Breadcrumbs gefixt. Filter mit Security Handler ausgestattet. Verweis auf den Clansuite Installation Wizard im Webinstaller besser sichtbar gemacht.

9.April 2008: Case-Sensitivity Probleme mit dem ModuleController.class.php und Smarty behoben. Vyper hat die Hauptseite auf jquery umgestellt - läuft super; auch in der Erwartung ein Menüdarstellungsproblem mit dem IE7 zu lösen, aber Fehleranzeige.

10.April 2008: Eventmanagement Klasse geadded. Bugfix in der Vorlage-Datei für die Konfiguration (db_host/db_hostname).


April 2008

....
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 554

One-Man Team


« Antworten #4 am: Mai 27, 2008, 04:41:55 »

Mai 2008

27.05.2008: Trac installiert. Gna Subversion Repository wird mittels svnsync auf unseren Server gespiegelt. Trac verweist auf das lokale SVN - dazu einen Synchronisations-Cronjob aufgesetzt.

Juni 2008

02.06.2008: Umstellung des Bugtrackers von Flyspray auf Trac. Jeder der Bugs melden möchte oder Feature Wünsche hat, kann sie im neuen Bugtracker unter http://trac.clansuite.com/newticket eintragen.
Voraussetzung ist die vorherige Registrierung im Board. Die Logindaten des Boards gelten also auch für Trac!

Juli 2008

12. Juli 2008: Umstellung der Admin-Submodule auf normale Module, dadurch verbesserte Linkstruktur, denn es wird gleichbleibend "?mod=modulename&sub=admin" für den jeweiligen Adminbereich verwendet.

13.Juli 2008: Projekteinstellungen bei Sourceforge aufgeräumt.

x.Juli 2008: Build-Dateien aufgeräumt.

30.Juli 2008: Trac von 0.10.4 auf 0.11 geupdatet und die Templates wieder angepasst. Zwischenzeitlich "suphp.conf" nach versehentlicher Löschung wieder hergestellt - es gab also eine kleinere Serverdowntime was PHP-Scripte anbelangt.

August 2008

10.August 2008: Xsign hat für das Backend einen Modulecreator erstellt. Damit lässt sich die Grundstruktur eines Moduls nun bequem zusammenklicken.

September 2008

14.09.2008: Update von Trac auf die Version 0.11.1. Installation von Bitten.
18.09.2008: Die Arbeiten am Formhandling beginnen.
19.09.2008: Update von SMF auf 1.1.6.

Oktober 2008

6.Oktober 2008: Toolbar verbessert. Es wurde aufgeräumt.
* Ungenutzte Menüpunkte entfernt (zB Freunde einladen).
* Einige Fehlbenennungen der Menüpunkt und Mouseovers, die durch Copy'n'Paste entstanden waren, wurden berichtigt.
* Der Menüpunkt "httpd" wurde verändert: Die direkten Links auf das lokale Clansuite sind nun unter dem Menüpunkt "go to" erreichbar. Unter "httpd" verbleiben die Links für Datenbank und Webserververzeichnisse und -dienste.
* "httpd": Umbenennung der Links "/localhost/work" => "Working Dir" und "/localhost/work/clansuite" => "Clansuite Dir". Beide sind relativ zu den eingestellten Pfaden unter "Options".
* Menüpunkt "go to enthält nun auch den Link zum Converter. Zum Release-Zeitpunkt dieser Toolbar ist er jedoch noch nicht verfügbar.

29.Oktober 2008 bis 17.November: Arbeiten am Serverpack und am Converter.

November 2008

17.November 2008: Buildfiles für das "Clansuite Webserver Pack für Windows" committet.

20.November 2008: Clansuite Converter Part1 committet.

Dezember 2008

Anfang Dezember: Umbenennung von zahlreichen Files des Core. Die Startup Files sind nun im Ordner "bootstrap". = Nameskonvention für Corefiles. Sieht alles viel schöner aus.

3.12.2008: Rework des Configuration Handling. Fabrik für verschiendene Config-Typen (xml, ini.php) in Form von einzelnen Handler-Classes angelegt.

10.12.2008: Komplettes Rework des Error- und Exceptionhandlings. Exceptions zeigen nun zusätzlich ein Exception-Template mit Hilfsangaben zur Fehlerbehebung für den User.

Januar 2009

Daniel arbeitet am Gallerymodul samt einer Bibliothek für Bildbearbeitung.
Das Clansuite Serverpack für Windows bekommt den finalen Schliff.
Der ActionController wird nun eingesetzt: die Methode processActionController verschwindet aus dem Module und landet im Frontcontroller. Die execute()-Methode eines Modules ist jetzt als "pre_ActionController" verwendbar.

12.Januar 2009: IRC-LogBot konfiguriert und Übersichtsseite der Logs verbessert. Nun kann jeder Entwickler und Projektinteressierte nachverfolgen, was in unserem Channel #clansuite @ kuhnet so abgeht.
13.Januar 2009: Mehrere Fehler im Installer behoben. Und Pfad-Defines verbessert. Adminmodule zu Controlcenter umbenannt.
17.Januar 2009: Vendor Branches eingeführt. Zahlreiche Bibliotheken importiert. Demnach pflegen wir die Bibliotheken von Dritten nun professionell ein und haben halten uns die Änderungsmöglichkeit offen.

19.Januar 2009: svn:externals komplett entfernt. Damit laufen die SVN Updates wesentlich schneller.

20.Januar 2009: Widget Methoden aus dem Modulecontroller entfernt. Smarty Funktion load_module übernimmt das Laden und einblenden der Widgets vollständig.

21.Januar 2009: Clansuite Toolbar Version 0.4 erscheint. Diesmal endlich mit Unterstützung für automatisches Updaten durch Firefox.

Februar 2009

13.02.2009: Updated SMF to 1.1.8. Added Libacts2 als Teamspeak Bibliothek. Ich mache zu ersten Mal Gebrauch von der Möglichkeit eine Drittbibliothek zu verändern, bevor sie ins Clansuite Libaries-Verzeichnis wandert. Bei zukünftigen Updates kann man diese Änderung per merge erneut übernehmen. Sehr komfortabel!
22.02.2009: Cronjob Klasse dem Core hinzugefügt. Im wesentlichen ist es eine PHP5 Portierung von Kai Blankenhorn's pseudo-cron, welches etwas in die Jahre gekommen ist (www.bitfolge.de). Cronjob Interface und Cronjob zum Testen eingefügt.
Skein als weiteres Hashverfahren geadded. HTTP/HTTPS Support.

REST-Support durch Tunnelung.

08.03.2009: Doctrine Records für das ACL-Rechtesystem hinzugefügt. Datei- und Uploadobjekt hinzugefügt.

11/12.03.2009: Alle Webseiten des Projekts erhalten eine Topnavigation (Kopfbinder) um die Tools des Projekts von überall einheitlich erreichen zu können. Angepasst wurden: Pastebin, Trac, SMF, Website, Documentation.

13.03.2009: Der Rapper in mir braucht den täglichen Diss-Track: Clansphere hat den Slogan geändert: Aus "Makes your website a playmate, just dress her" wurde "Professional clan care starts here".&nbsp; Nun spielt man nicht mehr mit Anzieh-Puppen, sondern trägt handfest professionell umsorgende Pflegemittel auf: Handcreme?!

14.03.2009: Wir haben 57332 Pagevisits seit 04-2006. Kann das stimmen?

18.03.2009: Download Button Image für die Clansuite Toolbar der Webseite hinzugefügt. Die Anzeigeparts des Shockvoiceviewers und des Teamspeakviewers (basierend auf libacts2) geaddet. Yaml Confighandler geaddet. Spyc Version 0.3 in Vendorbranches aufgenommen.

03.04.2009: Clansphere-Wiki: "Während die Templates die Seite global gestalten, wird das Aussehen der Unterseiten von den Theme bestimmt. In diesem Kapitel finden Sie alles Wissenswerte zu den Themes." Total dickköpfig diese Truppe. Ein Theme, ist ein Skin, ist ein Template - und gestaltet das Layout. Mit anderen Worten: auch das Design der "Unterseiten" wird durch Templates beschrieben und hoffentlich durch die globale Vorlage - das Themetemplate - das Layouttemplate im Aussehen angepasst.

Mai 2009

22.05.2009: SMF Update auf 1.1.9.

Juni 2009

09.06.2009: Die Festplatte bei GNA ist voll und meine Commits schlagen fehl. Der Fehler wird nach meinem Bugreport innerhalb von 50 Minuten behoben. Saubere Arbeit im Support - Danke! https://gna.org/support/?2359



22.06.2009: Arbeit an den Formelementen.


Juli 2009

17.07.2009: Backendtheme-Switching, Config und Settings, neues Backendtheme von Thundermoon
18.07.2009: Updated StatSVN v0.4.1 to v0.5.0.


August 2009
17/18.08.2009:
Neustrukturierung des Projekts für einen Milestone mit Release und "Blogging"-Nutzbarkeit.
Update von Trac auf 0.11.5 und Einbau einiger hilfreicher Extensions (SubscriberList, LastModified, HackerGotchi, Timingandestimation, Bitten, ticketdeleteandmodify).

November 2009

04.11.2009:
Einen Twitter Account für Clansuite eingerichtet. Ebenfalls einen für mich. Daneben noch einen Twibbon "Channel" für Clansuite erstellt.
Das Twibbon Clansuite-Logo kann als Overlay auf das Twitter-Account Image gelegt werden, um die Zugehörigkeit zu dieser Gruppe zu zeigen.
Folgt man dem Handlungsaufruf des Mottos: "Ein unbekanntes Produkt ist keins!", dann ist der Einstieg ins Twitter-Geschäft eine logische Marketingmaßnahme. Mal sehn und abwarten, was der neuste Account-Image-Overlay-Hype im Netz so bringt. Ich jedenfalls bin den Gruppen Clansuite und Doctrine beigetreten.

Clansuite Twitter Account: http://twitter.com/Clansuite
Mein Account: http://twitter.com/jensandrekoch
Twibbon Channel für die Gruppe Clansuite: http://twibbon.com/join/Clansuite

Dezember 2009

02.12.2009: Update des SMF Boards auf Version 1.1.11.
09.12.2009: Update auf Smarty3 beta5. Haufenweise Anpassungsprobleme, fehlende Compilerfunctions, etc. Ich ergänze Fehlendes und bereinige Fehlerhaftes und übermittle alles ans Smarty-Team. Es wird Zeit dort SVN-Access zu bekommen.

10.12.2009: Update der Clansuite Toolbar auf Version 0.7.
Hinzugefügte Features: Sprache und Vhost im Optionendialog einstellbar.
GoTo-Menülinks nun abhängig vom Vhost. Damit ist das Goto-Menü an das eigene Serverenvironment anpassbar. Menülinks der Suche und der Dokumentation nun abhängig vom Sprache. Das macht direkte Links auf die jeweilige Sprachversion möglich.

Das Jahr 2010

Dies Jahr wird das entscheidende Jahr für Clansuite. Die Veröffentlichung ist angestrebt.
"Wie jedes Jahr!", höre ich aus dem Hintergrund. Nein - diesmal wirklich!
Aber es bleiben noch viele Dinge zu tun.

Der Webrambo munitioniert also nochmal auf und zieht in die finale Schlacht.
Es werden mich 5 Aufgabenbündel primär beschäftigen.
1. Module: Identifikaton, Management und Updates
2. Rechtesystem: Reaktivierung der Anmeldung, Nutzerkontoverwaltung, Einteilung in und Verwaltung von Gruppen, Zuweisung von Rechten
3. Formulare: Befüllen mit eingehenden Daten, Validierung
4. Deployment: Einpflegen der Shellscripte in BuildFile, Prüfen der Installation, Übergabe der Pakete an und Verwaltung mit PEAR
5. Dokumentation: Verständlichkeit und Zugänglichkeit des Systems für Entwickler und Nutzer
Fest steht auch, dass ich mich nicht mehr um Themes oder CSS kümmern werde.

Bedanken möchte ich mich bei meinen Mitstreitern Pasqual, Pascal und Daniel.
Ich hoffe auf tatkräftige Unterstützung und wünsche uns und Clansuite ein erfolgreiches Jahr 2010.

Januar 2010

Das Jahr beginnt turbulent und amüsant.

KW#1: Ich arbeite am Entwicklerhandbuch.

20.01.2010 Entwicklertreff mit den Entwicklern des Clansphere/Coresphere Teams. Ich erkläre Ihnen den Aufbau und Funktionsweise von Clansuite und lade zur Mitarbeit ein. Nebenbei habe ich einen Sceencast in Aussicht gestellt, der die Entwicklung eines Moduls (möglicherweise des Forums) erklärt, um zu zeigen, dass man mit Clansuite in kurzer Zeit vernünftig entwickeln kann.

Februar 2010

März 2010

#KW 10 - 12.03.2010:
Der Umzug auf den neuen Server machte es erforderlich die Build-Files, genauer die Shell-Skripte, anzupassen. Statt einer Anpassung hab ich es dann aber vorgezogen gleich ganz auf Phing zu setzen und teilweise schon bestehende Tasks zu verfeinern.
Nun werden die Aufgaben "svn update, svn export, phpdoc, phpxref, asciidoc, doxygen" über Phing abgewickelt.

Die offizielle Webseite hat ein Liftup bekommen.
Verschwunden sind die alten "RoundedCorners", die noch mit Tabellentechnik realisiert wurden. Sie wurden durch Mozilla Attribute ersetzt. In anderen Browsern erscheinen daher einfache Boxen. Die unterschiedlichen Dienste "trac, forum, website" wurden in der Anzeige vereinheitlicht.

April 2010

Mai 2010

IRCLogbot überarbeitet und in die Seite eingefügt.

20.05.2010: Zweites Liftup für die Webseite. Nach den "RoundedCorners" für den Rahmen der Seite, wurden nun die Boxen für die rechte Seite auf die gleiche Art umgesetzt. Thundermoon hatte die Umrahmung der Boxen zwar damals als Images erstellt, aber diese Lösung gefällt mir nicht so recht.
Die neue Version setzt daher auf Mozillas RoundedCorners und in allen anderen Browsern auf einfache Boxen. Neu ist auch das Headerbanner. Ich habe mein altes Bannerbild rausgeworfen und durch ein optisch ähnliches CSS3 Banner ersetzt. Ebenfalls mit RoundedCorners und Shadows und ein wenig 1px shifts links rechts.

November 2010

11.11.10:
Update SimpleMachinesForum v1.1.1 zu v1.1.2

Das Jahr 2011

Januar 2011

-Umtellung auf Doctrine2
-30.01.11: Update Livezilla auf v3.3.0.1

- Git zusätzlich zu Subversion
Daniel (Rikku) fragte die Nutzung von Git als Quellcodeverwaltungssystem nach.
Ich reche zwar grundsätzlich nicht mit einem Fork oder einem Commit durch ihn, aber was
solls. Wenn auch keine weiteren Entwickler mitarbeiten, so erleichtert mir Git das lokale Arbeiten sehr.
Fazit: Wir sind nun auf GitHub zu finden und &nbsp;getreu dem Motto "Fork us on GitHub" hier nun die
URL: http://github.com/jakoch/Clansuite

Februar 2011

- Arbeiten an den Unit-Tests für Forms (intern / ohne commits).
- 16.02.11: Update SimpleMachinesForum v1.1.2 zu v1.1.3

April 2011

12. April 2011: Release der Clansuite Toolbar Version 0.9

14. April 2011
- Update für die Webseite:
- Hinzugefügt wurde ein Counter für wichtige Ereignisse (Milestones, etc.)
- die Bereiche Toolbar und Documentation wurden in der Anzeige verbessert

Mai 2011

Juni 2011

Juli 2011

August 2011
- Werbebanner auf der Webseite und im Forum neu eingestellt.
- Tobias Fichtner hat sich als Entwickler gemeldet. Er hat vorher bei SilexCMS, einem Flash-CMS, mitgemacht.
- Gemeinsam mit Tobias am Nginx Serverpack geschraubt.
- Gemeinsam mit Tobias den Installer schrittweise debuggt und haufenweise Kleinkram entseucht.
(Button "Weiter" deaktiviert, wenn Requirements nicht erfüllt oder Checkbox nicht angeklickt etc.)



[to be continued]

Regards, Jens-André Koch

Email: jakoch[at]web.de
ICQ: 32754333
Jabber/XMPP: jakoch[at]jabber.ccc.de
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  


Powered by SMF 1.1.16 | SMF © 2006-2009, Simple Machines

Google visited last this page Februar 06, 2012, 07:58:58