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