Package management
Our modularized framework consists of separate packages - each encapsulating certain features. Easily install or remove packages through our package management system, no prior knowledge required.
Update servers enables you to download and install packages from remote systems with nothing but a few mouse clicks. If you are distributing an application based upon our framework your customers will always be up-to-date.
User and group management
Users are the major component of all community applications - Community Framework already ships a comprehensive user management system. User groups (sometimes referred as roles) can be used to set permissions for a whole group of users at once. Furthermore you may authenticate users against LDAP or any other database.
Database management
Community Framework features a database interface used for a seamless integration of different database management systems. At this time (version 1.1 / Tempest) the framework is still focused on MySQL.
Support for difference database systems like MSSQL or PostgreSQL are underway, but will be released with version 2.0 ("Maelstrom") at the earliest.
Internationalization and localization
Native support for multilingualism: Community Framework includes an extensive language management system, enabling developers to create an application independent from any language.
Placeholders (so called "language variables") put into the templates, will be automatically replaced by a corresponding sentence or just a word by the framework itself. Each language ships its own language or country specific informations, e.g. number or date format. An exchange is possible using a portable XML document structure.
Template system
Community Framework makes use of the Model–View–Controller-pattern (MVC), whereas the view-layer is represented by the template system itself. The templates contain the HTML code used for document representation.
Our template system it is derived from the template engine Smarty. Though it has a lot of similarities concerning the syntax, the whole system was developed from scratch by us. This way we can provide a maximum of performance and accessibility - the perfect integration into our software.
Caching and cronjobs
Performance-oriented applications usually rely on a caching system to decrease recurring database queries. Community Framework ships its own lightweight caching system using temporary files on the file system - version 1.1 Tempest introduces "Memcache" as an alternative system.
An integrated cronjob system provides time-controlled tasks for recurring actions. It is implemented on PHP basis since Unix cronjobs are not available on all customer systems.
Event system
PHP does not provide any solution for throwing events - well known from e.g. Java - but they are essential for a modern software architecture. So we created our own event system: Developers can throw custom events within their application, allowing a third-party to listen for them and modify the application workflow.
Additional features
WoltLab distributes a wide set of free systems extending Community Framework:
- Session Management
- RSS feeds
- Help system
- Image processing
- Captcha system
- Message system
- Attachments
- BBCodes
- Censorship
- Polls
- Search system
- Menu management
- WYSIWYG Editor
- User profiles
- Style management