Simple Groupware is a complete enterprise application offering email, calendaring, contacts, tasks, document management, synchronization with cell phones and Outlook, full-text search, and much more. Simple Groupware combines standards like RSS, iCalendar, vCard, IMAP, POP3, SMTP, CIFS, CSV, WebDAV, LDAP, and SyncML under one platform. Unlike other groupware software, Simple Groupware contains the programming language sgsML to enable the quick customization and creation of powerful Web applications.
Kohana is a PHP 5 framework that uses the Model View Controller architectural pattern. It aims to be secure, lightweight, and easy to use. Although it reuses many common design patterns and concepts, there are some things that make Kohana stand out. It is community driven, uses strict PHP 5 OOP to provide visibility protection, automatic class loading, overloading, interfaces, abstracts, and singletons, and is extremely lightweight. Kohana has no dependencies on PECL extensions or PEAR libraries. Large, monolithic libraries are avoided in favor of optimized solutions.
Jenner is a Web page templating system with a twist: it runs completely within a Web browser. Templates are just normal Web pages with special syntax inside text nodes, attributes, or comments. Unlike other in-browser templating systems, Jenner does not require overloading of "class" attributes or invalid HTML; all Jenner templates are valid Web pages and the template expressions flow in a very natural way. Having the template engine in the Web browser instead of on the server takes a lot of load off of the server, and makes for a clean separation of presentation and content. Jenner is very powerful: it has the full power of the Esel expression language at its disposal. Templates can be rendered from JSON data, and can be re-rendered without a browser-to-server round trip.
WebMCP is a Web application framework. Instead of using the classical Model-View-Controller (MVC) concept, WebMCP makes use of a so-called Model-View-Action concept. The database is accessed through the Model layer, which provides an Object-Relational-Mapping (ORM). HTTP-GET requests are handled by Views, which process the request data, query the database, and render the result. HTTP POST requests are handled by Actions, which can write to the database and redirect to a View, dependent on success or failure.