zope.conf.in 4.63 KB
Newer Older
1 2
# Note: Environment is setup in running wrapper script, as zope.conf is read
# too late for some components.
3
%define INSTANCE {{ parameter_dict['instance'] }}
4 5
instancehome $INSTANCE
zserver-threads {{ parameter_dict['thread-amount'] }}
6 7 8 9 10 11 12 13
# 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
14 15 16 17 18 19 20 21 22

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 ?
23
products {{ parameter_dict['instance-products'] }}
24

25
{% if parameter_dict['webdav'] -%}
26
<webdav-source-server>
27
  address {{ parameter_dict['ip'] }}:{{ parameter_dict['port'] }}
28 29
  force-connection-close off
</webdav-source-server>
30 31 32 33 34
{% else %}
<http-server>
  address {{ parameter_dict['ip'] }}:{{ parameter_dict['port'] }}
</http-server>
{%- endif %}
35 36 37 38 39 40

<zoperunner>
    program $INSTANCE/bin/runzope
</zoperunner>

<product-config DeadlockDebugger>
41 42
  dump_url {{ parameter_dict['deadlock-path'] }}
  secret {{ parameter_dict['deadlock-debugger-password'] }}
43 44
</product-config>

45 46 47 48 49 50 51
{% if 'longrequest-logger-interval' in parameter_dict -%}
<product-config LongRequestLogger>
  logfile {{ parameter_dict['longrequest-logger-file'] }}
  timeout {{ parameter_dict['longrequest-logger-timeout'] }}
  interval {{ parameter_dict['longrequest-logger-interval'] }}
</product-config>

52 53 54 55 56
{% endif -%}

{% if 'large-file-threshold' in parameter_dict -%}
large-file-threshold {{ parameter_dict['large-file-threshold'] }}

57
{% endif -%}
58
{% if 'tidstorage-ip' in parameter_dict -%}
59
<product-config TIDStorage>
60
  backend-ip {{ parameter_dict['tidstorage-ip'] }}
61
  backend-port {{ parameter_dict['tidstorage-port'] }}
62 63 64
</product-config>

{% endif -%}
65 66 67 68
<product-config CMFActivity>
  node-id {{ parameter_dict['node-id'] }}
</product-config>

69
{% set timerserver_interval = parameter_dict['timerserver-interval'] -%}
70
{% if timerserver_interval -%}
71 72
%import timerserver
<timer-server>
73
  interval {{ timerserver_interval }}
74 75 76
</timer-server>

{% endif -%}
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
{% set sql_connection_string = parameter_dict.get('sql-connection-string') -%}
{% if sql_connection_string -%}
{%   set bt5_repository_url = [] -%}
{%   set sr_path = os.path.realpath(parameter_dict['home'] + '/software_release') + '/' -%}
{%   for url in parameter_dict['bt5-repository-url'].split() -%}
{%     if url.startswith(sr_path) -%}
{%       set url = '~/software_release/' + url[len(sr_path):] -%}
{%     endif -%}
{%     do bt5_repository_url.append(url) -%}
{%   endfor -%}
<product-config initsite>
  id {{ parameter_dict['site-id'] }}
  owner {{ parameter_dict['inituser'] }}
  erp5_sql_connection_string {{ sql_connection_string }}
  cmf_activity_sql_connection_string {{ sql_connection_string }}
  bt5_repository_url {{ ' '.join(bt5_repository_url) }}
  bt5 {{ parameter_dict['bt5'] }}
94 95 96
{%- if parameter_dict['id-store-interval'] != None %}
  id_store_interval {{ parameter_dict['id-store-interval'] }}
{%- endif %}
97
  cloudooo_url {{ parameter_dict['cloudooo-url'] }}
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
</product-config>

{% endif -%}
<eventlog>
  level info
  <logfile>
    dateformat
    path {{ parameter_dict['event-log'] }}
  </logfile>
</eventlog>

<logger access>
  level WARN
  <logfile>
    dateformat
113
    format %(message)s
114 115 116 117 118 119 120 121 122 123 124 125
    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>

126 127 128 129 130 131 132
{% set developer_list = parameter_dict['developer-list'] -%}
{% if developer_list -%}
%import Products.ERP5Type
<ERP5Type erp5>
  developers {{ developer_list | join(' ') }}
</ERP5Type>

133 134 135 136
{% endif -%}
{% for m in parameter_dict['import-list'] -%}
%import {{ m }}
{% endfor -%}
137 138 139 140 141
{% 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') %}
142 143 144
{%- for key, value in zodb_dict.iteritems() %}
  {{ key }} {{ value }}
{%-   endfor %}
145 146 147 148 149 150 151 152
  <{{ storage_type }}>
{%-   for key, value in storage_dict.iteritems() %}
    {{ key }} {{ value }}
{%-   endfor %}
  </{{ storage_type }}>
</zodb_db>

{% endfor -%}