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