This extension provides a way to control records depending on several contexts. There are different prebuilt types of contexts like IP range, domain, GET parameters, regions etc. and the extension provides an API to register custom context types (which we use for instance in another new extension that provides a context type to match on WURFL criteria). Also there's an API to add context controlled settings (checkboxes) to any table with TCA (contexts itself adds a visibility and menu-visibility field to pages and visibility field to tt_content). It integrates those settings into the enableFields-query part (along with hidden, deleted etc.) and it also provides methods for querying the settings for specific records.

Integrators can create such contexts as records on the root level and adjust the conditions for theyr needs (for instance an IP which as to match to trigger an "intranet"-context or a WURFL-criteria which has to match to trigger a "mobile"-context). Those contexts will appear in each record in a contexts tab where you can set each setting to yes, no or n/a.

The idea to come up with such an extension arrised when we were thinking about a way to control contents for mobile users without using the separate page tree approach. We figured that it's propably not future safe to define only two device classes (tablet and smart phone) but that there'll rather follow new classes like TV and anyway it's the requirements which define those classes. Then we also found that it would have been a bad idea to limit this control only to device classes but that we would surely want it for other use cases. So, with this extension you can control the delivery of your contents based on your very requirements.