!Record in-house use: # of uses threshold for Are You Sure? dialog.!In the Record In-House Use interface, a submission attempt will warn if the # of uses field exceeds the value of this setting.!Number!
!Record In-House Use: Maximum # of uses allowed per entry.!The # of uses entry in the Record In-House Use interface may not exceed the value of this setting.!Number!
!Regex for barcodes on patron registration!The Regular Expression for validation on barcodes in patron registration.!Regular Expression!
-!Regex for Day_phone field on patron registration! The Regular Expression for validation on the Day_phone field in patron registration. Note: The first capture group will be used for the "last 4 digits of phone number" as patron password feature, if enabled. Ex: "[2-9]\d{2}-\d{3}-(\d{4})( x\d+)?" will ignore the extension on a NANP number.!Regular expression!
+!Regex for Day_phone field on patron registration! The Regular Expression for validation on the Day_phone field in patron registration. Note: The first capture group will be used for the "last 4 digits of phone number" as patron password feature, if enabled. Ex: "+[2-9]\d{2}-\d{3}-(\d{4})( x\d+)?+" will ignore the extension on a NANP number.!Regular expression!
!Regex for Email field on patron registration!The Regular Expression on validation on the Email field in patron registration.!Regular expression!
!Regex for Evening-phone on patron registration!The Regular Expression on validation on the Evening-phone field in patron registration.!Regular expression!
!Regex for Other-phone on patron registration!The Regular Expression on validation on the Other-phone field in patron registration.!Regular expression!
-!Regex for phone fields on patron registration!The Regular Expression on validation on phone fields in patron registration. Applies to all phone fields without their own setting.!Regular expression!`^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$` is a US phone number
+!Regex for phone fields on patron registration!The Regular Expression on validation on phone fields in patron registration. Applies to all phone fields without their own setting.!Regular expression!`+^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$+` is a US phone number
!Regex for Postal Code field on patron registration!The Regular Expression on validation on the Postal Code field in patron registration.!Regular expression!
!Require at least one address for Patron Registration!Enforces a requirement for having at least one address for a patron during registration. If set to False, you need to delete the empty address before saving the record. If set to True, deletion is not allowed.!True/False!
!Require XXXXX field on patron registration!The XXXXX field will be required on the patron registration screen.!True/False!XXXXX can be Country, State, Day-phone, Evening-phone, Other-phone, DOB, Email, or Prefix.
Print templates use variables for various pieces of information coming from the
Evergreen database. These variables deal with everything from the library name
to the due date of an item. Information from the database is entered in the
-templates with curly brackets `{{term}}`.
+templates with curly brackets `+{{term}}+`.
Example: `{{checkout.title}}`
easily readable.
|===================================================
-| Code | Result
-|{{today}} | 2017-08-01T14:18:51.445Z
-|{{today \| date:'short'}} | 8/1/17 10:18 AM
-|{{today \| date:'M/d/yyyy'}} | 8/1/2017
+| Code | Result
+|+{{today}}+ | 2017-08-01T14:18:51.445Z
+|+{{today \| date:'short'}}+ | 8/1/17 10:18 AM
+|+{{today \| date:'M/d/yyyy'}}+ | 8/1/2017
|===================================================
=== Currency Formatting ===
------
<div>You checked out the following items:</div>
<br/>
-<div ng-init="transactions.subtotal=0"> <!-- <1> -->
+<div ng-init="transactions.subtotal=0"> <!--1-->
<ol>
<div ng-repeat="checkout in circulations">
- <li ng-init="transactions.subtotal=transactions.subtotal -- checkout.copy.price"> <!-- <2> -->
+ <li ng-init="transactions.subtotal=transactions.subtotal -- checkout.copy.price"> <!--2-->
<b>{{checkout.title}}</b><br/>
Barcode: {{checkout.copy.barcode}}<br/>
Due: {{checkout.circ.due_date | date:"M/d/yyyy"}}
<div style="font-weight:bold;">Total Amount Owed: {{patron_money.balance_owed | currency}}</div>
<div style="font-weight:bold;border:1px dotted black; padding:5px;text-align:center;">
You Saved<br/>
-{{transactions.subtotal | currency}}<br/> <!-- <3> -->
+{{transactions.subtotal | currency}}<br/> <!--3-->
by borrowing from the library!</div>
------
<1> This line sets the variable.
=== Merge Records in Record Buckets ===
-1. Click *Cataloging>Record Buckets*.
-2. Create and/or select a record bucket.
-3. Select the records that you want to merge, and click *Actions>Merge Selected Records*.
-
+. Click *Cataloging>Record Buckets*.
+. Create and/or select a record bucket.
+. Select the records that you want to merge, and click *Actions>Merge Selected Records*.
++
image::media/marcoverlay1.png[]
-
-4. The Merge Selected Records interface appears.
-5. The records to be merged appear on the right side of the screen. Click *Use as Lead Record* to select a lead record from those that need to be merged.
-
++
+. The Merge Selected Records interface appears.
+. The records to be merged appear on the right side of the screen. Click *Use as Lead Record* to select a lead record from those that need to be merged.
++
image::media/marcoverlay2.png[]
-
-6. Select a merge profile from the drop down box.
-
++
+. Select a merge profile from the drop down box.
++
image::media/marcoverlay3.png[]
-
-7. After you select the profile, you can preview the changes that will be made to the record.
-
++
+. After you select the profile, you can preview the changes that will be made to the record.
++
image::media/marcoverlay4.png[]
-
-8. You can change the merge profile at any time; after doing so, the result of the merge will be recalculated. The merge result will also be recalculated after editing the lead record, changing which record is to be used as lead, or removing a record from consideration.
-9. When you are satisfied that you have selected the correct merge profile, click the *Merge* button in the bottom right corner.
-10. Note that merge profiles that contain a preserve field specification are not available to be chosen in this interface, as they would have the effect of reversing which bibliographic record is considered the target of the merge.
++
+. You can change the merge profile at any time; after doing so, the result of the merge will be recalculated. The merge result will also be recalculated after editing the lead record, changing which record is to be used as lead, or removing a record from consideration.
+. When you are satisfied that you have selected the correct merge profile, click the *Merge* button in the bottom right corner.
+. Note that merge profiles that contain a preserve field specification are not available to be chosen in this interface, as they would have the effect of reversing which bibliographic record is considered the target of the merge.
=== Track Record Merges ===
=== Merge Records Using Z39.50 ===
-1. Search for a record in the catalog that you want to overlay.
-2. Select the record, and click *MARC View*.
-3. Select *Mark for: Overlay Target*.
-
+. Search for a record in the catalog that you want to overlay.
+. Select the record, and click *MARC View*.
+. Select *Mark for: Overlay Target*.
++
image::media/marcoverlay5.png[]
-
-4. Click *Cataloging>Import Record from Z39.50*.
-5. Search for the lead record that you want to overlay within the Z39.50 interface.
-6. Select the desired record, and click *Overlay*.
-
++
+. Click *Cataloging>Import Record from Z39.50*.
+. Search for the lead record that you want to overlay within the Z39.50 interface.
+. Select the desired record, and click *Overlay*.
++
image::media/marcoverlay6.png[]
-
-7. The record that you have targeted to be overlaid, and the new record, appear side by side.
-
++
+. The record that you have targeted to be overlaid, and the new record, appear side by side.
++
image::media/marcoverlay7.png[]
-
-8. You can edit the lead record before you overlay the target. To edit the record, click the *Edit Z39.50 Record* button above the lead record.
-9. The MARC editor will appear. You can make your changes in the MARC editor, or you can select the *Flat Text Editor* to make changes. After you have edited the record, click *Modify* in the top right corner, and then *Use Edits* in the bottom right corner. Note that the record you are editing is the version from the Z39.50 server not including any changes that would be made as a result of applying the selected merge file.
-10. You will return to the side-by-side comparison of the records and then can proceed with the overlay.
-11. Once you are satisfied with the record that you want to overlay, select a merge profile from the drop down box, *Choose merge profile*.
-12. Click *Overlay*. The overlay will occur, and you will be taken back to the Z39.50 interface.
-13. Note that the staff client remembers the last merge overlay profile that you selected, so the next time that you open the interface, it will default to that profile. Simply change the profile to make a different selection.
-14. Also note when the merge profile is applied, the Z39.50 record acts as the target of the merge. For example, if your merge profile adds 650 fields, those 650 fields are brought over from the record that already exists in the Evergreen database (i.e., the one that you are overlaying from Z39.50).
-15. Also note that merge profiles that contain a preserve field specification are not available to be chosen in this interface, as they would have the effect of reversing which bibliographic record is considered the target of the merge.
++
+. You can edit the lead record before you overlay the target. To edit the record, click the *Edit Z39.50 Record* button above the lead record.
+. The MARC editor will appear. You can make your changes in the MARC editor, or you can select the *Flat Text Editor* to make changes. After you have edited the record, click *Modify* in the top right corner, and then *Use Edits* in the bottom right corner. Note that the record you are editing is the version from the Z39.50 server not including any changes that would be made as a result of applying the selected merge file.
+. You will return to the side-by-side comparison of the records and then can proceed with the overlay.
+. Once you are satisfied with the record that you want to overlay, select a merge profile from the drop down box, *Choose merge profile*.
+. Click *Overlay*. The overlay will occur, and you will be taken back to the Z39.50 interface.
+. Note that the staff client remembers the last merge overlay profile that you selected, so the next time that you open the interface, it will default to that profile. Simply change the profile to make a different selection.
+. Also note when the merge profile is applied, the Z39.50 record acts as the target of the merge. For example, if your merge profile adds 650 fields, those 650 fields are brought over from the record that already exists in the Evergreen database (i.e., the one that you are overlaying from Z39.50).
+. Also note that merge profiles that contain a preserve field specification are not available to be chosen in this interface, as they would have the effect of reversing which bibliographic record is considered the target of the merge.
=== New Admin Settings ===
-1. Go to *Admin>Local Administration>Library Settings Editor>Upload Default Merge Profile (Z39.50 and Record Buckets)*.
-2. Select a default merge profile, and *click Update Setting*. The merge profiles that appear in this drop down box are those that are created in *MARC Batch Import/Export*. Note that catalogers will only see merge profiles that are allowed by their org unit and permissions.
+. Go to *Admin>Local Administration>Library Settings Editor>Upload Default Merge Profile (Z39.50 and Record Buckets)*.
+. Select a default merge profile, and *click Update Setting*. The merge profiles that appear in this drop down box are those that are created in *MARC Batch Import/Export*. Note that catalogers will only see merge profiles that are allowed by their org unit and permissions.
[source,xml]
--------------------------------------------------------------------------------
<apps>
- <opensrf.simple-text> <!-- <1> -->
- <keepalive>3</keepalive> <!-- <2> -->
- <stateless>1</stateless> <!-- <3> -->
- <language>perl</language> <!-- <4> -->
- <implementation>OpenSRF::Application::Demo::SimpleText</implementation> <!-- <5> -->
- <max_requests>100</max_requests> <!-- <6> -->
+ <opensrf.simple-text> <!--1-->
+ <keepalive>3</keepalive> <!--2-->
+ <stateless>1</stateless> <!--3-->
+ <language>perl</language> <!--4-->
+ <implementation>OpenSRF::Application::Demo::SimpleText</implementation> <!--5-->
+ <max_requests>100</max_requests> <!--6-->
<unix_config>
- <max_requests>1000</max_requests> <!-- <7> -->
- <unix_log>opensrf.simple-text_unix.log</unix_log> <!-- <8> -->
- <unix_sock>opensrf.simple-text_unix.sock</unix_sock> <!-- <9> -->
- <unix_pid>opensrf.simple-text_unix.pid</unix_pid> <!-- <10> -->
- <min_children>5</min_children> <!-- <11> -->
- <max_children>15</max_children> <!-- <12> -->
- <min_spare_children>2</min_spare_children> <!-- <13> -->
- <max_spare_children>5</max_spare_children> <!-- <14> -->
+ <max_requests>1000</max_requests> <!--7-->
+ <unix_log>opensrf.simple-text_unix.log</unix_log> <!--8-->
+ <unix_sock>opensrf.simple-text_unix.sock</unix_sock> <!--9-->
+ <unix_pid>opensrf.simple-text_unix.pid</unix_pid> <!--10-->
+ <min_children>5</min_children> <!--11-->
+ <max_children>15</max_children> <!--12-->
+ <min_spare_children>2</min_spare_children> <!--13-->
+ <max_spare_children>5</max_spare_children> <!--14-->
</unix_config>
</opensrf.simple-text>
.Making a service publicly accessible in `opensrf_core.xml`
[source,xml]
--------------------------------------------------------------------------------
-<router> <!-- <1> -->
+<router> <!--1-->
<!-- This is the public router. On this router, we only register applications
which should be accessible to everyone on the opensrf network -->
<name>router</name>
- <domain>public.localhost</domain> <!-- <2> -->
+ <domain>public.localhost</domain> <!--2-->
<services>
<service>opensrf.math</service>
- <service>opensrf.simple-text</service> <!-- <3> -->
+ <service>opensrf.simple-text</service> <!--3-->
</services>
</router>
--------------------------------------------------------------------------------
<class id="mous" controller="open-ils.cstore open-ils.pcrud"
oils_obj:fieldmapper="money::open_user_summary"
oils_persist:tablename="money.open_usr_summary"
- reporter:label="Open User Summary"> <!-- <1> -->
- <fields oils_persist:primary="usr" oils_persist:sequence=""> <!-- <2> -->
- <field name="balance_owed" reporter:datatype="money" /> <!-- <3> -->
+ reporter:label="Open User Summary"> <!--1-->
+ <fields oils_persist:primary="usr" oils_persist:sequence=""> <!--2-->
+ <field name="balance_owed" reporter:datatype="money" /> <!--3-->
<field name="total_owed" reporter:datatype="money" />
<field name="total_paid" reporter:datatype="money" />
<field name="usr" reporter:datatype="link"/>
</fields>
<links>
- <link field="usr" reltype="has_a" key="id" map="" class="au"/> <!-- <4> -->
+ <link field="usr" reltype="has_a" key="id" map="" class="au"/> <!--4-->
</links>
- <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1"> <!-- <5> -->
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1"> <!--5-->
<actions>
- <retrieve permission="VIEW_USER"> <!-- <6> -->
- <context link="usr" field="home_ou"/> <!-- <7> -->
+ <retrieve permission="VIEW_USER"> <!--6-->
+ <context link="usr" field="home_ou"/> <!--7-->
</retrieve>
</actions>
</permacrud>
[source,html]
------------------------------------------------------------------------------
-<form action="http://example.com/eg/opac/results" method="get" accept-charset="UTF-8"> <!-- <1> -->
+<form action="http://example.com/eg/opac/results" method="get" accept-charset="UTF-8"> <!--1-->
<input type="search" alt="Catalog Search" maxlength="200"
size="20" name="query"
placeholder="Search catalog for..." />
- <input type="hidden" name="qtype" value="keyword" /> <!-- <2> -->
- <input type="hidden" name="locg" value="4" /> <!-- <3> -->
+ <input type="hidden" name="qtype" value="keyword" /> <!--2-->
+ <input type="hidden" name="locg" value="4" /> <!--3-->
<input type="submit" value="Search" />
</form>
------------------------------------------------------------------------------