Simplified pull list: More name options
[working/Evergreen.git] / Open-ILS / examples / fm_IDL.xml
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!--
3
4 Copyright (C) 2006-2008 Georgia Public Library Service
5 Copyright (C) 2008 Equinox Software, Inc
6 Author: Mike Rylander <miker@esilibrary.com>
7
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 as published by the Free Software Foundation; either version 2
11 of the License, or (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
21
22 ############################
23           TEMPLATE
24 ############################
25
26     <class
27         id=""
28         controller="open-ils.cstore open-ils.pcrud"
29         oils_obj:fieldmapper=""
30         oils_persist:tablename=""
31         reporter:label=""
32         oils_persist:field_safe=""
33         oils_persist:virtual=""
34         oils_persist:readonly=""
35         reporter:core=""
36     >
37
38         <oils_persist:source_definition><![CDATA[
39             SELECT * FROM foo
40         ]]></oils_persist:source_definition>
41
42         <fields oils_persist:primary="" oils_persist:sequence="">
43             <field reporter:label="ID" name="id" reporter:datatype="id"/>
44                         <field reporter:label="" name="" reporter:datatype="org_unit"/>
45             <field reporter:label="" name="" reporter:datatype="text"/>
46             <field reporter:label="" name="" reporter:datatype="link"/>
47             <field reporter:label="" name="" reporter:datatype="timestamp"/>
48             <field reporter:label="" name="" reporter:datatype="money"/>
49             <field reporter:label="" name="" reporter:datatype="bool"/>
50             <field reporter:label="" name="" reporter:datatype="int" oils_obj:required="true"/>
51             <field reporter:label="" name="" reporter:datatype="int" oils_persist:virtual="true"/>
52         </fields>
53
54         <links>
55             <link field="" reltype="has_a" key="" map="" class=""/>
56         </links>
57
58         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
59             <actions>
60                 <create permission="" gloabl_required="true"/>
61                 <retrieve/>
62                 <update permission="" context_field=""/>
63                 <delete permission="">
64                     <context link="" field=""/>
65                 </delete>
66             </actions>
67         </permacrud>
68
69     </class>
70
71
72 -->
73
74 <IDL xmlns="http://opensrf.org/spec/IDL/base/v1" xmlns:idl="http://opensrf.org/spec/IDL/base/v1" xmlns:oils_persist="http://open-ils.org/spec/opensrf/IDL/persistence/v1" xmlns:oils_obj="http://open-ils.org/spec/opensrf/IDL/objects/v1" xmlns:reporter="http://open-ils.org/spec/opensrf/IDL/reporter/v1" xmlns:permacrud="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
75
76         <!-- Virtual classes -->
77         <class id="mups" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_payment_summary" oils_persist:virtual="true" reporter:label="User Payment Summary">
78                 <fields>
79                         <field name="usr" oils_persist:virtual="true" />
80                         <field name="forgive_payment" oils_persist:virtual="true" />
81                         <field name="work_payment" oils_persist:virtual="true" />
82                         <field name="credit_payment" oils_persist:virtual="true" />
83                         <field name="goods_payment" oils_persist:virtual="true" />
84                 </fields>
85                 <links>
86                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
87                 </links>
88         </class>
89
90         <class id="mwps" controller="open-ils.cstore" oils_obj:fieldmapper="money::workstation_payment_summary" oils_persist:virtual="true" reporter:label="Workstation Payment Summary">
91                 <fields>
92                         <field name="workstation" oils_persist:virtual="true" />
93                         <field name="cash_payment" oils_persist:virtual="true" />
94                         <field name="check_payment" oils_persist:virtual="true" />
95                         <field name="credit_card_payment" oils_persist:virtual="true" />
96                 </fields>
97                 <links>
98                         <link field="workstation" reltype="has_a" key="id" map="" class="aws"/>
99                 </links>
100         </class>
101
102         <class id="brn" controller="open-ils.cstore" oils_obj:fieldmapper="biblio::record_node" oils_persist:virtual="true" reporter:label="Record Node">
103                 <fields>
104                         <field name="id" oils_persist:virtual="true" />
105                         <field name="children" oils_persist:virtual="true" />
106                         <field name="owner_doc" oils_persist:virtual="true" />
107                         <field name="intra_doc_id" oils_persist:virtual="true" />
108                         <field name="parent_node" oils_persist:virtual="true" />
109                         <field name="node_type" oils_persist:virtual="true" />
110                         <field name="namespace_uri" oils_persist:virtual="true" />
111                         <field name="name" oils_persist:virtual="true" />
112                         <field name="value" oils_persist:virtual="true" />
113                 </fields>
114         </class>
115
116         <class id="mvr" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::virtual_record" oils_persist:virtual="true" reporter:label="Virtual Record">
117                 <fields>
118                         <field name="title" oils_persist:virtual="true" />
119                         <field name="author" oils_persist:virtual="true" />
120                         <field name="doc_id" oils_persist:virtual="true" />
121                         <field name="doc_type" oils_persist:virtual="true" />
122                         <field name="pubdate" oils_persist:virtual="true" />
123                         <field name="isbn" oils_persist:virtual="true" />
124                         <field name="publisher" oils_persist:virtual="true" />
125                         <field name="tcn" oils_persist:virtual="true" />
126                         <field name="subject" oils_persist:virtual="true" />
127                         <field name="types_of_resource" oils_persist:virtual="true" />
128                         <field name="call_numbers" oils_persist:virtual="true" />
129                         <field name="edition" oils_persist:virtual="true" />
130                         <field name="online_loc" oils_persist:virtual="true" />
131                         <field name="synopsis" oils_persist:virtual="true" />
132                         <field name="physical_description" oils_persist:virtual="true" />
133                         <field name="toc" oils_persist:virtual="true" />
134                         <field name="copy_count" oils_persist:virtual="true" />
135                         <field name="series" oils_persist:virtual="true" />
136                         <field name="serials" oils_persist:virtual="true" />
137                         <field name="foreign_copy_maps" oils_persist:virtual="true" />
138                 </fields>
139         </class>
140
141         <class id="ex" controller="open-ils.cstore" oils_obj:fieldmapper="ex" oils_persist:virtual="true">
142                 <fields>
143                         <field name="err_msg" oils_persist:virtual="true" />
144                         <field name="type" oils_persist:virtual="true" />
145                 </fields>
146         </class>
147
148         <class id="perm_ex" controller="open-ils.cstore" oils_obj:fieldmapper="perm_ex" oils_persist:virtual="true">
149                 <fields>
150                         <field name="err_msg" oils_persist:virtual="true" />
151                         <field name="type" oils_persist:virtual="true" />
152                 </fields>
153         </class>
154
155         <class id="amtr" controller="open-ils.cstore" oils_obj:fieldmapper="action::matrix_test_result" oils_persist:virtual="true" reporter:label="Matrix Test Result">
156                 <fields oils_persist:primary="matchpoint">
157                         <field reporter:label="Matchpoint ID" name="matchpoint" reporter:datatype="id"/>
158                         <field reporter:label="Success" name="success" reporter:datatype="bool"/>
159                         <field reporter:label="Failure Part" name="fail_part" reporter:datatype="text"/>
160                 </fields>
161                 <links>
162                         <link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
163                 </links>
164         </class>
165
166         <class id="accs" controller="open-ils.cstore" oils_obj:fieldmapper="action::circ_chain_summary" oils_persist:virtual="true" reporter:label="Circulation Chain Summary">
167         <!-- when the time is right, turn me into a view.  -->
168                 <fields>
169             <field reporter:label="Total Circs" name="num_circs" reporter:datatype="int"/>
170             <field reporter:label="Start Time" name="start_time" reporter:datatype="timestamp"/>
171             <field reporter:label="Checkout Workstation" name="checkout_workstation" reporter:datatype="text"/>
172             <field reporter:label="Last Renewal Time" name="last_renewal_time" reporter:datatype="timestamp"/>
173             <field reporter:label="Last Stop Fines" name="last_stop_fines" reporter:datatype="text"/>
174             <field reporter:label="Last Stop Fines Time" name="last_stop_fines_time" reporter:datatype="timestamp"/>
175             <field reporter:label="Last Renewal Workstation" name="last_renewal_workstation" reporter:datatype="text"/>
176             <field reporter:label="Last Checkin Workstation" name="last_checkin_workstation" reporter:datatype="text"/>
177             <field reporter:label="Last Checkin Time" name="last_checkin_time" reporter:datatype="timestamp"/>
178             <field reporter:label="Last Checkin Scan Time" name="last_checkin_scan_time" reporter:datatype="timestamp"/>
179                 </fields>
180         </class>
181
182         <class id="rhr" oils_obj:fieldmapper="resolver::holdings_record" oils_persist:virtual="true">
183                 <fields>
184                         <field name="public_name" oils_persist:virtual="true" />
185                         <field name="target_url" oils_persist:virtual="true" />
186                         <field name="target_coverage" oils_persist:virtual="true" />
187                         <field name="target_embargo" oils_persist:virtual="true" />
188                 </fields>
189         </class>
190
191         <!-- Actually in the DB -->
192         <class id="vmp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::merge_profile" oils_persist:tablename="vandelay.merge_profile" reporter:label="Bib Import Merge Profile">
193                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.merge_profile_id_seq">
194                         <field reporter:label="Field ID" name="id" reporter:selector="name" reporter:datatype="id"/>
195                         <field reporter:label="Owner" name="owner" reporter:datatype="link"/>
196                         <field reporter:label="Name" name="name" reporter:datatype="text"/>
197                         <field reporter:label="Add Specification" name="add_spec" reporter:datatype="text"/>
198                         <field reporter:label="Replace Specification" name="replace_spec" reporter:datatype="text"/>
199                         <field reporter:label="Remove Specification" name="strip_spec" reporter:datatype="text"/>
200                         <field reporter:label="Preserve Specification" name="preserve_spec" reporter:datatype="text"/>
201                         <field reporter:label="Min. Quality Ratio" name="lwm_ratio" reporter:datatype="float"/>
202                 </fields>
203                 <links>
204                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
205                 </links>
206                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
207                         <actions>
208                                 <create permission="ADMIN_MERGE_PROFILE CREATE_MERGE_PROFILE" context_field="owner"/>
209                                 <retrieve permission="ADMIN_MERGE_PROFILE CREATE_MERGE_PROFILE UPDATE_MERGE_PROFILE DELETE_MERGE_PROFILE VIEW_MERGE_PROFILE" context_field="owner"/>
210                                 <update permission="ADMIN_MERGE_PROFILE UPDATE_MERGE_PROFILE" context_field="owner"/>
211                                 <delete permission="ADMIN_MERGE_PROFILE DELETE_MERGE_PROFILE" context_field="owner"/>
212                         </actions>
213                 </permacrud>
214         </class>
215
216         <class id="vibtf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::import_bib_trash_fields" oils_persist:tablename="vandelay.import_bib_trash_fields" reporter:label="Import/Overlay Fields for Removal">
217                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.import_bib_trash_fields_id_seq">
218                         <field reporter:label="Field ID" name="id" reporter:datatype="id"/>
219                         <field reporter:label="Group" name="grp" reporter:datatype="link"/>
220                         <field reporter:label="Field" name="field" reporter:datatype="text"/>
221                 </fields>
222                 <links>
223                         <link field="grp" reltype="has_a" key="id" map="" class="vibtg"/>
224                 </links>
225                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
226                         <actions>
227                                 <create permission="CREATE_IMPORT_TRASH_FIELD">
228                     <context link="grp" field="owner"/>
229                 </create>
230                                 <retrieve permission="CREATE_IMPORT_TRASH_FIELD UPDATE_IMPORT_TRASH_FIELD DELETE_IMPORT_TRASH_FIELD">
231                     <context link="grp" field="owner"/>
232                 </retrieve>
233                                 <update permission="UPDATE_IMPORT_TRASH_FIELD">
234                     <context link="grp" field="owner"/>
235                 </update>
236                                 <delete permission="DELETE_IMPORT_TRASH_FIELD">
237                     <context link="grp" field="owner"/>
238                 </delete>
239                         </actions>
240                 </permacrud>
241         </class>
242
243         <class  id="vibtg" 
244             controller="open-ils.cstore open-ils.pcrud" 
245             oils_obj:fieldmapper="vandelay::import_bib_trash_group" 
246             oils_persist:tablename="vandelay.import_bib_trash_group" 
247             reporter:label="Import/Overlay Field Groups for Removal">
248                 <fields oils_persist:primary="id" 
249                 oils_persist:sequence="vandelay.import_bib_trash_group_id_seq">
250                         <field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector="name"/>
251                         <field reporter:label="Owner" name="owner" reporter:datatype="link"/>
252                         <field reporter:label="Label" name="label" reporter:datatype="text"/>
253                         <field reporter:label="Always Apply" name="always_apply" reporter:datatype="bool"/>
254                 </fields>
255                 <links>
256                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
257                 </links>
258                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
259                         <actions>
260                                 <create permission="CREATE_IMPORT_TRASH_FIELD" context_field="owner"/>
261                                 <retrieve permission="CREATE_IMPORT_TRASH_FIELD UPDATE_IMPORT_TRASH_FIELD DELETE_IMPORT_TRASH_FIELD" context_field="owner"/>
262                                 <update permission="UPDATE_IMPORT_TRASH_FIELD" context_field="owner"/>
263                                 <delete permission="DELETE_IMPORT_TRASH_FIELD" context_field="owner"/>
264                         </actions>
265                 </permacrud>
266         </class>
267
268
269         <class id="vii" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::import_item" oils_persist:tablename="vandelay.import_item" reporter:label="Import Item">
270                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.import_item_id_seq">
271                         <field reporter:label="Import Item ID" name="id" reporter:datatype="id"/>
272                         <field reporter:label="Import Record" name="record" reporter:datatype="link"/>
273                         <field reporter:label="Attribute Definition" name="definition" reporter:datatype="link"/>
274                         <field reporter:label="Import Error" name="import_error" reporter:datatype="link"/>
275                         <field reporter:label="Import Error Detail" name="error_detail" reporter:datatype="text"/>
276                         <field reporter:label="Final Target Copy" name="imported_as" reporter:datatype="link"/>
277                         <field reporter:label="Import Time" name="import_time" reporter:datatype="timestamp"/>
278                         <field reporter:label="Owning Library" name="owning_lib" reporter:datatype="int"/>
279                         <field reporter:label="Circulating Library" name="circ_lib" reporter:datatype="int"/>
280                         <field reporter:label="Call Number" name="call_number" reporter:datatype="text"/>
281                         <field reporter:label="Copy Number" name="copy_number" reporter:datatype="int"/>
282                         <field reporter:label="Status" name="status" reporter:datatype="int"/>
283                         <field reporter:label="Shelving Location" name="location" reporter:datatype="int"/>
284                         <field reporter:label="Circulate" name="circulate" reporter:datatype="bool"/>
285                         <field reporter:label="Deposit" name="deposit" reporter:datatype="bool"/>
286                         <field reporter:label="Deposit Amount" name="deposit_amount" reporter:datatype="money"/>
287                         <field reporter:label="Reference" name="ref" reporter:datatype="bool"/>
288                         <field reporter:label="Holdable" name="holdable" reporter:datatype="bool"/>
289                         <field reporter:label="Price" name="price" reporter:datatype="money"/>
290                         <field reporter:label="Barcode" name="barcode" reporter:datatype="text"/>
291                         <field reporter:label="Circulation Modifier" name="circ_modifier" reporter:datatype="text"/>
292                         <field reporter:label="Circulate As MARC Type" name="circ_as_type" reporter:datatype="text"/>
293                         <field reporter:label="Alert Message" name="alert_message" reporter:datatype="text"/>
294                         <field reporter:label="Public Note" name="pub_note" reporter:datatype="text"/>
295                         <field reporter:label="Private Note" name="priv_note" reporter:datatype="text"/>
296                         <field reporter:label="OPAC Visible" name="opac_visible" reporter:datatype="bool"/>
297                         <field reporter:label="Overlay Match ID" name="internal_id" reporter:datatype="int"/>
298                 </fields>
299                 <links>
300                         <link field="import_error" reltype="has_a" key="code" map="" class="vie"/>
301                         <link field="record" reltype="has_a" key="id" map="" class="vqbr"/>
302                         <link field="definition" reltype="has_a" key="id" map="" class="viiad"/>
303                         <link field="imported_as" reltype="has_a" key="id" map="" class="acp"/>
304                 </links>
305                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
306                         <actions>
307                                 <create permission="CREATE_IMPORT_ITEM">
308                     <context link="definition" field="owner"/>
309                                 </create>
310                                 <retrieve permission="CREATE_IMPORT_ITEM UPDATE_IMPORT_ITEM DELETE_IMPORT_ITEM">
311                     <context link="definition" field="owner"/>
312                                 </retrieve>
313                                 <update permission="UPDATE_IMPORT_ITEM">
314                     <context link="definition" field="owner"/>
315                                 </update>
316                                 <delete permission="DELETE_IMPORT_ITEM">
317                     <context link="definition" field="owner"/>
318                                 </delete>
319                         </actions>
320                 </permacrud>
321         </class>
322
323         <class id="viiad" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::import_item_attr_definition" oils_persist:tablename="vandelay.import_item_attr_definition" reporter:label="Import Item Attribute Definition">
324                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.import_item_attr_definition_id_seq">
325                         <field reporter:label="Definition ID" name="id" reporter:datatype="id"/>
326                         <field reporter:label="Owner" name="owner" reporter:datatype="link"/>
327                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
328                         <field reporter:label="Tag" name="tag" reporter:datatype="text"/>
329                         <field reporter:label="Keep" name="keep" reporter:datatype="bool"/>
330                         <field reporter:label="Owning Library" name="owning_lib" reporter:datatype="text"/>
331                         <field reporter:label="Circulating Library" name="circ_lib" reporter:datatype="text"/>
332                         <field reporter:label="Call Number" name="call_number" reporter:datatype="text"/>
333                         <field reporter:label="Status" name="status" reporter:datatype="text"/>
334                         <field reporter:label="Shelving Location" name="location" reporter:datatype="text"/>
335                         <field reporter:label="Circulate" name="circulate" reporter:datatype="text"/>
336                         <field reporter:label="Deposit" name="deposit" reporter:datatype="text"/>
337                         <field reporter:label="Deposit Amount" name="deposit_amount" reporter:datatype="text"/>
338                         <field reporter:label="Reference" name="ref" reporter:datatype="text"/>
339                         <field reporter:label="Holdable" name="holdable" reporter:datatype="text"/>
340                         <field reporter:label="Price" name="price" reporter:datatype="text"/>
341                         <field reporter:label="Barcode" name="barcode" reporter:datatype="text"/>
342                         <field reporter:label="Circulation Modifier" name="circ_modifier" reporter:datatype="text"/>
343                         <field reporter:label="Circulate As MARC Type" name="circ_as_type" reporter:datatype="text"/>
344                         <field reporter:label="Alert Message" name="alert_message" reporter:datatype="text"/>
345                         <field reporter:label="Public Note" name="pub_note" reporter:datatype="text"/>
346                         <field reporter:label="Private Note" name="priv_note" reporter:datatype="text"/>
347                         <field reporter:label="OPAC Visible" name="opac_visible" reporter:datatype="text"/>
348                         <field reporter:label="Copy Number" name="copy_number" reporter:datatype="text"/>
349                         <field reporter:label="Overlay Match ID" name="internal_id" reporter:datatype="text"/>
350                 </fields>
351                 <links>
352                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
353                 </links>
354                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
355                         <actions>
356                                 <create permission="CREATE_IMPORT_ITEM_ATTR_DEF ADMIN_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
357                                 <retrieve permission="CREATE_IMPORT_ITEM_ATTR_DEF UPDATE_IMPORT_ITEM_ATTR_DEF DELETE_IMPORT_ITEM_ATTR_DEF ADMIN_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
358                                 <update permission="UPDATE_IMPORT_ITEM_ATTR_DEF ADMIN_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
359                                 <delete permission="DELETE_IMPORT_ITEM_ATTR_DEF ADMIN_IMPORT_ITEM_ATTR_DEF" context_field="owner"/>
360                         </actions>
361                 </permacrud>
362         </class>
363
364         <class id="vbq" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::bib_queue" oils_persist:tablename="vandelay.bib_queue" reporter:label="Import/Overlay Bib Queue">
365                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queue_id_seq">
366                         <field reporter:label="Queue ID" name="id" reporter:selector="name" reporter:datatype="id"/>
367                         <field reporter:label="Owner" name="owner" reporter:datatype="link"/>
368                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
369                         <field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
370                         <field reporter:label="Type" name="queue_type" reporter:datatype="text"/>
371                         <field reporter:label="Match Set" name="match_set" reporter:datatype="link"/>
372                         <field reporter:label="Item Import Attribute Definition" name="item_attr_def" reporter:datatype="link"/>
373                         <field reporter:label="Match Bucket" name="match_bucket" reporter:datatype="link"/>
374                 </fields>
375                 <links>
376                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
377                         <link field="item_attr_def" reltype="has_a" key="id" map="" class="viiad"/>
378                         <link field="match_set" reltype="has_a" key="id" map="" class="vms"/>
379                         <link field="match_bucket" reltype="has_a" key="id" map="" class="cbreb"/>
380                 </links>
381                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
382                         <actions>
383                                 <create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
384                                 <retrieve permission="CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
385                                 <update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
386                                 <delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
387                         </actions>
388                 </permacrud>
389         </class>
390
391         <class id="vie" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::import_error" oils_persist:tablename="vandelay.import_error" reporter:label="Import/Overlay Error Definitions">
392                 <fields oils_persist:primary="code">
393                         <field reporter:label="Error Code" name="code" reporter:selector="description" reporter:datatype="id"/>
394                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
395                 </fields>
396                 <links>
397                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
398                         <link field="item_attr_def" reltype="has_a" key="id" map="" class="viiad"/>
399                         <link field="match_set" reltype="has_a" key="id" map="" class="vms"/>
400                 </links>
401                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
402                         <actions>
403                                 <retrieve/>
404                         </actions>
405                 </permacrud>
406         </class>
407
408         <class id="vqbr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::queued_bib_record" oils_persist:tablename="vandelay.queued_bib_record" reporter:label="Queued Bib Record">
409                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_record_id_seq">
410                         <field reporter:label="Record ID" name="id" reporter:datatype="id"/>
411                         <field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp"/>
412                         <field reporter:label="Import Time" name="import_time" reporter:datatype="timestamp"/>
413                         <field reporter:label="MARC" name="marc" reporter:datatype="text"/>
414                         <field reporter:label="Queue" name="queue" reporter:datatype="link"/>
415                         <field reporter:label="Bib Source" name="bib_source" reporter:datatype="link"/>
416                         <field reporter:label="Final Target Record" name="imported_as" reporter:datatype="link"/>
417                         <field reporter:label="Import Error" name="import_error" reporter:datatype="link"/>
418                         <field reporter:label="Import Error Detail" name="error_detail" reporter:datatype="text"/>
419                         <field reporter:label="Purpose" name="purpose" reporter:datatype="text"/>
420                         <field reporter:label="Attributes" name="attributes" oils_persist:virtual="true" reporter:datatype="link"/>
421                         <field reporter:label="Matches" name="matches" oils_persist:virtual="true" reporter:datatype="link"/>
422                         <field reporter:label="Import Items" name="import_items" oils_persist:virtual="true" reporter:datatype="link"/>
423                         <field reporter:label="Quality" name="quality" reporter:datatype="int"/>
424                 </fields>
425                 <links>
426                         <link field="import_error" reltype="has_a" key="code" map="" class="vie"/>
427                         <link field="queue" reltype="has_a" key="id" map="" class="vbq"/>
428                         <link field="bib_source" reltype="has_a" key="id" map="" class="cbs"/>
429                         <link field="imported_as" reltype="has_a" key="id" map="" class="bre"/>
430             <link field="attributes" reltype="has_many" key="record" map="" class="vqbra"/>
431             <link field="matches" reltype="has_many" key="queued_record" map="" class="vbm"/>
432             <link field="import_items" reltype="has_many" key="record" map="" class="vii"/>
433                 </links>
434                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
435                         <actions>
436                                 <create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
437                                 <retrieve permission="CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
438                                 <update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
439                                 <delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
440                         </actions>
441                 </permacrud>
442         </class>
443
444         <class id="vqbrad" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::bib_attr_definition" oils_persist:tablename="vandelay.bib_attr_definition" reporter:label="Queued Bib Record Attribute Definition">
445                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.bib_attr_definition_id_seq">
446                         <field reporter:label="ID" name="id" reporter:datatype="id"/>
447                         <field reporter:label="Code" name="code" reporter:datatype="text"/>
448                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
449                         <field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
450                         <field reporter:label="Remove RegExp" name="remove" reporter:datatype="text"/>
451                 </fields>
452                 <links/>
453                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
454                         <actions>
455                                 <create permission="CREATE_BIB_IMPORT_FIELD_DEF" global_required="true"/>
456                 <retrieve/>
457                                 <update permission="UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
458                                 <delete permission="DELETE_BIB_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
459                         </actions>
460                 </permacrud>
461         </class>
462
463         <class id="vqbra" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::queued_bib_record_attr" oils_persist:tablename="vandelay.queued_bib_record_attr" reporter:label="Queued Bib Record Attribute">
464                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_bib_record_attr_id_seq">
465                         <field reporter:label="Attribute ID" name="id" reporter:datatype="id"/>
466                         <field reporter:label="Record" name="record" reporter:datatype="link"/>
467                         <field reporter:label="Field" name="field" reporter:datatype="link"/>
468                         <field reporter:label="Value" name="attr_value" reporter:datatype="text"/>
469                 </fields>
470                 <links>
471                         <link field="record" reltype="has_a" key="id" map="" class="vqbr"/>
472                         <link field="field" reltype="has_a" key="id" map="" class="vqbrad"/>
473                 </links>
474                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
475                         <actions>
476                                 <create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
477                                 <retrieve permission="CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
478                                 <update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
479                                 <delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
480                         </actions>
481                 </permacrud>
482         </class>
483
484         <class id="vbm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::bib_match" oils_persist:tablename="vandelay.bib_match" reporter:label="Queued Bib Record Match">
485                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.bib_match_id_seq">
486                         <field reporter:label="Match ID" name="id" reporter:datatype="id"/>
487                         <field reporter:label="Queued Record" name="queued_record" reporter:datatype="link"/>
488                         <field reporter:label="Evergreen Record" name="eg_record" reporter:datatype="link"/>
489                         <field reporter:label="Quality" name="quality" reporter:datatype="text"/>
490                         <field reporter:label="Match Score" name="match_score" reporter:datatype="text"/>
491                 </fields>
492                 <links>
493                         <link field="queued_record" reltype="has_a" key="id" map="" class="vqbr"/>
494                         <link field="eg_record" reltype="has_a" key="id" map="" class="bre"/>
495                 </links>
496                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
497                         <actions>
498                                 <create permission="CREATE_BIB_IMPORT_QUEUE" global_required="true"/>
499                                 <retrieve permission="CREATE_BIB_IMPORT_QUEUE UPDATE_BIB_IMPORT_QUEUE DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
500                                 <update permission="UPDATE_BIB_IMPORT_QUEUE" global_required="true"/>
501                                 <delete permission="DELETE_BIB_IMPORT_QUEUE" global_required="true"/>
502                         </actions>
503                 </permacrud>
504         </class>
505
506         <class id="vaq" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::authority_queue" oils_persist:tablename="vandelay.authority_queue" reporter:label="Import/Overlay Authority Queue">
507                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queue_id_seq">
508                         <field reporter:label="Queue ID" name="id" reporter:selector="name" reporter:datatype="id"/>
509                         <field reporter:label="Owner" name="owner" reporter:datatype="link"/>
510                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
511                         <field reporter:label="Complete" name="complete" reporter:datatype="bool"/>
512                         <field reporter:label="Type" name="queue_type" reporter:datatype="text"/>
513                         <field reporter:label="Match Set" name="match_set" reporter:datatype="link"/>
514                 </fields>
515                 <links>
516                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
517                         <link field="match_set" reltype="has_a" key="id" map="" class="vms"/>
518                 </links>
519                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
520                         <actions>
521                                 <create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
522                                 <retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
523                                 <update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
524                                 <delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
525                         </actions>
526                 </permacrud>
527         </class>
528
529         <class id="vqar" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::queued_authority_record" oils_persist:tablename="vandelay.queued_authority_record" reporter:label="Queued Authority Record">
530                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_record_id_seq">
531                         <field reporter:label="Record ID" name="id" reporter:datatype="id"/>
532                         <field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp"/>
533                         <field reporter:label="Import Time" name="import_time" reporter:datatype="timestamp"/>
534                         <field reporter:label="MARC" name="marc" reporter:datatype="text"/>
535                         <field reporter:label="Queue" name="queue" reporter:datatype="link"/>
536                         <field reporter:label="Final Target Record" name="imported_as" reporter:datatype="link"/>
537                         <field reporter:label="Import Error" name="import_error" reporter:datatype="link"/>
538                         <field reporter:label="Import Error Detail" name="error_detail" reporter:datatype="text"/>
539                         <field reporter:label="Purpose" name="purpose" reporter:datatype="text"/>
540                         <field reporter:label="Attributes" name="attributes" oils_persist:virtual="true" reporter:datatype="link"/>
541                         <field reporter:label="Matches" name="matches" oils_persist:virtual="true" reporter:datatype="link"/>
542                         <field reporter:label="Quality" name="quality" reporter:datatype="int"/>
543                 </fields>
544                 <links>
545                         <link field="import_error" reltype="has_a" key="code" map="" class="vie"/>
546                         <link field="queue" reltype="has_a" key="id" map="" class="vaq"/>
547                         <link field="imported_as" reltype="has_a" key="id" map="" class="are"/>
548             <link field="attributes" reltype="has_many" key="record" map="" class="vqara"/>
549             <link field="matches" reltype="has_many" key="queued_record" map="" class="vam"/>
550                 </links>
551                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
552                         <actions>
553                                 <create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
554                                 <retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
555                                 <update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
556                                 <delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
557                         </actions>
558                 </permacrud>
559         </class>
560
561         <class id="vqarad" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::authority_attr_definition" oils_persist:tablename="vandelay.authority_attr_definition" reporter:label="Queued Authority Record Attribute Definition">
562                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.authority_attr_definition_id_seq">
563                         <field reporter:label="ID" name="id" reporter:datatype="id"/>
564                         <field reporter:label="Code" name="code" reporter:datatype="text"/>
565                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
566                         <field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
567                         <field reporter:label="Remove RegExp" name="remove" reporter:datatype="text"/>
568                 </fields>
569                 <links/>
570                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
571                         <actions>
572                                 <create permission="CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
573                 <retrieve/>
574                                 <update permission="UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
575                                 <delete permission="DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF" global_required="true"/>
576                         </actions>
577                 </permacrud>
578         </class>
579
580         <class id="vqara" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::queued_authority_record_attr" oils_persist:tablename="vandelay.queued_authority_record_attr" reporter:label="Queued Authority Record Attribute">
581                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.queued_authority_record_attr_id_seq">
582                         <field reporter:label="Attribute ID" name="id" reporter:datatype="id"/>
583                         <field reporter:label="Record" name="record" reporter:datatype="link"/>
584                         <field reporter:label="Field" name="field" reporter:datatype="link"/>
585                         <field reporter:label="Value" name="attr_value" reporter:datatype="text"/>
586                 </fields>
587                 <links>
588                         <link field="record" reltype="has_a" key="id" map="" class="vqar"/>
589                         <link field="field" reltype="has_a" key="id" map="" class="vqarad"/>
590                 </links>
591                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
592                         <actions>
593                                 <create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
594                                 <retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
595                                 <update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
596                                 <delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
597                         </actions>
598                 </permacrud>
599         </class>
600
601         <class id="vam" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::authority_match" oils_persist:tablename="vandelay.authority_match" reporter:label="Queued Authority Record Match">
602                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.authority_match_id_seq">
603                         <field reporter:label="Match ID" name="id" reporter:datatype="id"/>
604                         <field reporter:label="Queued Record" name="queued_record" reporter:datatype="link"/>
605                         <field reporter:label="Evergreen Record" name="eg_record" reporter:datatype="link"/>
606                         <field reporter:label="Quality" name="quality" reporter:datatype="int"/>
607                 </fields>
608                 <links>
609                         <link field="queued_record" reltype="has_a" key="id" map="" class="vqbr"/>
610                         <link field="eg_record" reltype="has_a" key="id" map="" class="bre"/>
611                 </links>
612                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
613                         <actions>
614                                 <create permission="CREATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
615                                 <retrieve permission="CREATE_AUTHORITY_IMPORT_QUEUE UPDATE_AUTHORITY_IMPORT_QUEUE DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
616                                 <update permission="UPDATE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
617                                 <delete permission="DELETE_AUTHORITY_IMPORT_QUEUE" global_required="true"/>
618                         </actions>
619                 </permacrud>
620         </class>
621
622         <class id="vms" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::match_set" oils_persist:tablename="vandelay.match_set" reporter:label="Record Matching Definition Set">
623                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.match_set_id_seq">
624                         <field reporter:label="Match Set ID" name="id" reporter:datatype="id" reporter:selector="name"/>
625                         <field reporter:label="Name" name="name" reporter:datatype="text"/>
626                         <field reporter:label="Owning Library" name="owner" reporter:datatype="link"/>
627                         <field reporter:label="Match Set Type" name="mtype" reporter:datatype="text"/>
628                 </fields>
629                 <links>
630                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
631                 </links>
632                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
633                         <actions>
634                                 <create permission="ADMIN_IMPORT_MATCH_SET" context_field="owner"/>
635                                 <retrieve permission="ADMIN_IMPORT_MATCH_SET VIEW_IMPORT_MATCH_SET" context_field="owner"/>
636                                 <update permission="ADMIN_IMPORT_MATCH_SET" context_field="owner"/>
637                                 <delete permission="ADMIN_IMPORT_MATCH_SET" context_field="owner"/>
638                         </actions>
639                 </permacrud>
640         </class>
641
642         <class id="vmsp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::match_set_point" oils_persist:tablename="vandelay.match_set_point" reporter:label="Record Matching Definition">
643                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.match_set_point_id_seq">
644                         <field reporter:label="Match Definition ID" name="id" reporter:datatype="id"/>
645                         <field reporter:label="Expression Tree Parent" name="parent" reporter:datatype="link"/>
646                         <field reporter:label="Match Set" name="match_set" reporter:datatype="link"/>
647                         <field reporter:label="Boolean Operator" name="bool_op" reporter:datatype="text"/>
648                         <field reporter:label="Coded Field" name="svf" reporter:datatype="link"/>
649                         <field reporter:label="Tag" name="tag" reporter:datatype="text"/>
650                         <field reporter:label="Subfield" name="subfield" reporter:datatype="text"/>
651             <field reporter:label="Negate" name="negate"  reporter:datatype="bool"/>
652                         <field reporter:label="Importance" name="quality" reporter:datatype="int"/>
653                         <field reporter:label="Expression Tree Children" name="children" oils_persist:virtual="true" reporter:datatype="link"/>
654                 </fields>
655                 <links>
656                         <link field="parent" reltype="has_a" key="id" map="" class="vmsp"/>
657                         <link field="match_set" reltype="has_a" key="id" map="" class="vms"/>
658                         <link field="svf" reltype="has_a" key="id" map="" class="crad"/>
659                         <link field="children" reltype="has_many" key="parent" map="" class="vmsp"/>
660                 </links>
661                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
662                         <actions>
663                                 <create permission="ADMIN_IMPORT_MATCH_SET">
664                     <context link="match_set" field="owner"/>
665                                 </create>
666                                 <retrieve permission="ADMIN_IMPORT_MATCH_SET VIEW_IMPORT_MATCH_SET">
667                     <context link="match_set" field="owner"/>
668                                 </retrieve>
669                                 <update permission="ADMIN_IMPORT_MATCH_SET">
670                     <context link="match_set" field="owner"/>
671                                 </update>
672                                 <delete permission="ADMIN_IMPORT_MATCH_SET">
673                     <context link="match_set" field="owner"/>
674                                 </delete>
675                         </actions>
676                 </permacrud>
677         </class>
678
679         <class id="vmsq" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="vandelay::match_set_quality" oils_persist:tablename="vandelay.match_set_quality" reporter:label="Record Quality Metric">
680                 <fields oils_persist:primary="id" oils_persist:sequence="vandelay.match_set_quality_id_seq">
681                         <field reporter:label="Quality Metric ID" name="id" reporter:datatype="id"/>
682                         <field reporter:label="Match Set" name="match_set" reporter:datatype="link"/>
683                         <field reporter:label="Record Attribute" name="svf" reporter:datatype="text"/>
684                         <field reporter:label="Tag" name="tag" reporter:datatype="text"/>
685                         <field reporter:label="Subfield" name="subfield" reporter:datatype="text"/>
686                         <field reporter:label="Value" name="value" reporter:datatype="text"/>
687                         <field reporter:label="Quality" name="quality" reporter:datatype="int"/>
688                 </fields>
689                 <links>
690                         <link field="match_set" reltype="has_a" key="id" map="" class="vms"/>
691                 </links>
692                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
693                         <actions>
694                                 <create permission="ADMIN_IMPORT_MATCH_SET">
695                     <context link="match_set" field="owner"/>
696                                 </create>
697                                 <retrieve permission="ADMIN_IMPORT_MATCH_SET">
698                     <context link="match_set" field="owner"/>
699                                 </retrieve>
700                                 <update permission="ADMIN_IMPORT_MATCH_SET">
701                     <context link="match_set" field="owner"/>
702                                 </update>
703                                 <delete permission="ADMIN_IMPORT_MATCH_SET">
704                     <context link="match_set" field="owner"/>
705                                 </delete>
706                         </actions>
707                 </permacrud>
708         </class>
709
710         <class id="auoi" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_org_unit_opt_in" oils_persist:tablename="actor.usr_org_unit_opt_in" reporter:label="User Sharing Opt-in">
711                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_org_unit_opt_in_id_seq">
712                         <field reporter:label="Opt-in ID" name="id" reporter:datatype="id"/>
713                         <field reporter:label="Workstation" name="opt_in_ws" reporter:datatype="link"/>
714                         <field reporter:label="Staff Member" name="staff" reporter:datatype="link"/>
715                         <field reporter:label="User" name="usr" reporter:datatype="link"/>
716                         <field reporter:label="Allowed Org Unit" name="org_unit" reporter:datatype="link"/>
717                         <field reporter:label="Opt-in Date/Time" name="opt_in_ts" reporter:datatype="timestamp"/>
718                 </fields>
719                 <links>
720                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
721                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
722                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
723                         <link field="opt_in_ws" reltype="has_a" key="id" map="" class="aws"/>
724                 </links>
725         </class>
726
727     <class id="cgf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::global_flag" oils_persist:tablename="config.global_flag" reporter:label="Global Flags and Settings" oils_persist:field_safe="true">
728         <fields oils_persist:primary="name">
729             <field reporter:label="Name" name="name" reporter:datatype="text"/>
730             <field reporter:label="Label" name="label"  reporter:datatype="text" oils_persist:i18n="true"/>
731             <field reporter:label="Value" name="value"  reporter:datatype="text"/>
732             <field reporter:label="Enabled" name="enabled"  reporter:datatype="bool"/>
733         </fields>
734         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
735             <actions>
736                 <create   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
737                 <retrieve permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
738                 <update   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
739                 <delete   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
740             </actions>
741         </permacrud>
742     </class>
743
744     <class id="cin" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::index_normalizer" oils_persist:tablename="config.index_normalizer" reporter:label="Indexing Normalizer" oils_persist:field_safe="true">
745         <fields oils_persist:primary="id">
746             <field reporter:label="ID" name="id" reporter:datatype="id"/>
747             <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
748             <field reporter:label="Description" name="description"  reporter:datatype="text" oils_persist:i18n="true"/>
749             <field reporter:label="Function" name="func"  reporter:datatype="text"/>
750             <field reporter:label="Required Parameter Count" name="param_count"  reporter:datatype="int"/>
751         </fields>
752         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
753             <actions>
754                 <create permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
755                 <retrieve/>
756                 <update permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
757                 <delete permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
758             </actions>
759         </permacrud>
760     </class>
761
762         <class id="cmfinm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_field_index_norm_map" oils_persist:tablename="config.metabib_field_index_norm_map" reporter:label="Metabib Field to Indexing Normalizer Map" oils_persist:field_safe="true">
763                 <fields oils_persist:primary="id" oils_persist:sequence="config.metabib_field_index_norm_map_id_seq">
764                         <field reporter:label="ID" name="id" reporter:datatype="id"/>
765                         <field reporter:label="Metabib Field" name="field" reporter:datatype="link"/>
766                         <field reporter:label="Normalizer" name="norm" reporter:datatype="link"/>
767                         <field reporter:label="Parameters (JSON Array)" name="params" reporter:datatype="text"/>
768                         <field reporter:label="Order of Application" name="pos" reporter:datatype="int"/>
769                 </fields>
770                 <links>
771                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
772                         <link field="norm" reltype="has_a" key="id" map="" class="cin"/>
773                 </links>
774         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
775             <actions>
776                 <create permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
777                 <retrieve/>
778                 <update permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
779                 <delete permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
780             </actions>
781         </permacrud>
782         </class>
783
784         <class id="crad" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::record_attr_definition" oils_persist:tablename="config.record_attr_definition" reporter:label="SVF Record Attribute Defintion" oils_persist:field_safe="true">
785                 <fields oils_persist:primary="name">
786                         <field reporter:label="Name" name="name" reporter:datatype="id" reporter:selector="label"  oils_obj:required="true"/>
787                         <field reporter:label="Label" name="label" reporter:datatype="text"  oils_obj:required="true"/>
788                         <field reporter:label="Description" name="description" reporter:datatype="text" />
789                         <field reporter:label="Filter?" name="filter" reporter:datatype="bool"/>
790                         <field reporter:label="Sorter?" name="sorter" reporter:datatype="bool"/>
791                         <field reporter:label="MARC Tag" name="tag" reporter:datatype="text"/>
792                         <field reporter:label="MARC Subfields" name="sf_list" reporter:datatype="text"/>
793                         <field reporter:label="Joiner" name="joiner" reporter:datatype="text"/>
794                         <field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
795                         <field reporter:label="Format" name="format" reporter:datatype="link"/>
796                         <field reporter:label="Starting Position" name="start_pos" reporter:datatype="int"/>
797                         <field reporter:label="String Length" name="string_len" reporter:datatype="int"/>
798                         <field reporter:label="Fixed Field" name="fixed_field" reporter:datatype="text"/>
799                         <field reporter:label="Physical Characteristic" name="phys_char_sf" reporter:datatype="text"/>
800                         <field reporter:label="Normalizers" name="normalizers" reporter:datatype="link" oils_persist:virtual="true"/>
801                 </fields>
802                 <links>
803                         <link field="format" reltype="has_a" key="name" map="" class="cxt"/>
804                         <link field="normalizers" reltype="has_many" key="name" map="" class="crainm"/>
805                 </links>
806         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
807             <actions>
808                 <create permission="ADMIN_SVF" global_required="true"/>
809                 <retrieve/>
810                 <update permission="ADMIN_SVF" global_required="true"/>
811                 <delete permission="ADMIN_SVF" global_required="true"/>
812             </actions>
813         </permacrud>
814         </class>
815
816         <class id="csc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::sms_carrier" oils_persist:tablename="config.sms_carrier" reporter:label="SMS Carrier" oils_persist:field_safe="true">
817                 <fields oils_persist:primary="id" oils_persist:sequence="config.sms_carrier_id_seq">
818                         <field reporter:label="ID" name="id" reporter:datatype="id"/>
819                         <field reporter:label="Region" name="region" reporter:datatype="text" oils_persist:i18n="true"/>
820                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
821             <field reporter:label="Active" name="active" reporter:datatype="bool" oils_persist:i18n="true"/>
822                         <field reporter:label="Email Gateway" name="email_gateway" reporter:datatype="text" oils_persist:i18n="true"/>
823                 </fields>
824                 <links/>
825         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
826             <actions>
827                 <create permission="ADMIN_SMS_CARRIER" global_required="true"/>
828                 <retrieve/>
829                 <update permission="ADMIN_SMS_CARRIER" global_required="true"/>
830                 <delete permission="ADMIN_SMS_CARRIER" global_required="true"/>
831             </actions>
832         </permacrud>
833         </class>
834
835         <class id="mra" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="metabib::record_attr" oils_persist:tablename="metabib.record_attr" reporter:label="SVF Record Attribute" oils_persist:field_safe="true">
836                 <fields oils_persist:primary="id">
837                         <field reporter:label="Record ID" name="id" reporter:datatype="id" oils_obj:required="true"/>
838                         <field reporter:label="Attributes" name="attrs" reporter:datatype="text"  oils_obj:required="true"/>
839                 </fields>
840                 <links>
841                         <link field="id" reltype="has_a" key="id" map="" class="bre"/>
842                 </links>
843         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
844             <actions>
845                 <retrieve/>
846             </actions>
847         </permacrud>
848         </class>
849
850         <class id="crainm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::record_attr_index_norm_map" oils_persist:tablename="config.record_attr_index_norm_map" reporter:label="SVF Record Attribute to Indexing Normalizer Map" oils_persist:field_safe="true">
851                 <fields oils_persist:primary="id" oils_persist:sequence="config.record_attr_index_norm_map_id_seq">
852                         <field reporter:label="ID" name="id" reporter:datatype="id"/>
853                         <field reporter:label="SVF Attribute" name="attr" reporter:datatype="link"/>
854                         <field reporter:label="Normalizer" name="norm" reporter:datatype="link"/>
855                         <field reporter:label="Parameters (JSON Array)" name="params" reporter:datatype="text"/>
856                         <field reporter:label="Order of Application" name="pos" reporter:datatype="int"/>
857                 </fields>
858                 <links>
859                         <link field="attr" reltype="has_a" key="name" map="" class="crad"/>
860                         <link field="norm" reltype="has_a" key="id" map="" class="cin"/>
861                 </links>
862         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
863             <actions>
864                 <create permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
865                 <retrieve/>
866                 <update permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
867                 <delete permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
868             </actions>
869         </permacrud>
870         </class>
871
872         <class id="ccvm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::coded_value_map" oils_persist:tablename="config.coded_value_map" reporter:label="SVF Record Attribute Coded Value Map" oils_persist:field_safe="true">
873                 <fields oils_persist:primary="id" oils_persist:sequence="config.coded_value_map_id_seq">
874                         <field reporter:label="ID" name="id" reporter:datatype="id"  oils_obj:required="true"/>
875                         <field reporter:label="SVF Attribute" name="ctype" reporter:datatype="link"  oils_obj:required="true"/>
876                         <field reporter:label="Code" name="code" reporter:datatype="text"  oils_obj:required="true"/>
877                         <field reporter:label="Value" name="value" reporter:datatype="text"  oils_obj:required="true" oils_persist:i18n="true"/>
878                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
879                         <field reporter:label="OPAC Visible" name="opac_visible" reporter:datatype="bool"/>
880                         <field reporter:label="Search Label" name="search_label" reporter:datatype="text" oils_persist:i18n="true"/>
881             <field reporter:label="Is Simple Selector" name="is_simple" reporter:datatype="bool"/>
882                 </fields>
883                 <links>
884                         <link field="ctype" reltype="has_a" key="name" map="" class="crad"/>
885                 </links>
886         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
887             <actions>
888                 <create permission="ADMIN_CODED_VALUE" global_required="true"/>
889                 <retrieve/>
890                 <update permission="ADMIN_CODED_VALUE" global_required="true"/>
891                 <delete permission="ADMIN_CODED_VALUE" global_required="true"/>
892             </actions>
893         </permacrud>
894         </class>
895
896         <class id="cracct" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::remote_account" oils_persist:tablename="config.remote_account" reporter:label="Remote (3rd party) Account">
897                 <fields oils_persist:primary="id" oils_persist:sequence="config.remote_account_id_seq">
898                         <field name="id"            reporter:datatype="id"   reporter:label="ID"/>
899                         <field name="label"         reporter:datatype="text" reporter:label="Label"/>
900                         <field name="host"          reporter:datatype="text" reporter:label="Host"/>
901                         <field name="username"      reporter:datatype="text" reporter:label="Username"/>
902                         <field name="password"      reporter:datatype="text" reporter:label="Password"/>
903                         <field name="account"       reporter:datatype="text" reporter:label="Account"/>
904                         <field name="path"          reporter:datatype="text" reporter:label="Path"/>
905                         <field name="owner"         reporter:datatype="link" reporter:label="Owner"/>
906                         <field name="last_activity" reporter:datatype="timestamp" reporter:label="Last Activity"/>
907                 </fields>
908                 <links>
909                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
910                 </links>
911         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
912             <actions>
913                 <create   permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
914                 <retrieve permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
915                 <update   permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
916                 <delete   permission="ADMIN_CONFIG_REMOTE_ACCOUNT" context_field="owner"/>
917             </actions>
918         </permacrud>
919         </class>
920
921     <class id="czs" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::z3950_source" oils_persist:tablename="config.z3950_source" reporter:label="Z39.50 Source">
922         <fields oils_persist:primary="name">
923             <field reporter:label="Z39.50 Source" name="name" reporter:datatype="id"/>
924             <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
925             <field reporter:label="Host" name="host"  reporter:datatype="text"/>
926             <field reporter:label="Port" name="port"  reporter:datatype="int"/>
927             <field reporter:label="DB" name="db"  reporter:datatype="text"/>
928             <field reporter:label="Record Format" name="record_format"  reporter:datatype="text"/>
929             <field reporter:label="Transmission Format" name="transmission_format"  reporter:datatype="text"/>
930             <field reporter:label="Auth" name="auth"  reporter:datatype="bool"/>
931             <field reporter:label="Attrs" name="attrs" oils_persist:virtual="true"  reporter:datatype="link"/>
932             <field reporter:label="Use Permission" name="use_perm"  reporter:datatype="link"/>
933         </fields>
934         <links>
935             <link field="attrs" reltype="has_many" key="source" map="" class="cza"/>
936             <link field="use_perm" reltype="has_a" key="id" map="" class="ppl"/>
937         </links>
938         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
939             <actions>
940                 <create permission="ADMIN_Z3950_SOURCE" global_required="true"/>
941                 <retrieve/>
942                 <update permission="ADMIN_Z3950_SOURCE" global_required="true"/>
943                 <delete permission="ADMIN_Z3950_SOURCE" global_required="true"/>
944             </actions>
945         </permacrud>
946     </class>
947
948     <class id="cza" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::z3950_attr" oils_persist:tablename="config.z3950_attr" reporter:label="Z39.50 Attribute">
949         <fields oils_persist:primary="id" oils_persist:sequence="config.z3950_attr_id_seq">
950             <field reporter:label="Z39.50 Attribute ID" name="id" reporter:datatype="id" reporter:selector="label"/>
951             <field reporter:label="Z39.50 Source" name="source" reporter:datatype="link"/>
952             <field reporter:label="Name" name="name" reporter:datatype="text"/>
953             <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
954             <field reporter:label="Code" name="code"  reporter:datatype="int"/>
955             <field reporter:label="Format" name="format"  reporter:datatype="int"/>
956             <field reporter:label="Truncation" name="truncation"  reporter:datatype="int"/>
957         </fields>
958         <links>
959             <link field="source" reltype="has_a" key="name" map="" class="czs"/>
960         </links>
961         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
962             <actions>
963                 <create permission="ADMIN_Z3950_SOURCE" global_required="true"/>
964                 <retrieve/>
965                 <update permission="ADMIN_Z3950_SOURCE" global_required="true"/>
966                 <delete permission="ADMIN_Z3950_SOURCE" global_required="true"/>
967             </actions>
968         </permacrud>
969     </class>
970
971     <class id="czifm" controller="open-ils.cstore open-ils.pcrud" 
972                         oils_obj:fieldmapper="config::z3950_index_field_map" 
973                         oils_persist:tablename="config.z3950_index_field_map" 
974                         reporter:label="Z39.50 Index Field Map">
975         <fields oils_persist:primary="id" oils_persist:sequence="config.z3950_index_field_map_id_seq">
976             <field reporter:label="Map ID" name="id" reporter:datatype="id"/>
977             <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
978             <field reporter:label="Metabib Field" name="metabib_field" reporter:datatype="link"/>
979             <field reporter:label="Record Attribute" name="record_attr" reporter:datatype="link"/>
980             <field reporter:label="Z39.50 Attribute" name="z3950_attr"  reporter:datatype="link"/>
981             <field reporter:label="Z39.50 Attribute Type" name="z3950_attr_type" reporter:datatype="text"/>
982         </fields>
983         <links>
984             <link field="metabib_field" reltype="has_a" key="id" map="" class="cmf"/>
985             <link field="record_attr" reltype="has_a" key="name" map="" class="crad"/>
986             <link field="z3950_attr" reltype="has_a" key="id" map="" class="cza"/>
987         </links>
988         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
989             <actions>
990                 <create permission="ADMIN_Z3950_SOURCE" global_required="true"/>
991                 <retrieve/>
992                 <update permission="ADMIN_Z3950_SOURCE" global_required="true"/>
993                 <delete permission="ADMIN_Z3950_SOURCE" global_required="true"/>
994             </actions>
995         </permacrud>
996     </class>
997
998
999         <class id="ateo" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::event_output" oils_persist:tablename="action_trigger.event_output" reporter:label="Event Output">
1000                 <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.event_output_id_seq">
1001                         <field reporter:label="Output ID" name="id" reporter:datatype="id"/>
1002                         <field reporter:label="Create Date/Time" name="create_time" reporter:datatype="timestamp"/>
1003                         <field reporter:label="Data" name="data" reporter:datatype="text"/>
1004                         <field reporter:label="Is Error" name="is_error" reporter:datatype="bool"/>
1005                         <field reporter:label="Events" name="events" oils_persist:virtual="true"  reporter:datatype="link"/>
1006                         <field reporter:label="Error Events" name="error_events" oils_persist:virtual="true"  reporter:datatype="link"/>
1007                 </fields>
1008                 <links>
1009             <link field="events" reltype="has_many" key="template_output" map="" class="atev"/>
1010             <link field="error_events" reltype="has_many" key="error_output" map="" class="atev"/>
1011                 </links>
1012                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1013                         <actions>
1014                                 <retrieve/>
1015                                 <delete permission="ADMIN_TRIGGER_TEMPLATE_OUTPUT DELETE_TRIGGER_TEMPLATE_OUTPUT" global_required="true"/>
1016                         </actions>
1017                 </permacrud>
1018         </class>
1019
1020         <class id="ath" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::hook" oils_persist:tablename="action_trigger.hook" reporter:label="Trigger Hook Point">
1021                 <fields oils_persist:primary="key">
1022                         <field reporter:label="Hook Key" name="key" reporter:datatype="text"/>
1023                         <field reporter:label="Core Type" name="core_type" reporter:datatype="text"/>
1024                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
1025                         <field reporter:label="Passive" name="passive"  reporter:datatype="bool"/>
1026                 </fields>
1027                 <links/>
1028                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1029                         <actions>
1030                                 <create permission="ADMIN_TRIGGER_HOOK CREATE_TRIGGER_HOOK" global_required="true"/>
1031                                 <retrieve/>
1032                                 <update permission="ADMIN_TRIGGER_HOOK UPDATE_TRIGGER_HOOK" global_required="true"/>
1033                                 <delete permission="ADMIN_TRIGGER_HOOK DELETE_TRIGGER_HOOK" global_required="true"/>
1034                         </actions>
1035                 </permacrud>
1036         </class>
1037
1038         <class id="atcol" controller="open-ils.cstore" oils_obj:fieldmapper="action_trigger::collector" oils_persist:tablename="action_trigger.collector" reporter:label="Trigger Environment Collector">
1039                 <fields oils_persist:primary="module">
1040                         <field reporter:label="Module Name" name="module" reporter:datatype="text"/>
1041                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
1042                 </fields>
1043                 <links/>
1044         </class>
1045
1046         <class id="atval" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::validator" oils_persist:tablename="action_trigger.validator" reporter:label="Trigger Condition Validator">
1047                 <fields oils_persist:primary="module">
1048                         <field reporter:label="Module Name" name="module" reporter:datatype="text"/>
1049                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
1050                 </fields>
1051                 <links/>
1052                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1053                         <actions>
1054                                 <create permission="ADMIN_TRIGGER_VALIDATOR CREATE_TRIGGER_VALIDATOR" global_required="true"/>
1055                                 <retrieve/>
1056                                 <update permission="ADMIN_TRIGGER_VALIDATOR UPDATE_TRIGGER_VALIDATOR" global_required="true"/>
1057                                 <delete permission="ADMIN_TRIGGER_VALIDATOR DELETE_TRIGGER_VALIDATOR" global_required="true"/>
1058                         </actions>
1059                 </permacrud>
1060         </class>
1061
1062         <class id="atreact" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::reactor" oils_persist:tablename="action_trigger.reactor" reporter:label="Trigger Event Reactor">
1063                 <fields oils_persist:primary="module">
1064                         <field reporter:label="Module Name" name="module" reporter:datatype="text"/>
1065                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
1066                 </fields>
1067                 <links/>
1068                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1069                         <actions>
1070                                 <create permission="ADMIN_TRIGGER_REACTOR CREATE_TRIGGER_REACTOR" global_required="true"/>
1071                                 <retrieve/>
1072                                 <update permission="ADMIN_TRIGGER_REACTOR UPDATE_TRIGGER_REACTOR" global_required="true"/>
1073                                 <delete permission="ADMIN_TRIGGER_REACTOR DELETE_TRIGGER_REACTOR" global_required="true"/>
1074                         </actions>
1075                 </permacrud>
1076         </class>
1077
1078         <class id="atclean" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::cleanup" oils_persist:tablename="action_trigger.cleanup" reporter:label="Trigger Event Cleanup">
1079                 <fields oils_persist:primary="module">
1080                         <field reporter:label="Module Name" name="module" reporter:datatype="text"/>
1081                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
1082                 </fields>
1083                 <links/>
1084                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1085                         <actions>
1086                                 <create permission="ADMIN_TRIGGER_CLEANUP CREATE_TRIGGER_CLEANUP" global_required="true"/>
1087                                 <retrieve/>
1088                                 <update permission="ADMIN_TRIGGER_CLEANUP UPDATE_TRIGGER_CLEANUP" global_required="true"/>
1089                                 <delete permission="ADMIN_TRIGGER_CLEANUP DELETE_TRIGGER_CLEANUP" global_required="true"/>
1090                         </actions>
1091                 </permacrud>
1092         </class>
1093
1094         <class id="atenv" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::environment" oils_persist:tablename="action_trigger.environment" reporter:label="Trigger Event Environment Entry">
1095                 <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.environment_id_seq">
1096                         <field reporter:label="Definition ID" name="id" reporter:datatype="id"/>
1097                         <field reporter:label="Event Definition" name="event_def" reporter:datatype="link"/>
1098                         <field reporter:label="Field Path" name="path" reporter:datatype="text"/>
1099                         <field reporter:label="Collector" name="collector" reporter:datatype="link"/>
1100                         <field reporter:label="Label" name="label" reporter:datatype="text"/>
1101                 </fields>
1102                 <links>
1103                         <link field="event_def" reltype="has_a" key="id" map="" class="atevdef"/>
1104                         <link field="collector" reltype="has_a" key="id" map="" class="atcol"/>
1105                 </links>
1106                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1107                         <actions>
1108                                 <create permission="ADMIN_TRIGGER_EVENT_DEF CREATE_TRIGGER_EVENT_DEF">
1109                     <context link="event_def" field="owner"/>
1110                 </create>
1111                                 <retrieve permission="ADMIN_TRIGGER_EVENT_DEF VIEW_TRIGGER_EVENT_DEF">
1112                     <context link="event_def" field="owner"/>
1113                 </retrieve>
1114                                 <update permission="ADMIN_TRIGGER_EVENT_DEF UPDATE_TRIGGER_EVENT_DEF">
1115                     <context link="event_def" field="owner"/>
1116                 </update>
1117                                 <delete permission="ADMIN_TRIGGER_EVENT_DEF DELETE_TRIGGER_EVENT_DEF">
1118                     <context link="event_def" field="owner"/>
1119                 </delete>
1120                         </actions>
1121                 </permacrud>
1122         </class>
1123
1124         <class id="atevdef" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::event_definition" oils_persist:tablename="action_trigger.event_definition" reporter:label="Trigger Event Definition">
1125                 <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.event_definition_id_seq">
1126                         <field reporter:label="Definition ID" name="id" reporter:datatype="id"/>
1127                         <field reporter:label="Enabled" name="active" reporter:datatype="bool"/>
1128                         <field reporter:label="Owning Library" name="owner"  reporter:datatype="org_unit"/>
1129                         <field reporter:label="Hook" name="hook"  reporter:datatype="link"/>
1130                         <field reporter:label="Validator" name="validator"  reporter:datatype="link"/>
1131                         <field reporter:label="Reactor" name="reactor"  reporter:datatype="link"/>
1132                         <field reporter:label="Success Cleanup" name="cleanup_success"  reporter:datatype="link"/>
1133                         <field reporter:label="Failure Cleanup" name="cleanup_failure"  reporter:datatype="link"/>
1134                         <field reporter:label="Processing Delay" name="delay"  reporter:datatype="interval"/>
1135                         <field reporter:label="Max Event Validity Delay" name="max_delay"  reporter:datatype="interval"/>
1136                         <field reporter:label="Processing Delay Context Field" name="delay_field"  reporter:datatype="text"/>
1137                         <field reporter:label="Processing Group Context Field" name="group_field"  reporter:datatype="text"/>
1138                         <field reporter:label="Template" name="template"  reporter:datatype="text"/>
1139                         <field reporter:label="Name" name="name"  reporter:datatype="text"/>
1140                         <field reporter:label="Granularity" name="granularity"  reporter:datatype="text"/>
1141                         <field reporter:label="Opt-In User Field" name="usr_field"  reporter:datatype="text"/>
1142                         <field reporter:label="Opt-In Setting Type" name="opt_in_setting"  reporter:datatype="link"/>
1143                         <field reporter:label="Environment Entries" name="env" oils_persist:virtual="true"  reporter:datatype="link"/>
1144                         <field reporter:label="Parameters" name="params" oils_persist:virtual="true"  reporter:datatype="link"/>
1145                 </fields>
1146                 <links>
1147                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
1148                         <link field="hook" reltype="has_a" key="key" map="" class="ath"/>
1149                         <link field="validator" reltype="has_a" key="module" map="" class="atval"/>
1150                         <link field="reactor" reltype="has_a" key="module" map="" class="atreact"/>
1151                         <link field="cleanup_success" reltype="has_a" key="module" map="" class="atclean"/>
1152                         <link field="cleanup_failure" reltype="has_a" key="module" map="" class="atclean"/>
1153                         <link field="env" reltype="has_many" key="event_def" map="" class="atenv"/>
1154                         <link field="params" reltype="has_many" key="event_def" map="" class="atevparam"/>
1155                         <link field="opt_in_setting" reltype="has_a" key="name" map="" class="cust"/>
1156                 </links>
1157                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1158                         <actions>
1159                                 <create permission="ADMIN_TRIGGER_EVENT_DEF CREATE_TRIGGER_EVENT_DEF" context_field="owner"/>
1160                                 <retrieve permission="ADMIN_TRIGGER_EVENT_DEF VIEW_TRIGGER_EVENT_DEF" context_field="owner"/>
1161                                 <update permission="ADMIN_TRIGGER_EVENT_DEF UPDATE_TRIGGER_EVENT_DEF" context_field="owner"/>
1162                                 <delete permission="ADMIN_TRIGGER_EVENT_DEF DELETE_TRIGGER_EVENT_DEF" context_field="owner"/>
1163                         </actions>
1164                 </permacrud>
1165         </class>
1166
1167         <class id="atev" controller="open-ils.cstore" oils_obj:fieldmapper="action_trigger::event" oils_persist:tablename="action_trigger.event" reporter:label="Trigger Event Entry">
1168                 <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.event_id_seq">
1169                         <field reporter:label="Event ID" name="id" reporter:datatype="id"/>
1170                         <field reporter:label="Target ID" name="target" reporter:datatype="int"/>
1171                         <field reporter:label="Event Definition" name="event_def" reporter:datatype="link"/>
1172                         <field reporter:label="Add Time" name="add_time" reporter:datatype="timestamp"/>
1173                         <field reporter:label="Run Time" name="run_time" reporter:datatype="timestamp"/>
1174                         <field reporter:label="Start Time" name="start_time" reporter:datatype="timestamp"/>
1175                         <field reporter:label="Update Time" name="update_time" reporter:datatype="timestamp"/>
1176                         <field reporter:label="Complete Time" name="complete_time" reporter:datatype="timestamp"/>
1177                         <field reporter:label="State" name="state" reporter:datatype="text"/>
1178                         <field reporter:label="User Data" name="user_data" reporter:datatype="text"/>
1179                         <field reporter:label="Template Output" name="template_output" reporter:datatype="link"/>
1180                         <field reporter:label="Error Output" name="error_output" reporter:datatype="text"/>
1181                         <field reporter:label="Asynchronous Output" name="async_output" reporter:datatype="link"/>
1182                         <field reporter:label="Update Process" name="update_process" reporter:datatype="int"/>
1183                 </fields>
1184                 <links>
1185                         <link field="event_def" reltype="has_a" key="id" map="" class="atevdef"/>
1186                         <link field="template_output" reltype="has_a" key="id" map="" class="ateo"/>
1187                         <link field="error_output" reltype="has_a" key="id" map="" class="ateo"/>
1188                         <link field="async_output" reltype="has_a" key="id" map="" class="ateo"/>
1189                 </links>
1190         </class>
1191
1192         <class id="atevparam" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::event_param" oils_persist:tablename="action_trigger.event_params" reporter:label="Trigger Event Parameter">
1193                 <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.event_params_id_seq">
1194                         <field reporter:label="Event ID" name="id" reporter:datatype="id"/>
1195                         <field reporter:label="Event Definition" name="event_def" reporter:datatype="link"/>
1196                         <field reporter:label="Parameter Name" name="param" reporter:datatype="text"/>
1197                         <field reporter:label="Parameter Value" name="value" reporter:datatype="text"/>
1198                 </fields>
1199                 <links>
1200                         <link field="event_def" reltype="has_a" key="id" map="" class="atevdef"/>
1201                 </links>
1202                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1203                         <actions>
1204                                 <create permission="ADMIN_TRIGGER_EVENT_DEF CREATE_TRIGGER_EVENT_DEF">
1205                     <context link="event_def" field="owner"/>
1206                 </create>
1207                                 <retrieve permission="ADMIN_TRIGGER_EVENT_DEF VIEW_TRIGGER_EVENT_DEF">
1208                     <context link="event_def" field="owner"/>
1209                 </retrieve>
1210                                 <update permission="ADMIN_TRIGGER_EVENT_DEF UPDATE_TRIGGER_EVENT_DEF">
1211                     <context link="event_def" field="owner"/>
1212                 </update>
1213                                 <delete permission="ADMIN_TRIGGER_EVENT_DEF DELETE_TRIGGER_EVENT_DEF">
1214                     <context link="event_def" field="owner"/>
1215                 </delete>
1216                         </actions>
1217                 </permacrud>
1218         </class>
1219
1220         <class id="atul" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::user_log" reporter:label="Action Trigger User Log" oils_persist:readonly="true">
1221                 <oils_persist:source_definition><![CDATA[
1222                 SELECT  atevdef.hook,
1223                         atevdef.name,
1224                         atevdef.reactor,
1225                         atev.id,
1226                         atev.event_def,
1227                         atev.add_time,
1228                         atev.run_time,
1229                         atev.start_time,
1230                         atev.update_time,
1231                         atev.complete_time,
1232                         atev.update_process,
1233                         atev.state,
1234                         atev.user_data,
1235                         atev.template_output,
1236                         atev.error_output,
1237                         atev.async_output,
1238                         targ_circ.id AS target_circ,
1239                         targ_ahr.id AS target_hold,
1240                         COALESCE(
1241                                 targ_circ.circ_lib,
1242                                 targ_ahr.pickup_lib
1243                         ) AS perm_lib
1244                 FROM action_trigger.event atev
1245                 JOIN action_trigger.event_definition atevdef ON
1246                         (atevdef.id = atev.event_def)
1247                 JOIN action_trigger.hook ath ON
1248                         (ath.key = atevdef.hook)
1249                 LEFT JOIN action.circulation targ_circ ON
1250                         (ath.core_type = 'circ' AND targ_circ.id = atev.target)
1251                 LEFT JOIN action.hold_request targ_ahr ON
1252                         (ath.core_type = 'ahr' AND targ_ahr.id = atev.target)
1253                 WHERE atev.add_time > NOW() - (SELECT MAX(value) FROM (
1254                         SELECT value::INTERVAL FROM actor.org_unit_ancestor_setting(
1255                                 'circ.staff.max_visible_event_age',
1256                                 COALESCE(targ_circ.circ_lib, targ_ahr.pickup_lib)
1257                         ) UNION
1258                         SELECT '1000 YEARS'::INTERVAL AS value
1259                 ) ous)
1260                 ]]></oils_persist:source_definition>
1261                 <fields oils_persist:primary="id">
1262                         <field reporter:label="Hook" name="hook" reporter:datatype="link" />
1263                         <field reporter:label="Name" name="name" reporter:datatype="text" />
1264                         <field reporter:label="Reactor" name="reactor" reporter:datatype="text" />
1265                         <field reporter:label="Event ID" name="id" reporter:datatype="id" />
1266                         <field reporter:label="Event Definition ID" name="event_def" reporter:datatype="int" />
1267                         <field reporter:label="Event Add Time" name="add_time" reporter:datatype="timestamp" />
1268                         <field reporter:label="Event Run Time" name="run_time" reporter:datatype="timestamp" />
1269                         <field reporter:label="Event Start Time" name="start_time" reporter:datatype="timestamp" />
1270                         <field reporter:label="Event Update Time" name="update_time" reporter:datatype="timestamp" />
1271                         <field reporter:label="Event Complete Time" name="complete_time" reporter:datatype="timestamp" />
1272                         <field reporter:label="Event Update PID" name="update_process" reporter:datatype="int" />
1273                         <field reporter:label="Event State" name="state" reporter:datatype="text" />
1274                         <field reporter:label="Event User Data" name="user_data" reporter:datatype="text" />
1275                         <field reporter:label="Event Template Output" name="template_output" reporter:datatype="link" />
1276                         <field reporter:label="Event Error Output" name="error_output" reporter:datatype="link" />
1277                         <field reporter:label="Event Async Output" name="async_output" reporter:datatype="link" />
1278                         <field reporter:label="Target Circulation" name="target_circ" reporter:datatype="link" />
1279                         <field reporter:label="Target Hold" name="target_hold" reporter:datatype="link" />
1280                         <field reporter:label="Permission Context" name="perm_lib" reporter:datatype="org_unit" />
1281                 </fields>
1282                 <links>
1283                         <link field="hook" reltype="has_a" key="key" map="" class="ath" />
1284                         <link field="template_output" reltype="has_a" key="id" map="" class="ateo" />
1285                         <link field="error_output" reltype="has_a" key="id" map="" class="ateo" />
1286                         <link field="async_output" reltype="has_a" key="id" map="" class="ateo" />
1287                         <link field="target_circ" reltype="has_a" key="id" map="" class="circ" />
1288                         <link field="target_hold" reltype="has_a" key="id" map="" class="ahr" />
1289                         <link field="perm_lib" reltype="has_a" key="id" map="" class="aou" />
1290                 </links>
1291                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1292                         <actions>
1293                                 <retrieve permission="VIEW_TRIGGER_EVENT" context_field="perm_lib" />
1294                         </actions>
1295                 </permacrud>
1296         </class>
1297
1298         <class id="aws" controller="open-ils.cstore" oils_obj:fieldmapper="actor::workstation" oils_persist:tablename="actor.workstation" reporter:label="Workstation">
1299                 <fields oils_persist:primary="id" oils_persist:sequence="actor.workstation_id_seq">
1300                         <field reporter:label="Workstation ID" name="id" reporter:datatype="id"/>
1301                         <field reporter:label="Workstation Name" name="name" reporter:datatype="text"/>
1302                         <field reporter:label="Owning Library" name="owning_lib"  reporter:datatype="org_unit"/>
1303                         <field reporter:label="Toolbars" name="toolbars" oils_persist:virtual="true" reporter:datatype="link"/>
1304                         <field reporter:label="Circulations" name="circulations" oils_persist:virtual="true" reporter:datatype="link"/>
1305                 </fields>
1306                 <links>
1307                         <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
1308                         <link field="toolbars" reltype="has_many" key="ws" map="" class="atb"/>
1309                         <link field="circulations" reltype="has_many" key="workstation" map="" class="circ"/>
1310                 </links>
1311         </class>
1312
1313         <class id="ccm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_modifier" oils_persist:tablename="config.circ_modifier" reporter:label="Circulation Modifier">
1314                 <fields oils_persist:primary="code">
1315                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
1316                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
1317                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
1318                         <field reporter:label="SIP2 Media Type" name="sip2_media_type" reporter:datatype="text" oils_persist:i18n="true"/>
1319                         <field reporter:label="Magnetic Media" name="magnetic_media" reporter:datatype="bool"/>
1320                         <field reporter:label="Average Wait Time" name="avg_wait_time" reporter:datatype="interval"/>
1321                 </fields>
1322                 <links/>
1323         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1324             <actions>
1325                 <create permission="ADMIN_CIRC_MOD" global_required="true"/>
1326                 <retrieve/>
1327                 <update permission="ADMIN_CIRC_MOD" global_required="true"/>
1328                 <delete permission="ADMIN_CIRC_MOD" global_required="true"/>
1329             </actions>
1330         </permacrud>
1331         </class>
1332
1333         <class id="aiit" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::invoice_item_type" oils_persist:tablename="acq.invoice_item_type" reporter:label="Non-bibliographic Invoice Item Type" oils_persist:field_safe="true">
1334                 <fields oils_persist:primary="code">
1335                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
1336                         <field reporter:label="Label" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
1337                         <field reporter:label="Prorate?" name="prorate" reporter:datatype="bool"/>
1338                 </fields>
1339                 <links/>
1340         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1341             <actions>
1342                 <create permission="CREATE_INVOICE_ITEM_TYPE" global_required="true"/>
1343                 <retrieve/>
1344                 <update permission="UPDATE_INVOICE_ITEM_TYPE" global_required="true"/>
1345                 <delete permission="DELETE_INVOICE_ITEM_TYPE" global_required="true"/>
1346             </actions>
1347         </permacrud>
1348         </class>
1349
1350         <class id="acqim" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="acq::invoice_method" oils_persist:tablename="acq.invoice_method" reporter:label="Invoice Method used by Vendor" oils_persist:field_safe="true">
1351                 <fields oils_persist:primary="code">
1352                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
1353                         <field reporter:label="Label" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
1354                 </fields>
1355                 <links/>
1356         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1357             <actions>
1358                 <create permission="ADMIN_INVOICE_METHOD CREATE_INVOICE_METHOD" global_required="true"/>
1359                 <retrieve/>
1360                 <update permission="ADMIN_INVOICE_METHOD UPDATE_INVOICE_METHOD" global_required="true"/>
1361                 <delete permission="ADMIN_INVOICE_METHOD DELETE_INVOICE_METHOD" global_required="true"/>
1362             </actions>
1363         </permacrud>
1364         </class>
1365
1366         <class id="ccpbt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="container::copy_bucket_type" oils_persist:tablename="container.copy_bucket_type" reporter:label="Copy Bucket Type" oils_persist:field_safe="true">
1367                 <fields oils_persist:primary="code">
1368                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
1369                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
1370                 </fields>
1371                 <links/>
1372         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1373             <actions>
1374                 <create permission="CREATE_COPY_BTYPE" global_required="true"/>
1375                 <retrieve/>
1376                 <update permission="UPDATE_COPY_BTYPE" global_required="true"/>
1377                 <delete permission="DELETE_COPY_BTYPE" global_required="true"/>
1378             </actions>
1379         </permacrud>
1380         </class>
1381
1382         <class id="ccnbt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="container::call_number_bucket_type" oils_persist:tablename="container.call_number_bucket_type" reporter:label="Call Number Bucket Type" oils_persist:field_safe="true">
1383                 <fields oils_persist:primary="code">
1384                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
1385                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
1386                 </fields>
1387                 <links/>
1388         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1389             <actions>
1390                 <create permission="CREATE_CN_BTYPE" global_required="true"/>
1391                 <retrieve/>
1392                 <update permission="UPDATE_CN_BTYPE" global_required="true"/>
1393                 <delete permission="DELETE_CN_BTYPE" global_required="true"/>
1394             </actions>
1395         </permacrud>
1396         </class>
1397
1398         <class id="bpt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="biblio::peer_type" oils_persist:tablename="biblio.peer_type" reporter:label="Bibliographic Record Peer Type" oils_persist:field_safe="true">
1399                 <fields oils_persist:primary="id" oils_persist:sequence="biblio.peer_type_id_seq">
1400                         <field reporter:label="ID" name="id" reporter:selector="name" reporter:datatype="id"/>
1401                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
1402                 </fields>
1403                 <links/>
1404         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1405             <actions>
1406                 <create permission="CREATE_BIB_PTYPE" global_required="true"/>
1407                 <retrieve/>
1408                 <update permission="UPDATE_BIB_PTYPE" global_required="true"/>
1409                 <delete permission="DELETE_BIB_PTYPE" global_required="true"/>
1410             </actions>
1411         </permacrud>
1412         </class>
1413
1414         <class id="bpbcm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="biblio::peer_bib_copy_map" oils_persist:tablename="biblio.peer_bib_copy_map" reporter:label="Bibliographic Record Peer Copy Map">
1415                 <fields oils_persist:primary="id" oils_persist:sequence="biblio.peer_bib_copy_map_id_seq">
1416                         <field reporter:label="ID" name="id" reporter:selector="name" reporter:datatype="id"/>
1417                         <field reporter:label="Peer Type" name="peer_type" reporter:datatype="link"/>
1418                         <field reporter:label="Peer Record" name="peer_record" reporter:datatype="link"/>
1419                         <field reporter:label="Target Copy" name="target_copy" reporter:datatype="link"/>
1420                 </fields>
1421         <links>
1422             <link field="peer_type" reltype="has_a" key="id" map="" class="bpt"/>
1423             <link field="peer_record" reltype="has_a" key="id" map="" class="bre"/>
1424             <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
1425         </links>
1426         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1427             <actions>
1428                 <create permission="UPDATE_COPY">
1429                     <context link="target_copy" field="circ_lib"/>
1430                 </create>
1431                 <retrieve/>
1432                 <update permission="UPDATE_COPY">
1433                     <context link="target_copy" field="circ_lib"/>
1434                 </update>
1435                 <delete permission="UPDATE_COPY">
1436                     <context link="target_copy" field="circ_lib"/>
1437                 </delete>
1438             </actions>
1439         </permacrud>
1440         </class>
1441
1442         <class id="cbrebt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="container::biblio_record_entry_bucket_type" oils_persist:tablename="container.biblio_record_entry_bucket_type" reporter:label="Bibliographic Record Bucket Type" oils_persist:field_safe="true">
1443                 <fields oils_persist:primary="code">
1444                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
1445                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
1446                 </fields>
1447                 <links/>
1448         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1449             <actions>
1450                 <create permission="CREATE_BIB_BTYPE" global_required="true"/>
1451                 <retrieve/>
1452                 <update permission="UPDATE_BIB_BTYPE" global_required="true"/>
1453                 <delete permission="DELETE_BIB_BTYPE" global_required="true"/>
1454             </actions>
1455         </permacrud>
1456         </class>
1457
1458         <class id="cubt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="container::user_bucket_type" oils_persist:tablename="container.user_bucket_type" reporter:label="User Bucket Type" oils_persist:field_safe="true">
1459                 <fields oils_persist:primary="code">
1460                         <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
1461                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
1462                 </fields>
1463                 <links/>
1464         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1465             <actions>
1466                 <create permission="CREATE_USER_BTYPE" global_required="true"/>
1467                 <retrieve/>
1468                 <update permission="UPDATE_USER_BTYPE" global_required="true"/>
1469                 <delete permission="DELETE_USER_BTYPE" global_required="true"/>
1470             </actions>
1471         </permacrud>
1472         </class>
1473
1474         <class id="cvrfm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::videorecording_format_map" oils_persist:tablename="config.videorecording_format_map" reporter:label="Videorecording Format" oils_persist:field_safe="true">
1475                 <fields oils_persist:primary="code">
1476                         <field reporter:label="Code" name="code" reporter:selector="value" reporter:datatype="id"/>
1477                         <field reporter:label="Format" name="value" reporter:datatype="text" oils_persist:i18n="true"/>
1478                 </fields>
1479                 <links/>
1480         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1481             <actions>
1482                 <create permission="ADMIN_MARC_CODE" global_required="true"/>
1483                 <retrieve/>
1484                 <update permission="ADMIN_MARC_CODE" global_required="true"/>
1485                 <delete permission="ADMIN_MARC_CODE" global_required="true"/>
1486             </actions>
1487         </permacrud>
1488         </class>
1489
1490     <class id="chmw" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::hold_matrix_weights" oils_persist:tablename="config.hold_matrix_weights" reporter:label="Hold Matrix Weights">
1491         <fields oils_persist:primary="id" oils_persist:sequence="config.hold_matrix_weights_id_seq">
1492             <field reporter:label="Hold Weights ID" name="id" reporter:datatype="id" reporter:selector="name"/>
1493             <field reporter:label="Name" name="name" reporter:datatype="text"/>
1494             <field reporter:label="User Home Library" name="user_home_ou" reporter:datatype="float"/>
1495             <field reporter:label="Request Library" name="request_ou" reporter:datatype="float"/>
1496             <field reporter:label="Pickup Library" name="pickup_ou" reporter:datatype="float"/>
1497             <field reporter:label="Owning Library" name="item_owning_ou" reporter:datatype="float"/>
1498             <field reporter:label="Item Circ Library" name="item_circ_ou" reporter:datatype="float"/>
1499             <field reporter:label="User Permission Group" name="usr_grp" reporter:datatype="float"/>
1500             <field reporter:label="Requestor Permission Group" name="requestor_grp" reporter:datatype="float"/>
1501             <field reporter:label="Circulation Modifier" name="circ_modifier" oils_persist:primitive="string" reporter:datatype="float"/>
1502             <field reporter:label="MARC Type" name="marc_type" oils_persist:primitive="string" reporter:datatype="float"/>
1503             <field reporter:label="MARC Form" name="marc_form" oils_persist:primitive="string" reporter:datatype="float"/>
1504             <field reporter:label="MARC Bib Level" name="marc_bib_level" oils_persist:primitive="string" reporter:datatype="float"/>
1505             <field reporter:label="Videorecording Format" name="marc_vr_format" oils_persist:primitive="string" reporter:datatype="float"/>
1506             <field reporter:label="Juvenile?" name="juvenile_flag" oils_persist:primitive="string" reporter:datatype="float"/>
1507             <field reporter:label="Reference?" name="ref_flag" reporter:datatype="float"/>
1508             <field reporter:label="Item Age &lt;" name="item_age" reporter:datatype="float"/>
1509         </fields>
1510         <links/>
1511         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1512             <actions>
1513                 <create permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1514                 <retrieve/>
1515                 <update permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1516                 <delete permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1517             </actions>
1518         </permacrud>
1519     </class>
1520
1521     <class id="ccmw" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_matrix_weights" oils_persist:tablename="config.circ_matrix_weights" reporter:label="Circ Matrix Weights">
1522         <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_weights_id_seq">
1523             <field reporter:label="Circ Weights ID" name="id" reporter:datatype="id" reporter:selector="name"/>
1524             <field reporter:label="Name" name="name" reporter:datatype="text"/>
1525             <field reporter:label="Renewal?" name="is_renewal" reporter:datatype="float"/>
1526             <field reporter:label="Org Unit" name="org_unit" reporter:datatype="float"/>
1527             <field reporter:label="Copy Circ Lib" name="copy_circ_lib" reporter:datatype="float"/>
1528             <field reporter:label="Copy Owning Lib" name="copy_owning_lib" reporter:datatype="float"/>
1529             <field reporter:label="User Home Lib" name="user_home_ou" reporter:datatype="float"/>
1530             <field reporter:label="Permission Group" name="grp" reporter:datatype="float"/>
1531             <field reporter:label="Circulation Modifier" name="circ_modifier" reporter:datatype="float"/>
1532             <field reporter:label="Copy Location" name="copy_location" reporter:datatype="float"/>
1533             <field reporter:label="MARC Type" name="marc_type" reporter:datatype="float"/>
1534             <field reporter:label="MARC Form" name="marc_form" reporter:datatype="float"/>
1535             <field reporter:label="MARC Bib Level" name="marc_bib_level" reporter:datatype="float"/>
1536             <field reporter:label="Videorecording Format" name="marc_vr_format" reporter:datatype="float"/>
1537             <field reporter:label="Reference?" name="ref_flag" reporter:datatype="float"/>
1538             <field reporter:label="Juvenile?" name="juvenile_flag" reporter:datatype="float"/>
1539             <field reporter:label="User Age: Lower Bound" name="usr_age_lower_bound" reporter:datatype="float"/>
1540             <field reporter:label="User Age: Upper Bound" name="usr_age_upper_bound" reporter:datatype="float"/>
1541             <field reporter:label="Item Age &lt;" name="item_age" reporter:datatype="float"/>
1542         </fields>
1543         <links/>
1544         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1545             <actions>
1546                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT" global_required="true"/>
1547                 <retrieve/>
1548                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT" global_required="true"/>
1549                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT" global_required="true"/>
1550             </actions>
1551         </permacrud>
1552     </class>
1553
1554     <class id="cwa" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::weight_assoc" oils_persist:tablename="config.weight_assoc" reporter:label="Matrix Weight Association">
1555         <fields oils_persist:primary="id" oils_persist:sequence="config.weight_assoc_id_seq">
1556             <field reporter:label="Assoc ID" name="id" reporter:datatype="id"/>
1557             <field reporter:label="Active?" name="active" reporter:datatype="bool"/>
1558             <field reporter:label="Org Unit" name="org_unit" reporter:datatype="org_unit"/>
1559             <field reporter:label="Circ Weights" name="circ_weights" reporter:datatype="link"/>
1560             <field reporter:label="Hold Weights" name="hold_weights" reporter:datatype="link"/>
1561         </fields>
1562         <links>
1563             <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1564             <link field="circ_weights" reltype="has_a" key="id" map="" class="ccmw"/>
1565             <link field="hold_weights" reltype="has_a" key="id" map="" class="chmw"/>
1566         </links>
1567         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1568             <actions>
1569                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT ADMIN_HOLD_MATRIX_MATCHPOINT" context_field='org_unit'/>
1570                 <retrieve permission="ADMIN_CIRC_MATRIX_MATCHPOINT ADMIN_HOLD_MATRIX_MATCHPOINT VIEW_CIRC_MATRIX_MATCHPOINT VIEW_HOLD_MATRIX_MATCHPOINT" context_field='org_unit'/>
1571                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT ADMIN_HOLD_MATRIX_MATCHPOINT" context_field='org_unit'/>
1572                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT ADMIN_HOLD_MATRIX_MATCHPOINT" context_field='org_unit'/>
1573             </actions>
1574         </permacrud>
1575     </class>
1576
1577         <class id="chmm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::hold_matrix_matchpoint" oils_persist:tablename="config.hold_matrix_matchpoint" reporter:label="Hold Matrix Matchpoint">
1578                 <fields oils_persist:primary="id" oils_persist:sequence="config.hold_matrix_matchpoint_id_seq">
1579                         <field reporter:label="Matchpoint ID" name="id" reporter:datatype="id"/>
1580                         <field reporter:label="Active?" name="active" reporter:datatype="bool"/>
1581                         <field reporter:label="Strict OU matches?" name="strict_ou_match" reporter:datatype="bool"/>
1582                         <field reporter:label="User Home Library" name="user_home_ou" reporter:datatype="org_unit"/>
1583                         <field reporter:label="Request Library" name="request_ou" reporter:datatype="org_unit"/>
1584                         <field reporter:label="Pickup Library" name="pickup_ou" reporter:datatype="org_unit"/>
1585                         <field reporter:label="Owning Library" name="item_owning_ou" reporter:datatype="org_unit"/>
1586                         <field reporter:label="Item Circ Library" name="item_circ_ou" reporter:datatype="org_unit"/>
1587                         <field reporter:label="User Permission Group" name="usr_grp" reporter:datatype="link"/>
1588                         <field reporter:label="Requestor Permission Group" name="requestor_grp" reporter:datatype="link"/>
1589                         <field reporter:label="Circulation Modifier" name="circ_modifier" oils_persist:primitive="string" reporter:datatype="link"/>
1590                         <field reporter:label="MARC Type" name="marc_type" oils_persist:primitive="string" reporter:datatype="link"/>
1591                         <field reporter:label="MARC Form" name="marc_form" oils_persist:primitive="string" reporter:datatype="link"/>
1592                         <field reporter:label="MARC Bib Level" name="marc_bib_level" oils_persist:primitive="string" reporter:datatype="link"/>
1593                         <field reporter:label="Videorecording Format" name="marc_vr_format" oils_persist:primitive="string" reporter:datatype="link"/>
1594                         <field reporter:label="Reference?" name="ref_flag" reporter:datatype="bool"/>
1595             <field reporter:label="Item Age &lt;" name="item_age" reporter:datatype="text"/>
1596                         <field reporter:label="Holdable?" name="holdable" reporter:datatype="bool"/>
1597                         <field reporter:label="Range is from Owning Lib?" name="distance_is_from_owner" reporter:datatype="bool"/>
1598                         <field reporter:label="Transit Range" name="transit_range" reporter:datatype="link"/>
1599                         <field reporter:label="Max Holds" name="max_holds" reporter:datatype="int"/>
1600                         <field reporter:label="Max includes Frozen" name="include_frozen_holds" reporter:datatype="bool"/>
1601                         <field reporter:label="Copy Age Hold Protection Rule" name="age_hold_protect_rule" reporter:datatype="link"/>
1602                 </fields>
1603                 <links>
1604                         <link field="user_home_ou" reltype="has_a" key="id" map="" class="aou"/>
1605                         <link field="request_ou" reltype="has_a" key="id" map="" class="aou"/>
1606                         <link field="pickup_ou" reltype="has_a" key="id" map="" class="aou"/>
1607                         <link field="item_owning_ou" reltype="has_a" key="id" map="" class="aou"/>
1608                         <link field="item_circ_ou" reltype="has_a" key="id" map="" class="aou"/>
1609                         <link field="usr_grp" reltype="has_a" key="id" map="" class="pgt"/>
1610                         <link field="requestor_grp" reltype="has_a" key="id" map="" class="pgt"/>
1611                         <link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
1612                         <link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
1613                         <link field="marc_form" reltype="has_a" key="code" map="" class="cifm"/>
1614                         <link field="marc_bib_level" reltype="has_a" key="code" map="" class="cblvl"/>
1615                         <link field="marc_vr_format" reltype="has_a" key="code" map="" class="cvrfm"/>
1616                         <link field="age_hold_protect_rule" reltype="has_a" key="id" map="" class="crahp"/>
1617             <link field="transit_range" reltype="has_a" key="id" map="" class="aout"/>
1618                 </links>
1619         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1620             <actions>
1621                 <create permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1622                 <retrieve permission="ADMIN_HOLD_MATRIX_MATCHPOINT VIEW_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1623                 <update permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1624                 <delete permission="ADMIN_HOLD_MATRIX_MATCHPOINT" global_required="true"/>
1625             </actions>
1626         </permacrud>
1627         </class>
1628
1629         <class id="ccmm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_matrix_matchpoint" oils_persist:tablename="config.circ_matrix_matchpoint" reporter:label="Circulation Matrix Matchpoint">
1630                 <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_matchpoint_id_seq">
1631                         <field reporter:label="Matchpoint ID" name="id" reporter:datatype="id"/>
1632                         <field reporter:label="Renewal?" name="is_renewal" reporter:datatype="bool"/>
1633                         <field reporter:label="Active?" name="active" reporter:datatype="bool"/>
1634                         <field reporter:label="Org Unit" name="org_unit" reporter:datatype="org_unit" oils_obj:required="true"/>
1635                         <field reporter:label="Copy Circ Lib" name="copy_circ_lib" reporter:datatype="org_unit"/>
1636                         <field reporter:label="Copy Owning Lib" name="copy_owning_lib" reporter:datatype="org_unit"/>
1637                         <field reporter:label="User Home Lib" name="user_home_ou" reporter:datatype="org_unit"/>
1638                         <field reporter:label="Permission Group" name="grp" reporter:datatype="link" oils_obj:required="true"/>
1639                         <field reporter:label="Circulation Modifier" name="circ_modifier" oils_persist:primitive="string" reporter:datatype="link"/>
1640                         <field reporter:label="Copy Location" name="copy_location" reporter:datatype="link"/>
1641                         <field reporter:label="MARC Type" name="marc_type" oils_persist:primitive="string" reporter:datatype="link"/>
1642                         <field reporter:label="MARC Form" name="marc_form" oils_persist:primitive="string" reporter:datatype="link"/>
1643                         <field reporter:label="MARC Bib Level" name="marc_bib_level" oils_persist:primitive="string" reporter:datatype="link"/>
1644                         <field reporter:label="Videorecording Format" name="marc_vr_format" oils_persist:primitive="string" reporter:datatype="link"/>
1645                         <field reporter:label="Reference?" name="ref_flag" reporter:datatype="bool"/>
1646             <field reporter:label="Juvenile?" name="juvenile_flag" reporter:datatype="bool"/>
1647                         <field reporter:label="User Age: Lower Bound" name="usr_age_lower_bound" reporter:datatype="text"/>
1648                         <field reporter:label="User Age: Upper Bound" name="usr_age_upper_bound" reporter:datatype="text"/>
1649             <field reporter:label="Item Age &lt;" name="item_age" reporter:datatype="text"/>
1650                         <field reporter:label="Circulate?" name="circulate" reporter:datatype="bool"/>
1651                         <field reporter:label="Duration Rule" name="duration_rule" reporter:datatype="link"/>
1652                         <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
1653                         <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
1654             <field reporter:label="Hard Due Date" name="hard_due_date" reporter:datatype="link"/>
1655             <field reporter:label="Renewals Override" name="renewals" reporter:datatype="int"/>
1656             <field reporter:label="Grace Period Override" name="grace_period" reporter:datatype="interval"/>
1657                         <field reporter:label="Script Test" name="script_test" reporter:datatype="text"/>
1658                         <field name="total_copy_hold_ratio" reporter:datatype="float" reporter:label="Minimum Total Copy/Hold Ratio"/>
1659                         <field name="available_copy_hold_ratio" reporter:datatype="float" reporter:label="Minimum Available Copy/Hold Ratio"/>
1660                 </fields>
1661                 <links>
1662                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1663                         <link field="copy_circ_lib" reltype="has_a" key="id" map="" class="aou"/>
1664                         <link field="copy_owning_lib" reltype="has_a" key="id" map="" class="aou"/>
1665                         <link field="user_home_ou" reltype="has_a" key="id" map="" class="aou"/>
1666                         <link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
1667                         <link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
1668                         <link field="copy_location" reltype="has_a" key="id" map="" class="acpl"/>
1669                         <link field="marc_type" reltype="has_a" key="code" map="" class="citm"/>
1670                         <link field="marc_form" reltype="has_a" key="code" map="" class="cifm"/>
1671                         <link field="marc_bib_level" reltype="has_a" key="code" map="" class="cblvl"/>
1672                         <link field="marc_vr_format" reltype="has_a" key="code" map="" class="cvrfm"/>
1673                         <link field="duration_rule" reltype="has_a" key="id" map="" class="crcd"/>
1674                         <link field="max_fine_rule" reltype="has_a" key="id" map="" class="crmf"/>
1675                         <link field="recurring_fine_rule" reltype="has_a" key="id" map="" class="crrf"/>
1676             <link field="hard_due_date" reltype="has_a" key="id" map="" class="chdd"/>
1677                 </links>
1678         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1679             <actions>
1680                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1681                 <retrieve permission="ADMIN_CIRC_MATRIX_MATCHPOINT VIEW_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1682                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1683                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field='org_unit'/>
1684             </actions>
1685         </permacrud>
1686         </class>
1687
1688     <class id="cclg" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_limit_group" oils_persist:tablename="config.circ_limit_group" reporter:label="Circulation Limit Group">
1689         <fields oils_persist:primary="id" oils_persist:sequence="config.circ_limit_group_id_seq">
1690             <field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector="name"/>
1691             <field reporter:label="Name" name="name" reporter:datatype="text"/>
1692             <field reporter:label="Description" name="description" reporter:datatype="text"/>
1693         </fields>
1694         <links/>
1695         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1696             <actions>
1697                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT" global_required="true"/>
1698                 <retrieve/>
1699                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT" global_required="true"/>
1700                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT" global_required="true"/>
1701             </actions>
1702         </permacrud>
1703     </class>
1704
1705     <class id="ccls" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_limit_set" oils_persist:tablename="config.circ_limit_set" reporter:label="Circulation Limit Set">
1706         <fields oils_persist:primary="id" oils_persist:sequence="config.circ_limit_set_id_seq">
1707             <field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector="name"/>
1708             <field reporter:label="Name" name="name" reporter:datatype="text"/>
1709             <field reporter:label="Owning Library" name="owning_lib"  reporter:datatype="org_unit"/>
1710             <field reporter:label="Items Out" name="items_out" reporter:datatype="int"/>
1711             <field reporter:label="Min Depth" name="depth" reporter:datatype="int"/>
1712             <field reporter:label="Global" name="global" reporter:datatype="bool"/>
1713             <field reporter:label="Description" name="description" reporter:datatype="text"/>
1714         </fields>
1715         <links>
1716             <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
1717         </links>
1718         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1719             <actions>
1720                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field="owning_lib"/>
1721                 <retrieve/>
1722                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field="owning_lib"/>
1723                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT" context_field="owning_lib"/>
1724             </actions>
1725         </permacrud>
1726     </class>
1727
1728     <class id="ccmlsm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_matrix_limit_set_map" oils_persist:tablename="config.circ_matrix_limit_set_map" reporter:label="Circulation Matrix Limit Set Map">
1729         <fields oils_persist:primary="id" oils_persist:sequence="config.circ_matrix_limit_set_map_id_seq">
1730             <field reporter:label="ID" name="id" reporter:datatype="id"/>
1731             <field reporter:label="Matchpoint" name="matchpoint" reporter:datatype="link"/>
1732             <field reporter:label="Limit Set" name="limit_set" reporter:datatype="link"/>
1733             <field reporter:label="Fallthrough" name="fallthrough" reporter:datatype="bool"/>
1734             <field reporter:label="Active" name="active" reporter:datatype="bool"/>
1735         </fields>
1736         <links>
1737             <link field="matchpoint" reltype="has_a" key="id" map="" class="ccmm"/>
1738             <link field="limit_set" reltype="has_a" key="id" map="" class="ccls"/>
1739         </links>
1740         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1741             <actions>
1742                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1743                     <context link="matchpoint" field="org_unit"/>
1744                 </create>
1745                 <retrieve/>
1746                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1747                     <context link="matchpoint" field="org_unit"/>
1748                 </update>
1749                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1750                     <context link="matchpoint" field="org_unit"/>
1751                 </delete>
1752             </actions>
1753         </permacrud>
1754     </class>
1755
1756     <class id="cclscmm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_limit_set_circ_mod_map" oils_persist:tablename="config.circ_limit_set_circ_mod_map" reporter:label="Circulation Limit Set Circ Mod Map">
1757         <fields oils_persist:primary="id" oils_persist:sequence="config.circ_limit_set_circ_mod_map_id_seq">
1758             <field reporter:label="ID" name="id" reporter:datatype="id"/>
1759             <field reporter:label="Limit Set" name="limit_set" reporter:datatype="link"/>
1760             <field reporter:label="Circulation Modifier" name="circ_mod" reporter:datatype="link"/>
1761         </fields>
1762         <links>
1763             <link field="limit_set" reltype="has_a" key="id" map="" class="ccls"/>
1764             <link field="circ_mod" reltype="has_a" key="code" map="" class="ccm"/>
1765         </links>
1766         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1767             <actions>
1768                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1769                     <context link="limit_set" field="owning_lib"/>
1770                 </create>
1771                 <retrieve/>
1772                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1773                     <context link="limit_set" field="owning_lib"/>
1774                 </update>
1775                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1776                     <context link="limit_set" field="owning_lib"/>
1777                 </delete>
1778             </actions>
1779         </permacrud>
1780     </class>
1781     <class id="cclsacpl" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_limit_set_copy_loc_map" oils_persist:tablename="config.circ_limit_set_copy_loc_map" reporter:label="Circulation Limit Set Copy Location Map">
1782         <fields oils_persist:primary="id" oils_persist:sequence="config.circ_limit_set_copy_loc_map_id_seq">
1783             <field reporter:label="ID" name="id" reporter:datatype="id"/>
1784             <field reporter:label="Limit Set" name="limit_set" reporter:datatype="link"/>
1785             <field reporter:label="Copy Location" name="copy_loc" reporter:datatype="link"/>
1786         </fields>
1787         <links>
1788             <link field="limit_set" reltype="has_a" key="id" map="" class="ccls"/>
1789             <link field="copy_loc" reltype="has_a" key="id" map="" class="acpl"/>
1790         </links>
1791         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1792             <actions>
1793                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1794                     <context link="limit_set" field="owning_lib"/>
1795                 </create>
1796                 <retrieve/>
1797                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1798                     <context link="limit_set" field="owning_lib"/>
1799                 </update>
1800                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1801                     <context link="limit_set" field="owning_lib"/>
1802                 </delete>
1803             </actions>
1804         </permacrud>
1805     </class>
1806
1807     <class id="cclsgm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::circ_limit_set_group_map" oils_persist:tablename="config.circ_limit_set_group_map" reporter:label="Circulation Limit Set Group Map">
1808         <fields oils_persist:primary="id" oils_persist:sequence="config.circ_limit_set_group_map_id_seq">
1809             <field reporter:label="ID" name="id" reporter:datatype="id"/>
1810             <field reporter:label="Limit Set" name="limit_set" reporter:datatype="link"/>
1811             <field reporter:label="Limit Group" name="limit_group" reporter:datatype="link"/>
1812             <field reporter:label="Check Only" name="check_only" reporter:datatype="bool"/>
1813         </fields>
1814         <links>
1815             <link field="limit_set" reltype="has_a" key="id" map="" class="ccls"/>
1816             <link field="limit_group" reltype="has_a" key="id" map="" class="cclg"/>
1817         </links>
1818         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1819             <actions>
1820                 <create permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1821                     <context link="limit_set" field="owning_lib"/>
1822                 </create>
1823                 <retrieve/>
1824                 <update permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1825                     <context link="limit_set" field="owning_lib"/>
1826                 </update>
1827                 <delete permission="ADMIN_CIRC_MATRIX_MATCHPOINT">
1828                     <context link="limit_set" field="owning_lib"/>
1829                 </delete>
1830             </actions>
1831         </permacrud>
1832     </class>
1833
1834         <class id="cit" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::identification_type" oils_persist:tablename="config.identification_type" reporter:label="Identification Type">
1835                 <fields oils_persist:primary="id" oils_persist:sequence="config.identification_type_id_seq">
1836                         <field reporter:label="Identification ID" name="id" reporter:selector="name" reporter:datatype="id"/>
1837                         <field reporter:label="Identification Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
1838                 </fields>
1839                 <links/>
1840         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1841             <actions>
1842                 <create permission="ADMIN_IDENT_TYPE" global_required="true"/>
1843                 <retrieve/>
1844                 <update permission="ADMIN_IDENT_TYPE" global_required="true"/>
1845                 <delete permission="ADMIN_IDENT_TYPE" global_required="true"/>
1846             </actions>
1847         </permacrud>
1848         </class>
1849
1850         <class id="asvq" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::survey_question" oils_persist:tablename="action.survey_question" reporter:label="User Survey Question">
1851                 <fields oils_persist:primary="id" oils_persist:sequence="action.survey_question_id_seq">
1852                         <field reporter:label="Answers" name="answers" oils_persist:virtual="true" reporter:datatype="link"/>
1853                         <field reporter:label="Responses" name="responses" oils_persist:virtual="true" reporter:datatype="link"/>
1854                         <field reporter:label="Question ID" name="id" reporter:datatype="id" />
1855                         <field reporter:label="Question" name="question" reporter:datatype="text"/>
1856                         <field reporter:label="Survey" name="survey" reporter:datatype="link"/>
1857                 </fields>
1858                 <links>
1859                         <link field="survey" reltype="has_a" key="id" map="" class="asv"/>
1860                         <link field="responses" reltype="has_many" key="question" map="" class="asvr"/>
1861                         <link field="answers" reltype="has_many" key="question" map="" class="asva"/>
1862                 </links>
1863         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
1864             <actions>
1865                 <create permission="ADMIN_SURVEY">
1866                     <context link="survey" field="owner"/>
1867                 </create>
1868                 <retrieve/>
1869                 <update permission="ADMIN_SURVEY">
1870                     <context link="survey" field="owner"/>
1871                 </update>
1872                 <delete permission="ADMIN_SURVEY">
1873                     <context link="survey" field="owner"/>
1874                 </delete>
1875             </actions>
1876         </permacrud>
1877         </class>
1878         <class id="mbts" controller="open-ils.cstore" oils_obj:fieldmapper="money::billable_transaction_summary" oils_persist:tablename="money.materialized_billable_xact_summary" reporter:label="Billable Transaction Summary" oils_persist:readonly="true">
1879                 <fields oils_persist:primary="id" oils_persist:sequence="">
1880                         <field reporter:label="Balance Owed" name="balance_owed" reporter:datatype="money"/>
1881                         <field reporter:label="Transaction ID" name="id" reporter:datatype="id"/>
1882                         <field reporter:label="Last Billing Note" name="last_billing_note" reporter:datatype="text"/>
1883                         <field reporter:label="Last Billing Timestamp" name="last_billing_ts" reporter:datatype="timestamp"/>
1884                         <field reporter:label="Last Billing Type" name="last_billing_type" reporter:datatype="text"/>
1885                         <field reporter:label="Last Payment Note" name="last_payment_note" reporter:datatype="text"/>
1886                         <field reporter:label="Last Payment Timestamp" name="last_payment_ts" reporter:datatype="timestamp"/>
1887                         <field reporter:label="Last Payment Type" name="last_payment_type" reporter:datatype="text"/>
1888                         <field reporter:label="Total Owed" name="total_owed" reporter:datatype="money"/>
1889                         <field reporter:label="Total Paid" name="total_paid" reporter:datatype="money"/>
1890                         <field reporter:label="Billed User" name="usr" reporter:datatype="link"/>
1891                         <field reporter:label="Transaction Finish Time" name="xact_finish" reporter:datatype="timestamp" />
1892                         <field reporter:label="Transaction Start Time" name="xact_start" reporter:datatype="timestamp" />
1893                         <field reporter:label="Transaction Type" name="xact_type" reporter:datatype="text"/>
1894                 </fields>
1895                 <links>
1896                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1897                 </links>
1898         </class>
1899         <class id="mbtslv" controller="open-ils.cstore" oils_obj:fieldmapper="money::billable_transaction_summary_location_view" oils_persist:tablename="money.billable_xact_summary_location_view" reporter:label="Billable Transaction Summary with Billing Location" oils_persist:readonly="true" reporter:core="true">
1900                 <fields oils_persist:primary="id" oils_persist:sequence="">
1901                         <field reporter:label="Balance Owed" name="balance_owed" reporter:datatype="money"/>
1902                         <field reporter:label="Transaction ID" name="id" reporter:datatype="id"/>
1903                         <field reporter:label="Last Billing Note" name="last_billing_note" reporter:datatype="text"/>
1904                         <field reporter:label="Last Billing Timestamp" name="last_billing_ts" reporter:datatype="timestamp"/>
1905                         <field reporter:label="Last Billing Type" name="last_billing_type" reporter:datatype="text"/>
1906                         <field reporter:label="Last Payment Note" name="last_payment_note" reporter:datatype="text"/>
1907                         <field reporter:label="Last Payment Timestamp" name="last_payment_ts" reporter:datatype="timestamp"/>
1908                         <field reporter:label="Last Payment Type" name="last_payment_type" reporter:datatype="text"/>
1909                         <field reporter:label="Total Owed" name="total_owed" reporter:datatype="money"/>
1910                         <field reporter:label="Total Paid" name="total_paid" reporter:datatype="money"/>
1911                         <field reporter:label="Billed User" name="usr" reporter:datatype="link"/>
1912                         <field reporter:label="Transaction Finish Time" name="xact_finish" reporter:datatype="timestamp" />
1913                         <field reporter:label="Transaction Start Time" name="xact_start" reporter:datatype="timestamp" />
1914                         <field reporter:label="Transaction Type" name="xact_type" reporter:datatype="text"/>
1915                         <field reporter:label="Billing Location" name="billing_location" reporter:datatype="link"/>
1916                 </fields>
1917                 <links>
1918                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1919                         <link field="billing_location" reltype="has_a" key="id" map="" class="aou"/>
1920                 </links>
1921         </class>
1922         <class id="aun" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_note" oils_persist:tablename="actor.usr_note" reporter:label="User Note">
1923                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_note_id_seq">
1924                         <field reporter:label="Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
1925                         <field reporter:label="Creating Staff" name="creator" reporter:datatype="link"/>
1926                         <field reporter:label="Note ID" name="id" reporter:datatype="id" />
1927                         <field reporter:label="Is OPAC Visible?" name="pub" reporter:datatype="bool"/>
1928                         <field reporter:label="Note Title" name="title" reporter:datatype="text"/>
1929                         <field reporter:label="User" name="usr" reporter:datatype="link" />
1930                         <field reporter:label="Note Content" name="value" reporter:datatype="text"/>
1931                 </fields>
1932                 <links>
1933                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1934                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
1935                 </links>
1936         </class>
1937         <class id="aupr" controller="open-ils.cstore" oils_obj:fieldmapper="actor::usr_password_reset" oils_persist:tablename="actor.usr_password_reset" reporter:label="User password reset requests">
1938                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_password_reset_id_seq">
1939                         <field reporter:label="Request ID" name="id" reporter:datatype="id"/>
1940                         <field reporter:label="UUID" name="uuid" reporter:datatype="text"/>
1941                         <field reporter:label="User" name="usr" reporter:datatype="link"/>
1942                         <field reporter:label="Request Time" name="request_time" reporter:datatype="timestamp"/>
1943                         <field reporter:label="Was Reset?" name="has_been_reset" reporter:datatype="bool"/>
1944                 </fields>
1945                 <links>
1946                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1947                 </links>
1948         </class>
1949         <class id="aus" controller="open-ils.cstore" oils_obj:fieldmapper="actor::user_setting" oils_persist:tablename="actor.usr_setting" reporter:label="User Setting">
1950                 <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_setting_id_seq">
1951                         <field reporter:label="Setting ID" name="id" reporter:datatype="id" />
1952                         <field reporter:label="Name" name="name" reporter:datatype="link"/>
1953                         <field reporter:label="User" name="usr" reporter:datatype="link"/>
1954                         <field reporter:label="Value" name="value" reporter:datatype="text"/>
1955                 </fields>
1956                 <links>
1957                         <link field="name" reltype="has_a" key="name" map="" class="cust"/>
1958                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
1959                 </links>
1960         </class>
1961         <class id="mafe" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::author_field_entry" oils_persist:tablename="metabib.author_field_entry" reporter:label="Author Field Entry">
1962                 <fields oils_persist:primary="id" oils_persist:sequence="metabib.author_field_entry_id_seq">
1963                         <field name="field" reporter:datatype="link"/>
1964                         <field name="id" reporter:datatype="id" />
1965                         <field name="source" reporter:datatype="link"/>
1966                         <field name="value" reporter:datatype="text"/>
1967                 </fields>
1968                 <links>
1969                         <link field="source" reltype="has_a" key="id" map="" class="bre"/>
1970                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
1971                 </links>
1972         </class>
1973         <class id="aihu" controller="open-ils.cstore" oils_obj:fieldmapper="action::in_house_use" oils_persist:tablename="action.in_house_use" reporter:core="true" reporter:label="In House Use">
1974                 <fields oils_persist:primary="id" oils_persist:sequence="action.in_house_use_id_seq">
1975                         <field reporter:label="Use ID" name="id" reporter:datatype="id" />
1976                         <field reporter:label="Item" name="item" reporter:datatype="int" />
1977                         <field reporter:label="Using Library" name="org_unit" reporter:datatype="org_unit"/>
1978                         <field reporter:label="Recording Staff" name="staff" reporter:datatype="link"/>
1979                         <field reporter:label="Use Date/Time" name="use_time" reporter:datatype="timestamp"/>
1980                 </fields>
1981                 <links>
1982                         <link field="item" reltype="has_a" key="id" map="" class="acp"/>
1983                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
1984                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1985                 </links>
1986         </class>
1987         <class id="ancihu" controller="open-ils.cstore" oils_obj:fieldmapper="action::non_cat_in_house_use" oils_persist:tablename="action.non_cat_in_house_use" reporter:core="true" reporter:label="Non-cataloged In House Use">
1988                 <fields oils_persist:primary="id" oils_persist:sequence="action.non_cat_in_house_use_id_seq">
1989                         <field reporter:label="Use ID" name="id" reporter:datatype="id" />
1990                         <field reporter:label="Item Type" name="item_type" reporter:datatype="link"/>
1991                         <field reporter:label="Using Library" name="org_unit" reporter:datatype="org_unit"/>
1992                         <field reporter:label="Recording Staff" name="staff" reporter:datatype="link"/>
1993                         <field reporter:label="Use Date/Time" name="use_time" reporter:datatype="timestamp"/>
1994                 </fields>
1995                 <links>
1996                         <link field="item_type" reltype="has_a" key="id" map="" class="cnct"/>
1997                         <link field="staff" reltype="has_a" key="id" map="" class="au"/>
1998                         <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
1999                 </links>
2000         </class>
2001         <class id="atc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::transit_copy" oils_persist:tablename="action.transit_copy" reporter:core="true" reporter:label="Copy Transit">
2002                 <fields oils_persist:primary="id" oils_persist:sequence="action.transit_copy_id_seq">
2003                         <field reporter:label="Pretransit Copy Status" name="copy_status" reporter:datatype="bool"/>
2004                         <field reporter:label="Destination" name="dest" reporter:datatype="link"/>
2005                         <field reporter:label="Receive Date/Time" name="dest_recv_time" reporter:datatype="timestamp"/>
2006                         <field reporter:label="Transit ID" name="id" reporter:datatype="id"/>
2007                         <field reporter:label="Is Persistent? (unused)" name="persistant_transfer" reporter:datatype="bool"/>
2008                         <field reporter:label="Previous Hop (unused)" name="prev_hop" reporter:datatype="link"/>
2009                         <field reporter:label="Source" name="source" reporter:datatype="link"/>
2010                         <field reporter:label="Prev Destination" name="prev_dest" reporter:datatype="org_unit"/>
2011                         <field reporter:label="Send Date/Time" name="source_send_time" reporter:datatype="timestamp"/>
2012                         <field reporter:label="Transited Copy" name="target_copy" reporter:datatype="link"/>
2013                         <field reporter:label="Hold Transit" name="hold_transit_copy" oils_persist:virtual="true" reporter:datatype="link"/>
2014                 </fields>
2015                 <links>
2016                         <link field="hold_transit_copy" reltype="might_have" key="id" map="" class="ahtc"/>
2017                         <link field="source" reltype="has_a" key="id" map="" class="aou"/>
2018                         <link field="prev_dest" reltype="has_a" key="id" map="" class="aou"/>
2019                         <link field="copy_status" reltype="has_a" key="id" map="" class="ccs"/>
2020                         <link field="dest" reltype="has_a" key="id" map="" class="aou"/>
2021                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
2022                 </links>
2023         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2024             <actions>
2025                 <create permission="TRANSIT_COPY" context_field="owner">
2026                     <context link="target_copy" field="circ_lib"/>
2027                 </create>
2028                 <retrieve/>
2029                 <update permission="UPDATE_TRANSIT" context_field="dest source"/>
2030                 <delete permission="DELETE_TRANSIT" context_field="dest source"/>
2031             </actions>
2032         </permacrud>
2033         </class>
2034         <class id="asvr" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action::survey_response" oils_persist:tablename="action.survey_response" reporter:label="Survey Response">
2035                 <fields oils_persist:primary="id" oils_persist:sequence="action.survey_response_id_seq">
2036                         <field reporter:label="Answer" name="answer" reporter:datatype="link"/>
2037                         <field reporter:label="Answer Date/Time" name="answer_date" reporter:datatype="timestamp"/>
2038                         <field reporter:label="Effective Answer Date/Time" name="effective_date" reporter:datatype="timestamp"/>
2039                         <field reporter:label="Answer ID" name="id" reporter:datatype="id" />
2040                         <field reporter:label="Question" name="question" reporter:datatype="link"/>
2041                         <field reporter:label="Response Group ID" name="response_group_id" reporter:datatype="int" />
2042                         <field reporter:label="Survey" name="survey" reporter:datatype="link"/>
2043                         <field reporter:label="Responding User" name="usr" reporter:datatype="link"/>
2044                 </fields>
2045                 <links>
2046                         <link field="question" reltype="has_a" key="id" map="" class="asvq"/>
2047                         <link field="survey" reltype="has_a" key="id" map="" class="asv"/>
2048                         <link field="answer" reltype="has_a" key="id" map="" class="asva"/>
2049                         <link field="usr" reltype="has_a" key="id" map="" class="au"/>
2050                 </links>
2051         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2052             <actions>
2053                 <create permission="ADMIN_SURVEY">
2054                     <context link="survey" field="owner"/>
2055                 </create>
2056                 <retrieve/>
2057                 <update permission="ADMIN_SURVEY">
2058                     <context link="survey" field="owner"/>
2059                 </update>
2060                 <delete permission="ADMIN_SURVEY">
2061                     <context link="survey" field="owner"/>
2062                 </delete>
2063             </actions>
2064         </permacrud>
2065         </class>
2066         <class id="ccbi" controller="open-ils.cstore" oils_obj:fieldmapper="container::copy_bucket_item" oils_persist:tablename="container.copy_bucket_item" reporter:label="Copy Bucket Item">
2067                 <fields oils_persist:primary="id" oils_persist:sequence="container.copy_bucket_item_id_seq">
2068                         <field name="bucket" />
2069                         <field name="id" reporter:datatype="id" />
2070                         <field name="target_copy" reporter:datatype="link"/>
2071                         <field name="create_time" reporter:datatype="timestamp" />
2072                         <field name="pos" reporter:datatype="int" />
2073                         <field name="notes" oils_persist:virtual="true" reporter:datatype="link" />
2074                 </fields>
2075                 <links>
2076                         <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
2077                         <link field="bucket" reltype="has_a" key="id" map="" class="ccb"/>
2078             <link field="notes" reltype="has_many" map="" key="item" class="ccbin"/>
2079                 </links>
2080         </class>
2081         <class id="ccbin" controller="open-ils.cstore" oils_obj:fieldmapper="container::copy_bucket_item_note" oils_persist:tablename="container.copy_bucket_item_note" reporter:label="Copy Bucket Item Note">
2082                 <fields oils_persist:primary="id" oils_persist:sequence="container.copy_bucket_item_note_id_seq">
2083                         <field name="id" reporter:datatype="id" />
2084                         <field name="item" reporter:datatype="link"/>
2085                         <field name="note" reporter:datatype="text" />
2086                 </fields>
2087                 <links>
2088                         <link field="item" reltype="has_a" key="id" map="" class="ccbi"/>
2089                 </links>
2090         </class>
2091
2092         <class id="acs" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="authority::control_set" oils_persist:tablename="authority.control_set" reporter:label="Authority Control Set" oils_persist:field_safe="true">
2093                 <fields oils_persist:primary="id" oils_persist:sequence="authority.control_set_id_seq">
2094                         <field reporter:label="Control Set ID" name="id" reporter:datatype="id" reporter:selector="name"/>
2095                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true" oils_obj:required="true" />
2096                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true" />
2097                         <field reporter:label="Controlling Authority Fields" name="authority_fields" reporter:datatype="link" oils_persist:virtual="true"/>
2098                         <field reporter:label="Thesauri" name="thesauri" reporter:datatype="link" oils_persist:virtual="true"/>
2099                 </fields>
2100                 <links>
2101                         <link field="authority_fields" reltype="has_many" key="control_set" map="" class="acsaf"/>
2102                         <link field="thesauri" reltype="has_many" key="control_set" map="" class="at"/>
2103                 </links>
2104                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2105                         <actions>
2106                                 <create permission="CREATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2107                                 <retrieve/>
2108                                 <update permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2109                                 <delete permission="DELETE_AUTHORITY_CONTROL_SET" global_required="true"/>
2110                         </actions>
2111                 </permacrud>
2112         </class>
2113
2114         <class id="acsaf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="authority::control_set_authority_field" oils_persist:tablename="authority.control_set_authority_field" reporter:label="Authority Control Set Authority Field" oils_persist:field_safe="true">
2115                 <fields oils_persist:primary="id" oils_persist:sequence="authority.control_set_authority_field_id_seq">
2116                         <field reporter:label="Control Set Authority Field ID" name="id" reporter:datatype="id" reporter:selector="name"/>
2117                         <field reporter:label="Main Entry" name="main_entry" reporter:datatype="link"/>
2118                         <field reporter:label="Control Set" name="control_set" reporter:datatype="link"/>
2119                         <field reporter:label="Tag" name="tag" reporter:datatype="text" oils_obj:required="true" oils_obj:validate="^.{3}$"/>
2120                         <field reporter:label="Subfield List" name="sf_list" reporter:datatype="text" />
2121                         <field reporter:label="Non-filing Indicator" name="nfi" reporter:datatype="text" />
2122                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true" oils_obj:required="true" />
2123                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true" />
2124                         <field reporter:label="Subordinate Entries" name="sub_entries" reporter:datatype="link" oils_persist:virtual="true"/>
2125                         <field reporter:label="Controlled Bib Fields" name="bib_fields" reporter:datatype="link" oils_persist:virtual="true"/>
2126                         <field reporter:label="Thesauri" name="thesauri" reporter:datatype="link" oils_persist:virtual="true"/>
2127                         <field reporter:label="Browse Axis Maps" name="axis_maps" reporter:datatype="link" oils_persist:virtual="true"/>
2128                 </fields>
2129                 <links>
2130                         <link field="axis_maps" reltype="has_many" key="field" map="" class="abaafm"/>
2131                         <link field="control_set" reltype="has_a" key="id" map="" class="acs"/>
2132                         <link field="bib_fields" reltype="has_many" key="authority_field" map="" class="acsbf"/>
2133                         <link field="thesauri" reltype="has_many" key="control_set" map="" class="at"/>
2134                         <link field="main_entry" reltype="has_a" key="id" map="" class="acsaf"/>
2135                         <link field="sub_entries" reltype="has_many" key="main_entry" map="" class="acsaf"/>
2136                 </links>
2137                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2138                         <actions>
2139                                 <create permission="CREATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2140                                 <retrieve/>
2141                                 <update permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2142                                 <delete permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2143                         </actions>
2144                 </permacrud>
2145         </class>
2146
2147         <class id="acsbf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="authority::control_set_bib_field" oils_persist:tablename="authority.control_set_bib_field" reporter:label="Authority Control Set Bib Field" oils_persist:field_safe="true">
2148                 <fields oils_persist:primary="id" oils_persist:sequence="authority.control_set_bib_field_id_seq">
2149                         <field reporter:label="Controlled Bib Field ID" name="id" reporter:datatype="id" reporter:selector="name"/>
2150                         <field reporter:label="Controlling Authority Field" name="authority_field" reporter:datatype="link"/>
2151                         <field reporter:label="Tag" name="tag" reporter:datatype="text" oils_obj:required="true" oils_obj:validate="^.{3}$"/>
2152                 </fields>
2153                 <links>
2154                         <link field="authority_field" reltype="has_a" key="id" map="" class="acsaf"/>
2155                 </links>
2156                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2157                         <actions>
2158                                 <create permission="CREATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2159                                 <retrieve/>
2160                                 <update permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2161                                 <delete permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2162                         </actions>
2163                 </permacrud>
2164         </class>
2165
2166         <class id="at" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="authority::thesaurus" oils_persist:tablename="authority.thesaurus" reporter:label="Authority Thesaurus" oils_persist:field_safe="true">
2167                 <fields oils_persist:primary="code">
2168                         <field reporter:label="Thesaurus Code" name="code" reporter:datatype="id" reporter:selector="name"/>
2169                         <field reporter:label="Control Set" name="control_set" reporter:datatype="link"/>
2170                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true" oils_obj:required="true" />
2171                         <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true" />
2172                 </fields>
2173                 <links>
2174                         <link field="control_set" reltype="has_a" key="id" map="" class="acs"/>
2175                 </links>
2176                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2177                         <actions>
2178                                 <create permission="CREATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2179                                 <retrieve/>
2180                                 <update permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2181                                 <delete permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2182                         </actions>
2183                 </permacrud>
2184         </class>
2185
2186         <class id="aba" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="authority::browse_axis" oils_persist:tablename="authority.browse_axis" reporter:label="Authority Browse Axis" oils_persist:field_safe="true">
2187                 <fields oils_persist:primary="code">
2188                         <field reporter:label="Code" name="code" reporter:datatype="id" reporter:selector="name" oils_obj:validate="^\S+$"/>
2189                         <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true" oils_obj:required="true"/>
2190                         <field reporter:label="Sorter Attribute" name="sorter" reporter:datatype="link"/>
2191                         <field reporter:label="Description" name="description" reporter:datatype="text"/>
2192                         <field reporter:label="Authority Fields" name="fields" reporter:datatype="link" oils_persist:virtual="true"/>
2193                         <field reporter:label="Authority Field Maps" name="maps" reporter:datatype="link" oils_persist:virtual="true"/>
2194                 </fields>
2195                 <links>
2196                         <link field="sorter" reltype="has_a" key="name" map="" class="crad"/>
2197                         <link field="fields" reltype="has_many" key="axis" map="field" class="abaafm"/>
2198                         <link field="maps" reltype="has_many" key="axis" map="" class="abaafm"/>
2199                 </links>
2200                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2201                         <actions>
2202                                 <create permission="CREATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2203                                 <retrieve/>
2204                                 <update permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2205                                 <delete permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2206                         </actions>
2207                 </permacrud>
2208         </class>
2209
2210     <class id="abaafm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="authority::browse_axis_authority_field_map" oils_persist:tablename="authority.browse_axis_authority_field_map" reporter:label="Authority Browse Axis Field Map" oils_persist:field_safe="true">
2211         <fields oils_persist:primary="id" oils_persist:sequence="authority.browse_axis_authority_field_map_id_seq">
2212             <field reporter:label="Axis Authority Field Map ID" name="id" reporter:datatype="id"/>
2213             <field reporter:label="Authority Field" name="field" oils_obj:required="true" reporter:datatype="link"/>
2214             <field reporter:label="Axis" name="axis" reporter:datatype="link" oils_obj:required="true"/>
2215         </fields>
2216         <links>
2217             <link field="field" reltype="has_a" key="id" map="" class="acsaf"/>
2218             <link field="axis" reltype="has_a" key="code" map="" class="aba"/>
2219         </links>
2220         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2221             <actions>
2222                 <create permission="CREATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2223                 <retrieve/>
2224                 <update permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2225                 <delete permission="UPDATE_AUTHORITY_CONTROL_SET" global_required="true"/>
2226             </actions>
2227         </permacrud>
2228     </class>
2229
2230         <class id="are" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="authority::record_entry" oils_persist:tablename="authority.record_entry" reporter:label="Authority Record Entry">
2231                 <fields oils_persist:primary="id" oils_persist:sequence="authority.record_entry_id_seq">
2232                         <field name="active" reporter:datatype="bool"/>
2233                         <field name="create_date" reporter:datatype="timestamp"/>
2234                         <field name="creator" />
2235                         <field name="deleted" reporter:datatype="bool"/>
2236                         <field name="edit_date" reporter:datatype="timestamp"/>
2237                         <field name="editor" />
2238                         <field name="id" reporter:datatype="id" />
2239                         <field name="last_xact_id" />
2240                         <field name="marc" />
2241                         <field name="source" />
2242                         <field reporter:label="Control Set" name="control_set" reporter:datatype="link"/>
2243                         <field reporter:label="Owner" name="owner"  reporter:datatype="org_unit"/>
2244                         <field name="fixed_fields" oils_persist:virtual="true" reporter:datatype="link"/>
2245                         <field name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
2246                         <field name="bib_links" oils_persist:virtual="true" reporter:datatype="link"/>
2247                 </fields>
2248                 <links>
2249                         <link field="control_set" reltype="has_a" key="id" map="" class="acs"/>
2250                         <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
2251                         <link field="editor" reltype="has_a" key="id" map="" class="au"/>
2252                         <link field="creator" reltype="has_a" key="id" map="" class="au"/>
2253                         <link field="notes" reltype="has_many" key="record" map="" class="arn"/>
2254                         <link field="bib_links" reltype="has_many" key="authority" map="" class="abl"/>
2255                         <link field="fixed_fields" reltype="might_have" key="record" map="" class="ard"/>
2256                 </links>
2257                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2258                         <actions>
2259                                 <create permission="CREATE_MARC IMPORT_MARC" global_required="true"/>
2260                                 <retrieve/>
2261                                 <update permission="UPDATE_MARC" global_required="true"/>
2262                                 <delete permission="UPDATE_MARC" global_required="true"/>
2263                         </actions>
2264                 </permacrud>
2265         </class>
2266         <class id="ard" controller="open-ils.cstore" oils_obj:fieldmapper="authority::record_descriptor" oils_persist:tablename="authority.rec_descriptor" reporter:label="Authority Record Descriptor">
2267                 <fields oils_persist:primary="id" oils_persist:sequence="authority.rec_descriptor_id_seq">
2268                         <field name="char_encoding" />
2269                         <field name="id" />
2270                         <field name="record" />
2271                         <field name="record_status" />
2272                         <field name="thesaurus" />
2273                 </fields>
2274                 <links>
2275                         <link field="record" reltype="has_a" key="id" map="" class="are"/>
2276                         <link field="thesaurus" reltype="might_have" key="code" map="" class="at"/>
2277                 </links>
2278         </class>
2279         <class id="abl" controller="open-ils.cstore" oils_obj:fieldmapper="authority::bib_linking" oils_persist:tablename="authority.bib_linking" reporter:label="Authority-Bibliographic Record Link">
2280                 <fields oils_persist:primary="id" oils_persist:sequence="authority.bib_linking_id_seq">
2281                         <field name="id" reporter:datatype="id" />
2282                         <field name="bib" reporter:datatype="link" />
2283                         <field name="authority" reporter:datatype="link" />
2284                 </fields>
2285                 <links>
2286                         <link field="bib" reltype="has_a" key="id" map="" class="bre"/>
2287                         <link field="authority" reltype="has_a" key="id" map="" class="are"/>
2288                 </links>
2289         </class>
2290         <class id="clm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::language_map" oils_persist:tablename="config.language_map" reporter:label="Language Map" oils_persist:field_safe="true">
2291                 <fields oils_persist:primary="code" oils_persist:sequence="">
2292                         <field reporter:label="Language Code" name="code" reporter:selector="value" reporter:datatype="text"/>
2293                         <field reporter:label="Language" name="value" reporter:datatype="text" oils_persist:i18n="true"/>
2294                 </fields>
2295                 <links/>
2296         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2297             <actions>
2298                 <create permission="CREATE_MARC_CODE" global_required="true"/>
2299                 <retrieve/>
2300                 <update permission="UPDATE_MARC_CODE" global_required="true"/>
2301                 <delete permission="DELETE_MARC_CODE" global_required="true"/>
2302             </actions>
2303         </permacrud>
2304         </class>
2305         <class id="mccp" controller="open-ils.cstore" oils_obj:fieldmapper="money::credit_card_payment" oils_persist:tablename="money.credit_card_payment" reporter:label="Credit Card Payment">
2306                 <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
2307                         <field name="accepting_usr" />
2308                         <field name="amount" reporter:datatype="money" />
2309                         <field name="amount_collected" reporter:datatype="money" />
2310                         <field name="approval_code" reporter:datatype="text"/>
2311                         <field name="cash_drawer" reporter:datatype="link"/>
2312                         <field name="cc_first_name" reporter:datatype="text"/>
2313                         <field name="cc_last_name" reporter:datatype="text"/>
2314                         <field name="cc_number" reporter:datatype="text"/>
2315                         <field name="cc_order_number" reporter:datatype="text"/>
2316                         <field name="cc_type" reporter:datatype="text"/>
2317                         <field name="cc_processor" reporter:datatype="text"/>
2318                         <field name="expire_month" reporter:datatype="int" />
2319                         <field name="expire_year" reporter:datatype="int" />
2320                         <field name="id" reporter:datatype="id" />
2321                         <field name="note" reporter:datatype="text"/>
2322                         <field name="payment_ts" reporter:datatype="timestamp"/>
2323                         <field name="xact" reporter:datatype="link"/>
2324                         <field name="payment_type" oils_persist:virtual="true" reporter:datatype="text"/>
2325                         <field name="payment" oils_persist:virtual="true" reporter:datatype="link"/>
2326                 </fields>
2327                 <links>
2328                         <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
2329                         <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
2330                         <link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
2331                         <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
2332                 </links>
2333         </class>
2334         <class id="cxt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::xml_transform" oils_persist:tablename="config.xml_transform" reporter:label="XML/XSLT Transform Definition">
2335                 <fields oils_persist:primary="name">
2336                         <field reporter:label="Name" name="name" reporter:datatype="text" />
2337                         <field reporter:label="Namespace URI" name="namespace_uri" reporter:datatype="text"/>
2338                         <field reporter:label="Namespace Prefix" name="prefix" reporter:datatype="text"/>
2339                         <field reporter:label="XSLT" name="xslt" reporter:datatype="text" />
2340                 </fields>
2341                 <links/>
2342         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2343             <actions>
2344                 <create permission="CREATE_XML_TRANSFORM" global_required="true"/>
2345                 <retrieve/>
2346                 <update permission="UPDATE_XML_TRANSFORM" global_required="true"/>
2347                 <delete permission="DELETE_XML_TRANSFORM" global_required="true"/>
2348             </actions>
2349         </permacrud>
2350         </class>
2351
2352         <class id="cmsa" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_search_alias" oils_persist:tablename="config.metabib_search_alias" reporter:label="Metabib Search Alias" oils_persist:field_safe="true">
2353                 <fields oils_persist:primary="alias">
2354                         <field reporter:label="Alias (RegExp)" name="alias" reporter:datatype="text"/>
2355                         <field reporter:label="Class" name="field_class" reporter:datatype="link"/>
2356                         <field reporter:label="Field" name="field" reporter:datatype="link"/>
2357                 </fields>
2358                 <links>
2359                         <link field="field_class" reltype="has_a" key="name" map="" class="cmc"/>
2360                         <link field="field" reltype="has_a" key="id" map="" class="cmf"/>
2361                 </links>
2362         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2363             <actions>
2364                 <create permission="CREATE_METABIB_SEARCH_ALIAS" global_required="true"/>
2365                 <retrieve/>
2366                 <update permission="UPDATE_METABIB_SEARCH_ALIAS" global_required="true"/>
2367                 <delete permission="DELETE_METABIB_SEARCH_ALIAS" global_required="true"/>
2368             </actions>
2369         </permacrud>
2370         </class>
2371
2372         <class id="cmc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_class" oils_persist:tablename="config.metabib_class" reporter:label="Metabib Class" oils_persist:field_safe="true">
2373                 <fields oils_persist:primary="name">
2374                         <field reporter:label="Name" name="name" reporter:datatype="text"/>
2375                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
2376                         <field reporter:label="Buoyant?" name="buoyant" reporter:datatype="bool" />
2377                         <field reporter:label="Restrict?" name="restrict" reporter:datatype="bool" />
2378                         <field reporter:label="Combined?" name="combined" reporter:datatype="bool" />
2379                         <field reporter:label="A Weight" name="a_weight" reporter:datatype="float" />
2380                         <field reporter:label="B Weight" name="b_weight" reporter:datatype="float" />
2381                         <field reporter:label="C Weight" name="c_weight" reporter:datatype="float" />
2382                         <field reporter:label="D Weight" name="d_weight" reporter:datatype="float" />
2383                         <field reporter:label="Fields" name="fields" reporter:datatype="link" oils_persist:virtual="true"/>
2384                 </fields>
2385                 <links>
2386                         <link field="fields" reltype="has_many" key="name" map="" class="cmf"/>
2387                 </links>
2388         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2389             <actions>
2390                 <create permission="CREATE_METABIB_CLASS" global_required="true"/>
2391                 <retrieve/>
2392                 <update permission="UPDATE_METABIB_CLASS" global_required="true"/>
2393                 <delete permission="DELETE_METABIB_CLASS" global_required="true"/>
2394             </actions>
2395         </permacrud>
2396         </class>
2397
2398         <class id="cmf" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::metabib_field" oils_persist:tablename="config.metabib_field" reporter:label="Metabib Field" oils_persist:field_safe="true">
2399                 <fields oils_persist:primary="id" oils_persist:sequence="config.metabib_field_id_seq">
2400                         <field reporter:label="Class" name="field_class" reporter:datatype="link"/>
2401                         <field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector="label"/>
2402                         <field reporter:label="Name" name="name" reporter:datatype="text"/>
2403                         <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
2404                         <field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
2405                         <field reporter:label="Weight" name="weight" reporter:datatype="int" />
2406                         <field reporter:label="Format" name="format" reporter:datatype="link"/>
2407                         <field reporter:label="Search Field" name="search_field" reporter:datatype="bool" />
2408                         <field reporter:label="Facet Field" name="facet_field" reporter:datatype="bool" />
2409                         <field reporter:label="Facet XPath" name="facet_xpath" reporter:datatype="text" />
2410                         <field reporter:label="Browse Field" name="browse_field" reporter:datatype="bool" />
2411                         <field reporter:label="Browse XPath" name="browse_xpath" reporter:datatype="text" />
2412                         <field reporter:label="Restrict?" name="restrict" reporter:datatype="bool" />
2413                 </fields>
2414                 <links>
2415                         <link field="field_class" reltype="has_a" key="name" map="" class="cmc"/>
2416                 </links>
2417         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2418             <actions>
2419                 <create permission="CREATE_METABIB_FIELD" global_required="true"/>
2420                 <retrieve/>
2421                 <update permission="UPDATE_METABIB_FIELD" global_required="true"/>
2422                 <delete permission="DELETE_METABIB_FIELD" global_required="true"/>
2423             </actions>
2424         </permacrud>
2425         </class>
2426         <class id="cbho" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::best_hold_order" oils_persist:tablename="config.best_hold_order" reporter:label="Best-Hold Sort Order">
2427                 <fields oils_persist:primary="id" oils_persist:sequence="config.best_hold_order_id_seq">
2428                         <field reporter:label="ID" name="id" reporter:datatype="id" reporter:selector="name" />
2429                         <field reporter:label="Name" name="name" reporter:datatype="text"/>
2430                         <field reporter:label="Capture Lib to Pickup Lib Proximity" name="pprox" reporter:datatype="int" />
2431                         <field reporter:label="Circ Lib to Request Lib Proximity" name="hprox" reporter:datatype="int" />
2432                         <field reporter:label="Adjusted Circ Lib to Pickup Lib Proximity" name="aprox" reporter:datatype="int" />
2433                         <field reporter:label="Adjusted Capture Location to Pickup Lib Proximity" name="approx" reporter:datatype="int" />
2434                         <field reporter:label="Hold Priority" name="priority" reporter:datatype="int" />
2435                         <field reporter:label="Hold Cut-in-line State" name="cut" reporter:datatype="int" />
2436                         <field reporter:label="Hold Selection Depth" name="depth" reporter:datatype="int" />
2437                         <field reporter:label="Copy Has Circulated From Home Lately" name="htime" reporter:datatype="int" />
2438                         <field reporter:label="Hold Request Time" name="rtime" reporter:datatype="int" />
2439                         <field reporter:label="Copy Has Been Home At All Lately" name="shtime" reporter:datatype="int" />
2440                 </fields>
2441                 <links>
2442                 </links>
2443                 <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2444                         <actions>
2445                                 <create permission="ADMIN_HOLD_CAPTURE_SORT" global_required="true"/>
2446                                 <retrieve permission="ADMIN_HOLD_CAPTURE_SORT" global_required="true"/>
2447                                 <update permission="ADMIN_HOLD_CAPTURE_SORT" global_required="true"/>
2448                                 <delete permission="ADMIN_HOLD_CAPTURE_SORT" global_required="true"/>
2449                         </actions>
2450                 </permacrud>
2451         </class>
2452         <class id="cbfp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::biblio_fingerprint" oils_persist:tablename="config.biblio_fingerprint" reporter:label="Fingerprint Definition">
2453                 <fields oils_persist:primary="id" oils_persist:sequence="config.biblio_fingerprint_id_seq">
2454                         <field name="id" reporter:datatype="id" />
2455                         <field name="name" reporter:datatype="text"/>
2456                         <field name="xpath" reporter:datatype="text"/>
2457                         <field name="format" reporter:datatype="link"/>
2458                         <field name="first_word" reporter:datatype="bool" />
2459                 </fields>
2460                 <links/>
2461         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
2462             <actions>
2463                 <create permission="CREATE_BIBLIO_FINGERPRINT" global_required="true"/>
2464                 <retrieve/>