This repository has been archived by the owner on Feb 14, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 27
/
repository.xml.template
274 lines (247 loc) · 11.7 KB
/
repository.xml.template
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE Repository
PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
"http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
<Repository>
<!--
virtual file system where the repository stores global state
(e.g. registered namespaces, custom node types, etc.).
ALERT: If you make changes to the Repository XML ensure that you delete
all files is {solution_folder}/system/jackrabbit/repository and drop all
the the tables in associated dbs to ensure you start with a pristine
repository. If you leave artifacts you may run into errors resulting from
an "inconsistent" repository!
-->
<!--
Replace the following "FileSystem" XML node to use supported databases as
the repository file system. Change the url, user, password and other parameters
to suit your db installation. The schemaObjectPrefix should
be a unique prefix that will be prepended to the table names.
NOTE: The database must be pre-created in and match the parameters. See Jackrabbit
documentation for further explanation.
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="@@DRIVER@@"/>
<param name="url" value="@@URL@@"/>
<param name="user" value="@@USER@@"/>
<param name="password" value="@@PASSWD@@"/>
<param name="schema" value="@@DB_TYPE@@"/>
<param name="schemaObjectPrefix" value="fs_repos_"/>
</FileSystem>
<!--
data store configuration
-->
<!--
Replace the following "DataStore" XML node to use supported databases as the data
store for the repository. Change the url, user, password and other parameters
to suit your db installation. The schemaObjectPrefix should
be a unique prefix that will be prepended to the table names.
NOTE: The database must be pre-created in and match the parameters. See Jackrabbit
documentation for further explanation.
-->
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
<param name="url" value="@@URL@@"/>
<param name="user" value="@@USER@@"/>
<param name="password" value="@@PASSWD@@"/>
<param name="databaseType" value="@@DB_TYPE@@"/>
<param name="driver" value="@@DRIVER@@"/>
<param name="minRecordLength" value="1024"/>
<param name="maxConnections" value="5"/>
<param name="copyWhenReading" value="true"/>
<param name="tablePrefix" value=""/>
<param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>
<!--
security configuration
-->
<Security appName="Jackrabbit">
<!--
security manager:
class: FQN of class implementing the JackrabbitSecurityManager interface
-->
<SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager" workspaceName="security">
<!--
workspace access:
class: FQN of class implementing the WorkspaceAccessManager interface
-->
<!-- <WorkspaceAccessManager class="..."/> -->
<!-- <param name="config" value="${rep.home}/security.xml"/> -->
</SecurityManager>
<!--
access manager:
class: FQN of class implementing the AccessManager interface
-->
<AccessManager class="org.apache.jackrabbit.core.security.DefaultAccessManager">
<!-- <param name="config" value="${rep.home}/access.xml"/> -->
</AccessManager>
<LoginModule class="org.pentaho.platform.repository2.unified.jcr.jackrabbit.security.SpringSecurityLoginModule">
<!--
anonymous user name ('anonymous' is the default value)
-->
<param name="anonymousId" value="anonymous"/>
<!--
administrator user id (default value if param is missing is 'admin')
-->
<param name="adminId" value="pentahoRepoAdmin"/>
<param name="principalProvider"
value="org.pentaho.platform.repository2.unified.jcr.jackrabbit.security.SpringSecurityPrincipalProvider"/>
<!-- comma separated list of pre-authentication tokens, one per application -->
<param name="preAuthenticationTokens" value="ZchBOvP8q9FQ"/>
<!-- must match PentahoSessionCredentialsStrategy.ATTR_PRE_AUTHENTICATION_TOKEN -->
<param name="trust_credentials_attribute" value="pre_authentication_token"/>
</LoginModule>
</Security>
<!--
location of workspaces root directory and name of default workspace
-->
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
<!--
workspace configuration template:
used to create the initial workspace if there's no workspace yet
-->
<Workspace name="${wsp.name}">
<!--
virtual file system of the workspace:
class: FQN of class implementing the FileSystem interface
-->
<!--
Replace the following "FileSystem" XML node to use supported databases as
the repository file system. Change the url, user, password and other parameters
to suit your db installation. The schemaObjectPrefix should
be a unique prefix that will be prepended to the table names.
NOTE: The database must be pre-created in and match the parameters. See Jackrabbit
documentation for further explanation.
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="@@DRIVER@@"/>
<param name="url" value="@@URL@@"/>
<param name="user" value="@@USER@@"/>
<param name="password" value="@@PASSWD@@"/>
<param name="schema" value="@@DB_TYPE@@"/>
<param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>
<!--
persistence manager of the workspace:
class: FQN of class implementing the PersistenceManager interface
-->
<!--
Replace the following "PersistenceManager" XML node to use a supported database as the
persistenanceManager store. Change the url, user, password and parameters
to suit your db installation. The schemaObjectPrefix should
be a unique prefix that will be prepended to the table names.
NOTE: The database must be pre-created in and match the parameters. See Jackrabbit
documentation for further explanation.
-->
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="driver" value="@@DRIVER@@"/>
<param name="url" value="@@URL@@"/>
<param name="user" value="@@USER@@" />
<param name="password" value="@@PASSWD@@" />
<param name="schema" value="@@DB_TYPE@@"/>
<param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>
<!--
Search index and the file system it uses.
class: FQN of class implementing the QueryHandler interface
-->
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
<param name="supportHighlighting" value="true"/>
</SearchIndex>
<WorkspaceSecurity>
<AccessControlProvider class="org.apache.jackrabbit.core.security.authorization.acl.PentahoACLProvider">
<!-- Param names have the prefix magicAceDefinition along with a consecutive integer -->
<!-- Param values have four values separated by colons. -->
<!-- Param value subitem #1: path possibly including {0} which will be replaced by tenantId -->
<!-- Param value subitem #2: ABS action name -->
<!-- Param value subitem #3: comma-separated list of JCR privileges -->
<!-- Param value subitem #4: boolean where true means that path is a prefix and not to be matched exactly -->
<param name="magicAceDefinition0" value="{0};org.pentaho.security.administerSecurity;jcr:all;true;true;false" />
<param name="magicAceDefinition1"
value="{0};org.pentaho.repository.read;jcr:read,jcr:readAccessControl;true;false;true" />
<param name="magicAceDefinition2"
value="{0}/etc/pdi;org.pentaho.repository.read;jcr:read,jcr:readAccessControl;true;false;false" />
<param name="magicAceDefinition3"
value="{0}/etc/pdi;org.pentaho.repository.create;jcr:read,jcr:readAccessControl,jcr:write,jcr:modifyAccessControl,jcr:lockManagement,jcr:versionManagement,jcr:nodeTypeManagement;true;false;false" />
<param name="magicAceDefinition4"
value="{0}/etc;org.pentaho.security.publish;jcr:read,jcr:readAccessControl,jcr:write,jcr:modifyAccessControl,jcr:lockManagement,jcr:versionManagement,jcr:nodeTypeManagement;true;true;false" />
</AccessControlProvider>
</WorkspaceSecurity>
</Workspace>
<!--
Configures the versioning
-->
<Versioning rootPath="${rep.home}/version">
<!--
Configures the filesystem to use for versioning for the respective
persistence manager
-->
<!--
Replace the following "FileSystem" XML node to use a supported database as
the repository file system. Change the url, user, password and other parameters
to suit your db installation. The schemaObjectPrefix should
be a unique prefix that will be prepended to the table names.
NOTE: The database must be pre-created in and match the parameters. See Jackrabbit
documentation for further explanation.
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="@@DRIVER@@"/>
<param name="url" value="@@URL@@"/>
<param name="user" value="@@USER@@"/>
<param name="password" value="@@PASSWD@@"/>
<param name="schema" value="@@DB_TYPE@@"/>
<param name="schemaObjectPrefix" value="fs_ver_"/>
</FileSystem>
<!--
Configures the persistence manager to be used for persisting version state.
Please note that the current versioning implementation is based on
a 'normal' persistence manager, but this could change in future
implementations.
-->
<!--
Replace the following "PersistenceManager" XML node to use a supported database as the
persistenanceManager store. Change the url, user, password and parameters
to suit your db installation. The schemaObjectPrefix should
be a unique prefix that will be prepended to the table names.
NOTE: The database must be pre-created in and match the parameters. See Jackrabbit
documentation for further explanation.
-->
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="driver" value="@@DRIVER@@"/>
<param name="url" value="@@URL@@"/>
<param name="user" value="@@USER@@" />
<param name="password" value="@@PASSWD@@" />
<param name="schema" value="@@DB_TYPE@@"/>
<param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>
</Versioning>
<!-- according to https://help.pentaho.com/Documentation/6.1/0P0/100/Jackrabbit_Repository_Performance_Tuning -->
<!--
Search index for content that is shared repository wide
(/jcr:system tree, contains mainly versions)
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${rep.home}/repository/index"/>
<param name="supportHighlighting" value="true"/>
</SearchIndex>
-->
<!--
Run with a cluster journal
-->
<Cluster id="node1">
<Journal class="org.apache.jackrabbit.core.journal.MemoryJournal"/>
</Cluster>
</Repository>