This module lets you quickly build a UI for a custom entity type with a minimum of code. Additionally, operations you define on an entity type are exposed to systems such as VBO and Services.
Each entity type can define multiple operations that can be performed on an entity. These work like building blocks for assembling a UI for the entity type. For example, using the 'view', 'add', 'edit', and 'delete' operations provided with the module you can quickly create the basic UI for your entities. Each operation automatically creates a menu tab for the entities, which work in the same way as the core node UI.
The conceptual gist is that instead of defining at which path output is available (with hook_menu()), you merely define where it goes on a subpath below an entity. The framework does the rest. That means that the same output can be reused for different entities more easily.
In addition to being rendered as tabs, operations can also be:
- exposed to Views Bulk Operations
- exposed to Services as targeted actions on entities
- added to Views as links to the operation's tab (similar to the 'view' and 'edit' links for nodes)
- shown as forms on the entity view page
Operations can output any kind of content. Each operation has its own handler class that takes care of either the page callback or the form builder. This module includes operation handlers for:
- The basic entity operations: View, Edit, Add, Delete.
- Publish and Unpublish actions.
- Entity, entity metadata, and tokens devel output.
- Showing output from a view. This works the same way as EVA.
- Organic Groups group membership management.
Further handlers can be created for an entity type's specific needs.
This module is stable and in use on production sites. Known bugs are mostly to do with clean-up or 3rd-party module support.