Ich arbeite gerade an einem Forum und wollte um Ideen zur Verbesserung betteln; das Forum ist noch wirklich am Anfang des Anfanges und wird wohl auch noch ein bischen brauchen, um mit einer "größeren" Forensoftware mithalten zu können.
Dazu liste ich einfach mal auf, was ich bis jetzt habe:
- Beliebig viele Foren mit beliebig tiefer Verschachtelung
- Foren können Unterforen und/oder Threads enthalten
- WYSIWYG-Editor, der zwischen BBCode's und WYSIWYG wechseln kann
- Unterstützung für mehrere Sprachen
- Unterstützung für mehrere Designs ( das Aussehen des Forums )
Spoiler (Öffnen)
Spoiler (Öffnen)
Konzept & hinter den Kulissen ( Fachsprache )
Hinter den Kulissen arbeitet erst einmal MySQL als Datenbank. Mehrere Sprachen werden mit Sprachvariablen gelöst und Designs in Ordnern getrennt. Das Forum basiert auf Templates ( -> Smarty ) und ist objektorientiert programmiert; bedeutet, das es übersichtlicher und leichter zu erweitern ist - ausnahme ist hier das ACP, das ist quick&dirty programmiert, es soll ja aber auch nicht erweitert werden. Es müssen (Gott sei dank) keine Dateien mehr eingebunden werden, das macht ein Autoloader selbst über mehrere Verzeichnisse hinweg - was wiederum bedeutet, dass Lib's in Ordnern "geordnet" werden können und trotzdem gefunden werden. Mein WYSIWYG-Editor ist do gebaut, dass er alle Textarea's, die die Klasse "wysiwyg" haben, durch diesen Editor ersetzt - dabei bleibt der Name des Textarea's erhalten, es muss also nicht sehr viel geändert werden, damit man durchstarten kann.
Optionen und Kategorien, wie sie auf diesem Bild zu sehen sind, sind in der Datenbank eingetragen und mehrsprachig.
Konzept & hinter den Kulissen ( Normale Sprache )
Das Forum ist für Programmierer leicht erweiterbar.
"Erweiterbar" ?!?
Genau; von der Therorie her gibt es schon Plugin's und Updateserver, die schon stellenweise eingebaut sind - aber nur stellenweise und noch nicht ganz funktionieren. Das wird dann so ablaufen, dass man ein Plugin installiert und über die Updateserver updaten kann ( einfallsreich )
Sicherheit
Natürlich programmiere ich das Forum so, dass gegen alle "Hacks", die ich kenne, imun ist; das sind zur Zeit XSS, SQLi, LFI und RFI. Gegen manipulierte Pakete, die bei fremden Updateservern heruntergeladen werden könnten, gibt es dann auch so etwas wie eine "Signatur" ( RSA-Signatur ) - damit kann sichergestellt werden, dass niemand ein Packet fälscht oder mit einem Virus infiziert.
In Bearbeitung
Da es, wie gesagt, noch eine Alpha ist (habe ich dich gesagt, oder?), wird es natürlich massiv erweitert; deswegen steht noch folgendes an:
- Foren per ACP bearbeitbar machen ( erstellen, löschen, sortieren, leeren, ... )
- Benutzer bekommen Profile
- Plugins beenden
- Stile beenden
- Vll ein paar nettere Designs machen
Changelog
Code:
06.01.2012 (Zusammenfassung der letzten Tage):
- Gäste können nun auch "schreiben"
- Foren können nun erstellt, gelöscht und beliebig tief verschachtelt werden
- Foren brauchen "Usepower", die Benutzergruppen haben
- Viewpower - um zu sehen, ob das Forum existiert
- Readpower - um in dem Forum zu lesen
- Writepower - um in dem Forum zu schreiben
- System-Benutzergruppen neu eingeteilt
- Gäste -> Selbsterklärend
- Registrierte benutzer (unbestätigt) -> Benutzer, die sich registriert haben aber ichre Email noch nicht bestätigt haben / vom Administrator bestätigt wurden
- Registrierte Benutzer -> Bestätigte Benutzer
- Moderatoren -> Selbsterklärend
- Administratoren -> Selbsterklärend
- Massive Codeänderung, um von "Kategorien mit Foren" zu "Foren mit Foren" zu kommen
- Foren werden rekursiv ausgelesen, also "unendlich" tief
- Massive SQL-Query-Änderungen
- Da Gäste evtl. auch in Themen schreiben können (und somit nicht in der DB sind) mussten einige Querys, die normalerweise Thema und letzten Author gleichzeitig abfragen, in 2 Querys geteilt werden.
07.01.2012:
- SEO - es können mit Klassen eigene Regeln definiert werden, nach denen die URL umgeschrieben wird.
So wird aus "index.php?page=forum&forum=10" "http://localhost/wave.board/forum/10-Testforum.html"
- Templates wurden überarbeitet
(Erinnerung an mich: Verzeichnisschutz wieder einbauen, habe ich aus Testgründen ausgebaut)
Bitte an euch
Ich bitte euch, dass ihr mir Feedback gebt; ich möchte auch noch kurz anmerken, dass es wie viele meiner Projekte ein "Ich habe nichts zu tun und muss einfach mal wieder iwas machen"-Projekt ist - ihr dürft also nicht damit rechnen, dass ich 24 Stunden am Tag in diesem Thread hocke... (Sarkasmus smilie, leider nur 10 erlaubt...)
Sollte ich die ersten beiden Punkte unter "in bearbeitung" fertig haben, werde ich mal eine Version online stellen, ist alles fertig werde ich mit dem Releasen anfangen.
Tion
Edit: Huch, habe "Games und Computer" nicht gesehen, sry
Edit 2 und folgende: Siehe Changelog