Plugin extension points

System startup

class grano.interface.Startup

This interface will be called when grano is started and allows plugins to register additional functionality such as flask views.

configure(manager)

Run this on startup.

Entity changes

class grano.interface.EntityChangeProcessor

An entity change processor gets notified whenever there is a change to an entity so that it can perform related actions.

This may happen out of band (ie. on a queue or batch job), thus changes may not be applied immediately.

entity_changed(entity_id, operation)

Notify the plugin that an entity has changed. The plugin will only receive the ID and must query for the object itself.

Relation changes

class grano.interface.RelationChangeProcessor

A relation change processor gets notified whenever there is a change to a relation so that it can perform related actions.

This may happen out of band (ie. on a queue or batch job), thus changes may not be applied immediately.

relation_changed(relation_id, operation)

Notify the plugin that a relation has changed. The plugin will only receive the ID and must query for the object itself.

Project changes

class grano.interface.ProjectChangeProcessor

A project change processor gets notified whenever there is a change to a project’s settings so that it can perform related actions.

This may happen out of band (ie. on a queue or batch job), thus changes may not be applied immediately.

project_changed(project_slug, operation)

Notify the plugin that a project has changed. The plugin will only receive the ID and must query for the object itself.