start of generic app, achieved by renaming demo_app. Will revert this
authorkenstir <kenstir@gmail.com>
Wed, 4 Nov 2015 20:30:02 +0000 (15:30 -0500)
committerkenstir <kenstir@gmail.com>
Wed, 4 Nov 2015 20:30:02 +0000 (15:30 -0500)
30 files changed:
Open-ILS/src/Android/demo_app/.idea/.name [deleted file]
Open-ILS/src/Android/demo_app/.idea/compiler.xml [deleted file]
Open-ILS/src/Android/demo_app/.idea/copyright/profiles_settings.xml [deleted file]
Open-ILS/src/Android/demo_app/.idea/encodings.xml [deleted file]
Open-ILS/src/Android/demo_app/.idea/libraries/libs.xml [deleted file]
Open-ILS/src/Android/demo_app/.idea/misc.xml [deleted file]
Open-ILS/src/Android/demo_app/.idea/modules.xml [deleted file]
Open-ILS/src/Android/demo_app/.idea/scopes/scope_settings.xml [deleted file]
Open-ILS/src/Android/demo_app/.idea/uiDesigner.xml [deleted file]
Open-ILS/src/Android/demo_app/.idea/vcs.xml [deleted file]
Open-ILS/src/Android/demo_app/AndroidManifest.xml [deleted file]
Open-ILS/src/Android/demo_app/assets/fm_IDL.xml [deleted file]
Open-ILS/src/Android/demo_app/demo_app.iml [deleted file]
Open-ILS/src/Android/demo_app/fetch_idl.sh [deleted file]
Open-ILS/src/Android/demo_app/res/values/ou.xml [deleted file]
Open-ILS/src/Android/eg_app/.idea/.name [new file with mode: 0644]
Open-ILS/src/Android/eg_app/.idea/compiler.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/.idea/copyright/profiles_settings.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/.idea/encodings.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/.idea/libraries/libs.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/.idea/misc.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/.idea/modules.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/.idea/scopes/scope_settings.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/.idea/uiDesigner.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/.idea/vcs.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/AndroidManifest.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/assets/fm_IDL.xml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/eg_app.iml [new file with mode: 0644]
Open-ILS/src/Android/eg_app/fetch_idl.sh [new file with mode: 0644]
Open-ILS/src/Android/eg_app/res/values/ou.xml [new file with mode: 0644]

diff --git a/Open-ILS/src/Android/demo_app/.idea/.name b/Open-ILS/src/Android/demo_app/.idea/.name
deleted file mode 100644 (file)
index 06ccfdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-demo_app
\ No newline at end of file
diff --git a/Open-ILS/src/Android/demo_app/.idea/compiler.xml b/Open-ILS/src/Android/demo_app/.idea/compiler.xml
deleted file mode 100644 (file)
index 217af47..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="CompilerConfiguration">
-    <option name="DEFAULT_COMPILER" value="Javac" />
-    <resourceExtensions />
-    <wildcardResourcePatterns>
-      <entry name="!?*.java" />
-      <entry name="!?*.form" />
-      <entry name="!?*.class" />
-      <entry name="!?*.groovy" />
-      <entry name="!?*.scala" />
-      <entry name="!?*.flex" />
-      <entry name="!?*.kt" />
-      <entry name="!?*.clj" />
-    </wildcardResourcePatterns>
-    <annotationProcessing>
-      <profile default="true" name="Default" enabled="false">
-        <processorPath useClasspath="true" />
-      </profile>
-    </annotationProcessing>
-  </component>
-</project>
-
diff --git a/Open-ILS/src/Android/demo_app/.idea/copyright/profiles_settings.xml b/Open-ILS/src/Android/demo_app/.idea/copyright/profiles_settings.xml
deleted file mode 100644 (file)
index e7bedf3..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<component name="CopyrightManager">
-  <settings default="" />
-</component>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/demo_app/.idea/encodings.xml b/Open-ILS/src/Android/demo_app/.idea/encodings.xml
deleted file mode 100644 (file)
index f758959..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false">
-    <file url="PROJECT" charset="UTF-8" />
-  </component>
-</project>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/demo_app/.idea/libraries/libs.xml b/Open-ILS/src/Android/demo_app/.idea/libraries/libs.xml
deleted file mode 100644 (file)
index 2c6670d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
-  <library name="libs">
-    <CLASSES>
-      <root url="jar://$PROJECT_DIR$/../core/libs/zxing_barcode.jar!/" />
-      <root url="jar://$PROJECT_DIR$/../core/libs/androwrapee-1.1.0.jar!/" />
-      <root url="jar://$PROJECT_DIR$/../core/libs/opensrf2_android.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/demo_app/.idea/misc.xml b/Open-ILS/src/Android/demo_app/.idea/misc.xml
deleted file mode 100644 (file)
index 4fa8d45..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="EntryPointsManager">
-    <entry_points version="2.0" />
-  </component>
-  <component name="NullableNotNullManager">
-    <option name="myDefaultNullable" value="android.support.annotation.Nullable" />
-    <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
-    <option name="myNullables">
-      <value>
-        <list size="4">
-          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
-          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
-          <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
-          <item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
-        </list>
-      </value>
-    </option>
-    <option name="myNotNulls">
-      <value>
-        <list size="4">
-          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
-          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
-          <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
-          <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
-        </list>
-      </value>
-    </option>
-  </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="Android API 19 Platform" project-jdk-type="Android SDK">
-    <output url="file://$PROJECT_DIR$/out" />
-  </component>
-</project>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/demo_app/.idea/modules.xml b/Open-ILS/src/Android/demo_app/.idea/modules.xml
deleted file mode 100644 (file)
index fe9bb58..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="ProjectModuleManager">
-    <modules>
-      <module fileurl="file://$PROJECT_DIR$/../support/v7/appcompat/appcompat.iml" filepath="$PROJECT_DIR$/../support/v7/appcompat/appcompat.iml" />
-      <module fileurl="file://$PROJECT_DIR$/../core/core.iml" filepath="$PROJECT_DIR$/../core/core.iml" />
-      <module fileurl="file://$PROJECT_DIR$/demo_app.iml" filepath="$PROJECT_DIR$/demo_app.iml" />
-    </modules>
-  </component>
-</project>
-
diff --git a/Open-ILS/src/Android/demo_app/.idea/scopes/scope_settings.xml b/Open-ILS/src/Android/demo_app/.idea/scopes/scope_settings.xml
deleted file mode 100644 (file)
index 922003b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<component name="DependencyValidationManager">
-  <state>
-    <option name="SKIP_IMPORT_STATEMENTS" value="false" />
-  </state>
-</component>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/demo_app/.idea/uiDesigner.xml b/Open-ILS/src/Android/demo_app/.idea/uiDesigner.xml
deleted file mode 100644 (file)
index 3b00020..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="Palette2">
-    <group name="Swing">
-      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
-        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
-      </item>
-      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
-        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
-      </item>
-      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
-        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
-      </item>
-      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
-        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
-      </item>
-      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
-        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
-        <initial-values>
-          <property name="text" value="Button" />
-        </initial-values>
-      </item>
-      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
-        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
-        <initial-values>
-          <property name="text" value="RadioButton" />
-        </initial-values>
-      </item>
-      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
-        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
-        <initial-values>
-          <property name="text" value="CheckBox" />
-        </initial-values>
-      </item>
-      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
-        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
-        <initial-values>
-          <property name="text" value="Label" />
-        </initial-values>
-      </item>
-      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
-        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
-          <preferred-size width="150" height="-1" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
-        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
-          <preferred-size width="150" height="-1" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
-        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
-          <preferred-size width="150" height="-1" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
-        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
-          <preferred-size width="150" height="50" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
-        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
-          <preferred-size width="150" height="50" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
-        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
-          <preferred-size width="150" height="50" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
-        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
-      </item>
-      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
-        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
-          <preferred-size width="150" height="50" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
-        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
-          <preferred-size width="150" height="50" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
-        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
-          <preferred-size width="150" height="50" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
-        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
-          <preferred-size width="200" height="200" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
-        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
-          <preferred-size width="200" height="200" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
-        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
-      </item>
-      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
-        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
-      </item>
-      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
-        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
-      </item>
-      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
-        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
-      </item>
-      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
-        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
-          <preferred-size width="-1" height="20" />
-        </default-constraints>
-      </item>
-      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
-        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
-      </item>
-      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
-        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
-      </item>
-    </group>
-  </component>
-</project>
-
diff --git a/Open-ILS/src/Android/demo_app/.idea/vcs.xml b/Open-ILS/src/Android/demo_app/.idea/vcs.xml
deleted file mode 100644 (file)
index 4fce1d8..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="VcsDirectoryMappings">
-    <mapping directory="$PROJECT_DIR$/../../../.." vcs="Git" />
-  </component>
-</project>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/demo_app/AndroidManifest.xml b/Open-ILS/src/Android/demo_app/AndroidManifest.xml
deleted file mode 100644 (file)
index c78446f..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="com.evergreencatalog.demo"
-          android:installLocation="auto"
-          android:versionCode="1"
-          android:versionName="1.0">
-
-    <uses-sdk
-        android:minSdkVersion="8"
-        android:targetSdkVersion="18" />
-
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
-    <uses-permission android:name="android.permission.CAMERA" />
-    <uses-permission android:name="android.permission.FLASHLIGHT" />
-    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
-    <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
-    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
-    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
-    <uses-permission android:name="android.permission.VIBRATE" />
-    <uses-permission android:name="android.permission.WAKE_LOCK" />
-
-    <uses-feature android:name="android.hardware.camera" />
-    <uses-feature android:name="android.hardware.camera.autofocus" />
-
-    <application
-        android:allowBackup="true"
-        android:icon="@drawable/evergreen_launcher_icon"
-        android:label="@string/ou_app_label"
-        android:theme="@style/Theme.AppCompat" >
-
-        <!-- Notification receiver -->
-        <receiver
-                android:name="org.evergreen_ils.services.NotificationReceiver"
-                android:process=":remote">
-        </receiver>
-        <!-- Receiver to reinit notifications on reboot -->
-        <receiver android:name="org.evergreen_ils.services.RebootReceiver">
-            <intent-filter>
-                <action android:name="android.intent.action.BOOT_COMPLETED"/>
-            </intent-filter>
-        </receiver>
-        <receiver android:name="org.evergreen_ils.services.PeriodicServiceBroadcastReceiver">
-            <intent-filter>
-                <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
-            </intent-filter>
-        </receiver>
-
-        <service android:name="org.evergreen_ils.services.ScheduledIntentService">
-        </service>
-
-        <activity
-                android:name="org.evergreen_ils.views.splashscreen.SplashActivity"
-                android:theme="@android:style/Theme.NoTitleBar">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-        <activity android:name="org.evergreen_ils.views.ApplicationPreferences" >
-        </activity>
-
-        <!-- Search -->
-
-        <activity
-                android:name="org.evergreen_ils.searchCatalog.SampleUnderlinesNoFade"
-                android:label="@string/search_details_title">
-        </activity>
-        <activity
-                android:name="org.evergreen_ils.searchCatalog.MoreCopyInformation"
-                android:label="@string/copy_information_title">
-        </activity>
-        <activity
-                android:name="org.evergreen_ils.searchCatalog.SearchCatalogListView"
-                android:label="@string/title_search"
-                android:parentActivityName="org.evergreen_ils.views.MainActivity">
-            <meta-data
-                    android:name="android.support.PARENT_ACTIVITY"
-                    android:value="org.evergreen_ils.views.MainActivity"/>
-        </activity>
-        <activity
-                android:name="org.evergreen_ils.searchCatalog.AdvancedSearchActivity"
-                android:label="@string/advanced_search">
-        </activity>
-        <activity
-            android:name="org.evergreen_ils.barcodescan.CaptureActivity"
-            android:screenOrientation="landscape"
-            android:theme="@android:style/Theme.NoTitleBar"
-            android:windowSoftInputMode="stateAlwaysHidden" >
-        </activity>
-
-        <!-- Checkout Activities -->
-        <activity
-                android:name="org.evergreen_ils.accountAccess.checkout.ItemsCheckOutListView"
-                android:label="@string/checkout_items_title"
-                android:parentActivityName="org.evergreen_ils.views.MainActivity">
-            <meta-data
-                    android:name="android.support.PARENT_ACTIVITY"
-                    android:value="org.evergreen_ils.views.MainActivity"/>
-        </activity>
-
-        <!-- Holds Activities -->
-        <activity
-                android:name="org.evergreen_ils.accountAccess.holds.HoldsListView"
-                android:label="@string/hold_items_title"
-                android:parentActivityName="org.evergreen_ils.views.MainActivity">
-            <meta-data
-                    android:name="android.support.PARENT_ACTIVITY"
-                    android:value="org.evergreen_ils.views.MainActivity"/>
-        </activity>
-        <activity
-                android:name="org.evergreen_ils.accountAccess.holds.PlaceHold"
-                android:label="@string/hold_place_title">
-        </activity>
-        <activity
-                android:name="org.evergreen_ils.accountAccess.holds.HoldDetails"
-                android:label="@string/hold_details_title">
-        </activity>
-
-        <!-- Fines Activities -->
-        <activity
-                android:name="org.evergreen_ils.accountAccess.fines.FinesActivity"
-                android:label="@string/title_fines"
-                android:parentActivityName="org.evergreen_ils.views.MainActivity">
-            <meta-data
-                    android:name="android.support.PARENT_ACTIVITY"
-                    android:value="org.evergreen_ils.views.MainActivity"/>
-        </activity>
-
-        <!-- Bookbags -->
-        <activity android:name="org.evergreen_ils.accountAccess.bookbags.BookbagsListView" >
-        </activity>
-        <activity android:name="org.evergreen_ils.accountAccess.bookbags.BookBagDetails" >
-        </activity>
-
-        <activity
-            android:name="org.evergreen_ils.auth.AuthenticatorActivity"
-            android:label="@string/ou_account_label">
-        </activity>
-
-        <activity android:name="org.evergreen_ils.views.MainActivity">
-        </activity>
-
-        <service
-            android:name="org.evergreen_ils.auth.AuthenticatorService"
-            android:exported="false" >
-            <intent-filter>
-                <action android:name="android.accounts.AccountAuthenticator" />
-            </intent-filter>
-
-            <meta-data
-                android:name="android.accounts.AccountAuthenticator"
-                android:resource="@xml/authenticator" />
-        </service>
-    </application>
-</manifest>
diff --git a/Open-ILS/src/Android/demo_app/assets/fm_IDL.xml b/Open-ILS/src/Android/demo_app/assets/fm_IDL.xml
deleted file mode 100644 (file)
index 6d7d371..0000000
+++ /dev/null
@@ -1,571 +0,0 @@
-<IDL xmlns:idl='http://opensrf.org/spec/IDL/base/v1' xmlns='http://opensrf.org/spec/IDL/base/v1' xmlns:permacrud='http://open-ils.org/spec/opensrf/IDL/permacrud/v1' xmlns:reporter='http://open-ils.org/spec/opensrf/IDL/reporter/v1' xmlns:oils_obj='http://open-ils.org/spec/opensrf/IDL/objects/v1' xmlns:oils_persist='http://open-ils.org/spec/opensrf/IDL/persistence/v1'><class oils_obj:fieldmapper='metabib::virtual_record' reporter:label='Virtual Record' controller='open-ils.cstore' id='mvr' oils_persist:virtual='true'>
-               <fields>
-                       <field name='title' oils_persist:virtual='true'></field>
-                       <field name='author' oils_persist:virtual='true'></field>
-                       <field name='doc_id' oils_persist:virtual='true'></field>
-                       <field name='doc_type' oils_persist:virtual='true'></field>
-                       <field name='pubdate' oils_persist:virtual='true'></field>
-                       <field name='isbn' oils_persist:virtual='true'></field>
-                       <field name='publisher' oils_persist:virtual='true'></field>
-                       <field name='tcn' oils_persist:virtual='true'></field>
-                       <field name='subject' oils_persist:virtual='true'></field>
-                       <field name='types_of_resource' oils_persist:virtual='true'></field>
-                       <field name='call_numbers' oils_persist:virtual='true'></field>
-                       <field name='edition' oils_persist:virtual='true'></field>
-                       <field name='online_loc' oils_persist:virtual='true'></field>
-                       <field name='synopsis' oils_persist:virtual='true'></field>
-                       <field name='physical_description' oils_persist:virtual='true'></field>
-                       <field name='toc' oils_persist:virtual='true'></field>
-                       <field name='copy_count' oils_persist:virtual='true'></field>
-                       <field name='series' oils_persist:virtual='true'></field>
-                       <field name='serials' oils_persist:virtual='true'></field>
-                       <field name='foreign_copy_maps' oils_persist:virtual='true'></field>
-               </fields>
-       </class><class oils_obj:fieldmapper='ex' controller='open-ils.cstore' id='ex' oils_persist:virtual='true'>
-               <fields>
-                       <field name='err_msg' oils_persist:virtual='true'></field>
-                       <field name='type' oils_persist:virtual='true'></field>
-               </fields>
-       </class><class oils_obj:fieldmapper='perm_ex' controller='open-ils.cstore' id='perm_ex' oils_persist:virtual='true'>
-               <fields>
-                       <field name='err_msg' oils_persist:virtual='true'></field>
-                       <field name='type' oils_persist:virtual='true'></field>
-               </fields>
-       </class><class reporter:label='Billable Transaction Summary' oils_persist:tablename='money.materialized_billable_xact_summary' oils_obj:fieldmapper='money::billable_transaction_summary' controller='open-ils.cstore' id='mbts' oils_persist:readonly='true'>
-               <fields oils_persist:sequence='' oils_persist:primary='id'>
-                       <field reporter:label='Balance Owed' name='balance_owed' reporter:datatype='money'></field>
-                       <field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field>
-                       <field reporter:label='Last Billing Note' name='last_billing_note' reporter:datatype='text'></field>
-                       <field reporter:label='Last Billing Timestamp' name='last_billing_ts' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Last Billing Type' name='last_billing_type' reporter:datatype='text'></field>
-                       <field reporter:label='Last Payment Note' name='last_payment_note' reporter:datatype='text'></field>
-                       <field reporter:label='Last Payment Timestamp' name='last_payment_ts' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Last Payment Type' name='last_payment_type' reporter:datatype='text'></field>
-                       <field reporter:label='Total Owed' name='total_owed' reporter:datatype='money'></field>
-                       <field reporter:label='Total Paid' name='total_paid' reporter:datatype='money'></field>
-                       <field reporter:label='Billed User' name='usr' reporter:datatype='link'></field>
-                       <field reporter:label='Transaction Finish Time' name='xact_finish' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Transaction Start Time' name='xact_start' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Transaction Type' name='xact_type' reporter:datatype='text'></field>
-               </fields>
-               <links>
-                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-               </links>
-       </class><class oils_obj:fieldmapper='asset::call_number' reporter:label='Call Number/Volume' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='asset.call_number' id='acn'>
-               <fields oils_persist:sequence='asset.call_number_id_seq' oils_persist:primary='id'>
-                       <field reporter:label='Copies' name='copies' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Create Date/Time' name='create_date' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Creating User' name='creator' reporter:datatype='link'></field>
-                       <field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field>
-                       <field reporter:label='Last Edit Date/Time' name='edit_date' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Last Editing User' name='editor' reporter:datatype='link'></field>
-                       <field reporter:label='Call Number/Volume ID' name='id' reporter:datatype='id'></field>
-                       <field reporter:label='Call Number Label' name='label' reporter:datatype='text'></field>
-                       <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Bib Record' name='record' reporter:datatype='link'></field>
-                       <field reporter:label='Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='URI Maps' name='uri_maps' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='URIs' name='uris' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Call Number Sort Key' name='label_sortkey' reporter:datatype='text'></field>
-                       <field reporter:label='Classification Scheme' name='label_class' reporter:datatype='link'></field>
-                       <field reporter:label='Prefix' name='prefix' reporter:datatype='link'></field>
-                       <field reporter:label='Suffix' name='suffix' reporter:datatype='link'></field>
-               </fields>
-               <links>
-                       <link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='record' reltype='has_a' class='bre' key='id' map=''></link>
-                       <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='notes' reltype='has_many' class='acnn' key='call_number' map=''></link>
-                       <link field='copies' reltype='has_many' class='acp' key='call_number' map=''></link>
-                       <link field='uris' reltype='has_many' class='auricnm' key='call_number' map='uri'></link>
-                       <link field='uri_maps' reltype='has_many' class='auricnm' key='call_number' map=''></link>
-                       <link field='label_class' reltype='has_a' class='acnc' key='id' map=''></link>
-                       <link field='prefix' reltype='has_a' class='acnp' key='id' map=''></link>
-                       <link field='suffix' reltype='has_a' class='acns' key='id' map=''></link>
-               </links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owning_lib' permission='CREATE_VOLUME'></create>
-                <retrieve></retrieve>
-                <update context_field='owning_lib' permission='UPDATE_VOLUME'></update>
-                <delete context_field='owning_lib' permission='DELETE_VOLUME'></delete>
-            </actions>
-        </permacrud>
-       </class><class oils_obj:fieldmapper='money::open_user_summary' reporter:label='Open User Summary' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='money.open_usr_summary' id='mous'>
-               <fields oils_persist:sequence='' oils_persist:primary='usr'>
-                       <field name='balance_owed' reporter:datatype='money'></field>
-                       <field name='total_owed' reporter:datatype='money'></field>
-                       <field name='total_paid' reporter:datatype='money'></field>
-                       <field name='usr' reporter:datatype='link'></field>
-               </fields>
-               <links>
-                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-        </links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <retrieve permission='VIEW_USER'>
-                    <context field='home_ou' link='usr'></context>
-                </retrieve>
-            </actions>
-        </permacrud>
-       </class><class reporter:label='ILS User' oils_persist:tablename='actor.usr' reporter:core='true' oils_obj:fieldmapper='actor::user' controller='open-ils.cstore open-ils.pcrud' id='au'>
-               <fields oils_persist:sequence='actor.usr_id_seq' oils_persist:primary='id'>
-                       <field reporter:label='All Addresses' name='addresses' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='All Library Cards' name='cards' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='All Circulations' name='checkouts' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='All Hold Requests' name='hold_requests' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='All Permissions' name='permissions' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='All User Settings' name='settings' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Standing Penalties' name='standing_penalties' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Statistical Category Entries' name='stat_cat_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Survey Responses' name='survey_responses' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Workstation Org Unit' name='ws_ou' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Workstation ID' name='wsid' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Active' name='active' reporter:datatype='bool'></field>
-                       <field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field>
-                       <field reporter:label='Barred' name='barred' reporter:datatype='bool'></field>
-                       <field reporter:label='Physical Address' name='billing_address' reporter:datatype='link'></field>
-                       <field reporter:label='Current Library Card' name='card' reporter:datatype='link'></field>
-                       <field reporter:label='Claims-returned Count' name='claims_returned_count' reporter:datatype='int'></field>
-                       <field reporter:label='Claims Never Checked Out Count' name='claims_never_checked_out_count' reporter:datatype='int'></field>
-                       <field reporter:label='Record Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field>
-                       <field reporter:label='User Credit Balance' name='credit_forward_balance' reporter:datatype='money'></field>
-                       <field reporter:label='Daytime Phone' name='day_phone' reporter:datatype='text'></field>
-                       <field reporter:label='Date of Birth' name='dob' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Email Address' name='email' reporter:datatype='text'></field>
-                       <field reporter:label='Evening Phone' name='evening_phone' reporter:datatype='text'></field>
-                       <field reporter:label='Privilege Expiration Date' name='expire_date' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Last Name' name='family_name' reporter:datatype='text'></field>
-                       <field reporter:label='First Name' name='first_given_name' reporter:datatype='text'></field>
-                       <field reporter:label='Home Library' name='home_ou' reporter:datatype='org_unit'></field>
-                       <field reporter:label='User ID' name='id' reporter:datatype='id'></field>
-                       <field reporter:label='Primary Identification Type' name='ident_type' reporter:datatype='link'></field>
-                       <field reporter:label='Secondary Identification Type' name='ident_type2' reporter:datatype='link'></field>
-                       <field reporter:label='Primary Identification' name='ident_value' reporter:datatype='text'></field>
-                       <field reporter:label='Secondary Identification' name='ident_value2' reporter:datatype='text'></field>
-                       <field reporter:label='Last Transaction ID' name='last_xact_id' reporter:datatype='text'></field>
-                       <field reporter:label='Mailing Address' name='mailing_address' reporter:datatype='link'></field>
-                       <field reporter:label='Is Group Lead Account' name='master_account' reporter:datatype='bool'></field>
-                       <field reporter:label='Internet Access Level' name='net_access_level' reporter:datatype='link'></field>
-                       <field reporter:label='Other Phone' name='other_phone' reporter:datatype='text'></field>
-                       <field reporter:label='Password' name='passwd' reporter:datatype='text' suppress_controller='open-ils.pcrud open-ils.reporter-store'></field>
-                       <field reporter:label='Photo URL' name='photo_url' reporter:datatype='text'></field>
-                       <field reporter:label='Prefix/Title' name='prefix' reporter:datatype='text'></field>
-                       <field reporter:label='Main (Profile) Permission Group' name='profile' reporter:datatype='link'></field>
-                       <field reporter:label='Middle Name' name='second_given_name' reporter:datatype='text'></field>
-                       <field reporter:label='Standing (unused)' name='standing' reporter:datatype='link'></field>
-                       <field reporter:label='Suffix' name='suffix' reporter:datatype='text'></field>
-                       <field reporter:label='Is Super User' name='super_user' reporter:datatype='bool'></field>
-                       <field reporter:label='Family Linkage or other Group' name='usrgroup' reporter:datatype='int'></field>
-                       <field reporter:label='OPAC/Staff Client User Name' name='usrname' reporter:datatype='text'></field>
-                       <field reporter:label='OPAC/Staff Client Holds Alias' name='alias' reporter:datatype='text'></field>
-                       <field reporter:label='Juvenile' name='juvenile' reporter:datatype='bool'></field>
-                       <field reporter:label='Record Last Update Time' name='last_update_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Additional Permission Groups' name='groups' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field>
-                       <field reporter:label='User Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Demographic Info' name='demographic' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Billable Transactions' name='billable_transactions' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Money Summary' name='money_summary' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Open Billable Transactions' name='open_billable_transactions_summary' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Checkins' name='checkins' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Circulations Performed as Staff' name='performed_circulations' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Fund Allocation Percentages' name='fund_alloc_pcts' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Reservations' name='reservations' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='User Activity Entries' name='usr_activity' reporter:datatype='link' oils_persist:virtual='true'></field>
-               </fields>
-               <links>
-                       <link field='demographic' reltype='might_have' class='rud' key='id' map=''></link>
-                       <link field='net_access_level' reltype='has_a' class='cnal' key='id' map=''></link>
-                       <link field='profile' reltype='has_a' class='pgt' key='id' map=''></link>
-                       <link field='ident_type' reltype='has_a' class='cit' key='id' map=''></link>
-                       <link field='billing_address' reltype='has_a' class='aua' key='id' map=''></link>
-                       <link field='mailing_address' reltype='has_a' class='aua' key='id' map=''></link>
-                       <link field='home_ou' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='standing' reltype='has_a' class='cst' key='id' map=''></link>
-                       <link field='card' reltype='has_a' class='ac' key='id' map=''></link>
-                       <link field='ident_type2' reltype='has_a' class='cit' key='id' map=''></link>
-                       <link field='stat_cat_entries' reltype='has_many' class='actscecm' key='target_usr' map=''></link>
-                       <link field='groups' reltype='has_many' class='pugm' key='usr' map='grp'></link>
-                       <link field='usrgroup' reltype='has_many' class='au' key='usrgroup' map=''></link>
-                       <link field='checkouts' reltype='has_many' class='circ' key='usr' map=''></link>
-                       <link field='hold_requests' reltype='has_many' class='ahr' key='usr' map=''></link>
-                       <link field='permissions' reltype='has_many' class='pupm' key='usr' map='perm'></link>
-                       <link field='settings' reltype='has_many' class='aus' key='usr' map=''></link>
-                       <link field='billable_transactions' reltype='has_many' class='mbt' key='usr' map=''></link>
-                       <link field='open_billable_transactions_summary' reltype='has_many' class='mobts' key='usr' map=''></link>
-                       <link field='money_summary' reltype='might_have' class='mus' key='usr' map=''></link>
-                       <link field='standing_penalties' reltype='has_many' class='ausp' key='usr' map=''></link>
-                       <link field='addresses' reltype='has_many' class='aua' key='usr' map=''></link>
-                       <link field='survey_responses' reltype='has_many' class='asvr' key='usr' map=''></link>
-                       <link field='notes' reltype='has_many' class='aun' key='usr' map=''></link>
-                       <link field='checkins' reltype='has_many' class='circ' key='checkin_staff' map=''></link>
-                       <link field='cards' reltype='has_many' class='ac' key='usr' map=''></link>
-                       <link field='performed_circulations' reltype='has_many' class='circ' key='circ_staff' map=''></link>
-                       <link field='fund_alloc_pcts' reltype='has_many' class='acqfap' key='allocator' map=''></link>
-                       <link field='reservations' reltype='has_many' class='bresv' key='usr' map=''></link>
-                       <link field='usr_activity' reltype='has_many' class='auact' key='usr' map=''></link>
-               </links>
-               <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-                       <actions>
-                               <retrieve context_field='home_ou' permission='VIEW_USER'></retrieve>
-                       </actions>
-               </permacrud>
-       </class><class reporter:label='Copy Status' oils_persist:tablename='config.copy_status' oils_obj:fieldmapper='config::copy_status' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='ccs' oils_persist:restrict_primary='100'>
-               <fields oils_persist:sequence='config.copy_status_id_seq' oils_persist:primary='id'>
-                       <field name='holdable' reporter:datatype='bool'></field>
-                       <field name='id' reporter:datatype='id' reporter:selector='name'></field>
-                       <field name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
-                       <field name='opac_visible' reporter:datatype='bool'></field>
-            <field name='copy_active' reporter:datatype='bool'></field>
-           <field name='restrict_copy_delete' reporter:datatype='bool'></field>
-               </fields>
-               <links></links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create global_required='true' permission='CREATE_COPY_STATUS'></create>
-                <retrieve></retrieve>
-                <update global_required='true' permission='UPDATE_COPY_STATUS'></update>
-                <delete global_required='true' permission='DELETE_COPY_STATUS'></delete>
-            </actions>
-        </permacrud>
-       </class><class reporter:label='Circulation' oils_persist:tablename='action.circulation' reporter:core='true' oils_obj:fieldmapper='action::circulation' controller='open-ils.cstore open-ils.pcrud' id='circ'>
-               <fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'>
-                       <field reporter:label='Check In Library' name='checkin_lib' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Check In Staff' name='checkin_staff' reporter:datatype='link'></field>
-                       <field reporter:label='Check In Date/Time' name='checkin_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Circulating Staff' name='circ_staff' reporter:datatype='link'></field>
-                       <field reporter:label='Desk Renewal' name='desk_renewal' reporter:datatype='bool'></field>
-                       <field reporter:label='Due Date/Time' name='due_date' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Circulation Duration' name='duration' reporter:datatype='interval'></field>
-                       <field reporter:label='Circ Duration Rule' name='duration_rule' reporter:datatype='link'></field>
-                       <field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field>
-                       <field reporter:label='Circ ID' name='id' reporter:datatype='id'></field>
-                       <field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field>
-                       <field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field>
-                       <field reporter:label='OPAC Renewal' name='opac_renewal' reporter:datatype='bool'></field>
-                       <field reporter:label='Phone Renewal' name='phone_renewal' reporter:datatype='bool'></field>
-                       <field reporter:label='Recurring Fine Amount' name='recurring_fine' reporter:datatype='money'></field>
-                       <field reporter:label='Recurring Fine Rule' name='recurring_fine_rule' reporter:datatype='link'></field>
-                       <field reporter:label='Remaining Renewals' name='renewal_remaining' reporter:datatype='int'></field>
-                       <field reporter:label='Grace Period' name='grace_period' reporter:datatype='interval'></field>
-                       <field reporter:label='Fine Stop Reason' name='stop_fines' reporter:datatype='text'></field>
-                       <field reporter:label='Fine Stop Date/Time' name='stop_fines_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Circulating Item' name='target_copy' reporter:datatype='link'></field>
-                       <field reporter:label='Patron' name='usr' reporter:datatype='link'></field>
-                       <field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Check Out Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Record Creation Date/Time' name='create_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Workstation' name='workstation' reporter:datatype='link'></field>
-                       <field reporter:label='Checkin Workstation' name='checkin_workstation' reporter:datatype='link'></field>
-                       <field reporter:label='Checkin Scan Date/Time' name='checkin_scan_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Parent Circulation' name='parent_circ' reporter:datatype='link'></field>
-                       <field reporter:label='Transaction Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Transaction Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Base Transaction' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text' oils_persist:virtual='true'></field>
-                       <field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-                       <field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-                       <field reporter:label='Unrecovered Debt' name='unrecovered' reporter:datatype='bool'></field>
-                       <field reporter:label='Shelving Location' name='copy_location' reporter:datatype='link'></field>
-                       <field reporter:label='Archived Patron Stat-Cat Entries' name='aaactsc_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Archived Copy Stat-Cat Entries' name='aaasc_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-               </fields>
-               <links>
-                       <link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link>
-                       <link field='circ_staff' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='checkin_lib' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-                       <link field='checkin_staff' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='payments' reltype='has_many' class='mp' key='xact' map=''></link>
-                       <link field='billings' reltype='has_many' class='mb' key='xact' map=''></link>
-                       <link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link>
-                       <link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link>
-                       <link field='recurring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link>
-                       <link field='circ_type' reltype='might_have' class='rcirct' key='id' map=''></link>
-                       <link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link>
-                       <link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link>
-                       <link field='workstation' reltype='has_a' class='aws' key='id' map=''></link>
-                       <link field='checkin_workstation' reltype='has_a' class='aws' key='id' map=''></link>
-                       <link field='parent_circ' reltype='has_a' class='circ' key='id' map=''></link>
-                       <link field='renewals' reltype='has_many' class='circ' key='parent_circ' map=''></link>
-                       <link field='copy_location' reltype='has_a' class='acpl' key='id' map=''></link>
-                       <link field='aaactsc_entries' reltype='has_many' class='aaactsc' key='xact' map=''></link>
-                       <link field='aaasc_entries' reltype='has_many' class='aaasc' key='xact' map=''></link>
-               </links>
-               <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-                       <actions>
-                               <retrieve context_field='circ_lib' permission='VIEW_CIRCULATIONS'></retrieve>
-                       </actions>
-               </permacrud>
-       </class><class oils_obj:fieldmapper='container::biblio_record_entry_bucket' reporter:label='Bibliographic Record Entry Bucket' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket' id='cbreb'>
-               <fields oils_persist:sequence='container.biblio_record_entry_bucket_id_seq' oils_persist:primary='id'>
-                       <field name='items' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field name='btype' reporter:datatype='text'></field>
-                       <field name='id' reporter:datatype='id'></field>
-                       <field name='name' reporter:datatype='text'></field>
-                       <field name='description' reporter:datatype='text'></field>
-                       <field name='owner' reporter:datatype='link'></field>
-                       <field name='pub' reporter:datatype='bool'></field>
-                       <field name='create_time' reporter:datatype='timestamp'></field>
-               </fields>
-               <links>
-                       <link field='owner' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='items' reltype='has_many' class='cbrebi' key='bucket' map=''></link>
-               </links>
-       </class><class oils_obj:fieldmapper='container::biblio_record_entry_bucket_note' reporter:label='Bibliographic Record Entry Bucket Note' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_note' id='cbrebn'>
-               <fields oils_persist:sequence='container.biblio_record_entry_bucket_note_id_seq' oils_persist:primary='id'>
-                       <field name='id' reporter:datatype='id'></field>
-                       <field name='bucket' reporter:datatype='link'></field>
-                       <field name='note' reporter:datatype='text'></field>
-               </fields>
-               <links>
-                       <link field='bucket' reltype='has_a' class='cbreb' key='id' map=''></link>
-               </links>
-       </class><class reporter:label='Hold Request' oils_persist:tablename='action.hold_request' reporter:core='true' oils_obj:fieldmapper='action::hold_request' controller='open-ils.cstore open-ils.pcrud' id='ahr'>
-               <fields oils_persist:sequence='action.hold_request_id_seq' oils_persist:primary='id'>
-                       <field reporter:label='Status' name='status' oils_persist:virtual='true'></field>
-                       <field reporter:label='Transit' name='transit' oils_persist:virtual='true'></field>
-                       <field reporter:label='Capture Date/Time' name='capture_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Currently Targeted Copy' name='current_copy'></field>
-                       <field reporter:label='Notify by Email?' name='email_notify' reporter:datatype='bool'></field>
-                       <field reporter:label='Hold Expire Date/Time' name='expire_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Fulfilling Library' name='fulfillment_lib' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Fulfilling Staff' name='fulfillment_staff'></field>
-                       <field reporter:label='Fulfillment Date/Time' name='fulfillment_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Hold Type' name='hold_type' reporter:datatype='text'></field>
-                       <field reporter:label='Holdable Formats (for M-type hold)' name='holdable_formats' reporter:datatype='text'></field>
-                       <field reporter:label='Hold ID' name='id' reporter:datatype='id'></field>
-                       <field reporter:label='Notifications Phone Number' name='phone_notify' reporter:datatype='text'></field>
-                       <field reporter:label='Notifications SMS Number' name='sms_notify' reporter:datatype='text'></field>
-                       <field reporter:label='Notifications SMS Carrier' name='sms_carrier' reporter:datatype='link'></field>
-                       <field reporter:label='Pickup Library' name='pickup_lib' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Last Targeting Date/Time' name='prev_check_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Requesting Library' name='request_lib' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Request Date/Time' name='request_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Requesting User' name='requestor' reporter:datatype='link'></field>
-                       <field reporter:label='Item Selection Depth' name='selection_depth'></field>
-                       <field reporter:label='Selection Locus' name='selection_ou' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Target Object ID' name='target' reporter:datatype='link'></field>
-                       <field reporter:label='Hold User' name='usr' reporter:datatype='link'></field>
-                       <field reporter:label='Hold Cancel Date/Time' name='cancel_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Notify Time' name='notify_time' reporter:datatype='timestamp' oils_persist:virtual='true'></field>
-                       <field reporter:label='Notify Count' name='notify_count' reporter:datatype='int' oils_persist:virtual='true'></field>
-                       <field reporter:label='Notifications' name='notifications' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Bib Record link' name='bib_rec' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Eligible Copies' name='eligible_copies' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Currently Frozen' name='frozen' reporter:datatype='bool'></field>
-                       <field reporter:label='Thaw Date (if frozen)' name='thaw_date' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Shelf Time' name='shelf_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Cancelation cause' name='cancel_cause' reporter:datatype='link'></field>
-                       <field reporter:label='Cancelation note' name='cancel_note' reporter:datatype='text'></field>
-                       <field reporter:label='Top of Queue' name='cut_in_line' reporter:datatype='bool'></field>
-                       <field reporter:label='Is Mint Condition' name='mint_condition' reporter:datatype='bool'></field>
-                       <field reporter:label='Shelf Expire Time' name='shelf_expire_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Current Shelf Lib' name='current_shelf_lib' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Behind Desk' name='behind_desk' reporter:datatype='bool'></field>
-               </fields>
-               <links>
-                       <link field='fulfillment_lib' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='fulfillment_staff' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='pickup_lib' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='selection_ou' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='requestor' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='current_copy' reltype='has_a' class='acp' key='id' map=''></link>
-                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='request_lib' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='transit' reltype='might_have' class='ahtc' key='hold' map=''></link>
-                       <link field='notifications' reltype='has_many' class='ahn' key='hold' map=''></link>
-                       <link field='eligible_copies' reltype='has_many' class='ahcm' key='hold' map='target_copy'></link>
-                       <link field='bib_rec' reltype='might_have' class='rhrr' key='id' map=''></link>
-                       <link field='cancel_cause' reltype='might_have' class='ahrcc' key='id' map=''></link>
-                       <link field='notes' reltype='has_many' class='ahrn' key='hold' map=''></link>
-                       <link field='current_shelf_lib' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='sms_carrier' reltype='has_a' class='csc' key='id' map=''></link>
-               </links>
-               <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-                       <actions>
-                               <retrieve context_field='pickup_lib' permission='VIEW_HOLD'></retrieve>
-                       </actions>
-               </permacrud>
-       </class><class oils_obj:fieldmapper='money::billable_transaction' reporter:label='Billable Transaction' controller='open-ils.cstore' oils_persist:tablename='money.billable_xact' id='mbt'>
-               <fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'>
-                       <field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field>
-                       <field reporter:label='User' name='usr' reporter:datatype='link'></field>
-                       <field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Transaction Start Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Unrecovered Debt' name='unrecovered' reporter:datatype='bool'></field>
-                       <field reporter:label='Grocery Billing link' name='grocery' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Circulation Billing link' name='circulation' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Billing Line Items' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Payment Line Items' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-                       <field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field>
-                       <field reporter:label='Payment Summary' name='summary' reporter:datatype='link' oils_persist:virtual='true'></field>
-               </fields>
-               <links>
-                       <link field='grocery' reltype='might_have' class='mg' key='id' map=''></link>
-                       <link field='circulation' reltype='might_have' class='circ' key='id' map=''></link>
-                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='payments' reltype='has_many' class='mp' key='xact' map=''></link>
-                       <link field='billings' reltype='has_many' class='mb' key='xact' map=''></link>
-                       <link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link>
-                       <link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link>
-                       <link field='summary' reltype='might_have' class='mbts' key='id' map=''></link>
-               </links>
-       </class><class oils_obj:fieldmapper='money::user_summary' reporter:label='User Summary' controller='open-ils.cstore' oils_persist:tablename='money.usr_summary' id='mus'>
-               <fields oils_persist:sequence='' oils_persist:primary='usr'>
-                       <field name='balance_owed' reporter:datatype='money'></field>
-                       <field name='total_owed' reporter:datatype='money'></field>
-                       <field name='total_paid' reporter:datatype='money'></field>
-                       <field name='usr' reporter:datatype='link'></field>
-               </fields>
-               <links>
-                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
-               </links>
-       </class><class reporter:label='Item' oils_persist:tablename='asset.copy' reporter:core='true' oils_obj:fieldmapper='asset::copy' controller='open-ils.cstore open-ils.pcrud' id='acp'>
-               <fields oils_persist:sequence='asset.copy_id_seq' oils_persist:primary='id'>
-                       <field reporter:label='Age Hold Protection' name='age_protect' reporter:datatype='link'></field>
-                       <field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field>
-                       <field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field>
-                       <field reporter:label='Call Number/Volume' name='call_number' reporter:datatype='link'></field>
-                       <field reporter:label='Circulation Type (MARC)' name='circ_as_type' reporter:datatype='text'></field>
-                       <field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='link'></field>
-                       <field reporter:label='Can Circulate' name='circulate' reporter:datatype='bool'></field>
-                       <field reporter:label='Copy Number on Volume' name='copy_number' reporter:datatype='text'></field>
-                       <field reporter:label='Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Active Date/Time' name='active_date' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Creating User' name='creator' reporter:datatype='link'></field>
-                       <field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field>
-                       <field reporter:label='Dummy ISBN' name='dummy_isbn' reporter:datatype='text'></field>
-                       <field reporter:label='Is Deposit Required' name='deposit' reporter:datatype='bool'></field>
-                       <field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='money'></field>
-                       <field reporter:label='Precat Dummy Author' name='dummy_author' reporter:datatype='text'></field>
-                       <field reporter:label='Precat Dummy Title' name='dummy_title' reporter:datatype='text'></field>
-                       <field reporter:label='Last Edit Date/Time' name='edit_date' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Last Editing User' name='editor' reporter:datatype='link'></field>
-                       <field reporter:label='Fine Level' name='fine_level' reporter:datatype='int'></field>
-                       <field reporter:label='Is Holdable' name='holdable' reporter:datatype='bool'></field>
-                       <field reporter:label='Copy ID' name='id' reporter:datatype='id'></field>
-                       <field reporter:label='Loan Duration' name='loan_duration' reporter:datatype='int'></field>
-                       <field reporter:label='Shelving Location' name='location' reporter:datatype='link'></field>
-                       <field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field>
-                       <field reporter:label='Price' name='price' reporter:datatype='money'></field>
-                       <field reporter:label='Is Reference' name='ref' reporter:datatype='bool'></field>
-                       <field reporter:label='Copy Status' name='status' reporter:datatype='link'></field>
-                       <field reporter:label='Copy Status Changed Time' name='status_changed_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Is Mint Condition' name='mint_condition' reporter:datatype='bool'></field>
-                       <field reporter:label='Floating Group' name='floating' reporter:datatype='link'></field>
-                       <field reporter:label='Cost' name='cost' reporter:datatype='money'></field>
-                       <field reporter:label='Copy Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Stat-Cat entry maps' name='stat_cat_entry_copy_maps' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Circulations' name='circulations' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Total Circulations' name='total_circ_count' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Last Circulation Date' name='last_circ' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Holds' name='holds' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Statistical Category Entries' name='stat_cat_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Monograph Parts' name='parts' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Peer Record Maps' name='peer_record_maps' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Peer Records' name='peer_records' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Last Captured Hold' name='last_captured_hold' reporter:datatype='link' oils_persist:virtual='true'></field>
-               </fields>
-               <links>
-                       <link field='age_protect' reltype='has_a' class='crahp' key='id' map=''></link>
-                       <link field='call_number' reltype='has_a' class='acn' key='id' map=''></link>
-                       <link field='location' reltype='has_a' class='acpl' key='id' map=''></link>
-                       <link field='editor' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='creator' reltype='has_a' class='au' key='id' map=''></link>
-                       <link field='status' reltype='has_a' class='ccs' key='id' map=''></link>
-                       <link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='holds' reltype='has_many' class='ahcm' key='target_copy' map='hold'></link>
-                       <link field='stat_cat_entry_copy_maps' reltype='has_many' class='ascecm' key='owning_copy' map=''></link>
-                       <link field='notes' reltype='has_many' class='acpn' key='owning_copy' map=''></link>
-                       <link field='stat_cat_entries' reltype='has_many' class='ascecm' key='owning_copy' map='stat_cat_entry'></link>
-                       <link field='circulations' reltype='has_many' class='circ' key='target_copy' map=''></link>
-                       <link field='total_circ_count' reltype='might_have' class='erfcc' key='id' map=''></link>
-                       <link field='last_circ' reltype='might_have' class='rlc' key='id' map=''></link>
-                       <link field='circ_modifier' reltype='has_a' class='ccm' key='code' map=''></link>
-                       <link field='parts' reltype='has_many' class='acpm' key='target_copy' map='part'></link>
-                       <link field='peer_record_maps' reltype='has_many' class='bpbcm' key='target_copy' map=''></link>
-                       <link field='peer_records' reltype='has_many' class='bpbcm' key='target_copy' map='peer_record'></link>
-                       <link field='last_captured_hold' reltype='has_a' class='alhr' key='current_copy' map=''></link>
-                       <link field='floating' reltype='has_a' class='cfg' key='id' map=''></link>
-               </links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create permission='CREATE_COPY'>
-                    <context field='owning_lib' link='call_number'></context>
-                </create>
-                <retrieve></retrieve>
-                <update permission='UPDATE_COPY'>
-                    <context field='owning_lib' link='call_number'></context>
-                </update>
-                <delete permission='DELETE_COPY'>
-                    <context field='owning_lib' link='call_number'></context>
-                </delete>
-            </actions>
-        </permacrud>
-       </class><class oils_obj:fieldmapper='container::biblio_record_entry_bucket_item' reporter:label='Biblio Record Entry Bucket Item' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_item' id='cbrebi'>
-               <fields oils_persist:sequence='container.biblio_record_entry_bucket_item_id_seq' oils_persist:primary='id'>
-                       <field name='bucket' reporter:datatype='link'></field>
-                       <field name='id' reporter:datatype='id'></field>
-                       <field name='target_biblio_record_entry' reporter:datatype='link'></field>
-                       <field name='create_time' reporter:datatype='timestamp'></field>
-                       <field name='pos' reporter:datatype='int'></field>
-                       <field name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
-               </fields>
-               <links>
-                       <link field='target_biblio_record_entry' reltype='has_a' class='bre' key='id' map=''></link>
-                       <link field='bucket' reltype='has_a' class='cbreb' key='id' map=''></link>
-            <link field='notes' reltype='has_many' class='cbrebin' key='item' map=''></link>
-               </links>
-       </class><class oils_obj:fieldmapper='container::biblio_record_entry_bucket_item_note' reporter:label='Biblio Record Entry Bucket Item Note' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_item_note' id='cbrebin'>
-               <fields oils_persist:sequence='container.biblio_record_entry_bucket_item_note_id_seq' oils_persist:primary='id'>
-                       <field name='id' reporter:datatype='id'></field>
-                       <field name='item' reporter:datatype='link'></field>
-                       <field name='note' reporter:datatype='text'></field>
-               </fields>
-               <links>
-                       <link field='item' reltype='has_a' class='cbrebi' key='id' map=''></link>
-               </links>
-       </class><class reporter:label='Hold Transit' oils_persist:tablename='action.hold_transit_copy' reporter:core='true' oils_obj:fieldmapper='action::hold_transit_copy' controller='open-ils.cstore open-ils.pcrud' id='ahtc'>
-               <fields oils_persist:sequence='action.transit_copy_id_seq' oils_persist:primary='id'>
-                       <field reporter:label='Copy Status at Transit' name='copy_status' reporter:datatype='link'></field>
-                       <field reporter:label='Destination Library' name='dest' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Receive Date/Time' name='dest_recv_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Hold requiring Transit' name='hold' reporter:datatype='link'></field>
-                       <field reporter:label='Transit ID' name='id' reporter:datatype='id'></field>
-                       <field reporter:label='Is Persistent?' name='persistant_transfer' reporter:datatype='bool'></field>
-                       <field reporter:label='Previous Stop' name='prev_hop' reporter:datatype='link'></field>
-                       <field reporter:label='Sending Library' name='source' reporter:datatype='org_unit'></field>
-                       <field reporter:label='Send Date/Time' name='source_send_time' reporter:datatype='timestamp'></field>
-                       <field reporter:label='Transited Copy' name='target_copy' reporter:datatype='link'></field>
-                       <field reporter:label='Base Transit' name='transit_copy' reporter:datatype='link' oils_persist:virtual='true'></field>
-                       <field reporter:label='Prev Destination Library' name='prev_dest' reporter:datatype='org_unit'></field>
-               </fields>
-               <links>
-                       <link field='transit_copy' reltype='might_have' class='atc' key='id' map=''></link>
-                       <link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
-                       <link field='source' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='copy_status' reltype='has_a' class='ccs' key='id' map=''></link>
-                       <link field='dest' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='prev_dest' reltype='has_a' class='aou' key='id' map=''></link>
-                       <link field='hold' reltype='has_a' class='ahr' key='id' map=''></link>
-               </links>
-        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
-            <actions>
-                <create context_field='owner' permission='TRANSIT_COPY'>
-                    <context field='circ_lib' link='target_copy'></context>
-                </create>
-                <retrieve></retrieve>
-                <update context_field='dest source' permission='UPDATE_TRANSIT'></update>
-                <delete context_field='dest source' permission='DELETE_TRANSIT'></delete>
-            </actions>
-        </permacrud>
-       </class></IDL>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/demo_app/demo_app.iml b/Open-ILS/src/Android/demo_app/demo_app.iml
deleted file mode 100644 (file)
index baccb65..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="FacetManager">
-    <facet type="android" name="Android">
-      <configuration>
-        <option name="UPDATE_PROPERTY_FILES" value="true" />
-      </configuration>
-    </facet>
-  </component>
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
-    </content>
-    <orderEntry type="jdk" jdkName="Android API 19 Platform" jdkType="Android SDK" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="core" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/demo_app/fetch_idl.sh b/Open-ILS/src/Android/demo_app/fetch_idl.sh
deleted file mode 100644 (file)
index a671ee0..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-root=http://demo.evergreencatalog.com
-curl -o assets/fm_IDL.xml "$root/reports/fm_IDL.xml?class=acn&class=acp&class=ahr&class=ahtc&class=au&class=bmp&class=cbreb&class=cbrebi&class=cbrebin&class=cbrebn&class=ccs&class=circ&class=ex&class=mbt&class=mbts&class=mous&class=mus&class=mvr&class=perm_ex"
diff --git a/Open-ILS/src/Android/demo_app/res/values/ou.xml b/Open-ILS/src/Android/demo_app/res/values/ou.xml
deleted file mode 100644 (file)
index a5261d7..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- ou.xml - organizational unit app customization -->
-<resources>
-    <string name="ou_account_label">Evergreen Demo Library</string>
-    <string name="ou_account_sign_in_message">Sign in to your\nEvergreen Demo Library Account</string>
-    <string name="ou_account_type">com.evergreencatalog.demo</string>
-    <string name="ou_app_label">Evergreen Demo</string>
-    <string name="ou_app_name">Evergreen Demo Library</string>
-    <string name="ou_library_url">http://demo.evergreencatalog.com</string>
-</resources>
diff --git a/Open-ILS/src/Android/eg_app/.idea/.name b/Open-ILS/src/Android/eg_app/.idea/.name
new file mode 100644 (file)
index 0000000..58c087e
--- /dev/null
@@ -0,0 +1 @@
+eg_app
\ No newline at end of file
diff --git a/Open-ILS/src/Android/eg_app/.idea/compiler.xml b/Open-ILS/src/Android/eg_app/.idea/compiler.xml
new file mode 100644 (file)
index 0000000..217af47
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <option name="DEFAULT_COMPILER" value="Javac" />
+    <resourceExtensions />
+    <wildcardResourcePatterns>
+      <entry name="!?*.java" />
+      <entry name="!?*.form" />
+      <entry name="!?*.class" />
+      <entry name="!?*.groovy" />
+      <entry name="!?*.scala" />
+      <entry name="!?*.flex" />
+      <entry name="!?*.kt" />
+      <entry name="!?*.clj" />
+    </wildcardResourcePatterns>
+    <annotationProcessing>
+      <profile default="true" name="Default" enabled="false">
+        <processorPath useClasspath="true" />
+      </profile>
+    </annotationProcessing>
+  </component>
+</project>
+
diff --git a/Open-ILS/src/Android/eg_app/.idea/copyright/profiles_settings.xml b/Open-ILS/src/Android/eg_app/.idea/copyright/profiles_settings.xml
new file mode 100644 (file)
index 0000000..e7bedf3
--- /dev/null
@@ -0,0 +1,3 @@
+<component name="CopyrightManager">
+  <settings default="" />
+</component>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/eg_app/.idea/encodings.xml b/Open-ILS/src/Android/eg_app/.idea/encodings.xml
new file mode 100644 (file)
index 0000000..f758959
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false">
+    <file url="PROJECT" charset="UTF-8" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/eg_app/.idea/libraries/libs.xml b/Open-ILS/src/Android/eg_app/.idea/libraries/libs.xml
new file mode 100644 (file)
index 0000000..2c6670d
--- /dev/null
@@ -0,0 +1,11 @@
+<component name="libraryTable">
+  <library name="libs">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/../core/libs/zxing_barcode.jar!/" />
+      <root url="jar://$PROJECT_DIR$/../core/libs/androwrapee-1.1.0.jar!/" />
+      <root url="jar://$PROJECT_DIR$/../core/libs/opensrf2_android.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/eg_app/.idea/misc.xml b/Open-ILS/src/Android/eg_app/.idea/misc.xml
new file mode 100644 (file)
index 0000000..4fa8d45
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="EntryPointsManager">
+    <entry_points version="2.0" />
+  </component>
+  <component name="NullableNotNullManager">
+    <option name="myDefaultNullable" value="android.support.annotation.Nullable" />
+    <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
+    <option name="myNullables">
+      <value>
+        <list size="4">
+          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
+          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
+          <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
+          <item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
+        </list>
+      </value>
+    </option>
+    <option name="myNotNulls">
+      <value>
+        <list size="4">
+          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
+          <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
+          <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
+          <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
+        </list>
+      </value>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="Android API 19 Platform" project-jdk-type="Android SDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/eg_app/.idea/modules.xml b/Open-ILS/src/Android/eg_app/.idea/modules.xml
new file mode 100644 (file)
index 0000000..2552281
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/../support/v7/appcompat/appcompat.iml" filepath="$PROJECT_DIR$/../support/v7/appcompat/appcompat.iml" />
+      <module fileurl="file://$PROJECT_DIR$/../core/core.iml" filepath="$PROJECT_DIR$/../core/core.iml" />
+      <module fileurl="file://$PROJECT_DIR$/eg_app.iml" filepath="$PROJECT_DIR$/eg_app.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/eg_app/.idea/scopes/scope_settings.xml b/Open-ILS/src/Android/eg_app/.idea/scopes/scope_settings.xml
new file mode 100644 (file)
index 0000000..922003b
--- /dev/null
@@ -0,0 +1,5 @@
+<component name="DependencyValidationManager">
+  <state>
+    <option name="SKIP_IMPORT_STATEMENTS" value="false" />
+  </state>
+</component>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/eg_app/.idea/uiDesigner.xml b/Open-ILS/src/Android/eg_app/.idea/uiDesigner.xml
new file mode 100644 (file)
index 0000000..3b00020
--- /dev/null
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+</project>
+
diff --git a/Open-ILS/src/Android/eg_app/.idea/vcs.xml b/Open-ILS/src/Android/eg_app/.idea/vcs.xml
new file mode 100644 (file)
index 0000000..4fce1d8
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/../../../.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/eg_app/AndroidManifest.xml b/Open-ILS/src/Android/eg_app/AndroidManifest.xml
new file mode 100644 (file)
index 0000000..95ad28d
--- /dev/null
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          package="org.evergreen_ils.eg_app"
+          android:installLocation="auto"
+          android:versionCode="1"
+          android:versionName="1.0">
+
+    <uses-sdk
+        android:minSdkVersion="10"
+        android:targetSdkVersion="19" />
+
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
+    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
+    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
+
+    <uses-feature android:name="android.hardware.screen.landscape" android:required="false" />
+    <uses-feature android:name="android.hardware.screen.portrait" android:required="false" />
+    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
+
+    <application
+        android:allowBackup="true"
+        android:icon="@drawable/evergreen_launcher_icon"
+        android:label="@string/ou_app_label"
+        android:theme="@style/Theme.AppCompat" >
+
+        <!-- Notification receiver -->
+        <receiver
+                android:name="org.evergreen_ils.services.NotificationReceiver"
+                android:process=":remote">
+        </receiver>
+        <!-- Receiver to reinit notifications on reboot -->
+        <!--
+        <receiver android:name="org.evergreen_ils.services.RebootReceiver">
+            <intent-filter>
+                <action android:name="android.intent.action.BOOT_COMPLETED"/>
+            </intent-filter>
+        </receiver>
+        <receiver android:name="org.evergreen_ils.services.PeriodicServiceBroadcastReceiver">
+            <intent-filter>
+                <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
+            </intent-filter>
+        </receiver>
+        -->
+
+        <!--
+        <service android:name="org.evergreen_ils.services.ScheduledIntentService">
+        </service>
+        -->
+
+        <activity
+                android:name="org.evergreen_ils.views.splashscreen.SplashActivity"
+                android:theme="@android:style/Theme.NoTitleBar">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+        <activity android:name="org.evergreen_ils.views.ApplicationPreferences" >
+        </activity>
+
+        <!-- Search -->
+
+        <activity
+                android:name="org.evergreen_ils.searchCatalog.SampleUnderlinesNoFade"
+                android:label="@string/search_details_title">
+        </activity>
+        <activity
+                android:name="org.evergreen_ils.searchCatalog.MoreCopyInformation"
+                android:label="@string/copy_information_title">
+        </activity>
+        <activity
+                android:name="org.evergreen_ils.searchCatalog.SearchCatalogListView"
+                android:label="@string/title_search"
+                android:parentActivityName="org.evergreen_ils.views.MainActivity">
+            <meta-data
+                    android:name="android.support.PARENT_ACTIVITY"
+                    android:value="org.evergreen_ils.views.MainActivity"/>
+        </activity>
+        <activity
+                android:name="org.evergreen_ils.searchCatalog.AdvancedSearchActivity"
+                android:label="@string/advanced_search">
+        </activity>
+        <activity
+            android:name="org.evergreen_ils.barcodescan.CaptureActivity"
+            android:screenOrientation="landscape"
+            android:theme="@android:style/Theme.NoTitleBar"
+            android:windowSoftInputMode="stateAlwaysHidden" >
+        </activity>
+
+        <!-- Checkout Activities -->
+        <activity
+                android:name="org.evergreen_ils.accountAccess.checkout.ItemsCheckOutListView"
+                android:label="@string/checkout_items_title"
+                android:parentActivityName="org.evergreen_ils.views.MainActivity">
+            <meta-data
+                    android:name="android.support.PARENT_ACTIVITY"
+                    android:value="org.evergreen_ils.views.MainActivity"/>
+        </activity>
+
+        <!-- Holds Activities -->
+        <activity
+                android:name="org.evergreen_ils.accountAccess.holds.HoldsListView"
+                android:label="@string/hold_items_title"
+                android:parentActivityName="org.evergreen_ils.views.MainActivity">
+            <meta-data
+                    android:name="android.support.PARENT_ACTIVITY"
+                    android:value="org.evergreen_ils.views.MainActivity"/>
+        </activity>
+        <activity
+                android:name="org.evergreen_ils.accountAccess.holds.PlaceHold"
+                android:label="@string/hold_place_title">
+        </activity>
+        <activity
+                android:name="org.evergreen_ils.accountAccess.holds.HoldDetails"
+                android:label="@string/hold_details_title">
+        </activity>
+
+        <!-- Fines Activities -->
+        <activity
+                android:name="org.evergreen_ils.accountAccess.fines.FinesActivity"
+                android:label="@string/title_fines"
+                android:parentActivityName="org.evergreen_ils.views.MainActivity">
+            <meta-data
+                    android:name="android.support.PARENT_ACTIVITY"
+                    android:value="org.evergreen_ils.views.MainActivity"/>
+        </activity>
+
+        <!-- Bookbags -->
+        <activity android:name="org.evergreen_ils.accountAccess.bookbags.BookbagsListView" >
+        </activity>
+        <activity android:name="org.evergreen_ils.accountAccess.bookbags.BookBagDetails" >
+        </activity>
+
+        <activity
+            android:name="org.evergreen_ils.auth.AuthenticatorActivity"
+            android:label="@string/ou_account_label">
+        </activity>
+
+        <activity android:name="org.evergreen_ils.views.MainActivity">
+        </activity>
+
+        <service
+            android:name="org.evergreen_ils.auth.AuthenticatorService"
+            android:exported="false" >
+            <intent-filter>
+                <action android:name="android.accounts.AccountAuthenticator" />
+            </intent-filter>
+
+            <meta-data
+                android:name="android.accounts.AccountAuthenticator"
+                android:resource="@xml/authenticator" />
+        </service>
+    </application>
+</manifest>
diff --git a/Open-ILS/src/Android/eg_app/assets/fm_IDL.xml b/Open-ILS/src/Android/eg_app/assets/fm_IDL.xml
new file mode 100644 (file)
index 0000000..6d7d371
--- /dev/null
@@ -0,0 +1,571 @@
+<IDL xmlns:idl='http://opensrf.org/spec/IDL/base/v1' xmlns='http://opensrf.org/spec/IDL/base/v1' xmlns:permacrud='http://open-ils.org/spec/opensrf/IDL/permacrud/v1' xmlns:reporter='http://open-ils.org/spec/opensrf/IDL/reporter/v1' xmlns:oils_obj='http://open-ils.org/spec/opensrf/IDL/objects/v1' xmlns:oils_persist='http://open-ils.org/spec/opensrf/IDL/persistence/v1'><class oils_obj:fieldmapper='metabib::virtual_record' reporter:label='Virtual Record' controller='open-ils.cstore' id='mvr' oils_persist:virtual='true'>
+               <fields>
+                       <field name='title' oils_persist:virtual='true'></field>
+                       <field name='author' oils_persist:virtual='true'></field>
+                       <field name='doc_id' oils_persist:virtual='true'></field>
+                       <field name='doc_type' oils_persist:virtual='true'></field>
+                       <field name='pubdate' oils_persist:virtual='true'></field>
+                       <field name='isbn' oils_persist:virtual='true'></field>
+                       <field name='publisher' oils_persist:virtual='true'></field>
+                       <field name='tcn' oils_persist:virtual='true'></field>
+                       <field name='subject' oils_persist:virtual='true'></field>
+                       <field name='types_of_resource' oils_persist:virtual='true'></field>
+                       <field name='call_numbers' oils_persist:virtual='true'></field>
+                       <field name='edition' oils_persist:virtual='true'></field>
+                       <field name='online_loc' oils_persist:virtual='true'></field>
+                       <field name='synopsis' oils_persist:virtual='true'></field>
+                       <field name='physical_description' oils_persist:virtual='true'></field>
+                       <field name='toc' oils_persist:virtual='true'></field>
+                       <field name='copy_count' oils_persist:virtual='true'></field>
+                       <field name='series' oils_persist:virtual='true'></field>
+                       <field name='serials' oils_persist:virtual='true'></field>
+                       <field name='foreign_copy_maps' oils_persist:virtual='true'></field>
+               </fields>
+       </class><class oils_obj:fieldmapper='ex' controller='open-ils.cstore' id='ex' oils_persist:virtual='true'>
+               <fields>
+                       <field name='err_msg' oils_persist:virtual='true'></field>
+                       <field name='type' oils_persist:virtual='true'></field>
+               </fields>
+       </class><class oils_obj:fieldmapper='perm_ex' controller='open-ils.cstore' id='perm_ex' oils_persist:virtual='true'>
+               <fields>
+                       <field name='err_msg' oils_persist:virtual='true'></field>
+                       <field name='type' oils_persist:virtual='true'></field>
+               </fields>
+       </class><class reporter:label='Billable Transaction Summary' oils_persist:tablename='money.materialized_billable_xact_summary' oils_obj:fieldmapper='money::billable_transaction_summary' controller='open-ils.cstore' id='mbts' oils_persist:readonly='true'>
+               <fields oils_persist:sequence='' oils_persist:primary='id'>
+                       <field reporter:label='Balance Owed' name='balance_owed' reporter:datatype='money'></field>
+                       <field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field>
+                       <field reporter:label='Last Billing Note' name='last_billing_note' reporter:datatype='text'></field>
+                       <field reporter:label='Last Billing Timestamp' name='last_billing_ts' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Last Billing Type' name='last_billing_type' reporter:datatype='text'></field>
+                       <field reporter:label='Last Payment Note' name='last_payment_note' reporter:datatype='text'></field>
+                       <field reporter:label='Last Payment Timestamp' name='last_payment_ts' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Last Payment Type' name='last_payment_type' reporter:datatype='text'></field>
+                       <field reporter:label='Total Owed' name='total_owed' reporter:datatype='money'></field>
+                       <field reporter:label='Total Paid' name='total_paid' reporter:datatype='money'></field>
+                       <field reporter:label='Billed User' name='usr' reporter:datatype='link'></field>
+                       <field reporter:label='Transaction Finish Time' name='xact_finish' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Transaction Start Time' name='xact_start' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Transaction Type' name='xact_type' reporter:datatype='text'></field>
+               </fields>
+               <links>
+                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
+               </links>
+       </class><class oils_obj:fieldmapper='asset::call_number' reporter:label='Call Number/Volume' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='asset.call_number' id='acn'>
+               <fields oils_persist:sequence='asset.call_number_id_seq' oils_persist:primary='id'>
+                       <field reporter:label='Copies' name='copies' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Create Date/Time' name='create_date' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Creating User' name='creator' reporter:datatype='link'></field>
+                       <field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field>
+                       <field reporter:label='Last Edit Date/Time' name='edit_date' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Last Editing User' name='editor' reporter:datatype='link'></field>
+                       <field reporter:label='Call Number/Volume ID' name='id' reporter:datatype='id'></field>
+                       <field reporter:label='Call Number Label' name='label' reporter:datatype='text'></field>
+                       <field reporter:label='Owning Library' name='owning_lib' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Bib Record' name='record' reporter:datatype='link'></field>
+                       <field reporter:label='Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='URI Maps' name='uri_maps' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='URIs' name='uris' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Call Number Sort Key' name='label_sortkey' reporter:datatype='text'></field>
+                       <field reporter:label='Classification Scheme' name='label_class' reporter:datatype='link'></field>
+                       <field reporter:label='Prefix' name='prefix' reporter:datatype='link'></field>
+                       <field reporter:label='Suffix' name='suffix' reporter:datatype='link'></field>
+               </fields>
+               <links>
+                       <link field='editor' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='creator' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='record' reltype='has_a' class='bre' key='id' map=''></link>
+                       <link field='owning_lib' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='notes' reltype='has_many' class='acnn' key='call_number' map=''></link>
+                       <link field='copies' reltype='has_many' class='acp' key='call_number' map=''></link>
+                       <link field='uris' reltype='has_many' class='auricnm' key='call_number' map='uri'></link>
+                       <link field='uri_maps' reltype='has_many' class='auricnm' key='call_number' map=''></link>
+                       <link field='label_class' reltype='has_a' class='acnc' key='id' map=''></link>
+                       <link field='prefix' reltype='has_a' class='acnp' key='id' map=''></link>
+                       <link field='suffix' reltype='has_a' class='acns' key='id' map=''></link>
+               </links>
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
+            <actions>
+                <create context_field='owning_lib' permission='CREATE_VOLUME'></create>
+                <retrieve></retrieve>
+                <update context_field='owning_lib' permission='UPDATE_VOLUME'></update>
+                <delete context_field='owning_lib' permission='DELETE_VOLUME'></delete>
+            </actions>
+        </permacrud>
+       </class><class oils_obj:fieldmapper='money::open_user_summary' reporter:label='Open User Summary' controller='open-ils.cstore open-ils.pcrud' oils_persist:tablename='money.open_usr_summary' id='mous'>
+               <fields oils_persist:sequence='' oils_persist:primary='usr'>
+                       <field name='balance_owed' reporter:datatype='money'></field>
+                       <field name='total_owed' reporter:datatype='money'></field>
+                       <field name='total_paid' reporter:datatype='money'></field>
+                       <field name='usr' reporter:datatype='link'></field>
+               </fields>
+               <links>
+                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
+        </links>
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
+            <actions>
+                <retrieve permission='VIEW_USER'>
+                    <context field='home_ou' link='usr'></context>
+                </retrieve>
+            </actions>
+        </permacrud>
+       </class><class reporter:label='ILS User' oils_persist:tablename='actor.usr' reporter:core='true' oils_obj:fieldmapper='actor::user' controller='open-ils.cstore open-ils.pcrud' id='au'>
+               <fields oils_persist:sequence='actor.usr_id_seq' oils_persist:primary='id'>
+                       <field reporter:label='All Addresses' name='addresses' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='All Library Cards' name='cards' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='All Circulations' name='checkouts' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='All Hold Requests' name='hold_requests' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='All Permissions' name='permissions' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='All User Settings' name='settings' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Standing Penalties' name='standing_penalties' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Statistical Category Entries' name='stat_cat_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Survey Responses' name='survey_responses' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Workstation Org Unit' name='ws_ou' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Workstation ID' name='wsid' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Active' name='active' reporter:datatype='bool'></field>
+                       <field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field>
+                       <field reporter:label='Barred' name='barred' reporter:datatype='bool'></field>
+                       <field reporter:label='Physical Address' name='billing_address' reporter:datatype='link'></field>
+                       <field reporter:label='Current Library Card' name='card' reporter:datatype='link'></field>
+                       <field reporter:label='Claims-returned Count' name='claims_returned_count' reporter:datatype='int'></field>
+                       <field reporter:label='Claims Never Checked Out Count' name='claims_never_checked_out_count' reporter:datatype='int'></field>
+                       <field reporter:label='Record Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field>
+                       <field reporter:label='User Credit Balance' name='credit_forward_balance' reporter:datatype='money'></field>
+                       <field reporter:label='Daytime Phone' name='day_phone' reporter:datatype='text'></field>
+                       <field reporter:label='Date of Birth' name='dob' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Email Address' name='email' reporter:datatype='text'></field>
+                       <field reporter:label='Evening Phone' name='evening_phone' reporter:datatype='text'></field>
+                       <field reporter:label='Privilege Expiration Date' name='expire_date' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Last Name' name='family_name' reporter:datatype='text'></field>
+                       <field reporter:label='First Name' name='first_given_name' reporter:datatype='text'></field>
+                       <field reporter:label='Home Library' name='home_ou' reporter:datatype='org_unit'></field>
+                       <field reporter:label='User ID' name='id' reporter:datatype='id'></field>
+                       <field reporter:label='Primary Identification Type' name='ident_type' reporter:datatype='link'></field>
+                       <field reporter:label='Secondary Identification Type' name='ident_type2' reporter:datatype='link'></field>
+                       <field reporter:label='Primary Identification' name='ident_value' reporter:datatype='text'></field>
+                       <field reporter:label='Secondary Identification' name='ident_value2' reporter:datatype='text'></field>
+                       <field reporter:label='Last Transaction ID' name='last_xact_id' reporter:datatype='text'></field>
+                       <field reporter:label='Mailing Address' name='mailing_address' reporter:datatype='link'></field>
+                       <field reporter:label='Is Group Lead Account' name='master_account' reporter:datatype='bool'></field>
+                       <field reporter:label='Internet Access Level' name='net_access_level' reporter:datatype='link'></field>
+                       <field reporter:label='Other Phone' name='other_phone' reporter:datatype='text'></field>
+                       <field reporter:label='Password' name='passwd' reporter:datatype='text' suppress_controller='open-ils.pcrud open-ils.reporter-store'></field>
+                       <field reporter:label='Photo URL' name='photo_url' reporter:datatype='text'></field>
+                       <field reporter:label='Prefix/Title' name='prefix' reporter:datatype='text'></field>
+                       <field reporter:label='Main (Profile) Permission Group' name='profile' reporter:datatype='link'></field>
+                       <field reporter:label='Middle Name' name='second_given_name' reporter:datatype='text'></field>
+                       <field reporter:label='Standing (unused)' name='standing' reporter:datatype='link'></field>
+                       <field reporter:label='Suffix' name='suffix' reporter:datatype='text'></field>
+                       <field reporter:label='Is Super User' name='super_user' reporter:datatype='bool'></field>
+                       <field reporter:label='Family Linkage or other Group' name='usrgroup' reporter:datatype='int'></field>
+                       <field reporter:label='OPAC/Staff Client User Name' name='usrname' reporter:datatype='text'></field>
+                       <field reporter:label='OPAC/Staff Client Holds Alias' name='alias' reporter:datatype='text'></field>
+                       <field reporter:label='Juvenile' name='juvenile' reporter:datatype='bool'></field>
+                       <field reporter:label='Record Last Update Time' name='last_update_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Additional Permission Groups' name='groups' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field>
+                       <field reporter:label='User Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Demographic Info' name='demographic' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Billable Transactions' name='billable_transactions' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Money Summary' name='money_summary' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Open Billable Transactions' name='open_billable_transactions_summary' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Checkins' name='checkins' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Circulations Performed as Staff' name='performed_circulations' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Fund Allocation Percentages' name='fund_alloc_pcts' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Reservations' name='reservations' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='User Activity Entries' name='usr_activity' reporter:datatype='link' oils_persist:virtual='true'></field>
+               </fields>
+               <links>
+                       <link field='demographic' reltype='might_have' class='rud' key='id' map=''></link>
+                       <link field='net_access_level' reltype='has_a' class='cnal' key='id' map=''></link>
+                       <link field='profile' reltype='has_a' class='pgt' key='id' map=''></link>
+                       <link field='ident_type' reltype='has_a' class='cit' key='id' map=''></link>
+                       <link field='billing_address' reltype='has_a' class='aua' key='id' map=''></link>
+                       <link field='mailing_address' reltype='has_a' class='aua' key='id' map=''></link>
+                       <link field='home_ou' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='standing' reltype='has_a' class='cst' key='id' map=''></link>
+                       <link field='card' reltype='has_a' class='ac' key='id' map=''></link>
+                       <link field='ident_type2' reltype='has_a' class='cit' key='id' map=''></link>
+                       <link field='stat_cat_entries' reltype='has_many' class='actscecm' key='target_usr' map=''></link>
+                       <link field='groups' reltype='has_many' class='pugm' key='usr' map='grp'></link>
+                       <link field='usrgroup' reltype='has_many' class='au' key='usrgroup' map=''></link>
+                       <link field='checkouts' reltype='has_many' class='circ' key='usr' map=''></link>
+                       <link field='hold_requests' reltype='has_many' class='ahr' key='usr' map=''></link>
+                       <link field='permissions' reltype='has_many' class='pupm' key='usr' map='perm'></link>
+                       <link field='settings' reltype='has_many' class='aus' key='usr' map=''></link>
+                       <link field='billable_transactions' reltype='has_many' class='mbt' key='usr' map=''></link>
+                       <link field='open_billable_transactions_summary' reltype='has_many' class='mobts' key='usr' map=''></link>
+                       <link field='money_summary' reltype='might_have' class='mus' key='usr' map=''></link>
+                       <link field='standing_penalties' reltype='has_many' class='ausp' key='usr' map=''></link>
+                       <link field='addresses' reltype='has_many' class='aua' key='usr' map=''></link>
+                       <link field='survey_responses' reltype='has_many' class='asvr' key='usr' map=''></link>
+                       <link field='notes' reltype='has_many' class='aun' key='usr' map=''></link>
+                       <link field='checkins' reltype='has_many' class='circ' key='checkin_staff' map=''></link>
+                       <link field='cards' reltype='has_many' class='ac' key='usr' map=''></link>
+                       <link field='performed_circulations' reltype='has_many' class='circ' key='circ_staff' map=''></link>
+                       <link field='fund_alloc_pcts' reltype='has_many' class='acqfap' key='allocator' map=''></link>
+                       <link field='reservations' reltype='has_many' class='bresv' key='usr' map=''></link>
+                       <link field='usr_activity' reltype='has_many' class='auact' key='usr' map=''></link>
+               </links>
+               <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
+                       <actions>
+                               <retrieve context_field='home_ou' permission='VIEW_USER'></retrieve>
+                       </actions>
+               </permacrud>
+       </class><class reporter:label='Copy Status' oils_persist:tablename='config.copy_status' oils_obj:fieldmapper='config::copy_status' controller='open-ils.cstore open-ils.pcrud' oils_persist:field_safe='true' id='ccs' oils_persist:restrict_primary='100'>
+               <fields oils_persist:sequence='config.copy_status_id_seq' oils_persist:primary='id'>
+                       <field name='holdable' reporter:datatype='bool'></field>
+                       <field name='id' reporter:datatype='id' reporter:selector='name'></field>
+                       <field name='name' reporter:datatype='text' oils_persist:i18n='true'></field>
+                       <field name='opac_visible' reporter:datatype='bool'></field>
+            <field name='copy_active' reporter:datatype='bool'></field>
+           <field name='restrict_copy_delete' reporter:datatype='bool'></field>
+               </fields>
+               <links></links>
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
+            <actions>
+                <create global_required='true' permission='CREATE_COPY_STATUS'></create>
+                <retrieve></retrieve>
+                <update global_required='true' permission='UPDATE_COPY_STATUS'></update>
+                <delete global_required='true' permission='DELETE_COPY_STATUS'></delete>
+            </actions>
+        </permacrud>
+       </class><class reporter:label='Circulation' oils_persist:tablename='action.circulation' reporter:core='true' oils_obj:fieldmapper='action::circulation' controller='open-ils.cstore open-ils.pcrud' id='circ'>
+               <fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'>
+                       <field reporter:label='Check In Library' name='checkin_lib' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Check In Staff' name='checkin_staff' reporter:datatype='link'></field>
+                       <field reporter:label='Check In Date/Time' name='checkin_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Circulating Staff' name='circ_staff' reporter:datatype='link'></field>
+                       <field reporter:label='Desk Renewal' name='desk_renewal' reporter:datatype='bool'></field>
+                       <field reporter:label='Due Date/Time' name='due_date' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Circulation Duration' name='duration' reporter:datatype='interval'></field>
+                       <field reporter:label='Circ Duration Rule' name='duration_rule' reporter:datatype='link'></field>
+                       <field reporter:label='Fine Interval' name='fine_interval' reporter:datatype='interval'></field>
+                       <field reporter:label='Circ ID' name='id' reporter:datatype='id'></field>
+                       <field reporter:label='Max Fine Amount' name='max_fine' reporter:datatype='money'></field>
+                       <field reporter:label='Max Fine Rule' name='max_fine_rule' reporter:datatype='link'></field>
+                       <field reporter:label='OPAC Renewal' name='opac_renewal' reporter:datatype='bool'></field>
+                       <field reporter:label='Phone Renewal' name='phone_renewal' reporter:datatype='bool'></field>
+                       <field reporter:label='Recurring Fine Amount' name='recurring_fine' reporter:datatype='money'></field>
+                       <field reporter:label='Recurring Fine Rule' name='recurring_fine_rule' reporter:datatype='link'></field>
+                       <field reporter:label='Remaining Renewals' name='renewal_remaining' reporter:datatype='int'></field>
+                       <field reporter:label='Grace Period' name='grace_period' reporter:datatype='interval'></field>
+                       <field reporter:label='Fine Stop Reason' name='stop_fines' reporter:datatype='text'></field>
+                       <field reporter:label='Fine Stop Date/Time' name='stop_fines_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Circulating Item' name='target_copy' reporter:datatype='link'></field>
+                       <field reporter:label='Patron' name='usr' reporter:datatype='link'></field>
+                       <field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Check Out Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Record Creation Date/Time' name='create_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Workstation' name='workstation' reporter:datatype='link'></field>
+                       <field reporter:label='Checkin Workstation' name='checkin_workstation' reporter:datatype='link'></field>
+                       <field reporter:label='Checkin Scan Date/Time' name='checkin_scan_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Parent Circulation' name='parent_circ' reporter:datatype='link'></field>
+                       <field reporter:label='Transaction Billings' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Transaction Payments' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Base Transaction' name='billable_transaction' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Circulation Type' name='circ_type' reporter:datatype='text' oils_persist:virtual='true'></field>
+                       <field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field>
+                       <field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field>
+                       <field reporter:label='Unrecovered Debt' name='unrecovered' reporter:datatype='bool'></field>
+                       <field reporter:label='Shelving Location' name='copy_location' reporter:datatype='link'></field>
+                       <field reporter:label='Archived Patron Stat-Cat Entries' name='aaactsc_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Archived Copy Stat-Cat Entries' name='aaasc_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
+               </fields>
+               <links>
+                       <link field='billable_transaction' reltype='might_have' class='mbt' key='id' map=''></link>
+                       <link field='circ_staff' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='checkin_lib' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
+                       <link field='checkin_staff' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='payments' reltype='has_many' class='mp' key='xact' map=''></link>
+                       <link field='billings' reltype='has_many' class='mb' key='xact' map=''></link>
+                       <link field='duration_rule' reltype='has_a' class='crcd' key='name' map=''></link>
+                       <link field='max_fine_rule' reltype='has_a' class='crmf' key='name' map=''></link>
+                       <link field='recurring_fine_rule' reltype='has_a' class='crrf' key='name' map=''></link>
+                       <link field='circ_type' reltype='might_have' class='rcirct' key='id' map=''></link>
+                       <link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link>
+                       <link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link>
+                       <link field='workstation' reltype='has_a' class='aws' key='id' map=''></link>
+                       <link field='checkin_workstation' reltype='has_a' class='aws' key='id' map=''></link>
+                       <link field='parent_circ' reltype='has_a' class='circ' key='id' map=''></link>
+                       <link field='renewals' reltype='has_many' class='circ' key='parent_circ' map=''></link>
+                       <link field='copy_location' reltype='has_a' class='acpl' key='id' map=''></link>
+                       <link field='aaactsc_entries' reltype='has_many' class='aaactsc' key='xact' map=''></link>
+                       <link field='aaasc_entries' reltype='has_many' class='aaasc' key='xact' map=''></link>
+               </links>
+               <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
+                       <actions>
+                               <retrieve context_field='circ_lib' permission='VIEW_CIRCULATIONS'></retrieve>
+                       </actions>
+               </permacrud>
+       </class><class oils_obj:fieldmapper='container::biblio_record_entry_bucket' reporter:label='Bibliographic Record Entry Bucket' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket' id='cbreb'>
+               <fields oils_persist:sequence='container.biblio_record_entry_bucket_id_seq' oils_persist:primary='id'>
+                       <field name='items' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field name='btype' reporter:datatype='text'></field>
+                       <field name='id' reporter:datatype='id'></field>
+                       <field name='name' reporter:datatype='text'></field>
+                       <field name='description' reporter:datatype='text'></field>
+                       <field name='owner' reporter:datatype='link'></field>
+                       <field name='pub' reporter:datatype='bool'></field>
+                       <field name='create_time' reporter:datatype='timestamp'></field>
+               </fields>
+               <links>
+                       <link field='owner' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='items' reltype='has_many' class='cbrebi' key='bucket' map=''></link>
+               </links>
+       </class><class oils_obj:fieldmapper='container::biblio_record_entry_bucket_note' reporter:label='Bibliographic Record Entry Bucket Note' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_note' id='cbrebn'>
+               <fields oils_persist:sequence='container.biblio_record_entry_bucket_note_id_seq' oils_persist:primary='id'>
+                       <field name='id' reporter:datatype='id'></field>
+                       <field name='bucket' reporter:datatype='link'></field>
+                       <field name='note' reporter:datatype='text'></field>
+               </fields>
+               <links>
+                       <link field='bucket' reltype='has_a' class='cbreb' key='id' map=''></link>
+               </links>
+       </class><class reporter:label='Hold Request' oils_persist:tablename='action.hold_request' reporter:core='true' oils_obj:fieldmapper='action::hold_request' controller='open-ils.cstore open-ils.pcrud' id='ahr'>
+               <fields oils_persist:sequence='action.hold_request_id_seq' oils_persist:primary='id'>
+                       <field reporter:label='Status' name='status' oils_persist:virtual='true'></field>
+                       <field reporter:label='Transit' name='transit' oils_persist:virtual='true'></field>
+                       <field reporter:label='Capture Date/Time' name='capture_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Currently Targeted Copy' name='current_copy'></field>
+                       <field reporter:label='Notify by Email?' name='email_notify' reporter:datatype='bool'></field>
+                       <field reporter:label='Hold Expire Date/Time' name='expire_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Fulfilling Library' name='fulfillment_lib' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Fulfilling Staff' name='fulfillment_staff'></field>
+                       <field reporter:label='Fulfillment Date/Time' name='fulfillment_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Hold Type' name='hold_type' reporter:datatype='text'></field>
+                       <field reporter:label='Holdable Formats (for M-type hold)' name='holdable_formats' reporter:datatype='text'></field>
+                       <field reporter:label='Hold ID' name='id' reporter:datatype='id'></field>
+                       <field reporter:label='Notifications Phone Number' name='phone_notify' reporter:datatype='text'></field>
+                       <field reporter:label='Notifications SMS Number' name='sms_notify' reporter:datatype='text'></field>
+                       <field reporter:label='Notifications SMS Carrier' name='sms_carrier' reporter:datatype='link'></field>
+                       <field reporter:label='Pickup Library' name='pickup_lib' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Last Targeting Date/Time' name='prev_check_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Requesting Library' name='request_lib' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Request Date/Time' name='request_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Requesting User' name='requestor' reporter:datatype='link'></field>
+                       <field reporter:label='Item Selection Depth' name='selection_depth'></field>
+                       <field reporter:label='Selection Locus' name='selection_ou' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Target Object ID' name='target' reporter:datatype='link'></field>
+                       <field reporter:label='Hold User' name='usr' reporter:datatype='link'></field>
+                       <field reporter:label='Hold Cancel Date/Time' name='cancel_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Notify Time' name='notify_time' reporter:datatype='timestamp' oils_persist:virtual='true'></field>
+                       <field reporter:label='Notify Count' name='notify_count' reporter:datatype='int' oils_persist:virtual='true'></field>
+                       <field reporter:label='Notifications' name='notifications' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Bib Record link' name='bib_rec' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Eligible Copies' name='eligible_copies' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Currently Frozen' name='frozen' reporter:datatype='bool'></field>
+                       <field reporter:label='Thaw Date (if frozen)' name='thaw_date' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Shelf Time' name='shelf_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Cancelation cause' name='cancel_cause' reporter:datatype='link'></field>
+                       <field reporter:label='Cancelation note' name='cancel_note' reporter:datatype='text'></field>
+                       <field reporter:label='Top of Queue' name='cut_in_line' reporter:datatype='bool'></field>
+                       <field reporter:label='Is Mint Condition' name='mint_condition' reporter:datatype='bool'></field>
+                       <field reporter:label='Shelf Expire Time' name='shelf_expire_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Current Shelf Lib' name='current_shelf_lib' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Behind Desk' name='behind_desk' reporter:datatype='bool'></field>
+               </fields>
+               <links>
+                       <link field='fulfillment_lib' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='fulfillment_staff' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='pickup_lib' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='selection_ou' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='requestor' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='current_copy' reltype='has_a' class='acp' key='id' map=''></link>
+                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='request_lib' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='transit' reltype='might_have' class='ahtc' key='hold' map=''></link>
+                       <link field='notifications' reltype='has_many' class='ahn' key='hold' map=''></link>
+                       <link field='eligible_copies' reltype='has_many' class='ahcm' key='hold' map='target_copy'></link>
+                       <link field='bib_rec' reltype='might_have' class='rhrr' key='id' map=''></link>
+                       <link field='cancel_cause' reltype='might_have' class='ahrcc' key='id' map=''></link>
+                       <link field='notes' reltype='has_many' class='ahrn' key='hold' map=''></link>
+                       <link field='current_shelf_lib' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='sms_carrier' reltype='has_a' class='csc' key='id' map=''></link>
+               </links>
+               <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
+                       <actions>
+                               <retrieve context_field='pickup_lib' permission='VIEW_HOLD'></retrieve>
+                       </actions>
+               </permacrud>
+       </class><class oils_obj:fieldmapper='money::billable_transaction' reporter:label='Billable Transaction' controller='open-ils.cstore' oils_persist:tablename='money.billable_xact' id='mbt'>
+               <fields oils_persist:sequence='money.billable_xact_id_seq' oils_persist:primary='id'>
+                       <field reporter:label='Transaction ID' name='id' reporter:datatype='id'></field>
+                       <field reporter:label='User' name='usr' reporter:datatype='link'></field>
+                       <field reporter:label='Transaction Finish Date/Time' name='xact_finish' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Transaction Start Date/Time' name='xact_start' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Unrecovered Debt' name='unrecovered' reporter:datatype='bool'></field>
+                       <field reporter:label='Grocery Billing link' name='grocery' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Circulation Billing link' name='circulation' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Billing Line Items' name='billings' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Payment Line Items' name='payments' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Billing Totals' name='billing_total' reporter:datatype='money' oils_persist:virtual='true'></field>
+                       <field reporter:label='Payment Totals' name='payment_total' reporter:datatype='money' oils_persist:virtual='true'></field>
+                       <field reporter:label='Payment Summary' name='summary' reporter:datatype='link' oils_persist:virtual='true'></field>
+               </fields>
+               <links>
+                       <link field='grocery' reltype='might_have' class='mg' key='id' map=''></link>
+                       <link field='circulation' reltype='might_have' class='circ' key='id' map=''></link>
+                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='payments' reltype='has_many' class='mp' key='xact' map=''></link>
+                       <link field='billings' reltype='has_many' class='mb' key='xact' map=''></link>
+                       <link field='billing_total' reltype='might_have' class='rxbt' key='xact' map=''></link>
+                       <link field='payment_total' reltype='might_have' class='rxpt' key='xact' map=''></link>
+                       <link field='summary' reltype='might_have' class='mbts' key='id' map=''></link>
+               </links>
+       </class><class oils_obj:fieldmapper='money::user_summary' reporter:label='User Summary' controller='open-ils.cstore' oils_persist:tablename='money.usr_summary' id='mus'>
+               <fields oils_persist:sequence='' oils_persist:primary='usr'>
+                       <field name='balance_owed' reporter:datatype='money'></field>
+                       <field name='total_owed' reporter:datatype='money'></field>
+                       <field name='total_paid' reporter:datatype='money'></field>
+                       <field name='usr' reporter:datatype='link'></field>
+               </fields>
+               <links>
+                       <link field='usr' reltype='has_a' class='au' key='id' map=''></link>
+               </links>
+       </class><class reporter:label='Item' oils_persist:tablename='asset.copy' reporter:core='true' oils_obj:fieldmapper='asset::copy' controller='open-ils.cstore open-ils.pcrud' id='acp'>
+               <fields oils_persist:sequence='asset.copy_id_seq' oils_persist:primary='id'>
+                       <field reporter:label='Age Hold Protection' name='age_protect' reporter:datatype='link'></field>
+                       <field reporter:label='Alert Message' name='alert_message' reporter:datatype='text'></field>
+                       <field reporter:label='Barcode' name='barcode' reporter:datatype='text'></field>
+                       <field reporter:label='Call Number/Volume' name='call_number' reporter:datatype='link'></field>
+                       <field reporter:label='Circulation Type (MARC)' name='circ_as_type' reporter:datatype='text'></field>
+                       <field reporter:label='Circulating Library' name='circ_lib' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Circulation Modifier' name='circ_modifier' reporter:datatype='link'></field>
+                       <field reporter:label='Can Circulate' name='circulate' reporter:datatype='bool'></field>
+                       <field reporter:label='Copy Number on Volume' name='copy_number' reporter:datatype='text'></field>
+                       <field reporter:label='Creation Date/Time' name='create_date' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Active Date/Time' name='active_date' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Creating User' name='creator' reporter:datatype='link'></field>
+                       <field reporter:label='Is Deleted' name='deleted' reporter:datatype='bool'></field>
+                       <field reporter:label='Dummy ISBN' name='dummy_isbn' reporter:datatype='text'></field>
+                       <field reporter:label='Is Deposit Required' name='deposit' reporter:datatype='bool'></field>
+                       <field reporter:label='Deposit Amount' name='deposit_amount' reporter:datatype='money'></field>
+                       <field reporter:label='Precat Dummy Author' name='dummy_author' reporter:datatype='text'></field>
+                       <field reporter:label='Precat Dummy Title' name='dummy_title' reporter:datatype='text'></field>
+                       <field reporter:label='Last Edit Date/Time' name='edit_date' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Last Editing User' name='editor' reporter:datatype='link'></field>
+                       <field reporter:label='Fine Level' name='fine_level' reporter:datatype='int'></field>
+                       <field reporter:label='Is Holdable' name='holdable' reporter:datatype='bool'></field>
+                       <field reporter:label='Copy ID' name='id' reporter:datatype='id'></field>
+                       <field reporter:label='Loan Duration' name='loan_duration' reporter:datatype='int'></field>
+                       <field reporter:label='Shelving Location' name='location' reporter:datatype='link'></field>
+                       <field reporter:label='OPAC Visible' name='opac_visible' reporter:datatype='bool'></field>
+                       <field reporter:label='Price' name='price' reporter:datatype='money'></field>
+                       <field reporter:label='Is Reference' name='ref' reporter:datatype='bool'></field>
+                       <field reporter:label='Copy Status' name='status' reporter:datatype='link'></field>
+                       <field reporter:label='Copy Status Changed Time' name='status_changed_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Is Mint Condition' name='mint_condition' reporter:datatype='bool'></field>
+                       <field reporter:label='Floating Group' name='floating' reporter:datatype='link'></field>
+                       <field reporter:label='Cost' name='cost' reporter:datatype='money'></field>
+                       <field reporter:label='Copy Notes' name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Stat-Cat entry maps' name='stat_cat_entry_copy_maps' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Circulations' name='circulations' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Total Circulations' name='total_circ_count' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Last Circulation Date' name='last_circ' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Holds' name='holds' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Statistical Category Entries' name='stat_cat_entries' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Monograph Parts' name='parts' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Peer Record Maps' name='peer_record_maps' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Peer Records' name='peer_records' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Last Captured Hold' name='last_captured_hold' reporter:datatype='link' oils_persist:virtual='true'></field>
+               </fields>
+               <links>
+                       <link field='age_protect' reltype='has_a' class='crahp' key='id' map=''></link>
+                       <link field='call_number' reltype='has_a' class='acn' key='id' map=''></link>
+                       <link field='location' reltype='has_a' class='acpl' key='id' map=''></link>
+                       <link field='editor' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='creator' reltype='has_a' class='au' key='id' map=''></link>
+                       <link field='status' reltype='has_a' class='ccs' key='id' map=''></link>
+                       <link field='circ_lib' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='holds' reltype='has_many' class='ahcm' key='target_copy' map='hold'></link>
+                       <link field='stat_cat_entry_copy_maps' reltype='has_many' class='ascecm' key='owning_copy' map=''></link>
+                       <link field='notes' reltype='has_many' class='acpn' key='owning_copy' map=''></link>
+                       <link field='stat_cat_entries' reltype='has_many' class='ascecm' key='owning_copy' map='stat_cat_entry'></link>
+                       <link field='circulations' reltype='has_many' class='circ' key='target_copy' map=''></link>
+                       <link field='total_circ_count' reltype='might_have' class='erfcc' key='id' map=''></link>
+                       <link field='last_circ' reltype='might_have' class='rlc' key='id' map=''></link>
+                       <link field='circ_modifier' reltype='has_a' class='ccm' key='code' map=''></link>
+                       <link field='parts' reltype='has_many' class='acpm' key='target_copy' map='part'></link>
+                       <link field='peer_record_maps' reltype='has_many' class='bpbcm' key='target_copy' map=''></link>
+                       <link field='peer_records' reltype='has_many' class='bpbcm' key='target_copy' map='peer_record'></link>
+                       <link field='last_captured_hold' reltype='has_a' class='alhr' key='current_copy' map=''></link>
+                       <link field='floating' reltype='has_a' class='cfg' key='id' map=''></link>
+               </links>
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
+            <actions>
+                <create permission='CREATE_COPY'>
+                    <context field='owning_lib' link='call_number'></context>
+                </create>
+                <retrieve></retrieve>
+                <update permission='UPDATE_COPY'>
+                    <context field='owning_lib' link='call_number'></context>
+                </update>
+                <delete permission='DELETE_COPY'>
+                    <context field='owning_lib' link='call_number'></context>
+                </delete>
+            </actions>
+        </permacrud>
+       </class><class oils_obj:fieldmapper='container::biblio_record_entry_bucket_item' reporter:label='Biblio Record Entry Bucket Item' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_item' id='cbrebi'>
+               <fields oils_persist:sequence='container.biblio_record_entry_bucket_item_id_seq' oils_persist:primary='id'>
+                       <field name='bucket' reporter:datatype='link'></field>
+                       <field name='id' reporter:datatype='id'></field>
+                       <field name='target_biblio_record_entry' reporter:datatype='link'></field>
+                       <field name='create_time' reporter:datatype='timestamp'></field>
+                       <field name='pos' reporter:datatype='int'></field>
+                       <field name='notes' reporter:datatype='link' oils_persist:virtual='true'></field>
+               </fields>
+               <links>
+                       <link field='target_biblio_record_entry' reltype='has_a' class='bre' key='id' map=''></link>
+                       <link field='bucket' reltype='has_a' class='cbreb' key='id' map=''></link>
+            <link field='notes' reltype='has_many' class='cbrebin' key='item' map=''></link>
+               </links>
+       </class><class oils_obj:fieldmapper='container::biblio_record_entry_bucket_item_note' reporter:label='Biblio Record Entry Bucket Item Note' controller='open-ils.cstore' oils_persist:tablename='container.biblio_record_entry_bucket_item_note' id='cbrebin'>
+               <fields oils_persist:sequence='container.biblio_record_entry_bucket_item_note_id_seq' oils_persist:primary='id'>
+                       <field name='id' reporter:datatype='id'></field>
+                       <field name='item' reporter:datatype='link'></field>
+                       <field name='note' reporter:datatype='text'></field>
+               </fields>
+               <links>
+                       <link field='item' reltype='has_a' class='cbrebi' key='id' map=''></link>
+               </links>
+       </class><class reporter:label='Hold Transit' oils_persist:tablename='action.hold_transit_copy' reporter:core='true' oils_obj:fieldmapper='action::hold_transit_copy' controller='open-ils.cstore open-ils.pcrud' id='ahtc'>
+               <fields oils_persist:sequence='action.transit_copy_id_seq' oils_persist:primary='id'>
+                       <field reporter:label='Copy Status at Transit' name='copy_status' reporter:datatype='link'></field>
+                       <field reporter:label='Destination Library' name='dest' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Receive Date/Time' name='dest_recv_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Hold requiring Transit' name='hold' reporter:datatype='link'></field>
+                       <field reporter:label='Transit ID' name='id' reporter:datatype='id'></field>
+                       <field reporter:label='Is Persistent?' name='persistant_transfer' reporter:datatype='bool'></field>
+                       <field reporter:label='Previous Stop' name='prev_hop' reporter:datatype='link'></field>
+                       <field reporter:label='Sending Library' name='source' reporter:datatype='org_unit'></field>
+                       <field reporter:label='Send Date/Time' name='source_send_time' reporter:datatype='timestamp'></field>
+                       <field reporter:label='Transited Copy' name='target_copy' reporter:datatype='link'></field>
+                       <field reporter:label='Base Transit' name='transit_copy' reporter:datatype='link' oils_persist:virtual='true'></field>
+                       <field reporter:label='Prev Destination Library' name='prev_dest' reporter:datatype='org_unit'></field>
+               </fields>
+               <links>
+                       <link field='transit_copy' reltype='might_have' class='atc' key='id' map=''></link>
+                       <link field='target_copy' reltype='has_a' class='acp' key='id' map=''></link>
+                       <link field='source' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='copy_status' reltype='has_a' class='ccs' key='id' map=''></link>
+                       <link field='dest' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='prev_dest' reltype='has_a' class='aou' key='id' map=''></link>
+                       <link field='hold' reltype='has_a' class='ahr' key='id' map=''></link>
+               </links>
+        <permacrud xmlns='http://open-ils.org/spec/opensrf/IDL/permacrud/v1'>
+            <actions>
+                <create context_field='owner' permission='TRANSIT_COPY'>
+                    <context field='circ_lib' link='target_copy'></context>
+                </create>
+                <retrieve></retrieve>
+                <update context_field='dest source' permission='UPDATE_TRANSIT'></update>
+                <delete context_field='dest source' permission='DELETE_TRANSIT'></delete>
+            </actions>
+        </permacrud>
+       </class></IDL>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/eg_app/eg_app.iml b/Open-ILS/src/Android/eg_app/eg_app.iml
new file mode 100644 (file)
index 0000000..baccb65
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="android" name="Android">
+      <configuration>
+        <option name="UPDATE_PROPERTY_FILES" value="true" />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
+    </content>
+    <orderEntry type="jdk" jdkName="Android API 19 Platform" jdkType="Android SDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module" module-name="core" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/Open-ILS/src/Android/eg_app/fetch_idl.sh b/Open-ILS/src/Android/eg_app/fetch_idl.sh
new file mode 100644 (file)
index 0000000..a671ee0
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+root=http://demo.evergreencatalog.com
+curl -o assets/fm_IDL.xml "$root/reports/fm_IDL.xml?class=acn&class=acp&class=ahr&class=ahtc&class=au&class=bmp&class=cbreb&class=cbrebi&class=cbrebin&class=cbrebn&class=ccs&class=circ&class=ex&class=mbt&class=mbts&class=mous&class=mus&class=mvr&class=perm_ex"
diff --git a/Open-ILS/src/Android/eg_app/res/values/ou.xml b/Open-ILS/src/Android/eg_app/res/values/ou.xml
new file mode 100644 (file)
index 0000000..c5d847b
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- ou.xml - organizational unit app customization -->
+<resources>
+    <string name="ou_account_label">Evergreen Library</string>
+    <string name="ou_account_sign_in_message">Sign in to your\nEvergreen Library Account</string>
+    <string name="ou_account_type">org.evergreen-ils.eg_app</string>
+    <string name="ou_app_label">Evergreen</string>
+    <string name="ou_app_name">Evergreen</string>
+    <string name="ou_library_url">http://demo.evergreencatalog.com</string>
+</resources>