Install via pip:
pip install ckanext-flakes
Enable the plugin:
ckan.plugins = flakes
Run database migrations:
ckan db upgrade -p flakes
Configuration options:
Allow any user to create new flakes (default: true)
ckanext.flakes.creation.allowed = false
Allow any user to validate flakes or data (default: false)
ckanext.flakes.validation.allowed = true
Example plugins configuration:
Show rating widget on dataset pages
ckanext.flakes_rating.show_package_widget = true
Enable feedback views on dataset pages
ckanext.flakes_feedback.enable_views = true
API actions available:
- flakes_flake_create - Create new flake with optional name, data, parent_id, author_id, extras
- flakes_flake_show - Display flake by ID with optional expand from parent
- flakes_flake_list - List user’s flakes filtered by extras
- flakes_flake_update - Update existing flake’s data/parent/extras
- flakes_flake_override - Create or update flake by name (upsert)
- flakes_flake_delete - Delete flake by ID
- flakes_flake_lookup - Find flake by name with optional expand
- flakes_flake_validate - Validate flake against named schema
- flakes_data_validate - Validate arbitrary data against schema
- flakes_data_example - Generate example data using factory
- flakes_flake_materialize - Send flake data to another API action
- flakes_flake_combine - Combine multiple flakes’ data
- flakes_flake_merge - Combine and save multiple flakes
- flakes_data_patch - Partially update flake data
- flakes_extras_patch - Partially update flake extras
IFlakes interface for custom plugins:
- get_flake_schemas() - Register validation schemas
- get_flake_factories() - Register example data factories
Use cases:
- User preferences/settings (theme, layout)
- Todo lists/task management
- Global application configuration
- Temporary data storage
- User-specific metadata collections
Requires ckanext-toolbelt and typing-extensions>=4.0.0 dependencies.