Bronies.de

Normale Version: Eigene Forensoftware - Inspirationen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey everypony,

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 )
Und ein paar Screenshots, erst mal von dem Forum an sich:
Spoiler (Öffnen)
Außerdem habe ich noch eine ( zugegeben, noch hässliche ) Administrationsoberfläche eingerichtet, in welcher man das Forum verwalten kann:
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 Twilight: No, Really? )

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
Deadend
(03.01.2013)Lazy Dream schrieb: [ -> ]Ich will Euch nicht an der Oberfläche verurteilen, die derzeit sichtbar ist. Aber was ich dennoch auf die ToDo schreiben kann, ist eine AJAX-Unterstützung.
Das steht optional im Hintergrund, da Google aber leider noch keine AJAX-Zugriffe unterstützt werde ich da auch nach einer Plug&Play-Lösung suchen, wie es bei dem WYSIWYG-Editor der Fall ist

(03.01.2013)Lazy Dream schrieb: [ -> ]Ein Feature, das immer wieder nett ist, sind Gästebücher oder Pinnwände, wo man den Leuten einfach mal etwas öffentlich hinterlassen kann.
Nette Idee, danke Smile

(03.01.2013)Lazy Dream schrieb: [ -> ]Was ich auch immer wieder gerne hätte, wäre eine Comment-this-post-Funktion, wo man keinen richtigen Beitrag schreibt, aber mit 140 Zeichen einfach einen Kommentar zu einem Post abgeben kann. Einfach um Dankeposts oder kurze Anmerkungen anzubringen.
Referenz zu den Bilderdumps hier, wo gerne mal gepostet wird, dass einem ein Bild sehr gefällt.
Quasi ein "Like mit Kommentar" ?

(03.01.2013)Lazy Dream schrieb: [ -> ]An Hooks für Plugins, wo man einige Daten, die durch das Forum verarbeitet werden, noch einmal mit Plugins bearbeiten kann, habt Ihr sicher bei Eurem Plugin-System gedacht, oder?
Ja, Hooks werden bei der Installation des Plugins in die Datenbank geschrieben; dort stehen auch alle gültigen Hooks drinne; so werden Hooks, dir durch Tippfehler passieren, bei der Installation erkannt.

(03.01.2013)Lazy Dream schrieb: [ -> ]Wo wir gerade bei Plugins sind kommt mir da eine Idee, was das Backend angeht. Ist es möglich, so Wordpressartig, die Plugins zu installieren? Ihr wollt einen Pluginserver hosten, der die Plugins bereitstellt, aber wie sieht die Bedienung aus? Ist da ein lokaler Paketmanager, der durchsucht werden kann oder wird jedes Mal der Server angefragt? Eine nette Filterfunktion usw. (alles mit AJAX) wäre da schon schön.
Ich stelle mir das so vor, dass jeder einen Packetserver hosten kann, auf dem er Packete anbietet. Die verfügbaren Packete werden in der Datenbank gecacht und können durchsucht werden.

(03.01.2013)Lazy Dream schrieb: [ -> ]Ansonsten ein nettes Verwarnsystem mit Report and React System.
React ? Was darf ich mir darunter vorstellen ?


(03.01.2013)Lazy Dream schrieb: [ -> ]Wozu ich Euch aber unbedingt raten würde: Macht auch das Backend modifizierbar. Zumindest vom Design her! Firmen sehen es gerne, wenn sogar das Backend in ihrem Stil gemacht ist.
Es ist möglich, dann muss man aber direkt in den Dateien arbeiten und kann nicht einfach eine ZIP hochladen

(03.01.2013)Lazy Dream schrieb: [ -> ]Mehr fällt mir gerade nicht ein, aber ich interessiere mich für Euren Code. Kann man da irgendwie Einblick bekommen?
Noch nicht, da er stellenweise noch sehr schlampig ist und ich mich noch dafür schäme :S

Aber ich danke für so ein umfassendes Feedback, da bin ich gerade leicht erstaunt Lyra astonished

e:
Zitat:Ich rate übrigens von dem Namen "wave-board" ab, da es ein gleichnamiges Sportgerät gibt und Ihr da möglicherweise auf Ärger stoßen werdet.
Tatsache... Äh... Dann denke ich mir noch einen neuen Namen aus...
Deadend
1: AJAX-Refresh kann ich machen, auch, dass Posts per AJAX eingesendet werden.

2: Also wie bei Google Docs ? Wie soll man die Einblenden lassen ? Per Knopf unter dem Beitrag ?

3: So in etwa war es auch gedacht

4: Ich kenne mich mit dieser Forensoftware noch nahezu null aus, ich bin froh, dass ich als User arbeiten kann; wie genau sieht man den Verlauf, wird darüber "gechattet" ?

5: Ich bin sowieso einer, der alles versucht so simple wie möglich zu halten

6: Mal sehen... Es wird auf jeden Fall Open-Source; einige Ausschnitte könnte ich sonst auch jetzt schon posten, wenn sie schon fertig sind Tongue
Thema in Games und Computer verschoben

Atra Demonica
Deadend