Merge branch 'master' into kcls_dcl53
[evergreen-equinox.git] / Open-ILS / examples / fm_IDL.xml
index 60e38b8..858150e 100644 (file)
@@ -84,6 +84,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <field name="copy_count" oils_persist:virtual="true" />
                        <field name="series" oils_persist:virtual="true" />
                        <field name="serials" oils_persist:virtual="true" />
+                       <field name="foreign_copy_maps" oils_persist:virtual="true" />
                </fields>
        </class>
 
@@ -571,6 +572,96 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
         </permacrud>
        </class>
 
+       <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">
+               <fields oils_persist:primary="name">
+                       <field reporter:label="Name" name="name" reporter:datatype="id" reporter:selector="label"  oils_obj:required="true"/>
+                       <field reporter:label="Label" name="label" reporter:datatype="text"  oils_obj:required="true"/>
+                       <field reporter:label="Description" name="description" reporter:datatype="text" />
+                       <field reporter:label="Filter?" name="filter" reporter:datatype="bool"/>
+                       <field reporter:label="Sorter?" name="sorter" reporter:datatype="bool"/>
+                       <field reporter:label="MARC Tag" name="tag" reporter:datatype="text"/>
+                       <field reporter:label="MARC Subfields" name="sf_list" reporter:datatype="text"/>
+                       <field reporter:label="Joiner" name="joiner" reporter:datatype="text"/>
+                       <field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
+                       <field reporter:label="Format" name="format" reporter:datatype="link"/>
+                       <field reporter:label="Starting Position" name="start_pos" reporter:datatype="int"/>
+                       <field reporter:label="String Length" name="string_len" reporter:datatype="int"/>
+                       <field reporter:label="Fixed Field" name="fixed_field" reporter:datatype="text"/>
+                       <field reporter:label="Physical Characteristic" name="phys_char_sf" reporter:datatype="text"/>
+                       <field reporter:label="Normalizers" name="normalizers" reporter:datatype="link" oils_persist:virtual="true"/>
+               </fields>
+               <links>
+                       <link field="format" reltype="has_a" key="name" map="" class="cxt"/>
+                       <link field="normalizers" reltype="has_many" key="name" map="" class="crainm"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ADMIN_SVF" global_required="true"/>
+                <retrieve/>
+                <update permission="ADMIN_SVF" global_required="true"/>
+                <delete permission="ADMIN_SVF" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
+
+       <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">
+               <fields oils_persist:primary="id">
+                       <field reporter:label="Record ID" name="id" reporter:datatype="id" oils_obj:required="true"/>
+                       <field reporter:label="Attributes" name="attrs" reporter:datatype="text"  oils_obj:required="true"/>
+               </fields>
+               <links>
+                       <link field="id" reltype="has_a" key="id" map="" class="bre"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <retrieve/>
+            </actions>
+        </permacrud>
+       </class>
+
+       <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">
+               <fields oils_persist:primary="id" oils_persist:sequence="config.record_attr_index_norm_map_id_seq">
+                       <field reporter:label="ID" name="id" reporter:datatype="id"/>
+                       <field reporter:label="SVF Attribute" name="attr" reporter:datatype="link"/>
+                       <field reporter:label="Normalizer" name="norm" reporter:datatype="link"/>
+                       <field reporter:label="Parameters (JSON Array)" name="params" reporter:datatype="text"/>
+                       <field reporter:label="Order of Application" name="pos" reporter:datatype="int"/>
+               </fields>
+               <links>
+                       <link field="attr" reltype="has_a" key="name" map="" class="crad"/>
+                       <link field="norm" reltype="has_a" key="id" map="" class="cin"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
+                <retrieve/>
+                <update permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
+                <delete permission="ADMIN_INDEX_NORMALIZER" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
+
+       <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">
+               <fields oils_persist:primary="id" oils_persist:sequence="config.coded_value_map_id_seq">
+                       <field reporter:label="ID" name="id" reporter:datatype="id"  oils_obj:required="true"/>
+                       <field reporter:label="SVF Attribute" name="ctype" reporter:datatype="link"  oils_obj:required="true"/>
+                       <field reporter:label="Code" name="code" reporter:datatype="text"  oils_obj:required="true"/>
+                       <field reporter:label="Value" name="value" reporter:datatype="text"  oils_obj:required="true"/>
+                       <field reporter:label="Description" name="description" reporter:datatype="text"/>
+               </fields>
+               <links>
+                       <link field="ctype" reltype="has_a" key="name" map="" class="crad"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ADMIN_CODED_VALUE" global_required="true"/>
+                <retrieve/>
+                <update permission="ADMIN_CODED_VALUE" global_required="true"/>
+                <delete permission="ADMIN_CODED_VALUE" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
+
        <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">
                <fields oils_persist:primary="id" oils_persist:sequence="config.remote_account_id_seq">
                        <field name="id"            reporter:datatype="id"   reporter:label="ID"/>
@@ -955,6 +1046,50 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
         </permacrud>
        </class>
 
+       <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">
+               <fields oils_persist:primary="id" oils_persist:sequence="biblio.peer_type_id_seq">
+                       <field reporter:label="ID" name="id" reporter:selector="name" reporter:datatype="id"/>
+                       <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
+               </fields>
+               <links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_BIB_PTYPE" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_BIB_PTYPE" global_required="true"/>
+                <delete permission="DELETE_BIB_PTYPE" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
+
+       <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">
+               <fields oils_persist:primary="id" oils_persist:sequence="biblio.peer_bib_copy_map_id_seq">
+                       <field reporter:label="ID" name="id" reporter:selector="name" reporter:datatype="id"/>
+                       <field reporter:label="Peer Type" name="peer_type" reporter:datatype="link"/>
+                       <field reporter:label="Peer Record" name="peer_record" reporter:datatype="link"/>
+                       <field reporter:label="Target Copy" name="target_copy" reporter:datatype="link"/>
+               </fields>
+        <links>
+            <link field="peer_type" reltype="has_a" key="id" map="" class="bpt"/>
+            <link field="peer_record" reltype="has_a" key="id" map="" class="bre"/>
+            <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+        </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="UPDATE_COPY">
+                    <context link="target_copy" field="circ_lib"/>
+                </create>
+                <retrieve/>
+                <update permission="UPDATE_COPY">
+                    <context link="target_copy" field="circ_lib"/>
+                </update>
+                <delete permission="UPDATE_COPY">
+                    <context link="target_copy" field="circ_lib"/>
+                </delete>
+            </actions>
+        </permacrud>
+       </class>
+
        <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">
                <fields oils_persist:primary="code">
                        <field reporter:label="Code" name="code" reporter:selector="name" reporter:datatype="id"/>
@@ -1155,6 +1290,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="link"/>
             <field reporter:label="Hard Due Date" name="hard_due_date" reporter:datatype="link"/>
             <field reporter:label="Renewals Override" name="renewals" reporter:datatype="int"/>
+            <field reporter:label="Grace Period Override" name="grace_period" reporter:datatype="interval"/>
                        <field reporter:label="Script Test" name="script_test" reporter:datatype="text"/>
                        <field name="total_copy_hold_ratio" reporter:datatype="float" reporter:label="Minimum Total Copy/Hold Ratio"/>
                        <field name="available_copy_hold_ratio" reporter:datatype="float" reporter:label="Minimum Available Copy/Hold Ratio"/>
@@ -1594,7 +1730,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
        </class>
        <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">
                <fields oils_persist:primary="name">
-                       <field reporter:label="Field Class" name="field_class" />
                        <field reporter:label="Name" name="name" reporter:datatype="text" />
                        <field reporter:label="Namespace URI" name="namespace_uri" reporter:datatype="text"/>
                        <field reporter:label="Namespace Prefix" name="prefix" reporter:datatype="text"/>
@@ -1634,7 +1769,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
        <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">
                <fields oils_persist:primary="name">
                        <field reporter:label="Name" name="name" reporter:datatype="text"/>
-                       <field reporter:label="Label" name="label" reporter:datatype="text"/>
+                       <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
                        <field reporter:label="Fields" name="fields" reporter:datatype="link" oils_persist:virtual="true"/>
                </fields>
                <links>
@@ -1655,7 +1790,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <field reporter:label="Class" name="field_class" reporter:datatype="link"/>
                        <field reporter:label="ID" name="id" reporter:datatype="id" />
                        <field reporter:label="Name" name="name" reporter:datatype="text"/>
-                       <field reporter:label="Label" name="label" reporter:datatype="text"/>
+                       <field reporter:label="Label" name="label" reporter:datatype="text" oils_persist:i18n="true"/>
                        <field reporter:label="XPath" name="xpath" reporter:datatype="text"/>
                        <field reporter:label="Weight" name="weight" reporter:datatype="int" />
                        <field reporter:label="Format" name="format" reporter:datatype="link"/>
@@ -1724,14 +1859,57 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
             </actions>
         </permacrud>
        </class>
-    <class id="acnc" controller="open-ils.cstore" oils_obj:fieldmapper="asset::call_number_class" oils_persist:tablename="asset.call_number_class" reporter:label="Call number classification scheme">
+    <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">
         <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_class_id_seq">
             <field reporter:label="Call number class ID" name="id" reporter_datatype="id"/>
             <field reporter:label="Name" name="name" reporter:datatype="text"/>
             <field reporter:label="Normalizer function" name="normalizer" reporter:datatype="text"/>
             <field reporter:label="Call number fields" name="field" reporter:datatype="text"/>
         </fields>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <retrieve/>
+            </actions>
+        </permacrud>
     </class>
+       <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">
+               <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_suffix_id_seq">
+                       <field reporter:label="ID" name="id" reporter:datatype="id" />
+                       <field reporter:label="Label" name="label" reporter:datatype="text"/>
+                       <field reporter:label="Label Sort Key" name="label_sortkey" reporter:datatype="text"/>
+                       <field reporter:label="Owning Library" name="owning_lib"  reporter:datatype="org_unit"/>
+               </fields>
+               <links>
+                       <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_VOLUME_SUFFIX" context_field="owning_lib"/>
+                <retrieve/>
+                <update permission="UPDATE_VOLUME_SUFFIX" context_field="owning_lib"/>
+                <delete permission="DELETE_VOLUME_SUFFIX" context_field="owning_lib"/>
+            </actions>
+        </permacrud>
+       </class>
+       <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">
+               <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_prefix_id_seq">
+                       <field reporter:label="ID" name="id" reporter:datatype="id" />
+                       <field reporter:label="Label" name="label" reporter:datatype="text"/>
+                       <field reporter:label="Label Sort Key" name="label_sortkey" reporter:datatype="text"/>
+                       <field reporter:label="Owning Library" name="owning_lib"  reporter:datatype="org_unit"/>
+               </fields>
+               <links>
+                       <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_VOLUME_PREFIX" context_field="owning_lib"/>
+                <retrieve/>
+                <update permission="UPDATE_VOLUME_PREFIX" context_field="owning_lib"/>
+                <delete permission="DELETE_VOLUME_PREFIX" context_field="owning_lib"/>
+            </actions>
+        </permacrud>
+       </class>
        <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">
                <fields oils_persist:primary="id" oils_persist:sequence="asset.call_number_id_seq">
                        <field reporter:label="Copies" name="copies" oils_persist:virtual="true" reporter:datatype="link"/>
@@ -1749,6 +1927,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <field reporter:label="URIs" name="uris" oils_persist:virtual="true" reporter:datatype="link"/>
                        <field reporter:label="Sort Key" name="label_sortkey" reporter:datatype="text"/>
                        <field reporter:label="Classification Scheme" name="label_class" reporter:datatype="link"/>
+                       <field reporter:label="Prefix" name="prefix" reporter:datatype="link"/>
+                       <field reporter:label="Suffix" name="suffix" reporter:datatype="link"/>
                </fields>
                <links>
                        <link field="editor" reltype="has_a" key="id" map="" class="au"/>
@@ -1760,6 +1940,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <link field="uris" reltype="has_many" key="call_number" map="uri" class="auricnm"/>
                        <link field="uri_maps" reltype="has_many" key="call_number" map="" class="auricnm"/>
                        <link field="label_class" reltype="has_a" key="id" map="" class="acnc"/>
+                       <link field="prefix" reltype="has_a" key="id" map="" class="acnp"/>
+                       <link field="suffix" reltype="has_a" key="id" map="" class="acns"/>
                </links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
@@ -1875,6 +2057,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <field reporter:label="Simple Record Extracts " name="simple_record" oils_persist:virtual="true" reporter:datatype="link"/>
                        <field reporter:label="Authority Links" name="authority_links" oils_persist:virtual="true" reporter:datatype="link"/>
                        <field reporter:label="Subscriptions" name="subscriptions" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="SVF Attributes" name="attrs" oils_persist:virtual="true" reporter:datatype="link"/>
                </fields>
                <links>
                        <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
@@ -1895,6 +2078,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <link field="full_record_entries" reltype="has_many" key="record" map="" class="mfr"/>
                        <link field="authority_links" reltype="has_many" key="bib" map="" class="abl"/>
                        <link field="subscriptions" reltype="has_many" key="record_entry" map="" class="ssub"/>
+                       <link field="attrs" reltype="might_have" key="id" map="" class="mra"/>
                </links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
@@ -1935,6 +2119,44 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
             </actions>
         </permacrud>
        </class>
+       <class id="bmp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="biblio::monograph_part" oils_persist:tablename="biblio.monograph_part" reporter:label="Monograph Parts" oils_persist:field_safe="true">
+               <fields oils_persist:primary="id" oils_persist:sequence="biblio.monograph_part_id_seq">
+                       <field name="id" reporter:datatype="id" />
+                       <field name="record" reporter:datatype="link"/>
+                       <field name="label" reporter:datatype="text"/>
+                       <field name="label_sortkey" reporter:datatype="text"/>
+               </fields>
+               <links>
+                       <link field="record" reltype="has_a" key="id" map="" class="bre"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_MONOGRAPH_PART" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_MONOGRAPH_PART" global_required="true"/>
+                <delete permission="DELETE_MONOGRAPH_PART" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
+       <class id="acpm" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::copy_part_map" oils_persist:tablename="asset.copy_part_map" reporter:label="Copy Monograph Part Map">
+               <fields oils_persist:primary="id" oils_persist:sequence="asset.copy_part_map_id_seq">
+                       <field name="id" reporter:datatype="id" />
+                       <field name="target_copy" reporter:datatype="link" />
+                       <field name="part" reporter:datatype="link"/>
+               </fields>
+               <links>
+                       <link field="target_copy" reltype="has_a" key="id" map="" class="acp"/>
+                       <link field="part" reltype="has_a" key="id" map="" class="bmp"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="MAP_MONOGRAPH_PART" global_required="true"/>
+                <retrieve/>
+                <update permission="MAP_MONOGRAPH_PART" global_required="true"/>
+                <delete permission="MAP_MONOGRAPH_PART" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
        <class id="aoucd" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="actor::org_unit::closed_date" oils_persist:tablename="actor.org_unit_closed" reporter:label="Closed Dates">
                <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_closed_id_seq">
                        <field name="close_end" reporter:datatype="timestamp" />
@@ -2477,7 +2699,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
             </actions>
         </permacrud>
        </class>
-       <class id="ccs" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::copy_status" oils_persist:tablename="config.copy_status" oils_persist:restrict_primary="100" reporter:label="Copy Status">
+       <class id="ccs" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::copy_status" oils_persist:tablename="config.copy_status" oils_persist:restrict_primary="100" reporter:label="Copy Status" oils_persist:field_safe="true">
                <fields oils_persist:primary="id" oils_persist:sequence="config.copy_status_id_seq">
                        <field name="holdable" reporter:datatype="bool"/>
                        <field name="id" reporter:selector="name" reporter:datatype="id"/>
@@ -2714,6 +2936,7 @@ SELECT  usr,
                        <field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
                        <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
                        <field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
+                       <field reporter:label="Grace Period" name="grace_period" reporter:datatype="interval" />
                        <field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
                        <field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
                        <field reporter:label="Circulating Item" name="target_copy" reporter:datatype="link"/>
@@ -2775,6 +2998,7 @@ SELECT  usr,
                        <field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
                        <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
                        <field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
+                       <field reporter:label="Grace Period" name="grace_period" reporter:datatype="interval" />
                        <field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
                        <field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
                        <field reporter:label="Circulating Item" name="target_copy" reporter:datatype="link"/>
@@ -2839,6 +3063,7 @@ SELECT  usr,
                        <field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money" />
                        <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="link"/>
                        <field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" />
+                       <field reporter:label="Grace Period" name="grace_period" reporter:datatype="interval" />
                        <field reporter:label="Fine Stop Reason" name="stop_fines" reporter:datatype="text"/>
                        <field reporter:label="Fine Stop Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
                        <field reporter:label="Circulating Item" name="target_copy" reporter:datatype="link"/>
@@ -4239,7 +4464,7 @@ SELECT  usr,
                        <link field="owning_lib" reltype="has_a" key="id" map="" class="aou"/>
                </links>
        </class>
-       <class id="aout" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="actor::org_unit_type" oils_persist:tablename="actor.org_unit_type" reporter:label="Organizational Unit Type">
+       <class id="aout" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="actor::org_unit_type" oils_persist:tablename="actor.org_unit_type" reporter:label="Organizational Unit Type" oils_persist:field_safe="true">
                <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_type_id_seq">
                        <field reporter:label="Subordinate Types" name="children" oils_persist:virtual="true" reporter:datatype="link"/>
                        <field reporter:label="Can Have Users?" name="can_have_users" reporter:datatype="bool"/>
@@ -4480,6 +4705,7 @@ SELECT  usr,
                        <field name="recurring_fine" reporter:datatype="money" />
                        <field name="recurring_fine_rule" reporter:datatype="link"/>
                        <field name="renewal_remaining" reporter:datatype="int" />
+            <field name="grace_period" reporter:datatype="interval" />
                        <field name="stop_fines" reporter:datatype="text"/>
                        <field name="stop_fines_time" reporter:datatype="timestamp"/>
                        <field name="target_copy" reporter:datatype="link"/>
@@ -4515,6 +4741,7 @@ SELECT  usr,
                        <field name="name" reporter:datatype="text"/>
                        <field name="normal" reporter:datatype="money" />
                        <field name="recurrence_interval" reporter:datatype="interval"/>
+            <field name="grace_period" reporter:datatype="interval" />
                </fields>
                <links/>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
@@ -4587,6 +4814,9 @@ SELECT  usr,
                        <field reporter:label="Total Circulations" name="total_circ_count" oils_persist:virtual="true" reporter:datatype="link"/>
                        <field reporter:label="Holds" name="holds" oils_persist:virtual="true" reporter:datatype="link"/>
                        <field reporter:label="Statistical Category Entries" name="stat_cat_entries" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Monograph Parts" name="parts" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Peer Record Maps" name="peer_record_maps" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Peer Records" name="peer_records" oils_persist:virtual="true" reporter:datatype="link"/>
                </fields>
                <links>
                        <link field="age_protect" reltype="has_a" key="id" map="" class="crahp"/>
@@ -4603,6 +4833,9 @@ SELECT  usr,
                        <link field="circulations" reltype="has_many" key="target_copy" map="" class="circ"/>
                        <link field="total_circ_count" reltype="might_have" key="id" map="" class="erfcc"/>
                        <link field="circ_modifier" reltype="has_a" key="code" map="" class="ccm"/>
+                       <link field="parts" reltype="has_many" key="target_copy" map="part" class="acpm"/>
+                       <link field="peer_record_maps" reltype="has_many" key="target_copy" map="" class="bpbcm"/>
+                       <link field="peer_records" reltype="has_many" key="target_copy" map="peer_record" class="bpbcm"/>
                </links>
         <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
             <actions>
@@ -4666,7 +4899,7 @@ SELECT  usr,
                </permacrud>
        </class>
 
-       <class id="crahp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::rules::age_hold_protect" oils_persist:tablename="config.rule_age_hold_protect" reporter:label="Age Hold Protection Rule">
+       <class id="crahp" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::rules::age_hold_protect" oils_persist:tablename="config.rule_age_hold_protect" reporter:label="Age Hold Protection Rule" oils_persist:field_safe="true">
                <fields oils_persist:primary="id" oils_persist:sequence="config.rule_age_hold_protect_id_seq">
                        <field reporter:label="Item Age" name="age" reporter:datatype="interval"/>
                        <field reporter:label="Rule ID" name="id" reporter:selector="name" reporter:datatype="id"/>