zengine package

Submodules

zengine.config module

configuration

zengine.engine module

zengine.messaging module

zengine.log module

zengine.management_commands module

zengine.middlewares module

Middlewares for request / response handling.

class zengine.middlewares.CORS[source]

Bases: object

Sets required headers to allow origins for the hosts listed in ALLOWED_ORIGINS

Note

When DEBUG set to True all hosts are allowed

process_response(request, response, resource)[source]

Do response processing

class zengine.middlewares.JSONTranslator[source]

Bases: object

Deserializes JSON payload into request.context['data']

process_request(req, resp)[source]

Do response processing

process_response(req, resp, resource)[source]

Serializes req.context['result'] to resp.body as JSON.

If DEBUG is True, sys._debug_db_queries (set by pyoko) added to response.

class zengine.middlewares.RequireJSON[source]

Bases: object

Restrict only to JSON payloads.

process_request(req, resp)[source]

Do response processing

zengine.models module

zengine.notifications module

zengine.receivers module

zengine.server module

zengine.settings module

Zengine Default Project Settings

zengine.settings.ABSTRACT_ROLE_MODEL = 'zengine.models.AbstractRole'

AbstractRole model

zengine.settings.ACTIVITY_MODULES_IMPORT_PATHS = ['zengine.views']

Path of the activity modules which will be invoked by workflow tasks

zengine.settings.ALLOWED_ORIGINS = ['http://127.0.0.1:8080', 'http://127.0.0.1:9001', '']

Allowed origins for serving client from a different host.

zengine.settings.ANONYMOUS_WORKFLOWS = ['login', 'reset_cache', 'not_found']

Workflows that dosen’t require logged in user.

zengine.settings.AUTH_BACKEND = 'zengine.auth.auth_backend.AuthBackend'

Authentication backend

zengine.settings.AUTO_IMPORT_MODULES = ['zengine.receivers', 'zengine.views.system', 'zengine.views.dev_utils', 'zengine.messaging.views']

Given modules will be auto-imported at runtime This is needed for discovery of signal receivers, views and jobs defined under these modules

zengine.settings.BASE_DIR = '/home/docs/checkouts/readthedocs.org/user_builds/zengine/envs/latest/lib/python2.7/site-packages/zengine-0.8.3-py2.7.egg/zengine'

Project base

zengine.settings.CATALOG_DATA_MANAGER = 'zengine.lib.catalog_data.catalog_data_manager'

A manager object for DB stored catalog data.

zengine.settings.COMMON_WORKFLOWS = ['role_switching']

Workflows which are available for all authenticated users.

zengine.settings.DATETIME_DEFAULT_FORMAT = '%d.%m.%YT%H:%M:%S.%fZ'

Default datetime format

zengine.settings.DATE_DEFAULT_FORMAT = '%d.%m.%Y'

Default date format

zengine.settings.DEBUG = False

Currently only affects logging level

zengine.settings.DEFAULT_BUCKET_TYPE = 'zengine_models'

Pyoko (DB) Settings

Bucket Type

zengine.settings.DEFAULT_CACHE_EXPIRE_TIME = 99999999

Default cache expire time in seconds

zengine.settings.DEFAULT_LANG = 'en'

Default language and localization formats

zengine.settings.DEFAULT_OBJECT_CATEGORY_NAME = 'Object Tasks'

Category name for auto generated CRUD items.

zengine.settings.DEFAULT_WF_CATEGORY_NAME = 'General Workflows'

Default category for un-categorized workflows.

zengine.settings.ENABLED_MIDDLEWARES = ['zengine.middlewares.CORS', 'zengine.middlewares.RequireJSON', 'zengine.middlewares.JSONTranslator']

Enabled middlewares.

zengine.settings.ENABLE_SIMPLE_CRUD_MENU = True

Enable auto generated CRUD menu for all models.

zengine.settings.EPHEMERAL_WORKFLOWS = ['crud', 'login', 'logout', 'edit_catalog_data']

These WFs will not saved to DB

zengine.settings.ERROR_MESSAGE_500 = 'Internal Server Error'

Internal Server Error message description

zengine.settings.LOG_FILE = './zengine.log'

Log file path.

zengine.settings.LOG_HANDLER = 'file'

Logging Settings

Left blank to use StreamHandler aka stderr

Set to ‘file’ for logging ‘LOG_FILE’

zengine.settings.LOG_LEVEL = 'DEBUG'

Logging Level. Can be one INFO or DEBUG.

zengine.settings.MAX_NUM_DROPDOWN_LINKED_MODELS = 20

Max number of items for non-filtered dropdown boxes.

zengine.settings.MESSAGES = {'lane_change_invite_title': 'System needs you!', 'lane_change_invite_body': 'workflow needs your action, you can reach to workflow from your task manager.', 'lane_change_message_body': 'You have completed your part on this workflow. Interested parties are notified to join and take over the job.', 'lane_change_message_title': 'Thank you!'}

System Messages

zengine.settings.MESSAGING_UNIT_SEARCH_FIELDS = ['name']

Unit search method of messaging subsystem will work on these fields

zengine.settings.MESSAGING_USER_SEARCH_FIELDS = ['username', 'name', 'surname']

User search method of messaging subsystem will work on these fields

zengine.settings.OBJECT_MENU = {}

Relation focused CRUD menus with category support.

>>> 'object_type': [{ 'name':'ModelName',
>>>                  'field':'field_name',
>>>                  'verbose_name': 'verbose_name',
>>>                  'category': 'Genel'
>>>                  'wf':'crud'}]

Entries can be listed under custom categories.

object_type is common relation for a group of models.

e.g.: Teacher can be an object_type (grouper) for Student and Lecture models.

‘field’ defaults to ‘object_type’

verbose_name can be specified to override the model’s verbose_name_plural

zengine.settings.PERMISSION_MODEL = 'zengine.models.Permission'

Permissions model

zengine.settings.PERMISSION_PROVIDER = 'zengine.auth.permissions.get_all_permissions'

Permission provider. UpdatePermissions command uses this object to get available permmissions

zengine.settings.QUICK_MENU = []

List of menu entries for Dashoboard Quick Menu.

zengine.settings.REDIS_PASSWORD = None

Redis password (password).

zengine.settings.REDIS_SERVER = '127.0.0.1:6379'

Redis address and port.

zengine.settings.RIAK_PORT = 8098

Riak port. By default 8098 for http, 8087 for pbc.

zengine.settings.RIAK_PROTOCOL = 'http'

Riak access protocol. Can be ‘http’ or ‘pbc’

zengine.settings.RIAK_SERVER = 'localhost'

RIAK Server address

zengine.settings.ROLE_MODEL = 'zengine.models.Role'

Role model

zengine.settings.SESSION_OPTIONS = {'session.path': '/', 'session.cookie_expires': True, 'session.url': '127.0.0.1:6379', 'session.type': 'redis', 'session.auto': True}

Beaker session options.

zengine.settings.TRANSLATIONS = ['en', 'tr']

Available translations

zengine.settings.TRANSLATIONS_DIR = '/home/docs/checkouts/readthedocs.org/user_builds/zengine/envs/latest/lib/python2.7/site-packages/zengine-0.8.3-py2.7.egg/zengine/locale'

The directory containing the translations

zengine.settings.UNIT_MODEL = 'zengine.models.Unit'

Unit model

zengine.settings.USER_MODEL = 'zengine.models.User'

User model

zengine.settings.WF_INITIAL_VALUES = 'zengine.lib.wf_initial_values.WFValues'

WF_Initial_Values class

zengine.settings.WORKFLOW_PACKAGES_PATHS = ['/home/docs/checkouts/readthedocs.org/user_builds/zengine/envs/latest/lib/python2.7/site-packages/zengine-0.8.3-py2.7.egg/zengine/diagrams']

Absolute path to the workflow packages

zengine.signals module

Builting signals for various events.

zengine.signals.crud_post_delete = <zengine.dispatch.dispatcher.Signal object>

After deletion of an object with CrudView based view.

zengine.signals.crud_post_save = <zengine.dispatch.dispatcher.Signal object>

After saving of an object with CrudView based view.

zengine.signals.crud_pre_delete = <zengine.dispatch.dispatcher.Signal object>

Before deletion of an object with CrudView based view.

zengine.signals.crud_pre_save = <zengine.dispatch.dispatcher.Signal object>

Before saving of an object with CrudView based view.

zengine.signals.lane_user_change = <zengine.dispatch.dispatcher.Signal object>

Emitted when lane changed to another user on a multi-lane workflow

Doesn’t trigger if both lanes are owned by the same user

zengine.wf_daemon module