start of the IDL
authorMike Rylander <mrylander@gmail.com>
Fri, 8 Mar 2013 02:37:01 +0000 (21:37 -0500)
committerMike Rylander <mrylander@gmail.com>
Fri, 8 Mar 2013 02:37:01 +0000 (21:37 -0500)
Signed-off-by: Mike Rylander <mrylander@gmail.com>

conf/fm_IDL.xml [new file with mode: 0644]

diff --git a/conf/fm_IDL.xml b/conf/fm_IDL.xml
new file mode 100644 (file)
index 0000000..3bd915e
--- /dev/null
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+
+Copyright (C) 2013 Equinox Software, Inc
+Author: Mike Rylander <miker@esilibrary.com>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+
+############################
+          TEMPLATE
+############################
+
+    <class
+        id=""
+        controller="sharestuff.cstore sharestuff.pcrud"
+        oils_obj:fieldmapper=""
+        oils_persist:tablename=""
+        reporter:label=""
+        oils_persist:field_safe=""
+        oils_persist:virtual=""
+        oils_persist:readonly=""
+        reporter:core=""
+    >
+
+        <oils_persist:source_definition><![CDATA[
+            SELECT * FROM foo
+        ]]></oils_persist:source_definition>
+
+        <fields oils_persist:primary="" oils_persist:sequence="">
+            <field reporter:label="ID" name="id" reporter:datatype="id"/>
+                       <field reporter:label="" name="" reporter:datatype="org_unit"/>
+            <field reporter:label="" name="" reporter:datatype="text"/>
+            <field reporter:label="" name="" reporter:datatype="link"/>
+            <field reporter:label="" name="" reporter:datatype="timestamp"/>
+            <field reporter:label="" name="" reporter:datatype="money"/>
+            <field reporter:label="" name="" reporter:datatype="bool"/>
+            <field reporter:label="" name="" reporter:datatype="int" oils_obj:required="true"/>
+            <field reporter:label="" name="" reporter:datatype="int" oils_persist:virtual="true"/>
+        </fields>
+
+        <links>
+            <link field="" reltype="has_a" key="" map="" class=""/>
+        </links>
+
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="" gloabl_required="true"/>
+                <retrieve/>
+                <update permission="" context_field=""/>
+                <delete permission="">
+                    <context link="" field=""/>
+                </delete>
+            </actions>
+        </permacrud>
+
+    </class>
+
+
+-->
+
+<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">
+
+    <class id="cgf" controller="sharestuff.cstore sharestuff.pcrud" oils_obj:fieldmapper="config::global_flag" oils_persist:tablename="config.global_flag" reporter:label="Global Flags and Settings" 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" oils_persist:i18n="true"/>
+            <field reporter:label="Value" name="value"  reporter:datatype="text"/>
+            <field reporter:label="Enabled" name="enabled"  reporter:datatype="bool"/>
+        </fields>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
+                <retrieve permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
+                <update   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
+                <delete   permission="ADMIN_GLOBAL_FLAG" global_required="true"/>
+            </actions>
+        </permacrud>
+    </class>
+
+       <class id="au" controller="sharestuff.cstore sharestuff.pcrud" oils_obj:fieldmapper="actor::user" oils_persist:tablename="actor.usr" reporter:core="true" reporter:label="ILS User">
+               <fields oils_persist:primary="id" oils_persist:sequence="actor.usr_id_seq">
+                       <field reporter:label="Is Deleted" name="deleted" reporter:datatype="bool"/>
+                       <field reporter:label="Active" name="active" reporter:datatype="bool"/>
+                       <field reporter:label="Barred" name="barred" reporter:datatype="bool"/>
+                       <field reporter:label="Record Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
+                       <field reporter:label="Email Address" name="email"  reporter:datatype="text"/>
+                       <field reporter:label="Privilege Expiration Date" name="expire_date" reporter:datatype="timestamp"/>
+                       <field reporter:label="Last Name" name="family_name"  reporter:datatype="text"/>
+                       <field reporter:label="First Name" name="first_given_name"  reporter:datatype="text"/>
+                       <field reporter:label="User ID" name="id" reporter:datatype="id" />
+                       <field reporter:label="Last Transaction ID" name="last_xact_id" reporter:datatype="text"/>
+                       <field reporter:label="Password" name="passwd" suppress_controller="sharestuff.pcrud open-ils.reporter-store" reporter:datatype="text"/>
+                       <field reporter:label="Photo URL" name="photo_url"  reporter:datatype="text"/>
+                       <field reporter:label="Prefix/Title" name="prefix"  reporter:datatype="text"/>
+                       <field reporter:label="Home Organization" name="home_ou" reporter:datatype="link"/>
+                       <field reporter:label="Main (Profile) Permission Group" name="profile" reporter:datatype="link"/>
+                       <field reporter:label="Middle Name" name="second_given_name"  reporter:datatype="text"/>
+                       <field reporter:label="Suffix" name="suffix"  reporter:datatype="text"/>
+                       <field reporter:label="Is Super User" name="super_user" reporter:datatype="bool"/>
+                       <field reporter:label="Record Last Update Time" name="last_update_time" reporter:datatype="timestamp"/>
+                       <field reporter:label="Additional Permission Groups" name="groups" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="All Permissions" name="permissions" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Settings" name="settings" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="User Notes" name="notes" oils_persist:virtual="true" reporter:datatype="link"/>
+               </fields>
+               <links>
+                       <link field="profile" reltype="has_a" key="id" map="" class="pgt"/>
+                       <link field="groups" reltype="has_many" key="usr" map="grp" class="pugm"/>
+                       <link field="permissions" reltype="has_many" key="usr" map="perm" class="pupm"/>
+                       <link field="settings" reltype="has_many" key="usr" map="" class="aus"/>
+                       <link field="notes" reltype="has_many" key="usr" map="" class="aun"/>
+                       <link field="home_ou" reltype="has_a" key="usr" map="" class="aou"/>
+               </links>
+               <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+                       <actions>
+                               <retrieve permission="VIEW_USER" context_field="home_ou" />
+                       </actions>
+               </permacrud>
+       </class>
+
+       <class id="aous" controller="sharestuff.cstore" oils_obj:fieldmapper="actor::org_unit_setting" oils_persist:tablename="actor.org_unit_setting" reporter:label="Organizational Unit Setting">
+               <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_setting_id_seq">
+                       <field name="id" />
+                       <field name="name"  reporter:datatype="text"/>
+                       <field name="org_unit" reporter:datatype="org_unit"/>
+                       <field name="value"  reporter:datatype="text"/>
+               </fields>
+               <links>
+                       <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
+                       <link field="name" reltype="has_a" key="name" map="" class="coust"/>
+               </links>
+       </class>
+
+       <class id="ppl" controller="sharestuff.cstore sharestuff.pcrud" oils_obj:fieldmapper="permission::perm_list" oils_persist:tablename="permission.perm_list" reporter:label="Permission List">
+               <fields oils_persist:primary="id" oils_persist:sequence="permission.perm_list_id_seq">
+                       <field name="code"  reporter:datatype="text"/>
+                       <field name="description"  reporter:datatype="text" oils_persist:i18n="true"/>
+                       <field name="id" reporter:selector="code" reporter:datatype="id"/>
+               </fields>
+               <links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_PERM" global_required="true"/>
+                <retrieve permission="CREATE_PERM UPDATE_PERM DELETE_PERM" global_required="true"/>
+                <update permission="UPDATE_PERM" global_required="true"/>
+                <delete permission="DELETE_PERM" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
+
+       <class id="aou" controller="sharestuff.cstore sharestuff.pcrud" oils_obj:fieldmapper="actor::org_unit" oils_persist:tablename="actor.org_unit" reporter:label="Organizational Unit" oils_persist:field_safe="true">
+               <fields oils_persist:primary="id" oils_persist:sequence="actor.org_unit_id_seq">
+                       <field reporter:label="Subordinate Organizational Units" name="children" oils_persist:virtual="true" reporter:datatype="org_unit"/>
+                       <field reporter:label="Billing Address" name="billing_address" reporter:datatype="link"/>
+                       <field reporter:label="Holds Receiving Address" name="holds_address" reporter:datatype="link"/>
+                       <field reporter:label="Organizational Unit ID" name="id" reporter:datatype="org_unit" reporter:selector="shortname"/>
+                       <field reporter:label="ILL Receiving Address" name="ill_address" reporter:datatype="link"/>
+                       <field reporter:label="Mailing Address" name="mailing_address" reporter:datatype="link"/>
+                       <field reporter:label="Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
+                       <field reporter:label="Organizational Unit Type" name="ou_type" reporter:datatype="link"/>
+                       <field reporter:label="Parent Organizational Unit" name="parent_ou" reporter:datatype="link"/>
+                       <field reporter:label="Short (Policy) Name" name="shortname" reporter:datatype="text" oils_obj:required="true" oils_obj:validate="^.+$"/>
+                       <field reporter:label="Email Address" name="email" reporter:datatype="text"/>
+                       <field reporter:label="Phone Number" name="phone" reporter:datatype="text"/>
+                       <field reporter:label="OPAC Visible" name="opac_visible" reporter:datatype="bool"/>
+                       <field reporter:label="Fiscal Calendar" name="fiscal_calendar" reporter:datatype="link"/>
+                       <field reporter:label="Users" name="users" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Closed Dates" name="closed_dates" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Circulations" name="circulations" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Settings" name="settings" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Addresses" name="addresses" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Checkins" name="checkins" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Workstations" name="workstations" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Fund Allocation Percentages" name="fund_alloc_pcts" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Copy Location Orders" name="copy_location_orders" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Transit Copy Prev Destinations" name="atc_prev_dests" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Reservation Requests" name="resv_requests" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Reservation Pickups" name="resv_pickups" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Resource Types" name="rsrc_types" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Resources" name="resources" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Resource Attributes" name="rsrc_attrs" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Attribute Values" name="attr_vals" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Hours of Operation" name="hours_of_operation" oils_persist:virtual="true" reporter:datatype="link"/>
+               </fields>
+               <links>
+                       <link field="billing_address" reltype="has_a" key="id" map="" class="aoa"/>
+                       <link field="holds_address" reltype="has_a" key="id" map="" class="aoa"/>
+                       <link field="ou_type" reltype="has_a" key="id" map="" class="aout"/>
+                       <link field="mailing_address" reltype="has_a" key="id" map="" class="aoa"/>
+                       <link field="parent_ou" reltype="has_a" key="id" map="" class="aou"/>
+                       <link field="ill_address" reltype="has_a" key="id" map="" class="aoa"/>
+                       <link field="fiscal_calendar" reltype="has_a" key="id" map="" class="acqfc"/>
+                       <link field="users" reltype="has_many" key="home_ou" map="" class="au"/>
+                       <link field="closed_dates" reltype="has_many" key="org_unit" map="" class="aoucd"/>
+                       <link field="children" reltype="has_many" key="parent_ou" map="" class="aou"/>
+                       <link field="circulations" reltype="has_many" key="circ_lib" map="" class="circ"/>
+                       <link field="settings" reltype="has_many" key="org_unit" map="" class="aous"/>
+                       <link field="addresses" reltype="has_many" key="org_unit" map="" class="aoa"/>
+                       <link field="checkins" reltype="has_many" key="checkin_lib" map="" class="circ"/>
+                       <link field="workstations" reltype="has_many" key="owning_lib" map="" class="aws"/>
+                       <link field="fund_alloc_pcts" reltype="has_many" key="org" map="" class="acqfap"/>
+                       <link field="copy_location_orders" reltype="has_many" key="org" map="" class="acplo"/>
+                       <link field="atc_prev_dests" reltype="has_many" key="prev_dest" map="" class="atc"/>
+                       <link field="resv_requests" reltype="has_many" key="request_lib" map="" class="bresv"/>
+                       <link field="resv_pickups" reltype="has_many" key="pickup_lib" map="" class="bresv"/>
+                       <link field="rsrc_types" reltype="has_many" key="owner" map="" class="brt"/>
+                       <link field="resources" reltype="has_many" key="owner" map="" class="brsrc"/>
+                       <link field="rsrc_attrs" reltype="has_many" key="owner" map="" class="bra"/>
+                       <link field="attr_vals" reltype="has_many" key="owner" map="" class="brav"/>
+                       <link field="hours_of_operation" reltype="might_have" key="id" map="" class="aouhoo"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_ORG_UNIT" context_field="parent_ou"/>
+                <retrieve />
+                <update permission="UPDATE_ORG_UNIT" context_field="id"/>
+                <delete permission="DELETE_ORG_UNIT" context_field="parent_ou"/>
+            </actions>
+        </permacrud>
+       </class>
+
+       <class id="pgt" controller="sharestuff.cstore sharestuff.pcrud" oils_obj:fieldmapper="permission::grp_tree" oils_persist:tablename="permission.grp_tree" reporter:label="Permission Group">
+               <fields oils_persist:primary="id" oils_persist:sequence="permission.grp_tree_id_seq">
+                       <field reporter:label="Child Groups" name="children" oils_persist:virtual="true" reporter:datatype="link"/>
+                       <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true"/>
+                       <field reporter:label="Group ID" name="id" reporter:selector="name" reporter:datatype="id"/>
+                       <field reporter:label="Group Name" name="name" reporter:datatype="text" oils_persist:i18n="true"/>
+                       <field reporter:label="Parent Group" name="parent" reporter:datatype="link"/>
+                       <field reporter:label="User Expiration Interval" name="perm_interval" reporter:datatype="interval"/>
+                       <field reporter:label="Required Permission" name="application_perm" reporter:datatype="text"/>
+                       <field reporter:label="Is User Group" name="usergroup" reporter:datatype="bool"/>
+                       <field reporter:label="Hold Priority" name="hold_priority" reporter:datatype="int"/>
+               </fields>
+               <links>
+                       <link field="parent" reltype="has_a" key="id" map="" class="pgt"/>
+                       <link field="children" reltype="has_many" key="parent" map="" class="pgt"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_PERM" global_required="true"/>
+                <retrieve permission="STAFF_LOGIN" global_required="true"/>
+                <update permission="UPDATE_PERM" global_required="true"/>
+                <delete permission="DELETE_PERM" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
+
+       <class id="pgpm" controller="sharestuff.cstore sharestuff.pcrud" oils_obj:fieldmapper="permission::grp_perm_map" oils_persist:tablename="permission.grp_perm_map" reporter:label="Group Permission Map">
+               <fields oils_persist:primary="id" oils_persist:sequence="permission.grp_perm_map_id_seq">
+                       <field name="depth" reporter:datatype="int" />
+                       <field name="grantable" reporter:datatype="bool"/>
+                       <field name="grp" reporter:datatype="link"/>
+                       <field name="id" reporter:datatype="id" />
+                       <field name="perm" reporter:datatype="link"/>
+               </fields>
+               <links>
+                       <link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
+                       <link field="perm" reltype="has_a" key="id" map="" class="ppl"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="ASSIGN_GROUP_PERM" global_required="true"/>
+                <retrieve permission="ASSIGN_GROUP_PERM UPDATE_GROUP_PERM REMOVE_GROUP_PERM" global_required="true"/>
+                <update permission="UPDATE_GROUP_PERM" global_required="true"/>
+                <delete permission="REMOVE_GROUP_PERM" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
+
+       <class id="puwoum" controller="sharestuff.cstore" oils_obj:fieldmapper="permission::usr_work_ou_map" oils_persist:tablename="permission.usr_work_ou_map" reporter:label="User Work Org Unit Map">
+               <fields oils_persist:primary="id" oils_persist:sequence="permission.usr_work_ou_map_id_seq">
+                       <field name="id" reporter:datatype="int" />
+                       <field name="usr" reporter:datatype="link"/>
+                       <field name="work_ou" reporter:datatype="link"/>
+               </fields>
+               <links>
+                       <link field="usr" reltype="has_a" key="id" map="" class="au"/>
+                       <link field="work_ou" reltype="has_a" key="id" map="" class="aou"/>
+               </links>
+       </class>
+
+       <class id="pupm" controller="sharestuff.cstore" oils_obj:fieldmapper="permission::usr_perm_map" oils_persist:tablename="permission.usr_perm_map" reporter:label="User Permission Map">
+               <fields oils_persist:primary="id" oils_persist:sequence="permission.usr_perm_map_id_seq">
+                       <field name="depth" reporter:datatype="int"/>
+                       <field name="grantable" reporter:datatype="bool"/>
+                       <field name="id" reporter:datatype="id" />
+                       <field name="perm" reporter:datatype="link"/>
+                       <field name="usr" reporter:datatype="link"/>
+               </fields>
+               <links>
+                       <link field="usr" reltype="has_a" key="id" map="" class="au"/>
+                       <link field="perm" reltype="has_a" key="id" map="" class="ppl"/>
+               </links>
+       </class>
+
+       <class id="puopm" controller="sharestuff.cstore" oils_obj:fieldmapper="permission::usr_object_perm_map" oils_persist:tablename="permission.usr_object_perm_map" reporter:label="User Object Permission Map">
+               <fields oils_persist:primary="id" oils_persist:sequence="permission.usr_object_perm_map_id_seq">
+                       <field name="object_id" reporter:datatype="text"/>
+                       <field name="grantable" reporter:datatype="bool"/>
+                       <field name="id" reporter:datatype="id" />
+                       <field name="perm" reporter:datatype="link"/>
+                       <field name="usr" reporter:datatype="link"/>
+                       <field name="object_type" reporter:datatype="text"/>
+               </fields>
+               <links>
+                       <link field="usr" reltype="has_a" key="id" map="" class="au"/>
+                       <link field="perm" reltype="has_a" key="id" map="" class="ppl"/>
+               </links>
+       </class>
+
+       <class id="pugm" controller="sharestuff.cstore" oils_obj:fieldmapper="permission::usr_grp_map" oils_persist:tablename="permission.usr_grp_map" reporter:label="User Group Map">
+               <fields oils_persist:primary="id" oils_persist:sequence="permission.usr_grp_map_id_seq">
+                       <field name="grp" />
+                       <field name="id" reporter:datatype="id" />
+                       <field name="usr" />
+               </fields>
+               <links>
+                       <link field="grp" reltype="has_a" key="id" map="" class="pgt"/>
+                       <link field="usr" reltype="has_a" key="id" map="" class="au"/>
+               </links>
+       </class>
+
+       <class id="i18n" controller="sharestuff.cstore sharestuff.pcrud" oils_obj:fieldmapper="config::i18n_core" oils_persist:tablename="config.i18n_core" oils_persist:field_safe="true" reporter:label="i18n Core">
+               <fields oils_persist:primary="id" oils_persist:sequence="config.i18n_core_id_seq">
+                       <field name="id" reporter:datatype="id" />
+                       <field name="fq_field" reporter:datatype="text"/>
+                       <field name="identity_value" reporter:datatype="text"/>
+                       <field name="translation" reporter:datatype="text"/>
+                       <field name="string" reporter:datatype="text"/>
+               </fields>
+               <links>
+                       <link field="translation" reltype="has_a" key="code" map="" class="i18n_l"/>
+               </links>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_TRANSLATION" global_required="true"/>
+                <retrieve permission="CREATE_TRANSLATION UPDATE_TRANSLATION DELETE_TRANSLATION" global_required="true"/>
+                <update permission="UPDATE_TRANSLATION" global_required="true"/>
+                <delete permission="DELETE_TRANSLATION" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
+
+       <class id="i18n_l" controller="sharestuff.cstore sharestuff.pcrud" oils_obj:fieldmapper="config::i18n_locale" oils_persist:tablename="config.i18n_locale" oils_persist:field_safe="true" reporter:label="Locale">
+               <fields oils_persist:primary="code">
+                       <field name="code" reporter:datatype="id" />
+                       <field name="marc_code" reporter:datatype="text"/>
+                       <field name="name" reporter:datatype="text" oils_persist:i18n="true"/>
+                       <field name="description" reporter:datatype="text" oils_persist:i18n="true"/>
+               </fields>
+               <links/>
+        <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+            <actions>
+                <create permission="CREATE_LOCALE" global_required="true"/>
+                <retrieve/>
+                <update permission="UPDATE_LOCALE" global_required="true"/>
+                <delete permission="DELETE_LOCALE" global_required="true"/>
+            </actions>
+        </permacrud>
+       </class>
+</IDL>
+
+<!--
+    vim:noet:ts=4:sw=4:
+-->