Example checklist
Checklists report

Checklist API Provides a simple interface for modules to create fillable, persistent checklists that track progress with completion times and users. You don't need this unless you're a module developer or you want to use a module that calls for it.

Implementing modules

These modules use the Checklist API:


Checklist API is installed in the usual way. See Installing contributed modules.


Checklists are declared as multidimensional arrays using hook_checklistapi_checklist_info(). They can be altered using hook_checklistapi_checklist_info_alter(). Checklist API handles creation of menu items and permissions. In Drupal 7, progress details are saved in one Drupal variable per checklist. In Drupal 8, they are stored in one config file per checklist. (Note: it is the responsibility of implementing modules to remove their own variables/config on hook_uninstall(). See checklistapiexample_uninstall() for an example.)

See checklistapi_example.module for an example implementation and checklistapi.api.php for complete details.


Checklist API provides Drush commands. They require Drush 6 or later. To see the list of available commands, run drush --filter=checklistapi. For more about Drush, including installation instructions, visit http://www.drush.org/.

The future

Interested in (being a part of) the future of Checklist API? See #2198085: [meta] Roadmap.

Project information