Modera Foundation logo

a PHP platform on Symfony2 helping to build web front-ends that are manageable, extensible and scalable. In other words, fun to develop and maintain.

Set of conventions and integrated core modules that make up the most basic foundation for a PHP application:

Birds eye view to Modera Foundation "Layer cake" might look like this:

Modera JS Runtime

Component that handles all the behavioral plumbing for you - navigation, URL parameters and updates, activities, intents. But most importantly - integrated security and component loading. MJR.dev.modera.org

ExtJS

Using Sencha ExtJS4 as underlying UI framework for administration panel sets you free from writing HTML and dealing with browser incompatibility issues. All the UI-s are pure Javascript. Sencha.com/products/ExtJS

Modera Foundation Core

Core is made of independent but integrated Symfony bundles that together make up of flexible foundation for any web based application.

Symfony

Symfony acts as founding layer and provides module standard, overall conventions and the most basic functional components. Symfony.com

...

Modera Foundation ships with an administration console that already contains the most basic tools and framework for your business functionality. Add your: dashboards, main sections, settings screens, permissions, profile extensions, language sources, translations. It's all gonna be easy.

...
...

Define one or more dashboards so anyone with administration panel access can then have a default landing view with functionality only relevant to the particular role. Some can also have no default which gives the perspective of several roles by allowing easy switch between the accessible dashboards.

Bare-bones User & Group manager allows easy augmentation with your own control functions and profile fields. Easy to use UI helps the service managers to be in full control over user accounts.

...
...

Control the activity based permissions in one single place. The ACL model is fully extendable allowing your extension modules to declare their own permission sets.

Store and track important system events in the central activity log. Declare your own event types and re-use this stored information in your modules to keep them updated.

...
Screenshot of Translation tool UI

Crawl tokens from Twig templates, Symfony bundles and Javascript files. Add your own source if needed. Consolidate all those content sources into unified repository that can then be used by anyone to do the translating work. Compile the result back into language files once done.