# Note: Environment is setup in running wrapper script, as zope.conf is read # too late for some components. %define INSTANCE {{ parameter_dict['instance'] }} instancehome $INSTANCE zserver-threads {{ parameter_dict['thread-amount'] }} # When ownership checking is enabled, the roles a script runs as are the # intersection between user's roles and script owner's roles. This means # that revoking a code author's access to the system prevent all scripts # owned by that user from being of much use. # This is not how ERP5 approaches development: Managers write code, # Managers must be trustable and trusted, and their past work should not be # revoked when their account is terminated. skip-ownership-checking true lock-filename {{ parameter_dict['lock-file'] }} pid-filename {{ parameter_dict['pid-file'] }} default-zpublisher-encoding utf-8 rest-input-encoding utf-8 rest-output-encoding utf-8 # XXX: isn't this entry implicit ? products {{ parameter_dict['instance-products'] }} {% if parameter_dict['webdav'] -%} <webdav-source-server> address {{ parameter_dict['ip'] }}:{{ parameter_dict['port'] }} force-connection-close off </webdav-source-server> {% else %} <http-server> address {{ parameter_dict['ip'] }}:{{ parameter_dict['port'] }} </http-server> {%- endif %} <zoperunner> program $INSTANCE/bin/runzope </zoperunner> <product-config DeadlockDebugger> dump_url {{ parameter_dict['deadlock-path'] }} secret {{ parameter_dict['deadlock-debugger-password'] }} </product-config> {% if 'tidstorage-ip' in parameter_dict -%} <product-config TIDStorage> backend-ip {{ parameter_dict['tidstorage-ip'] }} backend-port {{ parameter_dict['tidstorage-port'] }} </product-config> {% endif -%} <product-config CMFActivity> node-id {{ parameter_dict['node-id'] }} </product-config> {% set timerserver_interval = parameter_dict['timerserver-interval'] -%} {% if timerserver_interval -%} %import timerserver <timer-server> interval {{ timerserver_interval }} </timer-server> {% endif -%} {% set promise_path = parameter_dict['promise-path'] -%} {% if promise_path -%} <product-config /{{ parameter_dict['site-id'] }}> promise_path {{ promise_path }} </product-config> {% endif -%} <eventlog> level info <logfile> dateformat path {{ parameter_dict['event-log'] }} </logfile> </eventlog> <logger access> level WARN <logfile> dateformat path {{ parameter_dict['z2-log'] }} </logfile> </logger> <zodb_db temporary> <temporarystorage> name temporary storage for sessioning </temporarystorage> mount-point /temp_folder container-class Products.TemporaryFolder.TemporaryContainer </zodb_db> {% set developer_list = parameter_dict['developer-list'] -%} {% if developer_list -%} %import Products.ERP5Type <ERP5Type erp5> developers {{ developer_list | join(' ') }} </ERP5Type> {% endif -%} {% for m in parameter_dict['import-list'] -%} %import {{ m }} {% endfor -%} {% set type_dict = {'neo': 'NEOStorage', 'zeo': 'zeoclient'} %} {% for name, zodb_dict in parameter_dict['zodb-dict'].iteritems() %} <zodb_db {{ name }}> {%- set storage_type = type_dict[zodb_dict.pop('type')] %} {%- set storage_dict = zodb_dict.pop('storage-dict') %} {%- for key, value in zodb_dict.iteritems() %} {{ key }} {{ value }} {%- endfor %} <{{ storage_type }}> {%- for key, value in storage_dict.iteritems() %} {{ key }} {{ value }} {%- endfor %} </{{ storage_type }}> </zodb_db> {% endfor -%}