Innovatives Paketsystem
WoltLab hat mit dem Community Framework eine neuartige und moderne Grundlage für Community-Software geschaffen. Alle unserer aktuellen Produkte basieren auf diesem Framework. Das Hauptmerkmal ist das einzigartige Paketsystem, das eine saubere Trennung von verschiedenen Komponenten möglich macht.
Für Sie als Anwender hat es den Vorteil, dass Sie auf Knopfdruck neue Produkte und Erweiterungen installieren können, ohne jemals den Quellcode gesehen oder ein FTP-Programm geöffnet zu haben. Entwickler von Erweiterungen können nun bestehende Pakete in Ihre Programme einbinden, was die Entwicklungszeit beschleunigt und Ihnen dann in Form von herausragenden Erweiterungen zu Gute kommt. Durch klar definierte Schnittstellen werden Sicherheitsrisiken minimiert.
Auch unsere Entwickler profitieren von dieser Softwarearchitektur. Die Wartung des Codes bei Fehlern vereinfacht sich enorm, da nur an einer Stelle der Fehler behoben werden muss und alle Anwendungen dann automatisch von diesem Fehler befreit sind.
Moderne und offene Standards
Gemeinsame Standards sorgen für einen fehlerfreien Austausch zwischen Mensch und Maschine oder Maschinen untereinander.
Für die Ausgabe der Seiten verwenden wir valides XHTML 1.1 und achten zudem auf eine korrekte Verwendung der Tags, um die Semantik des Inhalts zu erhalten. Dadurch werden Barrieren bei der Nutzung der Software verringert, so dass auch Menschen mit Behinderungen nicht ausgeschlossen werden.
Die Gestaltung der Dokumente wird durch CSS vorgenommen. Durch die klare Trennung von Design und Inhalt können selbst umfangreichere Anpassungen des Designs durchgeführt werden, ohne die eigentliche Struktur des Dokuments zu ändern. Dies minimiert mögliche Fehler bei Programmupdates.
Die Software selbst ist mit der Open-Source Programmiersprache PHP 5 komplett objektorientiert entwickelt. Als Datenbanksystem wird momentan MySQL vorausgesetzt, da es – ebenfalls Open Source – kostenlos und am weitesten verbreitet ist. Die Unterstützung anderer Systeme ist geplant.
Optimal für Suchmaschinen
Bei uns werden Sie spürbar bessere Platzierungen in den Suchmaschinen erreichen, da wir uns bereits viele Jahre damit beschäftigen und wissen worauf es ankommt.
Allein schon aufgrund des semantisch korrekt ausgezeichneten Quellcodes indizieren Suchmaschinenroboter den Inhalt wirksamer. Es macht sich bezahlt, Überschriften, Absätze und Listen auch als solche auszuzeichnen und keinen Tabellensalat zu produzieren. Je mehr überflüssiger und falscher Code im Dokument steht, desto schlechter wird Ihre Platzierung bei Google und Co.
Als weiterer Vorteil erweist sich, dass es keine speziell für die Suchmaschinen angepassten Seiten gibt. Dies ist bei uns nicht nötig und birgt auch nur die Gefahr, dass Ihre Seiten wegen doppeltem Inhalt aus dem Index verbannt werden.
Wir setzen aber noch eines drauf: Die Links zu Themen und Beiträgen können so umgeschrieben werden, dass sie für Menschen lesbar sind – auch hiermit werden Sie besser platziert, da nun die Suchbegriffe bereits in der Adresse vorkommen.
Events - Anpassungen leicht gemacht
PHP 5 bietet leider keine Möglichkeit Ereignisse - wie z. B. in Java - zu werfen. Dies ist aber für eine moderne Softwarearchitektur notwendig. Aus diesem Grund wurde ein eigenes Eventsystem eingeführt. Als Entwickler kann man nun eigene Eventlistener schreiben, die an einem Ereignis lauschen. Sobald es geworfen wird, kann beliebiger Code ausgeführt und auf aktuelle Umgebungsvariabeln zugegriffen werden. Mit dieser Technik können einfach Erweiterungen entwickelt werden ohne den Quellcode bearbeiten zu müssen.
Caching
Das ausgeklügelte Caching-System ermöglicht es, häufig genutzte Daten ins Dateisystem oder auf einen Memcache-Server auszulagern, um so die Datenbank zu entlasten. Burning Board 3 macht ausgiebig Gebrauch vom Cache. Sie werden sehen, dass unsere Produkte eine optimale Performance bieten.
Zeitgesteuerte Aufgaben (Cronjobs)
Innerhalb jeder Software gibt es immer wieder Aufgaben, die regelmäßig durchgeführt werden müssen. Unter Unix nennt man diese Aufgaben Cronjobs. Leider stehen Cronjobs aber nicht in jeder Server- und Webspaceumgebung zur Verfügung.
Wir haben daher ein eigenes System entwickelt, das diese Aufgaben abwickelt. Dieses Tool wird Ihnen viel Arbeit abnehmen, da Sie auch eigene Aufgaben definieren können.
Ausgereiftes Templatessystem
Innerhalb der Softwarearchitektur wird zum Aufbau von Seiten ein eigenes Templatesystem genutzt, welches auf der Templateengine Smarty basiert. Es wird die annähernd gleiche Syntax verwendet, die dennoch eine Eigenentwicklung ist. Dadurch konnte bei optimaler Performance und Erweiterbarkeit eine perfekte Integration in unser System erreicht werden.
Das Templatesystem macht es möglich, dass Sie sehr schnell eine komplett andere Darstellung von Seiten erreichen können, ohne spezielle PHP-Kenntnisse haben zu müssen.