Configuration

Invenio module that add SIP2 communication for self-check.

SIP2_DATASTORE_HANDLER

datastore handler, default: SIP2SimpleDatastore

SIP2_DATASTORE_REDIS_PREFIX

Prefix for redis keys, default sip2

SIP2_DATASTORE_REDIS_URL

Redis Datastore URL

SIP2_MESSAGE_ACTIONS

Dictionary of all selfcheck actions.

SIP2_REMOTE_ACTION_HANDLERS

Dictionary of remote action handlers. See example below.

SIP2_MESSAGE_TYPES

Define all message types conforming to SIP2 protocol.

SIP2_FIXED_FIELD_DEFINITION

All fixed field available.

SIP2_VARIABLE_FIELD_DEFINITION

All variable field available.

invenio_sip2.config.SIP2_DATASTORE_HANDLER
Add the preferred datastore adaptor.
Provided adaptor by invenio-sip2 are:
.. seealso:: :py:class:`~invenio_sip2.datastore.datastore.SIP2SimpleDatastore`
.. seealso:: :py:class:`~invenio_sip2.datastore.redis.RedisSip2Datastore`

Each custom handler actions must be defined in the SIP2_ACTIONS_HANDLERS dictionary, where the keys are the application names and the values the configuration parameters for the application.

SIP2_REMOTE_ACTION_HANDLERS = dict(
    myapp=dict(
        # configuration values for myapp ...
    ),
)

The application name is used to start invenio-sip2 server and call customized handlers.

Remote action Handlers

Handlers allow customizing endpoints for each selfcheck actions:

Configuration of a single remote application is a dictionary with the following keys:

  • login_handler - Import path to login selfcheck callback handler.

  • logout_handler - Import path to logout selfcheck callback handler.

  • system_status_handler - Import path to automated system status callback handler.

  • patron_handlers - A dictionary of import path to patron callback handler.
    • validate_patron - Import path to validate patron callback handler.

    • authorize_patron - Import path to authorize patron callback handler.

    • enable_patron - Import path to enable patron callback handler.

    • patron_status - Import path to patron status callback handler.

    • account - Import path to retrieve patron account callback handler.

  • item_handlers - A dictionary of import path to item callback handler.
    • item - Import path to retrieve item callback handler.

  • circulation_handlers - A dictionary of import path to circulation callback handler.
    • checkout - Import path to checkout item callback handler.

    • checkin - Import path to checkin item callback handler.

    • hold - Import path to hold item callback handler.

    • renew - Import path to renew item callback handler.

    • renew_all - Import path to renew_all items callback handler.

SIP2_REMOTE_ACTION_HANDLERS = dict(
    app=dict(
        login_handler="...",
        logout_handler="...",
        system_status_handler="...",
        patron_handlers=dict(
            validate_patron="...",
            authorize_patron="...",
            enable_patron="...",
            patron_status="...",
            account="...",
        ),
        item_handlers=dict(
            item="..."
        ),
        circulation_handlers=dict(
            checkout="...",
            checkin="...",
            hold="...",
            renew="...",
        )
    )
)
invenio_sip2.config.BABEL_DEFAULT_LANGUAGE = 'en'

Default language

invenio_sip2.config.SIP2_DATE_FORMAT = '%Y%m%d    %H%M%S'

SIP2 date format.

invenio_sip2.config.SIP2_DEFAULT_SECURITY_MARKER = '00'

SIP2 default security marker type.

invenio_sip2.config.SIP2_ERROR_DETECTION = True

Enable error detection on message.

invenio_sip2.config.SIP2_LINE_TERMINATOR = '\r'

Message line separator.

invenio_sip2.config.SIP2_LOGGING_CONSOLE = True

Enable logging to the console.

invenio_sip2.config.SIP2_LOGGING_CONSOLE_LEVEL = 'INFO'

Console logging level.

All requests and responses will be written to the console if the level is on info mode. Otherwise, they will not logged.

invenio_sip2.config.SIP2_LOGGING_FS_BACKUPCOUNT = 5

Number of rotated log files to keep.

invenio_sip2.config.SIP2_LOGGING_FS_LEVEL = 'INFO'

Console logging level.

Defaults to write all requests and responses.

invenio_sip2.config.SIP2_LOGGING_FS_LOGFILE = None

Enable logging to the filesystem.

A valid filesystem path is required to enable logging.

invenio_sip2.config.SIP2_LOGGING_FS_MAXBYTES = 104857600

Maximum size of logging file. Default: 100MB.

invenio_sip2.config.SIP2_PERMISSIONS_FACTORY(action)

Define factory permissions.

invenio_sip2.config.SIP2_PROTOCOL = '2.00'

SIP2 protocol version.

invenio_sip2.config.SIP2_REMOTE_ACTION_HANDLERS = {}

Configuration of remote handlers.

invenio_sip2.config.SIP2_RETRIES_ALLOWED = 10

Number of retries allowed.

invenio_sip2.config.SIP2_SOCKET_BUFFER_SIZE = '1024'

Socket buffer size.

invenio_sip2.config.SIP2_SUPPORT_CHECKIN = True

Support check in items.

invenio_sip2.config.SIP2_SUPPORT_CHECKOUT = True

Support check out items.

invenio_sip2.config.SIP2_SUPPORT_OFFLINE_STATUS = True

Support off line operation.

invenio_sip2.config.SIP2_SUPPORT_ONLINE_STATUS = True

Support online status send by automatic circulation system.

invenio_sip2.config.SIP2_SUPPORT_RENEWAL_POLICY = True

Support patron renewal requests as a policy.

invenio_sip2.config.SIP2_SUPPORT_STATUS_UPDATE = True

Support patron status updating by the selfcheck.

invenio_sip2.config.SIP2_TEXT_ENCODING = 'UTF-8'

Message text charset encoding.

invenio_sip2.config.SIP2_TIMEOUT_PERIOD = 10

Server timeout.