Paketverwaltung

Screenshot

Das komplette Framework besteht aus Paketen, die bei Bedarf eingebunden werden können. Die Pakete kapseln bestimmte Funktionen und können so an verschiedenen Stellen mehrfach genutzt werden. Das Framework enthält eine Paketverwaltung über die Pakete installiert und gelöscht werden können.

Eine Updateservertechnologie ermöglicht es Pakete von einem entfernten Server automatisch zu laden und zu installieren. Wenn Sie eine eigene Software auf Basis des Frameworks vertreiben, haben Sie so sichergestellt, dass Ihre Kunden immer auf dem neusten Stand sind.

Benutzer- und Gruppenverwaltung

Screenshot

In jeder Communityanwendung sind die Benutzer das zentrale Element. Das Community Framework enthält bereits eine umfangreiche Verwaltung der Benutzer. Auch Benutzergruppen (manchmal auch Rollen genannt) können verwaltet werden, um Rechteeinstellungen bequem für mehrere Benutzer auf einmal (in einer Gruppe) durchzuführen. Es ist außerdem möglich sich gegen LDAP oder andere Benutzerdatenbanken zu authentifizieren.

Datenbankverwaltung

Screenshot

Das Community Framework beinhaltet eine Datenbankschnittstelle. Somit können auch andere Datenbanksysteme genutzt werden. Aktuell (Version 1.1 Tempest) ist das System allerdings noch an vielen Stellen auf MySQL ausgelegt.

Frühestens mit Version 2.0 (Maelstrom) soll dann auch eine flächendeckende Unterstützung anderer Systeme eingeführt werden, wie z. B.: MSSQL, PostgreSQL.

Internationalisierung und Lokalisierung

Screenshot

Das Community Framework bietet eine umfangreiche Sprachverwaltung an, mit der es möglich ist, die Benutzeroberfläche von Anwendungen unabhängig von einer bestimmten Sprache zu entwickeln.

In den Templates werden dazu Platzhalter (sog. "Sprachvariablen") verwendet, die dann vom System mit dem entsprechenden Satz oder Wort ersetzt werden. Innerhalb einer Sprache werden dann auch sprach- bzw. landestypische Informationen abgespeichert, wie z. B. Zahlen formatiert werden, das Datum ausgegeben wird usw. Ein XML-Austauschformat ermöglicht eine leichte Übersetzung und Portierung.

Templatesystem

Screenshot

Die Struktur des Community Frameworks ist an das Model-View-Control-Pattern (MVC) angelehnt. Hierbei wird die View-Schicht durch das Templatesystem abgebildet. Die Templates enthalten den HTML-Code zur Darstellung der einzelnen Seiten.

Das System basiert auf der Templateengine Smarty. Es wird die gleiche Syntax verwendet, auch viele Befehle sind identisch. An ein paar Stellen wurden aber Erweiterungen vorgenommen und außerdem unnötige Funktionen entfernt, um das System schlank zu halten. Durch die Eigenentwicklung konnten wir eine perfekte Integration in unser System erreichen bei optimaler Performance und Erweiterbarkeit.

Caching und Cronjobs

Screenshot

Um Ihre Anwendungen performanceorientiert zu entwickeln, werden Sie mit Sicherheit auch Cachingsysteme verwenden müssen. Ein integrierter Cache macht es leicht, häufig benutzte Daten zwischenzuspeichern um die Datenbank zu entlasten. Mit Version 1.1 Tempest werden folgende Cache-Arten unterstützt: Dateisystem und Memcache.

Ein eigenes Cronjobsystem ermöglicht es regelmäßige Aufgaben automatisiert abarbeiten zu lassen. Es handelt sich hierbei um PHP-Cronjobs, da Unix-Cronjobs nicht allen Kunden zur Verfügung stehen.

Eventsystem

Eine echte Ereignisbehandlung fehlt in PHP leider. Sie ist aber dennoch notwendig, wenn man Anwendungen entwickelt, die für andere leicht zu erweitern sein sollen. Das Community Framework bietet daher ein eigenes Eventsystem: Sie können also als Entwickler Ihrer Anwendung selbst Events werfen, für die man sich wiederum registrieren kann.

Weitere Funktionen

Eine Vielzahl weiterer freier Systeme wird offiziell von WoltLab angeboten:

  • Sessionverwaltung
  • RSS-Feeds
  • Hilfesystem
  • Bildverarbeitung
  • Captcha-System
  • Nachrichtensystem
  • Dateianhänge
  • BBCodes
  • Zensur
  • Umfragen
  • Suche
  • Menüverwaltung
  • WYSIWYG-Editor
  • Benutzerprofile
  • Stilverwaltung