1 Changes between version 1.6.1.0 and 2.0.0 (approximately)
2 =========================================================
6 * Tiny bug in 16714; fixing it prevents a useless logline in some
11 * the dojo code now behind the util.date iso8601 formatter neither
12 needs nor likes us appending timestamps to dates like that
16 * in patron editor, prevent Save and Save & Clone from working with
17 an invalid form, or duplicate barcode or usrname
21 * Avoid spurious errors when searching more granular indexes
23 The storage service automatically generates methods for each
26 open-ils.storage.authority.keyword.see_from.controlled.atomic,
28 here we were trying to access more granular methods (which
30 know about) when a granular index was used. This generated an
34 To avoid these errors, we'll only look for cross references from
36 index class to which the granular index belonds.
40 * support pre-indexing normalizers for facet value normalization
41 (negative pos value in the field-norm map)
45 * Acq: minor menu reorganization. Move admin-oriented interfaces to
48 Also remove "Purchase Order Events" from the acq menu: it's
53 * specify @autoscroll=false for xul browser elements
57 * no need to start a xact in lineitem search api call, especially
58 if it's not closed out when done
62 * Acq: misc minor bugfixes to various admin interfaces that didn't
64 consistently. Also a little more menu re-org.
68 * the layer/bundle version of dojo I was using hid the need for
69 this dojo.require line
73 * add support for status and copy location filters to supercat
74 browse apis for call number, title/author/etc, item age and
79 * make logout with receipt the default for self-check
83 * Acq: bugfixes for "Import Catalog Records by ID"
85 Previously, this interface did not correctly interpret realistic
87 produced by the Reporter module, as it was intended to do.
91 * update the documentation for browse methods re status/location
94 * steps toward wiring up authority browse via supercat
96 * use the authority, instead of bib, general tag browse method
98 * add authority marcxml retrieve method, switch on record type
100 * typo in json_query for authority browse
102 * split registration of authority browse urls out from record; add
103 authority formats ML method
107 * Acq: Fix display failure in fund tag interface. Add admin
109 invoice_payment_method and invoice_item_type.
111 * Acq: remove PO search interface from staff client's acquisitions
114 The PO search interface is redundant with the generalized
120 * Support CAST expressions, taking care to avoid SQL injection.
122 M Open-ILS/include/openils/oils_buildq.h
123 M Open-ILS/src/c-apps/oils_storedq.c
124 M Open-ILS/src/c-apps/buildSQL.c
128 * id collision preventing proper use of these columns
130 * correctly sort date/timestamp columns in xul lists now that
133 * more column id collisions and code to rename such id's if they
134 slip through in the future
136 * Kludge to fix ISO timestamp parsing in AutoFieldWidget
140 * protecting facet_xpath from returning empty nodesets
148 * record evidence of the perl-xpath experiment ... not faster
149 enough to warrant the danger of XML::LibXML
153 * Acq: Remove the "Selection Lists" entry from the staff client's
156 The unified search interface now does everything that the
160 Also, merging selection lists now updates the edit_time field on
166 * 1. Disable fleshing for PCRUD. Otherwise fleshing would provide a
167 back door whereby a user could see stuff he has no permission to
170 2. For the id_list method: strip out the "flesh_fields" entry,
172 the "flesh_columns" entry (which doesn't exist). This actually
174 no difference, but if we're going to do something useless, we
178 M Open-ILS/src/c-apps/oils_sql.c
182 * support unapi tag embedding in authority records
184 * pushing unapi depth support back into trunk
188 * Define some stock datatypes in query.datatype.
190 Set the sequence for query.datatype to leave room for more
191 stock datatypes if we want to add them.
193 M Open-ILS/src/sql/Pg/002.schema.config.sql
194 M Open-ILS/src/sql/Pg/008.schema.query.sql
195 A Open-ILS/src/sql/Pg/upgrade/0311.data.query-seed-datatypes.sql
196 M Open-ILS/src/sql/Pg/950.data.seed-values.sql
200 * add prompt to install Google Chrome Frames when in IE
202 * setting the noGCF cookie to expire after a year, instead of at
203 the end of the browser session
207 * EDI/JEDI Translator test client
209 Signed-off-by: Joe Atzberger <atz@esilibrary.com>
213 * Extra field in display (slight reorder)
215 * Log message to both STDERR and log.
217 * 0312 - JEDI template support for multiple ISBNs
219 of same or different types. The first ISBN-13 is treated as
220 primary, if there is one. Otherwise the first ISBN-10 is used.
222 Signed-off-by: Joe Atzberger <atz@esilibrary.com>
226 * add serial.subscription.owning_lib
228 * make sure $depth is defined, and used
232 * Acq: more menu reorganization
234 New entry points to selection list, PO, and invoice interfaces.
236 visible references to "Pick List" with "Selection List" wherever
238 of, for consistency's sake.
242 * stop the autoscrolling behavior with AutoFieldWidget
244 * expose the internal record id and create date for a user as a
245 tooltip over the user's name in the patron display
249 * add serials holdings to the holdings_xml data for bibs
253 * Apply RHEL5 prerequisite installer patch by Lee Dickens
254 <ldickens@esilibrary.com>
256 Tweaked slightly to break some long lines over multiple shorter
261 * Acq: add default sort order to canned searches, and provide
263 support for sort order for unified search generally. The UI for
267 * Acq: yet another menu-reorganizing commit
271 * rough cut at integrating ChiliFresh reviews with OPAC search
272 results and record details page. Needs polish
276 * 1. In oils_sql.c: make the functions is_identifier() and
278 global instead of static.
280 2. Use them to protect qstore against various forms of sql
283 M Open-ILS/include/openils/oils_sql.h
284 M Open-ILS/src/c-apps/oils_storedq.c
285 M Open-ILS/src/c-apps/oils_sql.c
289 * bug #597245: remove ersatz $7 "tags" from MARC tag selector
291 Signed-of-by: Galen Charlton <gmc@esilibrary.com>
295 * when you execute MARC, it opens a portal to the hellmouth
297 * added warnings for missing params to MinPassiveTargetAge
298 validator; missing params results in invalid for all target
301 * removed deprecated MaxPassiveDelayAge validator from default
302 courtesy notice definition
306 * better way of setting these environment variables
308 * this should place things better across different browsers re:
313 * Acq: add a Create PO interface for workflows starting with new,
316 * Acq: make the PO summary pane less monstrously vertical; add PO
321 * caching extention for org tree traversal
325 * add 954.data.marc21expand880.sql to build-db.sh so that it gets
326 picked up during new installations
328 Signed-of-by: Galen Charlton <gmc@esilibrary.com>
332 * Script for git-svn repos (with possible github remote)
334 Please heed WARNING in the script comments.
338 * SIP Callnumber extensions, POD
340 Use org_unit shortname everywhere, no owning_lib.
342 Checkin response and Item Info response now return callnumber w/
347 * protect templated slots from errors when there are no template
352 * correct the logic for detecting whether ChiliFresh has been
353 configured, and add similar support for Novelist
355 * proper spelling of this trademark
359 * a bit more protection for non-cached values; beware the null
360 depth in the two-param version of actor.org_unit_descendants!
364 * Add an explicit link to the favicon.ico per
365 http://www.w3.org/2005/10/howto-favicon
367 Yeah, we're not using the profile attribute on the HEAD element.
368 Do we really need that?
372 * Cancel reasons from EDI spec
374 Technically, these aren't all cancellation reasons, they are just
375 "Action request/notification description codes". A "5" (or 1005,
377 actually means success, for example.
379 Examine the EDI list here:
380 http://www.stylusstudio.com/edifact/D04B/1229.htm
382 Include keep_debits field although it does not necessarily apply
385 Signed-off-by: Joe Atzberger <atz@esilibrary.com>
389 * Whenever a database call fails -- i.e. whenever dbi_conn_query()
391 dbi_conn_queryf() returns NULL -- call dbi_conn_error() to get a
392 description of the error, and include that description in the log
395 M Open-ILS/src/c-apps/oils_sql.c
399 * remove duplicate entries for tag 760 from MARC21 tag list
401 Signed-of-by: Galen Charlton <gmc@esilibrary.com>
405 * First stab at Fedora 13 support in prerequisite installer
407 Of possible concern: the use of -JS_THREADSAFE in
408 JavaScript::SpiderMonkey.
409 Need to test this change on other distros - but it enabled me to
411 the libperl.so linking hacks used on RHEL and CentOS.
413 * We don't need to install plpython for PostgreSQL;
414 also, add a target for the Fedora PostgreSQL server prereqs.
416 * Fix Fedora 13 compiling for libdbi/libdbd
418 * Add libdbi-devel as a prereq
419 * Add Fedora's 64-bit location for the dbd driver libraries
421 * Fix compile error due to undefined LONG_MAX constant, which is
424 * Make '3 Day Pre-Overdue Notice' work in seed data; we were
427 This was inserted properly in upgrade 0054, so we're just playing
430 * Use a valid validator for 3 Day Pre-Overdue notice event
432 Curse traitorous middle-click and my tired eyes.
438 Signed-off-by: Joe Atzberger <atz@esilibrary.com>
442 * and imagine that, the ou passed to
443 actor.org_unit_descendants(INT) might also be null. super.
445 * add agency-stripping and btrim normalizers; add identifier|arcn
448 * arg ... thinkos. 0315 will work now
452 * 1. Degrade (relatively) gracefully when the database connection
455 Problem to be solved: a server drone that loses its database
457 immediately becomes unusable. It might manage to reconnect, but
459 wouldn't help if a transaction was in progress at the time of the
462 If the drone merely reports an error and then makes itself
464 for more requests, every request that it services thereafter will
466 It will continue to fail repeatedly until it reaches the
468 limit, or until someone kills it manually.
470 Solution: terminate immediately, without waiting for max_requests
472 DISCONNECT request. The listener can replace it with a new drone,
473 which will try to establish its own database connection.
475 2. Correct an oversigt in doUpdate() and doDelete().
477 If the database operation fails, report an error to the client.
478 The old code would log an error message but otherwise behave as
480 the operation had succeeded.
482 It is conceivable that this change will appear to break
484 because an operation will fail that would otherwise have appeared
485 to succeed. However if that happens, whatever breaks was already
486 broken; the appearance of success was a snare and a delusion.
488 M Open-ILS/include/openils/oils_sql.h
489 M Open-ILS/src/c-apps/oils_sql.c
493 * doh, another thinko. spotted by Scott McKellar
497 * Return NULL if we don't have anything else to return (keeps the
502 * Provide support for Class::DBI::Frozen::301 via
505 Class::DBI changed its API interfaces after the 3.0.1 release,
507 pain (and incompatibility for existing applications like
509 distributions package Class::DBI 0.96 or 3.0.1, but newer
511 package an incompatible 3.0.17. An alternative is to install the
512 Class::DBI::Frozen::301 module from source; UNIVERSAL::require
514 to try loading both and use whichever one we find.
518 * vandelay.add_field bug fix; add stored procs to 1) create an
519 authority-based overlay template and 2) allow simple application
520 of said template directly with marcxml
522 * we will use a real mapping table instead
526 * Make CentOS/RHEL use Class::DBI::Frozen::301 and remove
527 Class::DBI::Pg (not necessary)
531 * Acq: fixing misc UI glitches
533 Creating allocations and credits in the Funding Source Details
535 didn't populate the appropriate grid immediately, but now it
538 New tags didn't seem to persist in the Fund Details interface if
540 tabs and then came back to the Tags tab. Fixed.
542 Changed some tab names of misc Acq interfaces to match their
544 the staff client menu.
548 * add bib-authority linking table; add stored proc to extract
549 linking; add hook to ingest (controlled by internal_flag) to
550 implement authority link extraction
552 * add stored procs to implement authority propagation if links
553 exist; add trigger to optionally fire this propagation (default
558 * proxied added content support for ContentCafe
562 * Correct syntax for dojo.string.substitute() and remove offending
567 * thinko when trying to preserve any user change to the
568 internal_flag version of the ingest.disable_authority_linking
573 * Support function calls with subfields, e.g. (func(args))."id".
575 Note that this support treats the subfield as an optional
576 component of the functional call, not as a type of expression
577 in its own right. A subsequent commit will eliminate the "xfld"
580 M Open-ILS/include/openils/oils_buildq.h
581 M Open-ILS/src/c-apps/oils_storedq.c
582 M Open-ILS/src/c-apps/buildSQL.c
586 * forcibly maintain an appropriate 901 field in all MARC data via
589 * add missed stored proc to base schema; adjust said stored proc to
590 use 901 (or provided id) instead of 035 for bib-authority linking
594 * Represent a subfield expression as a variant of a function call
595 expression, rather than a function call in its own right.
597 1. Eliminate 'xfld' as a valid value for query.expression.type.
599 2. Eliminate the query.expr_xfld view.
601 3. Expand the query.expr_xfunc view to include the column_name
604 M Open-ILS/src/sql/Pg/002.schema.config.sql
605 M Open-ILS/src/sql/Pg/008.schema.query.sql
606 A Open-ILS/src/sql/Pg/upgrade/0322.schema.query.no-xfld-expr.sql
607 M Open-ILS/examples/fm_IDL.xml
611 * Booking: begin forward-porting code from rel_1_6.
613 Booking (regrettably) was largely written directly against a 1.6
615 instead of written for trunk and backported. So now we have
617 rel_1_6 and rel_1_6_1 that works, but that needs to be cleanly
619 trunk. There has been a lot of drift, and this won't be easy.
621 Here is the first step (some of the easy stuff). These files have
623 wholesale with their contents from rel_1_6, since they don't
625 other than booking itself.
627 Just to be clear: this commit does not complete the booking
629 booking module did not work in trunk before this commit, and it
631 after this commit. For the moment, booking only works in the
633 in the rel_1_6_1 branch, and in 1.6.1.* releases. It still does
635 trunk, and it will take a few more hairy commits to get things in
638 Once that's finally done, any future Booking code can be written
640 (in trunk) and *back*ported thence to whatever other branches as
643 * Fix copy-and-paste-o.
647 * improve browse support; correct thinkos in new holdings fleshing
648 code; improve generated MODS XML (remove some namespace prefixes)
652 * File->Join Tabs experiment. Can disable through prefs.js, and I
653 may make disabled the default before we branch trunk depending
654 how things play out. One current limitation is that the
655 interfaces thus joined get reloaded as a consequence of their
656 respective DOM nodes being relocated, so tab joining is most
657 useful to setup prior to retrieving information you'd like to
658 view side by side. I haven't found an easy way around this,
659 though we could roll our own tab browser (bleh) or come up with a
660 generic way for interfaces to save their state. Tab labels are
661 also imperfect, given that interfaces are able to dynamically
662 modify the tab label and can clobber each other if sharing a tab
666 * Booking: forward-porting bit-by-bit; see commit msg for r16827
668 * Booking: bit-by-bit forward-port; see commit msg for r16827
670 * Booking: thinko: default value for an org_unit_setting has to
672 the org_unit_setting_type is defined
676 * 1. Degrade gracefully when the database connection dies.
678 2. Validate the user-specified operator in a series expression.
680 M Open-ILS/include/openils/oils_buildq.h
681 M Open-ILS/src/c-apps/oils_qstore.c
682 M Open-ILS/src/c-apps/oils_buildq.c
683 M Open-ILS/src/c-apps/oils_storedq.c
684 M Open-ILS/src/c-apps/oils_execsql.c
688 * explode_array() is needed by 030.schema.metabib.sql now; create
689 it early so that database schema creation doesn't fail
691 * Lenny needs DBD::Pg; the unnecessary Class::DBI::Pg had pulled
692 that in as a dependency
696 * bug #600432: fix MARC expert search
698 Fix gitch introduced via overzealous tidying that broke MARC
699 expert search; in the expression @array || $scalar, @array
700 is evaluated in scalar context and thus returns the number
703 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
707 * bug #600021: fix lookup of FIFO holds OU setting
709 Patch from Anoop Atre that fixes enabling FIFO
710 holds via the circ.holds_fifo org unit setting.
712 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
716 * 1. Support the peculiar syntax of EXTRACT().
718 2. Repair a regression to make SELECT * work again.
720 M Open-ILS/src/c-apps/oils_storedq.c
721 M Open-ILS/src/c-apps/buildSQL.c
723 * Support the following built-in functions with peculiar syntax.
724 They take no parameters and don't even accept empty parentheses:
732 M Open-ILS/src/c-apps/buildSQL.c
736 * Fix missing dojo.require() in a couple of interfaces.
738 This bug doesn't manifest itself in releases, as the
739 openils_dojo.js layer
740 seems to take care of overlooked calls to dojo.require() anyway.
744 * remove as many namespace prefixes as I can from the MODS record
749 * repaired bug where parsing intervals with months failed becuase
750 dojo.date.add() wants the full word 'months' whereas postgres
751 stores them abbreviated as 'mons'
755 * Booking: fixed the last db upgrade script. It was trying to
757 in config.org_unit_setting_type that had already been covered by
759 which had not been in the seed data until recently, so I think
761 only noticed this if hadn't installed a new schema from scratch
764 If you already ran 0323 and it worked for you, you don't have to
767 Also, this now avoids clobbering already-set default_elbow_room
770 * Selfcheck: Show friendly error messages based on circ event
773 Messages lifted from opac.dtd
777 * added stored proc to return the distinct set of target copies
778 from a users visible circ history
782 * Add a configuration entry for the qstore server. This entry will
784 like the entry for open-ils.cstore, except:
786 1. The <implementation> is oils_qstore.so instead of
787 oils_cstore.so, obviously.
789 2. There is no need (or use) for the max_query_recursion element.
791 M Open-ILS/examples/opensrf.xml.example
795 * integrate serial.unit by relaxing fkeys against asset.copy and
800 * augment these payment receipt templates with more info
804 * use SQL function for speed, instead of PLPGSQL
808 * added ability to tag bib record results from staged multiclass
809 search as previously checked out by the user. the code compares
810 search results to the set of circs in the user's visible
811 circulations history. the ultimate goal is to provide the ability
812 to style rows in search results so the patron can see if he/she
813 already circulated the item (assuming some widget to turn this
814 feature on/off for a search)
818 * remove all the 901 mangling -- handled by the db now
820 * add metarecord support to "already circulated" tagging
824 * CC payments: address situations where
825 Business::CreditCard::validate() returns
826 true yet Business::CreditCard::cardtype() returns the string
829 Curse you inconsistent APIs! :-)
833 * return IDs of newly created payments on success
835 * showing the more descriptive cc payment errors in self-check.
836 printing CC payment receipts from self-check. added a
837 commented-out cc type picker for possible future use
841 * adjust code for an API change. Assume success if no ils_event
845 * added opac user setting for default sort order for search results
849 * Add new program test_qstore, a command-line utility for testing
850 and exercising most of the code for the qstore server.
852 A Open-ILS/src/c-apps/test_qstore.c
853 M Open-ILS/src/c-apps/Makefile.am
857 * adding status/copy_location filter support to call number browse
861 * updated call number browse pass-thru to accommodate new copy
862 location and status filters
864 * added OPAC support for 1) selecting SSL manually and having it
865 stick and 2) forcing SSL when the user is logged in to protect
866 auth tokens and other private data. The latter option is enabled
867 via new apache env variable
871 * define these variables as parameters
875 * Forward port of r16867: add missing event definition required by
876 vandelay authority import
880 * Merge branch 'browser'
882 * Lost my commit msg the first time around, so...
884 This CGI script might be useful for providing an easy way for
885 EZproxy to authenticate users against an Evergreen instance.
887 For example, if you modify your eg_vhost.conf by adding this:
888 <Directory "/openils/var/cgi-bin/ezproxy">
889 AddHandler cgi-script .pl
895 and make that directory and copy remoteauth.cgi to it:
896 mkdir /openils/var/cgi-bin/ezproxy/
897 cp remoteauth.cgi /openils/var/cgi-bin/ezproxy/
899 Then you could add a line like this to the users.txt of your
902 ::external=https://hostname/cgi-bin/ezproxy/remoteauth.cgi,post=user=^u&passwd=^p
906 * Fix a bug in pcrud.
908 When checking a row for permissions, we often read a fresh copy
910 row in order to ensure that we have all the foreign keys that we
912 However in some cases (mainly when the class is a view), there is
914 primary key, so we can't re-read the row.
916 Solution: if there is no primary key, don't try to do a fresh
918 Use the row image that we already have.
920 For these cases, this solution re-creates the possibility that we
922 not have all the necessary columns. There's no good way around
926 M Open-ILS/src/c-apps/oils_sql.c
930 * populate some fields in Item Status->Alternate View->Circulation
931 History->Most Recent Circ Group when we're not bothering to
932 retrieve the circ chain
934 * hold/transit data in Item Status->Alternate View->Holds/Transit
936 * adding a cc_name field to money.credit_card_payment to hold the
937 human name on the credit card
939 * column tweaks. If you already ran 0328, see comments at top
943 * Enable plain up-arrow and down-arrow to jump to next row in MARC
946 As TAB/shift-TAB move between each editable element of the MARC
948 we already have fine-grained keyboard navigation. However, moving
950 10 data fields requires around 50 TAB presses or more, depending
952 many subfields are in the intervening data fields, or a looonng
954 the tab key; not good for RSI.
956 The up-arrow and down-arrow keys, then, move directly to the next
958 previous row, placing the focus in the first editable subfield
960 rather than in the tag name (under the assumption that
962 most likely to want to edit the contents of a given subfield, and
964 the tag name or indicators).
966 Now, in the worst-case scenario, a cataloguer who wants to edit
968 name of a field 10 rows below their current position will have to
969 make 14 key presses (10 down arrows, 4 shift-TABs). Not too
974 * instead of reading the MARC data directly from the socket, set
975 the end-of-line character appropriately and read the data
976 directly from STDIN. The 'wait' time is now only used as a
977 security measure to prevent accidental hogging of worker
982 * Streamline pcrud a bit.
984 If there is a permacrud entry for the relevant action, but the
986 permissions is empty, we grant access.
988 The change: grant access as soon as the permission list can be
990 to be empty, instead of doing a lot of irrelevant stuff first
991 (including extra database fetches in some cases).
993 M Open-ILS/src/c-apps/oils_sql.c
997 * Acq: If you go from a catalog record to "View/Place orders",
999 easy shortcuts for adding a new lineitem to a selection list or a
1001 aren't already any existing lineitems to work with.
1005 * record the billing_last and billing_first fields from
1006 bill_cc_info.xul into cc_first_name and cc_last_name on
1007 money.credit_card_payment, even for out-of-band (externally
1008 processed) payments. Also protect the bill_cc_info dialog from
1009 patrons with no billing address (such as admin)
1013 * Reclaim cataloguing real estate by hiding unnecessary rows in
1014 fixed field grid editor
1016 The fixed field grid editor currently shows blank rows for fixed
1018 attributes that don't apply to the currently displayed MARC
1020 can hide these rows and offer more screen real estate for the
1026 * Acq: try looking up jacket image by UPC if ISBN is not available
1030 * Fixes Mark Claimed Returned. It seems that dojo isn't the only
1031 library picky about ISO8601;
1032 DateTime::Format::ISO8601->parse_datetime was choking in this
1037 * Give the "About" button a legitimate accesskey
1039 r15562 contained a fix for this to rel_1_6_0, but apparently I
1041 forward-ported that "fix". Unfortunately, this leads to broken
1043 the i18n build (bug re-found by Robert Souilliere in the 1.6.1.1
1048 * add sig handler back in for alarm. log error when read times out
1053 * fix initial subfield detection bug
1057 * SuperCat requests for plain marcxml were returning holdings /
1060 This could cause "great fun" in the MARC editor as a bib record
1062 grew volume and xhtml:link elements; everything would spiral
1066 * vandelay.dtd already includes the arrows in the entity definition
1067 for next/previous page
1071 * add support for switching between xul and textarea marc editors
1075 * Initial support for wrapping long subfields in the MARC editor
1077 Limitations of the current approach are that the line width is
1079 to break at 100 characters, and is only calculated on a
1080 per-subfield basis. So
1081 if a given field contains 50 subfields, each with 90 characters,
1083 isn't going to help you. (But really... in that scenario, you're
1087 Also, the double-dagger aligns itself at the top of the box
1089 middle once the box goes into multiline mode, which is annoying;
1091 fields that scroll ten screens to the right are more annoying, so
1093 this for now rather than waste more time trying to CSS it into
1096 * Restore whitespace consistency (spaces not tabs)
1098 * New feature: maintain control numbers (001, 003, 035) for MARC
1101 If a site wishes to maintain their control numbers and control
1103 identifiers in authority, bibliographic, and MFHD MARC records
1105 to the MARC21 specification, they will now be able to:
1107 1. Enable the global flag 'cat.maintain_control_numbers' to turn
1109 control number maintenance. This is disabled by default, so no
1111 will be made by the system until the flag is enabled.
1113 2. (Optionally) Set the cat.marc_control_number_identifier OU
1115 to override the control number identifier for records owned by
1117 if this is not set, then the control number identifier defaults
1121 3. Set the owner field for the records that are to be controlled;
1123 they will fall back to the global default which is currently
1127 * dojo == elegant; refactor cursor up/down and hide fixed fields in
1132 * break facets out to a separate table for speed
1134 * thinko in upgrade script
1138 * facet query correction
1142 * NFC() needs Unicode::Normalize - strange that this didn't come up
1145 * Several fixes for authority-controlled field and control number
1148 The fix for maintain_control_numbers() was committed earlier, but
1150 part of a new upgrade script; this will ensure that everyone
1152 trunk picks up the correction.
1156 * cache OPAC-visibility of copies and bibs
1158 Create a new "materialized view" table,
1159 asset.opac_visible_copies,
1160 for use during the copy visibility check during OPAC searches.
1162 is used by search.query_parser_fts(), replacing a check of a
1164 join for each bib in the search results that proved to be far
1165 too slow on some large databases.
1167 This table is maintained by triggers on inserts and updates to
1179 During a migration or large global change operation, it is
1181 that those triggers be disabled. To (re)populate the materialized
1184 SELECT asset.refresh_opac_visible_copies_mat_view();
1186 Thanks to Mike Ryladner for his help with this.
1188 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1190 * protect against deletion of serial.unit rows
1192 Rules are not inherited by child tables, so must
1195 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1199 * printing the contents of iframes is sometimes problematic,
1200 especially with complex DHTML, etc. This change allows content to
1201 define a printable_output() function for simple text to print
1202 instead of the rendered content itself
1204 * printable_output() for the patron editor, given that printing the
1205 Dojo here is problematic
1209 * Make a translate button available in the name column of copy
1214 * Prevent MARC batch import from blindly trusting the user by
1217 With this commit, Vandelay will now check the leader of the
1219 record to ensure that its MARC type matches the indicated import
1221 type. This is useful, for example, if you have a mixed set of bib
1223 records that you want to import; you don't want to import the
1227 This is a fairly strict implementation; we could relax this by
1229 check on its head and allowing the import as the user-indicated
1231 as the LDR/06 doesn't explicitly match another record type.
1233 * Whitespace consistency for Vandelay
1237 * Add 100$e (relator) and 711$c (Location of meeting) to controlled
1240 We'll probably flesh this out further as we get more serious
1242 control, but these ones stood out in our initial testing.
1246 * Add limit_count and offset_count columns to query.stored_query
1249 M Open-ILS/src/sql/Pg/002.schema.config.sql
1250 M Open-ILS/src/sql/Pg/008.schema.query.sql
1251 A Open-ILS/src/sql/Pg/upgrade/0334.schema.query-limit-offset.sql
1252 M Open-ILS/examples/fm_IDL.xml
1256 * Stub script for adding authority control to an existing set of
1259 The goal of this script is to iterate over every bib record
1261 the command line (or --all) and check every controlled bib field
1263 matching subfield combinations in authority records. This is
1265 be slow, friends, but for this iteration we're looking at paying
1267 one-time cost; after that, controlled fields will automatically
1269 maintained by triggers on the authority.record_entry tables.
1271 The bib field-to-auth field mapping needs to be fleshed out
1273 be comparable to the mapping in marcedit.js) and floating
1275 still need to be controlled. Probably in a separate pass over the
1277 given the current "design".
1279 We extend open-ils.s*.authority.validate.tag to offer an
1281 so that we can get the corresponding authority record ID back
1283 call, instead of just a count.
1285 * Make maintain_901() more robust in the presence of namespaces
1287 Some records manage to get XML namespace declarations into each
1289 like <datafield xmlns:marc="http://www.loc.gov/MARC21/slim"
1291 This broke the old maintain_901(), so we'll make the regex more
1296 * Qstore: support LIMIT and OFFSET clauses.
1298 Also: add some links to the IDL, that should have been there
1301 M Open-ILS/include/openils/oils_buildq.h
1302 M Open-ILS/src/c-apps/oils_storedq.c
1303 M Open-ILS/src/c-apps/buildSQL.c
1304 M Open-ILS/src/sql/Pg/002.schema.config.sql
1305 M Open-ILS/src/sql/Pg/008.schema.query.sql
1307 Open-ILS/src/sql/Pg/upgrade/0336.schema.query-limit-offset-fkey.sql
1308 M Open-ILS/examples/fm_IDL.xml
1312 * Relax bib type parsing a little and allow spaces (like the
1315 Also fix a few drive-by typos
1319 * remove even more namespace prefixes ... take THAT, IE!
1323 * Be more relaxed about what we receive in Vandelay (a bad LDR/09
1324 need not lead to complete misery)
1326 If MARC::File::XML->as_xml_record() receives a record with
1328 than 'a' in LDR/09 position, it will try to run a MARC8-to-UTF8
1330 on the record - even though the source file itself was XML and
1332 couldn't have been MARC8.
1334 This code corrects the leader on the fly so that MARC::File::XML
1336 try to convert it and throw a "wide character" warning, but the
1338 means that something was wrong with the leader to begin with, so
1340 write a warning to the log about the situation.
1344 * Improve auto-authority-control processing script:
1345 * Prevent duplicate $0 subfields from being generated by multiple
1347 * Provide more bib field/subfield -> auth field/subfield mappings
1348 * Protect against missing bib->auth maps
1349 * Correct --all option to actually retrieve all undeleted records
1351 * validate.tag.id_list: Return an empty list instead of 0 in the
1352 case of no matching records
1354 This makes it a little easier to handle cases where there was no
1356 rather than having to check to see if we have a scalar or a
1360 * In theory, this would be a step towards MFHD records in the
1361 editor looking saner.
1363 In practice, the BKS fixed fields are hidden. Sadly, the leader
1365 for the MFHD record are not displayed either.
1367 * Set the 004 of the new MFHD record to the ID of the targeted bib
1372 * When returning a list of bind variables: If a default_ or
1374 is undefined for a given variable, leave it out of the JSON
1376 altogether, rather than create an entry with a JSON null for it.
1378 That way the client can distinguish between an undefined value
1380 a value defined as null.
1382 M Open-ILS/src/c-apps/buildSQL.c
1386 * CSS makes things visible, or not. Display the nascent MFHD
1389 * Authority records get some fixed-field love in the MARC Editor
1393 * Teach assets.merge_record_assets() to also merge authority->bib
1396 * On second thought, delete authority links pointing to stale bib
1399 This avoids the overhead of updating controlled fields in deleted
1402 * asset.merge_record_assets() needs auth_link declaration (was in
1407 * bug 605884: make MARC expert search of control fields work
1409 Allows users to search on the 001 and 003 fields, for example.
1411 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1413 * bug 605921: fix bib search hang on queries like "title ;
1416 More generally, the fix avoids a to_tsquery exception in cases
1417 where a search term is normalized away to the empty string.
1419 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1423 * Delete links to deleted bib records as part of
1424 biblio.indexing_ingest_or_delete()
1426 Moves authority.bib_linking cleanup from the special case
1427 of merging bib record assets to the general case of deleting bib
1432 * companion to "browse", which drops you into the middle of a list
1433 centered on your input, "startwith" browses only from your input
1438 * Protect authority records from real deletion and add a "merge
1439 authorities" function
1443 * return # of imported and failed records to the caller
1447 * ARG! Missed a semicolon. Perl, be like JS and make them optional.
1448 On second thought do not be like JS in any way.
1452 * make openils.widget.TranslatorPopup a little more
1453 environment-agnostic
1457 * add copy circ lib to alternative item details view
1459 * allow open-ils.circ.hold.update.batch to apply nulls to fields
1461 * wrong variable; could refresh the wrong rows
1463 * more configuration options for date/timepicker dialog, and use
1464 that dialog with staff editing of hold thaw date and expire time
1466 * Have open-ils.circ.circulation.due_date.update return the circ
1467 instead of the circ id so that modified rows in Items Out refresh
1468 correctly, and have Items Out -> Edit Due Date, -> Renew with
1469 Specific Date, and -> Mark Claimed Returned use the
1470 date/timepicker dialog
1474 * This should have been part of r16946. Now the TranslatorPopup
1476 Copy Location Editor
1480 * use a left join instead of -not-exists for anti-join -- much
1481 faster for large nullable-side sets in this case
1485 * whitespace consistency improvements
1487 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1489 * add --timeout switch to marc_export
1491 Provides way to export bibs with holdings
1492 that have a large number of copies attached. Default
1493 timeout remains 1 second when exporting bibs; increased
1494 to 300 seconds when exporting holdings based on
1495 empirical tests on a big database.
1497 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1501 * rearrange while loop to prevent error: Can't 'last' outside a
1506 * Add the new owner column to the are object in the IDL
1508 * serial.record_entry already had an owner column spelled
1511 Adjust the table and affected function accordingly
1515 * make --timeout actually work if setting a timeout > 60 seconds
1517 Also remove ersatz XML declarations so that XML output
1520 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1524 * get rid of the chrome instantiated sound object so it's every
1525 interface for itself, and have remote xul load
1526 server/skin/custom.js instead of chrome
1530 * return NULL terminator to indicate successful read; fixed typo
1534 * It is important to update the upgrade_log to prevent collisions
1537 Updating config.upgrade_log to 0340.
1541 * add seed for COPY_NEEDED_FOR_HOLD.override permission
1543 Being careful during the upgrade since a fair number of
1544 EG database in the wild had this one added manually.
1546 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1550 * Fix schema creation breakage. Damn you dangling commas.
1552 * Switch to ingesting authority records automatically via database
1555 Taken largely from the existing approach for ingesting biblio
1557 there is some duplication here that we could genericize. But for
1559 we'll go with the working-but-separate approach to avoid
1561 badness into the relatively stable biblio ingest pipeline.
1563 Also, move some of the existing authority-related functions out
1565 the metabib schema file and into 999.functions.global.sql.
1567 Finally, the direct_ingest.pl script is no longer necessary for
1568 ingest of authority records, either, so die in that case as well.
1570 * Teach marc2sre.pl MFHD record ingest script to read a mapping of
1571 library names to OU IDs
1573 The past approach required workarounds that weren't fun for a
1575 without in-house scripting expertise; this provides a
1577 mapping approach with docs and a working sample. Which should be
1579 for all of the libraries that will go with the MFHD serials
1585 * remove ingest service call from authority import thanks to in-db
1586 ingest of auth by dbs; send final message with total and count
1587 processed; send record counts at most every 3%; rearrange queue
1588 cleanup code to aviod needless rollback and cover all queues, not
1589 just the first one we test
1591 * put the null return back, in case that is important on the client
1596 * repaired sql syntax for upgrade log commit
1598 * when calculating estimed hold wait time, don't ignore copies that
1599 have no circ modifier
1601 * updated default estimated hold wait display to handle seconds
1602 instead of days returned by the ML API call. TODO, consider
1603 if/how to handle sub-day intervals
1607 * use LEFT JOIN to allow a single query to count copies per circ
1610 * use abs() to get page number in either direction
1614 * md5 module is deprecated; move to hashlib
1618 * backporting r16982: use the correct table and field, caught by
1619 Doug Kyle and reported via IRC
1621 * Patch from John Craig providing a saner timestamp cleansing setup
1626 * added support for selecting individual copy statuses that will
1627 prevent checkout at self-check even when the generic
1628 copy_not_available event has been overridden to allow for
1629 non-standard copy circs from selfcheck. TODO: ui for managing the
1632 * flush the xmpp socket before attempting to process new marc
1635 * login just before starting work and log out after each request is
1636 handled. this is removes the need to check for bad authtokens and
1637 re-login mid-process
1641 * set truncation to 1 for all biblios.net Z39.50 attributes
1643 Thanks to Anoop Atre for spotting the problem.
1645 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1649 * Two new tables in action schema: fieldset and fieldset_col_val.
1651 M Open-ILS/src/sql/Pg/090.schema.action.sql
1652 M Open-ILS/src/sql/Pg/999.functions.global.sql
1653 M Open-ILS/src/sql/Pg/002.schema.config.sql
1654 A Open-ILS/src/sql/Pg/upgrade/0346.schema.action-fieldset.sql
1655 M Open-ILS/examples/fm_IDL.xml
1659 * index which /greatly/ speeds collection of pending active events
1663 * improve documentation of macros available to receipt templates
1665 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1669 * add copy_circ_lib and copy_owning_lib to circ matrix matchpoints,
1670 closer one (if both are set) is more important to the ordering
1672 * add parameter support to acn, acp and auri unapi axes
1674 * protect acn, acp and auri from our $lib faking
1678 * pushed view-in-catalog link up to the main lineitem display.
1679 moved pl/po/worksheet/catalog links to a row of their own for a
1680 more consistent location (visually).
1681 replaced 'PO:' 'PL:' with small icons to easier catch the eye;
1682 added 'worksheet' tag to the worksheet icon for clarity
1683 TODO: plug in bib discovery and linking mechanism for freerange
1686 * add collection code as non-i18n version of shelving location
1688 * added an 'Add Brief Record' button to the PO interface, which is
1689 visible when there are no lineitems on an existing PO.
1693 * retain the indicators on located uri 856 merge during asset
1694 merge; update script and backporting to come
1696 * upgrade script and version bump for r17007
1700 * Acq: always show "add to new selection list" / "create new PO"
1702 related lineitems interface
1704 * Acq: attempt to fix issue where adding copies in an LI table's
1706 interface, then returning to the table view, then going back to
1708 doesn't show the most recent saved changes.
1712 * bug #608937: make barcode search from main patron search form
1715 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1719 * fixed bug in related lineitems page where it was attempting to
1720 fetch the bib record based on the lineitem id
1722 * Added option to link a (freerange) lineitem to a catalog
1723 record via simple pop-up search page.
1727 * Acq: revert something I didn't mean in r17013
1731 * log the IP address of the connecting client
1735 * support printing of stat cats and surveys from patron editor
1737 * logic error preventing deletion of addresses in patron editor
1741 * Forward-port r17024: include null fields, via .toStoreItem(),
1742 when creating a permission map store item
1746 * Add procedure action.apply_fieldset.
1748 M Open-ILS/src/sql/Pg/090.schema.action.sql
1749 M Open-ILS/src/sql/Pg/002.schema.config.sql
1751 Open-ILS/src/sql/Pg/upgrade/0350.schema.action-apply-fieldset.sql
1755 * Update README and prereq installer for Evergreen trunk:
1757 * Favour PostgreSQL 8.4
1759 * Update Dojo to 1.3.3
1760 * Add Ubuntu Lucid as a target
1761 * Remove Gentoo support (until we have a volunteer)
1762 * Remove Ubuntu Karmic support (can add back in at release time
1765 * Mention oils_web.xml in the README
1769 * improve description of VIEW_PERMIT_CHECKOUT and VIEW_HOLD_PERMIT
1772 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1776 * New table: actor.usr_saved_search
1778 M Open-ILS/src/sql/Pg/005.schema.actors.sql
1779 M Open-ILS/src/sql/Pg/002.schema.config.sql
1780 A Open-ILS/src/sql/Pg/upgrade/0351.schema.usr_saved_search.sql
1781 M Open-ILS/examples/fm_IDL.xml
1785 * tweak hold "status" for canceled holds. And one whitespace fix
1789 * We require Buttons on this form. Continuing the good work senator
1794 * Merge Dan Wells' changes to the serial schema from the
1795 seials-integration branch.
1797 M Open-ILS/src/sql/Pg/002.schema.config.sql
1798 A Open-ILS/src/sql/Pg/upgrade/0352.schema.serials-integration.sql
1799 M Open-ILS/src/sql/Pg/210.schema.serials.sql
1800 M Open-ILS/examples/fm_IDL.xml
1804 * Reverse dojo.mixin() order in AutoFieldWidget to favour passed-in
1805 constraints; otherwise we stomp them
1807 * Prevent years in "New Fund" dialog from being displayed with a
1810 Also limit to a seemingly reasonable range of 2000 - 2200 for the
1815 * put these command elements into the overlay, closer to where
1818 * entry point and function stub for Mark Item as Missing Pieces
1819 entry point for scanning item as missing pieces and stub dialog
1821 * flesh out scan item as missing pieces dialog
1823 * since we're re-circulating to previous patrons sometimes as a
1824 poor man's check-in undo, give us the power to turn off these
1825 fee-generating features. berick++
1827 * middle layer support and client-side utility function. missing
1828 messagecat for missing pieces dialog
1832 * documentation for facet value retrieve method
1836 * Syntax error in serials schema file.
1840 * Patch from Jason Stephenson:
1842 The patch adds (BinaryEncoding => 'UTF-8') wherever
1843 MARC::File::XML is used in the database
1844 PgPerl functions where it is not already being done. This stops
1846 maintain_control_number() from trying to convert records from
1847 MARC8 to UTF-8 and blowing up,
1848 when the records are already UTF-8.
1852 * Build a threadsafe libjs so that JavaScript::SpiderMonkey can be
1855 Thomas Berezansky <tsbere@mvlc.org> reported problems building
1856 JavaScript::SpiderMonkey on 64-bit Ubuntu and offered some
1857 patches to build it without -JS_THREADSAFE. The real problem,
1859 was that libjs was not itself being built with the JS_THREADSAFE
1862 Enabling the JS_THREADSAFE option pulls in the requirement of
1863 the nspr4-dev package on Ubuntu and Debian.
1865 Tested on 64-bit Ubuntu Lucid and 64-bit Debian Lenny. 64-bit
1867 worked previously because it uses the packaged version of libjs -
1869 was already built with the JS_THREADSAFE option.
1871 * Add Developer Instructions section, like the OpenSRF README, per
1876 * Need to die if we fail to find a picklist, symmetric to the top
1879 Otherwise, we crash out on $conn->respond($picklist->id);
1883 * Acq: better labels for adding catalog record based item to PL or
1888 * This patch replaces the result page sidebar new-search trees
1889 (implemented before "faceting" became a thing, and designed for
1890 new-search, not drill-down) with and implementation of what has
1892 the generally accepted "way to do faceting". This is implemented
1894 Dojo Dijit, and the markup and code footprints within the OPAC
1896 are small, just a couple <div>s and a little bit of glue code to
1898 the facet rendering engine find the data it needs. The set and
1900 of facet classes to display in a given facet bar (title, author,
1901 subject, etc) is configurable in the markup, as are the number of
1902 values displayed for each facet when collapsed (before the
1906 Also included is a Searcher Dijit which implements an embeddable
1907 advanced search interface. This is mainly useful for constructing
1908 boolean-chained searches (we support AND and OR now, though
1910 spelled && and || in the query string), and has the beginnings of
1911 support for filters and modifiers.
1915 * repaired copy/paste thinko in the vandelay
1916 auto-overlay-with-merge-profile logic
1920 * Admin Menu link for viewing EDI Messages
1922 Modifies and uses the existing page for viewing one PO's
1925 TODO: Other kinds of filtering/searching.
1926 TODO: Display PO number where name unavailable.
1930 * toward printing slip and letter for missing pieces
1934 * update schema list for Slony replication
1936 * create correct primary key constraints for some view-based /
1941 * 0356 fixup - the updates otherwise failed for syntax or dependent
1946 * escape more in the cn label for browse xml
1950 * Correct DDL for creating a fresh schema - match upgrade 0356
1952 * Slight overhaul of ISBN indexing focused on the
1953 translate_isbn1013 function
1955 * Switch to a PLPERLU function built on Business::ISBN for more
1957 indexing of records with problematic ISBNs; thanks to Jason
1959 <jstephenson@mvlc.org> for the initial implementation
1961 * Remove the first_word, naco_normalize, and split_date_range
1963 from the indexing chain for ISBNs, as these unnecessarily munge
1965 ISBNs. We can trust Business::ISBN to determine what is a real
1969 * Index all ISBNs in a given record and generate the
1971 ISBN10/ISBN13 variations. Also, fix the checksum if given an ISBN
1973 a bad checksum, but be sure to index the original bad-checksum
1977 * Add a set of 10 MARC records with bad ISBNs (thanks to Jason
1979 again for these) for testing purposes to Open-ILS/tests/datasets
1981 * Add the Business::ISBN Perl module as a prerequisite to the
1984 * Remove contrib/isn from the PostgreSQL install instructions
1988 * added open-ils.circ.copy.due_date.retrieve API call to return the
1989 due date for a given copy if it's circulating. method does not
1990 require auth, so only the due date is exposed, not the circ or
1995 * 0358 more values for acq.cancel_reason
1997 Note: we won't be using all of them, the set is just there for
2002 * New org unit setting type: serial.prev_issuance_copy_location
2004 M Open-ILS/src/sql/Pg/002.schema.config.sql
2006 Open-ILS/src/sql/Pg/upgrade/0359.data.setting-prev-iss-copy-loc.sql
2007 M Open-ILS/src/sql/Pg/950.data.seed-values.sql
2011 * Simple 1-line feature for EDI translator
2013 Allows us to know what the effective version of openils-mapper
2018 * previous changes to better support the embedded browser Print
2019 button broke printing elsewhere
2021 * print missing pieces slip
2025 * updated patron fee amount call to use cstore for speed
2029 * Close LP bug 613551 - JS error in Internet Explorer from
2030 google.loader.callbacks.books
2032 Bizarre, this line does not appear to be necessary at all.
2035 * Firefox is picky about having attribute values quoted, let's
2038 Still some generated dojo.query() expressions throwing warnings
2039 but we can tackle those... later
2043 * segregate the old version of facet-modified JS to be
2046 * a glue method used to apply a template to a set of records
2050 * tweak to item attribute editor to support hiding of fields with
2055 * require latest last_xact_id for payments
2057 To prevent accidental multiple payments on the transaction or
2059 against stale information, require the latest user last_xact_id
2061 passed into the payment API call. Update staff client (thanks
2063 and self-check payment interfaces to match.
2067 * allow ACQ-driven ordering and claiming of serial items
2071 * required column for item stat cats
2075 * Provide a handy method for dojo-based interfaces to correctly
2077 from fieldmapper object fields.
2081 * no need to search for patron summary, instead retrieve directly
2086 * add Required to copy stat cat editor, add User Summary to patron
2087 stat cat editor for initial stat cat creation, and fix a bug
2088 where editing an existing copy stat cat would attempt to set
2089 usr_summary. Modified behavior a bit so that an update is
2090 attempted whenever the user presses update, and not just if data
2091 is changed (this was me punting instead of trying to modify the
2092 test for both copy and patron stat cats)
2096 * bug 613703: normalize backdate on item checkin better
2098 Fixes bug that appears to cause all checkins uploaded
2099 via offline circ to fail with an "invalid date format"
2102 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2106 * Fix typo in --boostrap option, keeping it as an alias for
2107 possible automated scripts
2111 * updating some auditor tables that were causing problems in cstore
2112 with missing columns, but not sure how to reset the _lifecycle
2115 * the caption id was important after all, for keyboard navigation
2117 * fix color highlighting for xulrunner 1.9.2
2119 * disable Create/Modify button in item attribute editor if Required
2124 * removed some deprecated code
2128 * Remove OpenILS::Utils::FlatXML - code that has been unused since
2131 * The old default skin is the new default skin
2133 We need people willing to maintain the craftsman skin, as it is
2135 behind "default" in functionality and goes for long periods in a
2138 This change gives Evergreen the most functional and most likely
2140 by default, which is important for making positive first
2142 possible adopters of the project.
2146 * return the matched circ rule during inspect
2148 * Log the found matchpiont with indb circ policy test
2152 * Correcting some mistakes. Sequence names must be qualified by
2155 M Open-ILS/examples/fm_IDL.xml
2159 * speed up open circ counting and listing
2163 * prev commit left some un-esacped <'s. fixed
2165 * repaired primary key column; removed trailing semi's from SQL
2169 * fix open-ils.circ.prev_renewal_chain.retrieve_by_circ.summary to
2170 return the correct user for the previous circ chain, and some
2171 debugging tweaks to Item Status Alternate View and avoid a widget
2172 collision with hold patrons
2176 * updated IDL parser to 1) load oils_object:required attr at field
2178 instead of class level and 2) added the oils_persist:i18n attr as
2179 another field-level boolean
2181 * honoring IDL 'required' attr for autofieldwidget for styling
2183 * added oils_obj:required attrs for circ_matrix_matchpoint
2187 * Fixed form validation with surveys (the filteringSelect dijits
2188 were treating themselves as invalid if not set)
2189 Some I18N for form validation
2190 Removed some lingering (and annoying) scrollOnFocus behavior with
2191 the non-autoField widgets
2195 * bug 614132: fix glitch when used cached permission group widget
2197 Fixes bug where the initial permission group value in a circ or
2198 hold matrix entry was not displayed when editing an
2199 existing matchpoint.
2201 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2203 * bug 614150: bail out on ACTOR_USER_NOT_FOUND
2205 This fixes a bug where uploading an offline checkout
2206 that refers to a missing patron returns an INTERNAL_SERVER_ERROR
2207 instead of ACTOR_USER_NOT_FOUND. More generally, this avoids
2208 an exception in case case where a circ operation is made
2209 without checking the existence of the patron record beforehand.
2211 mk_env could use a better name, too.
2213 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2215 * added CentOS/RHEL packages for Business::ISBN and friend
2217 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2221 * Refine the way we detect loss of the database connection.
2223 This is a terrible, horrible, no good, very bad kludge.
2225 We do an innocuous SELECT 1. If this query succeeds, then we know
2227 connection is still good. If it fails, well...
2229 Sometimes the SELECT 1 query fails, not because the database
2231 but because (due to a previous error) the database is ignoring
2233 even innocuous SELECTs, until the current transaction is rolled
2235 known way to detect this condition via the dbi library is by
2236 looking at the error
2237 message returned by dbi_conn_error(). This approach will break if
2239 or wording of the message ever changes.
2241 Note: the dbi_conn_ping function purports to determine whether
2243 connection is live. At this writing, it follows the same approach
2245 above: try a SELECT 1 and see if it works. Consequently it
2247 from the same shortcoming: it may erroneously report a dead
2249 database is in fact just ignoring commands due to a previous
2251 if it determines (rightly or wrongly) that the connection is
2253 tries to reconnect; if the reconnect is succesful, the function
2255 connection is still alive, as if nothing had happened. If you
2257 of a transaction at the time, you wouldn't know that it got
2260 M Open-ILS/src/c-apps/oils_sql.c
2264 * Index the internal bib id and tcn value to make searching simpler
2268 * repaired circ-mod retrieval call to use retrieve instead of
2273 * menu.js and patron/display.js were passing xulG functions to
2274 browser.js differently. This makes browser.js a little smarter
2275 (so that it doesn't trampled xulG-destined members sent via
2276 passthru_content_params) and sidesteps some security blockers
2277 with inspecting xulG. xulG is a namespace/object for shoving
2278 foreign data and/or functions into a given window
2282 * bug 532217: work around caching issue resulting doubled title
2285 Quick hack shamelessly borrowed from Dan Scott to fix problem
2286 of title being displayed twice on bib details page when back
2287 button is used in OPAC or staff client.
2289 This is a temporary fix in lieu of rewriting the bib details
2290 display to use BibTemplate exclusively.
2292 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2296 * add some tests for copy existence in checkin routines
2300 * Functionality-affecting typo: subjet -> subject
2302 * Build 210.serial before 200.acq, because 200.acq references
2305 Confusing due to the order implied by the filename numbers, but
2307 has to be on getting trunk to build cleanly again; we can sort
2311 * Basic call-number sorting by classification scheme
2313 Until now, call numbers like 'K 22 .U748 v.18' and 'K 215 .E53
2315 sort incorrectly in Evergreen, making call number browsing
2318 The following patch adds the following to Evergreen to support
2322 * asset.call_number gains two new columns:
2323 - label_class - identifies the classification scheme for the
2325 - label_sortkey - holds the normalized callnumber suitable for
2328 * a new table, asset.call_number_class, which holds the names of
2330 classification scheme and the name of the assorted normalization
2333 * implementations of three normalization functions:
2334 * a generic normalizer
2335 * a Dewey Decimal Classification normalizer (courtesy the Koha
2337 * an LC classification normalizer (courtesy Bill Dueber's
2338 Library::CallNumber::LC)
2340 * a routine in Makefile.install to checkout and install
2341 Library::CallNumber::LC
2343 * call number sorting routines were modified to use label_sortkey
2345 label, where I could find them
2347 * corresponding changes to fm_IDL.xml for the new columns + table
2349 A suggested means for applying this to an existing library would
2351 update statements against asset.call_number setting label_class
2353 in asset.call_number_class that corresponds to owning_lib's
2354 scheme, for example:
2356 UPDATE asset.call_number SET label_class = 3 WHERE owning_lib IN
2359 We need to teach the staff client holdings maintenance interfaces
2361 the classification scheme for a given call number, and we should
2363 an org_unit setting that can set the preferred default
2364 classification scheme
2365 that the staff client should inherit. Or maybe we could just make
2367 sticky value and have a BEFORE trigger check the incoming value
2369 and only set it to the org_unit default value if it is NULL (to
2375 * Patch from Ben Ostrowsky <ben@esilibrary.com> to specify "staff
2376 account" in proxied pages
2378 This change will make it a bit more clear that we're not looking
2380 patron barcode/PIN in the Selfcheck Login screen (and make the
2382 consistent across similar login pages).
2384 * Get the entries into asset.call_number_class before altering
2387 * Avoid the NOT NULL problem on the auditor table by not creating
2388 the constraint in the first place
2390 The auditor schemas will be different for a from-scratch DB vs an
2392 but just like the would-be iPhone purchaser says, "I don't care."
2396 * combine circ and user fetch into 1 cstore call for SIP items.
2401 * And let's create those new auditor columns first, before any
2402 changes ripple through the base table
2404 * And... keep the index creation on asset.call_number in the right
2407 There's tears in my coffee. These are not tears of joy.
2411 * Add middle layer functions for maintaining
2412 actor.usr_saved_search.
2414 M Open-ILS/src/perlmods/OpenILS/Application/Actor.pm
2418 * Teach the staff client volume copy creator to respect OU call
2421 To teach the "Add volumes" dialog in the staff client how to show
2423 set of call numbers based on the workstation OU's default
2425 scheme, this commit:
2427 * Adds a column "field" to the asset.call_number_class table that
2429 the list of tag/subfield combinations to search for a candidate
2431 for a given classification scheme
2432 * Adds a new OU setting, 'cat.default_classification_scheme',
2434 to the asset.call_number_class ID
2435 * Extends the open-ils.cat.biblio.record.marc_cn.retrieve method
2437 a second argument, identifying the classification scheme for the
2440 * Fixes the IDL for asset.call_number_class to include the ID as
2443 * Makes the "Add volumes" dialog look up the
2444 'cat.default_classification_scheme'
2445 setting for the workstation OU and apply that to the call to the
2446 open-ils.cat.biblio.record.marc_cn.retrieve method
2449 * Provide a means of switching the classification scheme for the
2451 repopulating the call number selector widget
2452 * Save the chosen scheme as part of the acn object
2454 * SQL 101: Remember to name all of the columns before you insert
2455 values into said columns
2459 * In order to speed up the API call where we ask for the number of
2460 visible (or total, in the staff client), available and "unshadow"
2461 (aka total) copies, as well as record transcendance visiblity, we
2462 create here 10 stored procedures. Eight of them implement the
2463 record/metarecord, staff/opac, OU/lasso varients, and two more
2464 are wrappers simplifying the calling API.
2468 * Copy/paste-o; asset.call_number ne asset.call_number_class
2470 * Create the label_class object if null was returned from the
2475 * removed executable bit from files that don't need it set
2477 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2481 * repaired typo/pasto in copy vis upgrade script
2485 * aaaaand, another typo of the r17147 ilk
2489 * similar to findbib, replace dojox.data.dom.textContent (which
2490 fails for unknown reasons) with node.textContent for bibtemplate
2491 rendering in related lineitems page
2495 * easier to read and corrected regexp for munging iso8601 dates so
2496 that they're usable by dojo
2498 * replace this broken regexp with cleanse_ISO8601
2502 * Two things: 1) match old output, with rows for no holdings 2)
2503 calculate transcendance only once per function call
2507 * fix age protection proximity test for in-DB circ
2509 Patch from John Craig.
2511 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2515 * use staff query for lineitem->bib linking ui
2519 * bug 592777: allow authoritative version of open-ils.circ.retrieve
2521 Part of a fix to avoid race condition that can occur
2522 when patron renews an item in the OPAC in a database
2523 that uses pgpool and replication, which sometimes
2524 results in an erroneous 'action_circulation_not_found' error.
2526 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2530 * Acq: fix certain dialogs needlessly flashing on-screen while
2535 * added an UI for editing vandelay import item attribute
2536 definitions. it's a basic autogrid version for now. TODO: fix
2537 some grid height styling issues
2541 * tweak auto-barcode method to support barcodes of arbitrary
2542 length. trims last digit from seed barcode if 9 or 14 digits.
2543 works with alphanumeric barcodes like b1, test1, demo1 with no
2544 checkdigits (so it'll generate demo2, demo3, etc.)
2546 * change Check Barcodes? checkbox in Volume/Item creator to Use
2547 Checkdigit. In addition to checking the barcodes, it also
2548 dictates whether the Auto-Generate Barcodes function will use
2551 * tweak the layout for the volume/copy creator so that buttons/etc
2552 are always on-screen, with just the input textboxes in the
2557 * missed one fix in previous optimisation effort
2561 * Add page title and tidy up
2563 * Respect activate_po option in interface
2567 * Use a COALESCE/NULLIF nested structure instead of CASE (one
2568 branch, easy peasy) for 4x speedup in the core search query
2572 * redundant with util_overlay.xul
2576 * Gave the base login code the ability to find username/password
2578 cookie. for security reasons, we don't put login data into
2580 login info is available to us in that format already (say, via
2581 external means), we'll
2582 use it. This can be useful for persistent logins (e.g.
2584 automatic logins (pushing cookie data out to workstations)
2586 Minor cleanup of the login code to make it more re-use friendly.
2588 Added self-check support for verifying the staff login before
2594 * Plug some memory leaks.
2596 In many places we were creating dbi_results without freeing them;
2597 pretty much everything involving transactions, savepoints,
2598 inserts, updates, and deletes.
2600 M Open-ILS/src/c-apps/oils_sql.c
2604 * register the autoloader earlier, and log about the use it gets
2608 * Complain when a sequence name is not qualified by a schema.
2610 M Open-ILS/src/c-apps/idlval.c
2614 * Remove broken old JavaScript in Google Book preview code
2616 I /think/ this was supposed to change the title of the "Preview"
2618 "Read this online" or the like in the case that the full text is
2620 but it was relying on a function that didn't exist (setText) and
2622 to reference an ID that didn't exists. So it broke in those rare
2624 where Google Books did provide the full text.
2628 * avoid confusion by not installing the non-functional
2629 GenerateBatchOverduePDF reactor with the seed data.
2631 * created batch/streaming versions of hold placement and
2632 possibility check calls:
2633 open-ils.circ.holds.create[.override].batch and
2634 open-ils.circ.title_hold.is_possible.batch. Arguments are the
2635 same as non-batch, just delivered as an array; responses are
2636 delivered in order inbound params
2640 * yet more auto-scrolling to stamp out
2642 * yet more auto-scrolling to stamp out
2646 * yet more auto-scrolling to stamp out
2648 * re-label recv_date as 'Invoice Date' to avoid confusion around
2649 the 'receive date' of constituent physical items
2653 * Allow * in file portion of pathname
2656 incoming/*.xpo => incoming/yegagufoNy.xpo
2658 You cannot put an asterisk in the path portion of the string,
2660 since that would mean the target directory was not determined.
2664 * protect authority linking trigger against broken $0 values
2668 * change the (Copy) link next to addresses in the patron summary to
2669 (Copy/Print), with a popup menu for choosing which action to do
2673 * DOM text/pattern highlighter
2675 openils.Util.hilightNode(
2677 [pattern1, pattern2, ...],
2687 * add title to item notes window and an accesskey for closing the
2688 window. Spawn the item note window during the Mark Item Missing
2691 * add standing penalty prompt to Mark Item Missing Pieces workflow
2693 * spawn external text editor for Patron Letter during Mark Item
2694 Missing Pieces workflow. Put configuration option under Admin ->
2695 Local System Administration -> External Text Editor Command
2699 * repaired class name typo (thanks dbs). made args more generally
2704 * playing around with Find in Page functionality; the recent dojo
2705 highlighter commit prompted me to share this
2707 * go ahead and expose the Find in Page functionality, but hide it
2708 under the Debug label for now. Other than being incomplete (no
2709 Find Next, etc.), the main problem I see are our dynamic dojo
2710 interfaces where the text one might be tempted to search for
2711 won't actually be rendered yet on the screen (say in a scrolling
2714 * meant to hide these Find in Page buttons
2718 * Add Debian Squeeze prereq support, drop out-of-date items
2720 * Drop Debian Etch ("Security updates have been discontinued as
2721 of the end of February 2010.")
2722 * Drop PostgreSQL server packages pre-8.4 as they are no longer
2725 TODO: To continue to support Ubuntu Hardy and Debian Lenny, we'll
2727 start pulling in backports of postgresql-8.4.
2731 * merge seials-integration [sic] branch into trunk
2733 Dan Wells has provided tremendous efforts in developing a user
2735 and middle-layer logic for controlling serials. His work builds
2737 serial schema hashed out earlier in the year, also with his heavy
2739 and it provides ways to manage subscriptions, distribution,
2741 receiving and more. Although this code is but a beginning, much
2743 is functional today.
2745 This commit brings Dan's work into trunk. Dan has provided some
2748 http://www.open-ils.org/dokuwiki/doku.php?id=acq:serials:release_notes:initial_trunk_merge
2752 * Pedantic change for const-correctness: changed three calls to
2753 jsonObjectGetKey() to call jsonObjectGetKeyConst() instead.
2755 M Open-ILS/src/c-apps/oils_utils.c
2759 * Pedantic change for const-correctness: replaced a call to
2760 jsonObjectGetKey() with a call to jsonObjectGetKeyConst().
2762 M Open-ILS/src/c-apps/oils_auth.c
2764 * Pedantic change for const-correctness: replaced two calls to
2765 jsonObjectGetKey() with calls to jsonObjectGetKeyConst().
2767 M Open-ILS/src/c-apps/test_json_query.c
2769 * Pedantic changes for const-correctness:
2771 1. Add the const qualifier to most of the parameters of SELECT().
2773 2. In almost all cases: replace calls to jsonObjectGetKey() with
2774 calls to jsonObjectGetKeyConst(). A couple of calls remain that
2775 would be more trouble to replace than they're likely to be worth.
2777 M Open-ILS/src/c-apps/oils_sql.c
2781 * Disable Replace Barcode button for new patrons, and disable the
2782 barcode field for existing patrons. If Replace Barcode is
2783 activated, then enable the barcode field, give it focus, and
2784 disable the Replace Barcode button.
2786 * tsbere pointed out this typo
2788 * redundant refresh() can cause duplicate rows in list. Also, perm
2789 failure is an "expected" error here, so we can skip the skull and
2790 crossbones if folks without the permission cancel the Void All
2795 * 0372 - acq.edi_message.vendacct
2797 Needed for some but not all vendors (separate from SAN).
2801 * forwardport of 17216, org hiding depth in opac
2803 * ui.circ.suppress_checkin_popups disables dialog prompts during
2804 check-in, but in the case print slip dialogs, it should still
2805 print the slips if the Auto-Print Hold and Transit Slips checkbox
2806 is toggled on (the action is still occuring). However, only the
2807 dedicated Check-In interface had such a checkbox, and if you were
2808 to check-in from Item Status or Items Out with that org unit
2809 setting active, you'd have no option to print any slips
2810 associated with the check-in. This fixes all that
2814 * patch from Ben Ostrowsky to help clarify the CREATE_MARC and
2815 IMPORT_MARC permissions descriptions
2819 * libbusiness-creditcard-perl is installed with DEBS. removing from
2820 squeeze-specific debs. make sure we install the
2821 EXTRA_DEBS_SQUEEZE as part of install_extra_debs_squeeze
2825 * Fix typo in i18n Makefile that afflicted install
2827 * Move to CSS-based styling of validated vs. unvalidated fields
2829 This sets the stage for differentiating between validated fields
2831 match authority records, and validated fields with a controlling
2833 subfield that match an authority record. This also gives sites a
2835 of an easier entry point to customize their MARC editor - say,
2837 to support accessibility requirements if red vs. black doesn't
2839 the needs of those who are colour-blind.
2841 * Tell developers that they need to install Dojo
2845 * Create indexes on some Vandelay tables to speed up retrieval and
2850 * thinko here was throwing off the tallies for checked_out.count
2854 * Descriptive notes in interface
2856 * Fix closing </tr> tags
2860 * Fedora packages perl-MARC-Record at 2.0.0, but 2.0.1 is required
2864 * some defensive coding. TODO: disable actions in Holds list
2865 interfaces that affects items when the selected holds have no
2870 * Give authority records an XML-valid XML formats list
2872 Still need to trim the actual list of formats for authority
2874 as marcxml-full and marcxml-uris get listed, and those do not
2876 or make sense for authority records.
2880 * so, some datasets have records with multiple 245a subfields.
2883 * so, some datasets have records with multiple 245a subfields.
2888 * Fixup ctx.page_title and script type declarations
2890 Some had ctc.page_title, another had page_titel, but most didn't
2895 * Only Debian Squeeze currently packages MARC::Record > 2.0.1
2899 * provide an explicit import() sub to collect the boostrap config
2900 name at import. force child_init to run (once) if not run by
2903 * money_open_user_summary may not exist if the user has no
2904 transactions to summarize. protect against null summary object
2908 * Add basic authority browse/edit/delete interface
2910 http://localhost/eg/cat/authority/list should get you where you
2913 The paging is comical, the JS should probably be split out from
2915 declarative markup, the interface needs i18n, the UI needs to
2917 usable - but at least we have exposed some functionality for
2919 with authority records now.
2921 Ideally this becomes a widget that we can just embed into other
2922 interfaces to maintain context (which suggests using openils.cgi
2923 to seed the initial values of the widget).
2925 Note that the delete function works - it sets the deleted flag
2927 an are to "true" - but the underlying authorities browse
2929 currently doesn't care about such niceties and always returns
2931 records along with undeleted records. So that might be the next
2934 * Forgot to set the open-ils.pcrud controller for are in r17255
2936 And making the new perm section tab-consistent while I'm at it
2938 * Don't return deleted authority records in a browse list
2940 * Don't show deleted authority records in startwith browse, either
2942 Also restore the >= operator that was stomped in r17257
2944 * Fix some defects in the first iteration of the authority
2945 edit/delete interface
2947 * Ensure that the correct ID is assigned to the edit/delete
2949 * Prevent caching of results so that when a record is deleted, we
2950 don't continue to see it
2952 * Give the authority list interface a place on the staff client
2955 The interface itself still needs usability love, but exposing
2957 functionality for authority records should give authoritarians
2963 * downgraded a debug log message from error() to debug()
2965 * added clear_marc to po li retrieval to cut down network; mild
2968 * automatically create lineitem assets (i.e. load bibs and items)
2969 during po activation when necessary since activation requires it;
2970 only do this during non-dry-run calls
2972 * for consistency, use same 'icons' to indicate PO and PL. don't
2973 show PO/PL links when no such object is linked to the lineitem
2975 * added missing closing td
2979 * Add support to BibTemplate for arbitrary XML chunks (DOM node)
2980 via the "xml" constructure param, which disables automatic
2981 format-specific fetching.
2983 Add a new module, openils.FeedTemplate which, given:
2985 * an xml feed (URI or pre-collected DOM node)
2986 * a dojo.query to pull out items from the feed
2987 * the DOM node of a template to clone for each item
2988 * the target DOM node into which it should shove the item-filled
2991 will render a feed of arbitrary xml for you.
2995 * Further enhancements to the authority list interface
2997 * Offer Next / Previous buttons instead of forcing the number
2999 * Submit searches onBlur of the search box instead of having to
3001 * Accept CGI params so we can kick off a search from other
3003 * Factor out the displayRecords() code so we can attach other
3008 * Acq: make view/place orders open a new tab w/ xul browser wrapped
3011 * Serials: an alternative batch receiving interface, to support
3013 heavy-barcoding workflows.
3015 Still needs some things hooked up in the middle layer to create
3017 Still needs some configurability. Access from "Actions for this
3019 the staff-client-wrapped OPAC for a record with subscriptions and
3025 * added util function for printing an html string; use new func for
3026 PO printing; TODO, use new func in selfcheck code to reduce
3029 * circ_modifier codes could be defined, but non-true (i.e. '0').
3030 test for defined instead of truthiness when analyzing LID circ
3031 modifiers. repaired (invisible) bug that unnecessarily lead to
3032 using circ mod objects instead of codes, depending on context
3036 * Class::DBI::Frozen::301 needs to be forcefully installed on
3041 * move PO status to top of page for clarity
3043 * submit unified search query on Enter when focused on value widget
3047 * Give the Authority List interface the ability to merge records...
3050 Separate the interface into separate JavaScript vs markup files
3053 * Provide a middle layer method that accepts the array of records
3054 to merge and merges them
3055 * Teach the mergeRecords() to call that method when it exists
3056 * Provide a way of reordering the records or otherwise flagging
3057 which record should be the lead
3058 * Prevent the same record from being added to the merge slushbox
3061 * Add a speedbump (confirmation dialog) when deleting authority
3064 * Add a speedbump to the MFHD delete workflow
3066 * When initiating a new authority search, reset the pager to zero
3069 * Hitting ENTER in the term search box fires off a search now, as
3074 * bug 620899: fix broken test for oils_web.xml
3076 Patch from Rick Scott <rick@shadowspar.dyndns.org>
3078 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
3082 * Add the authority record merge middle-layer API
3083 (open-ils.cat.authority.records.merge)
3085 Also add a pertinent permission (MERGE_AUTH_RECORDS)
3087 * Hook up the authority management interface to the middle layer
3089 For now, uses the first record in the list as the master; we
3091 need to give users the ability to select the master record at
3093 time, or to select it prior to clicking "Merge"
3097 * repair faulty lineitem detachment from invoices
3099 * propagate estimated price to created copy as copy price (aka list
3100 price or replacement price); propagate invoiced amount to created
3101 copy as copy cost (aka library cost); caveats and consderations
3104 * until distrib formula skip_count is used (and possibly even
3105 then), let's hide it from the setup UI
3107 * during LI creation, adopt the provider of the PO if linked to a
3108 PO (and no provider was selected). repair event description
3113 * Apply a little bit of style to group form elements together in
3118 * eliminate false positives for ContentCafe features for a given
3123 * added support for a SIP config option that forces the server to
3124 return the no_i18n version of the patron profile group name from
3125 the 'ptype' sub (aka PC field in patron-info requests); added
3126 config options getter sub; cleaned up some string concats to
3131 * Add an API for counting the number of bibs linked to each
3132 authority record in the input list
3134 srfsh# request open-ils.cat
3135 open-ils.cat.authority.records.count_linked_bibs [1,2,3,4,5,6]
3154 * Booking: more progress on the forward-port from rel_1_6
3156 This completes the merging of changes from r15878 except for
3158 Circulate.pm, which are more involved and call for more
3165 * added internal_id handler
3167 in anticipation of possible sip extension for returning patron ID
3169 * added sample SIP config for patron_type_uses_code option
3171 * re-tab to use tabs for consistency with rest of file; for now,
3172 add embedded vim command to settle the issue
3176 * Add type="text/javascript" to <script> tags where needed.
3178 Probably just a formality.
3180 * Allow STAFF_CLIENT_BUILD_ID to be passed in or set in ENV
3182 Deconflict actions for STAFF_CLIENT_BUILD_ID='current'. Build
3184 always end up in datestamped directory, but a symlink will be
3186 to it w/ the build ID string. That should keep everybody happy.
3190 * Booking: finish the forward-port from rel_1_6
3192 This /should/ complete the forward port of booking from the
3194 which means that booking in trunk should work just how it does in
3198 Most of the changes in this commit were to Circ/Circulate.pm, and
3200 tests don't indicate any problems in the circulation logic
3202 lay of the land there is quite different now in trunk than it was
3204 was initially developed, so I'd be somewhat wary for a little
3207 Going forward, trunk can accept improvements/bug fixes/etc for
3209 those changes can be *back*ported to branches in the usual way.
3214 * fix seed for item_barcode Vandelay bib attribute definition
3216 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
3220 * we need an index on LOWER(barcode) with r17018
3224 * Show the number of bibs linked to each authority record
3226 This information is important to cataloguers when deciding which
3232 * Branching for the 2.0 series
3236 * perl 5.8 requires quotes around the version #
3240 * display copy counts correctly in staff search results
3242 Useless use of a constant in void context at
3243 .../OpenILS/Application/Search/Biblio.pm line 263.
3245 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
3249 * backport 17314: address deletion in patron editor
3253 * Failure to open a file(handle) should be a fatal error.
3255 Otherwise we aren't getting any output anyway.
3257 Also a few formatting touchups for readability.
3259 TODO: use warnings! use Cronscript for standardized lockfile and
3270 * 1-line fix for false 404 from sylvar
3272 solves "The requested URL
3273 /xul/rel_1_6_0_7/server/patron/ue.xhtml&clone=112879 was not
3274 found on this server."
3278 * rip the join tab feature out of 2.0; it's still experimental and
3279 doesn't work well with the embedded OPAC
3283 * update standing penalty query for blocked barcode list, trunk
3288 * Backport r17346 to fix broken OPAC renewals
3292 * examples of how to specify default preferred language and weight
3297 * backport 17361: support hiding of patron credit functionality. To
3298 do this, create a server/skin/global_custom.css file containing
3299 .hide_patron_credit { display: none }
3303 * backport 17375-17379 for context sensitive (role-based) print
3306 * backport 17335: circ.missing_pieces.copy_status org unit setting
3307 to support the Mark/Scan as Missing Pieces workflow
3311 * Backport 17373, making "show item details" consistent within
3316 * backport 17383: show penalty/message notes on "Stop Sign Page"
3318 * backport 17385: option to not include claims returned circs in
3319 summary sidebar and under-button tallies
3323 * Backport r17387, basic copy template editor
3327 * Backporting corrections to some org unit setting types.
3330 Open-ILS/src/sql/Pg/upgrade/0378.data.fix_org_unit_setting_types.sql
3331 M Open-ILS/src/sql/Pg/950.data.seed-values.sql
3335 * Backport r17405: fix start/end date selection problem with
3340 * fixes a bug when purging offline transactions after an Export
3342 * printable_output() support in util.browser had stopped working,
3343 and this fixes that. If an interface embedded in util.browser has
3344 a printable_output() function, the text output from that function
3345 should be printed, instead of a direct print attempt against the
3350 * backport r17396 from trunk: Allow the OPAC to autoload IDL
3351 classes instead of either pulling in a long class list and
3352 evaluating them all, or loading a .5MB+ xml file and parsing the
3353 whole thing. 40% speedup in simple tests where cache is bypassed.
3355 * backport r17419 from trunk: added explicit IDL class loading for
3356 cbreb, cbrebi, mvr, and ahr
3360 * Backport r17364 from trunk: serial batch receive improvements
3362 * Backport r17428 from trunk: serial batch receive improvements (w/
3365 * Backport r17431 from trunk, checkbox to en/disable batch receive
3370 * Backport biblio source enhancements from trunk:
3372 * Make biblio source selection in Vandelay set the source for
3376 * Place a biblio source editor widget on the MARC Editor when
3378 with a biblio record that already exists in the database
3380 with a specific ID).
3382 * Backport spine label editing and printing enhancements from trunk
3384 * Automatically add prefix and/or suffix to a spine label if set
3385 in the copy locations editor
3387 * Set default font size, family, and weight along with label
3389 and left margin for each library via library settings editor.
3391 * Navigate up and down using cursor keys and insert/delete lines
3393 the insert/delete keys.
3395 * Provide some basic LC formatting for line wrapping.
3397 * Use different print strategies depending on whether we're using
3398 xulrunner 1.9.0 or 1.9.2.
3400 * UI portions of spine label editing enhancements listed in r17437
3402 Also include the IDL for the new fields on asset.copy_location.
3405 * Backport r17343 from trunk: Add explicit identification of the
3406 master authority record when merging
3408 We now generate a table with the first cell containing either
3410 (indicating the record into which the other records will be
3412 or "Target" (indicating that the record will be merged into the
3415 This also adds a horizontal rule to delineate between the form
3417 at the top, and adds borders to provide more clarity between the
3421 * Backport rtype parameters for invoking MARC editor
3423 This will result in no different behaviour than before,
3424 but adding the rtype parameter won't hurt, either.
3428 * backport 17441: stop the chilifresh undefined errors in craftsman
3432 * Backport r17447: kill CAPTURE_RESERVATION
3436 * fix the problem where login does not work immediately after
3437 registering a workstation
3441 * back-porting: conify UIs for circ/hold-related config.rule_
3444 * back-porting: added support for configuring redirect depth, skin,
3445 and locale during IP-based org unit redirection; w/ sample config
3447 * back-porting: added support for returning hold shelf expire time
3448 (CM field) in item info response when an item has been captured
3449 for a hold. value is populated if item is on holds shelf or in
3450 transit to holds shelf
3452 * back-porting: 17355 use openils.Util.printHtmlString for invoice
3453 printing; added progress dialog while wiating for invoices to
3456 * back-porting: 17389 => show lineitem ID for each lineitem in
3457 lineitem table (po/pl) and general lineitem summary blob
3460 * back-porting: 17390 => disallow self-check login w/ inactive
3463 * back-porting: r17391 17397 17398; pcrud/fieldmapper bug fixes;
3464 autogrid suppress edit fields option
3466 * back-porting: 17399 17413 => optimized distrib formula management
3469 * back-porting: 17400 17401 => support for overridable physical
3470 location in checkin and honoring current_location in SIP checkin
3473 * back-porting: 17416 17417 17418 => filtering-tree-select disable
3474 fields query w/ auto-widget pass-thru; disable non-user-group
3475 fields in patron editor
3477 * back-porting: 17446 => display PO order (activation) date in PO
3482 * backport 17445, 17464: A/T template based full pull list printing
3485 * up the default pull list limit from 50 to 100
3489 * back-port: 17467 => users with no transaction history will have
3490 no xact summary; protect
3494 * backporting supercat improvements from r17469 and r17470
3498 * Backport r17472 from trunk, serials pattern code wizard
3502 * allow updates of permission.perm_list.id to cascade
3504 Doing this to make it possible to reshuffle permission IDs
3505 for upgrades to 2.0.x
3507 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
3511 * repaired thinko in hold targeting org-unit max-loops check
3513 * back-porting: 17480 => patron address copy on clone instead of
3518 * restrict deletion of perm_lists in use
3520 Per suggestion by Mike Rylander; prevents overzealous
3521 administrator from removing necessary permisions that
3524 TODO: UI to make it clear when that happens
3526 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
3528 * give default OUs separate addresses
3530 Per suggestion from Anoop Atre to avoid a new user
3531 changing one OU address in a new database and wondering
3532 why all of the OU addresses were changed.
3534 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
3538 * backporting r17476, r17477 and r17486 from trunk -- MARC Dojo
3543 * event code may be 0 (SUCCESS) == false in SIP checkin, check
3548 * Backport r17491 from trunk: fix timestamps in AutoFieldWidget
3552 * Consolidated upgrade script for 1.6 -> 2.0.
3554 Things still missing:
3556 1. Inserts and other changes to permission.perm_list and
3557 permission.grp_perm_map. These can't be derived in a simple way
3559 the individual upgrade scripts, and will have to be hand-crafted
3561 fit what's already in the seed data.
3563 2. Operations on optional schemas need to be moved out of the
3564 transaction so that the script will work in a database that
3569 * make lineitem price updates synchronous to prevent race condition
3570 between onChange of price set completion and PO activation
3574 * Only modify msg when needed or we'll get spurious 'stop sign'
3579 * Move some operations out of the transaction so that they can
3580 fail without killing the script. The affected objects do
3581 not necessarily exist -- i.e. the reporter schema, the
3582 extend_reporter schema, and the
3583 auditor.action_hold_request_history
3586 * The reporter and extend_reporter schemas are no longer optional.
3587 So changes to them go back into the transaction.
3589 ALTERs to auditor.action_hold_request_history stay outside of the
3590 transaction, at least for now, until the status of that table
3595 * backport 17508, 17509, for better user stat cat lookups and
3596 exposing such stat cats in hold slips
3600 * back-porting: 17502 17503 => cache the SIP login session to
3601 determine 'where' a transaction is occuring in case the caller
3602 does not indicate the location; compare hold pickup lib to
3603 physical location to determine alert type; small logging and
3608 * backport 17506, 17507 for saner navigation in Holdings
3613 * backporting r17514 from trunk: A simple "vital stats" collector
3614 method returning information about a user for display in the OPAC
3619 * Backport r17518 from trunk: install Library::CallNumber::LC from
3622 We briefly had to grab Library::CallNumber::LC from the SVN repo,
3624 that broke on systems without subversion installed (argh).
3626 the maintainer moved Library::CallNumber::LC to CPAN so our job
3630 * Backport r17520: Make Class::DBI::Frozen::301 a common forced
3631 module for all distros; genericize RHEL/CentOS
3635 * Backport 17516, 17517, 17522, 17523: Allows us to create an
3636 /openils/var/web/css/skin/default/register_custom.css file
3637 containing local CSS for styling the patron editor. Example:
3639 TR[fmfield=ident_type] { display: none; } /* be sure to set the
3640 ui.patron.default_ident_type setting */
3641 TR[fmfield=ident_value2] { border: solid thick red; font-size:
3643 TR[fmfield=barred] { display: none; }
3644 TR[fmfield=country] { display: none; } /* be sure to set the
3645 ui.patron.default_country setting */
3646 TR[fmfield=master_account] { display: none; }
3647 TR[fmfield=alert_message] { display: none; }
3648 TR[fmfield=ident_value] { z-index: -1; }
3649 TR[stat_cat_id='1'] { border: solid thick red; font-size:
3654 * Backport r17525 from trunk: summary generation at receive time
3658 * Make OpenLibrary the default added content provider
3660 OpenLibrary is a better choice than Amazon for added content out
3664 1) The OpenLibrary added content handler provides cover images +
3665 tables of content, whereas the Amazon added content handler only
3666 provides cover images.
3668 2) The terms of use for OpenLibrary content are much friendlier
3670 the Amazon "Product Advertising API".
3672 We discussed this back in mid-2009:
3673 http://markmail.org/message/csx2hl6aleznapga
3677 * Merging r17527-17529 from trunk: Backend issuance-level hold
3682 * Address typos and grammar in seed data
3684 TODO: Consistently wrap translatable content in
3685 oils_i18n_gettext() calls
3689 * back-port: 17535 => for consistency, use 'issuanceid' as the
3690 issuance ID param for holds possibility testing; removed some
3691 crusty, old hold create code
3695 * Backport r17537 from trunk: serials pattern wizard bugfix
3699 * updated ils_version for 2-0 branch, updated comment on format
3703 * Backport from trunk: With group billing calls we need a new index
3705 * Backporting from trunk: should have had this index all along, but
3706 was less important until now where copy notes are used up front
3708 * Backport from trunk: loop over users in a group, as the plan for
3709 usrgroup+mous is terrible
3713 * Backport r17547 from trunk: overrideEditWidgets in AutoGrid
3718 * merge r17549 from trunk for brief bib summary bar
3720 * merge r17550 from trunk for call number sorting in volume/item
3725 * Backport r17555 from trunk, better autogrid overrideEditWidget
3730 * merge r17557 from trunk for to prevent accidental address
3731 deletion attempt in patron editor
3735 * back-porting: 17553 17554 => support for viewing and editing
3736 existing issuance-level holds to the default opac skin; alternate
3737 issuance flesh call that only fleshes the subscription; used for
3742 * merge r17560 from trunk for tweaks to holds and hold details
3747 * Backport r17563 from trunk: booking bugfix
3751 * back-porting: 17566 => added command line option for defining a
3752 stderr output log file for the SIP server
3756 * merge r17576-r17580 from trunk for improved columns in Patron
3757 Search results list. Also fleshes some patron data sent to misc
3760 * merge r17582 from trunk for
3761 ui.patron.registration.require_address setting
3763 * merge r17588-r17592 from trunk for patron refunds and misc tweaks
3767 * Backport r17595 from trunk, nav buttons in view/place orders
3769 * Backport r17597 from trunk, autogrid refresh
3771 * Backport r17599 from trunk, refresh grid buttons
3775 * Backporting 17856, 17587, 17593, 17601 and 17603 from trunk:
3776 mod_deflate support; improved and expanded dojo layers; support
3777 for limiting facet retrieval in IE to just the initially
3778 displayed set (IE is terrible with large data sets)
3782 * Backport r17607 from trunk: serials predictions until end_date
3786 * Backporting r17609 from trunk: add maxValuesPerFacet attr/param
3788 * Backporting r17605 and r17606 from trunk: Method for retrieving
3789 received issuances attached to a bib, optionally scoped by
3790 location, holding type or item status, with paging and ordering
3795 * Backport r17612 from trunk: serials prediction for multiple dists
3797 * Backport r17615 from trunk: serials quick-and-dirty admin
3802 * merge r17614 from trunk for customizable circ modifier rendering
3805 * merge r17617 from trunk for _custom.properties file overlays with
3810 * Backport r17620 from trunk: serials opac method bugfix
3814 * back-port: 17622 => wrap custom props file reader in try/catch to
3815 prevent xhr complaining about missing file
3819 * make the other two k_* MARC templates usable by default
3821 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
3825 * added declaration of facet cache limit var, which was likely
3826 missed during back-port
3830 * Backport r17629 and r17630 from trunk: teach fielder to cache
3831 (off by default), with a default timeout of 5min; have fielder
3832 cache some frequently used data
3836 * fix retrieval of cat.default_classification_scheme
3838 Fixes bug where the cat.default_classification_scheme OU
3839 setting was effectively ignored in bib call # display
3840 in bib overlay and list of default call numbers during volume
3843 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
3847 * Merge r17574, r17575, r17584, r17585, r17628, r17639 from trunk
3848 to delete deprecated cgi-bin configuration interfaces
3850 The CGI interfaces have not been maintained; the interfaces
3852 the Admin -> Server Administration menu in the staff client are
3854 method for setting up new libraries in the organizational
3856 permissions, copy statuses, and circulation rules.
3858 Note that an adjustment to eg.conf is recommended to point to the
3859 offline.pl script, which is the only remaining CGI script in use;
3861 should avoid conflicting Apache definitions for the /cgi-bin/
3864 Most modern systems will install Class::DBI::Frozen::301 to avoid
3865 conflicts with incompatible Class::DBI packages. We need to teach
3866 offline.pl how to use Class::DBI::Frozen::301 if it is available.
3868 Note that we're using "use parent" instead of "use base" per the
3869 recommendation of "perldoc base"; accordingly, we're adding the
3870 system prerequisite for the parent pragma.
3874 * Backport I18N protection for permission descriptions
3876 * Backport from trunk: method for generating a set of compressed
3879 * Backport from trunk: slimpac cleanup
3881 * Backport r17653: unbreak item count in result list of slimpac
3885 * regexp for robust filename mangling
3889 * back-port: 17658 =>additional issuance holds supporting code; in
3890 this case, hold_to_mvr func which is used by the uber hold
3891 details method; commit also includes a small speed tweak for
3892 fetching details for copy holds (1 less cstore call)
3896 * Backport r17657 from trunk: payflowpro support
3898 * Backport r17661 from trunk, serials opac holding display
3902 * Backport r17644 from trunk: Integrate authority browse and
3903 creation support into the MARC editor
3905 This commit changes the contextual authority menu to be based on
3906 the authority browse interface; this should result in better
3907 matching behavior. The browse axis (author, subject, title,
3909 is based on the context tag.
3911 The browse interface has enabled the contextual menu to grow
3912 "Next page" / "Previous page" menu items to enable cataloguers
3913 to wade through long lists of similar authority entries.
3915 The browse interface has also grown a "Create new authority
3917 menu with two submenu items:
3919 * "Create immediately" takes the field in context and creates a
3921 record based on that field, with matching indicators and
3924 * "Create and edit..." displays the MARCXML for the authority
3926 a MARC editor window before saving the record to the database.
3928 TODO: Make the "Create..." contextual options add the $0 linking
3930 to the newly controlled field.
3932 TODO: Address some of the flaky UI behaviour, such as having to
3934 three times on an authority-controllable field to display the
3939 * MARC tooltip updates
3941 * updated bibliographic tooltips; now current as of LC MARC21
3943 Update 11, including the RDA tags. Along the way, enhanced the
3945 * include definitions for embedded holdings tags (84X, 853-855,
3947 * expand dropdown for nonfiling indicator values
3948 * added tooltip files for authority records and MFHDs
3949 * taught MARC editor how to choose the correct tooltip file
3951 Caveat: if you localize the authority and MFHD tooltips for a
3953 en-US, you must edit marcedit.js, either to take your translation
3955 or to make it smarter about checking for available translations
3958 Signed-off-by: Galen Charlton <gmc@esilibrary.com
3960 * backport EDI changes from trunk (r17669:17690,r17692)
3962 EDI work done by Joe Atzberger; highlights of the enhancements
3965 * ORDRSP processing improvements
3966 * overhaul of edi_fetcher
3968 * Beginning of modperl EDI message viewer
3970 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
3974 * Backporting from trunk: A big pile of useful serial-schema
3979 * back-port: 17699 => filter debits/allocs by fund in view fund UI
3983 * Backporting r17702 from trunk: Require that the matchpoint
3984 is_renewal flag be respected if set
3988 * 1. Revamp the contents of permission.perm_list:
3990 a) Renumber the permissions so that predefined permissions and
3991 non-predefined permissions are in separate ranges. That was
3992 always the intent but the intent has not always been followed.
3994 b) Add permissions that are referenced in the IDL but not
3995 defined in the database.
3997 c) Where the description is NULL, apply the code as a
3999 that's better than nothing.
4001 2. Incorporate miscellaneous recent changes from individual
4007 * merge r17707-r17708 from trunk for batch call number updates in
4008 same UI as batch barcode updates
4012 * Replace the seed data for permission.perm_list, using the values
4013 assigned for predefined permissions by the upgrade script from
4016 M Open-ILS/src/sql/Pg/950.data.seed-values.sql
4020 * Backporting r17710 from trunk: Need to start the arrayref out
4025 * Backporting r17715 from trunk: Patch from Dan Wells to extend the
4026 serial schema a bit in pref for upcoming improvement to existing
4029 * Backport of r17718 from trunk: teach
4030 open-ils.storage.serial.issuance.ranged_tree about "global"
4035 * Backport IDL-chunking work for interfaces under web/templates, as
4037 AutoWidget/AutoFieldWidget improvements to deal with some cases
4039 an IDL class preloaded.
4043 * Drop the arn_value / arn_source columns on authority.record_entry
4044 and create an index instead
4046 The authority record number (ARN) was problematic when trying to
4048 local authorities because the number had no correlation to the
4050 the authority heading. By creating an index on authority records
4052 their heading, thesaurus, and heading text, we can do a better
4054 controlling the actual content of the authority records.
4056 In a future release, we may convert this index to a unique index.
4058 will give sites an opportunity to begin cleaning up their
4060 by identifying duplicate and problematic records through the
4061 authority.normalize_heading(TEXT) database function.
4063 * Backport r17723 from trunk: Add AutoIDL classes for Vandelay
4066 Vandelay needs these class definitions for basic import
4069 Ideally every templated page wouldn't need to load these, but
4070 this seems to be the best short-term solution.
4074 * Incorporate several late-breaking upgrades into the upgrade
4077 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4081 * A couple useful, missing backports for the IDL
4083 * Missed some holds-related OU setting types from
4084 0077.data.holds_local_avail_and_override.sql in the seed data
4086 * This needs to be the same in 2.0 as trunk, and the changes to
4087 this script need to make it into the 1.6-2.0 upgrade script as
4088 well, if not there already
4090 * no need to ignore this improvement, which makes browser-focused
4095 * This needs to be the same in 2.0 as trunk, and the changes to
4096 this script need to make it into the 1.6-2.0 upgrade script as
4097 well, if not there already
4101 * Make acq.provider_contact.name NOT NULL.
4103 This change corrects the effect of a typo (NULL NULL instead of
4106 M Open-ILS/src/sql/Pg/200.schema.acq.sql
4107 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4109 Open-ILS/src/sql/Pg/upgrade/0404.schema.acq-provider-contact-null-null.sql
4113 * Backport r17736 from trunk: more IDL chunking-related fixes
4115 * Backport r17738 from trunk: more IDL chunking fixing
4117 * Backport r17735 from trunk, opac holds issuances expandy
4119 * Backport r17717 from trunk
4123 * remove internal limit with querying on facets
4125 This allows non-selective facets such a material type facet
4126 to bring in correct results - the tradeoff is that queries
4127 that involve facets will run slower.
4129 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4133 * .pot files generated during the alpha2 build process
4137 * Add column usr_summary to actor.stat_cat. (This column was added
4138 before we started maintaining individual update scripts.)
4140 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4144 * Backport r17750 from trunk, IDL chunks + copy template UI fix
4148 * Backport r17752 from trunk
4152 * Backport r17754 from trunk: Only show "issues held" if there is
4155 * Backport r17757 from trunk: OU locale lookup needs a bit more
4156 work, it needs to pass a language instead of an xx-YY locale
4159 * Backport r17759 from trunk: normalize all locales used in
4160 locale-lang mapping for QueryParser
4164 * -- Dropping a foreign key (which has already been dropped from
4166 -- base installation scripts).
4168 M Open-ILS/src/sql/Pg/002.schema.config.sql
4169 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4171 Open-ILS/src/sql/Pg/upgrade/0405.schema.acq-hold-copy-map-drop-fkey.sql
4175 * Backport r17763 from trunk
4179 * back-port: 17765 => protect against fetching lineitem details by
4184 * Backport r17767 from trunk, vandelay Edit Attributes fix
4188 * Backport r17769 from trunk: use HTTP URLs to download prereqs to
4189 avoid protocol-blocking annoyances
4193 * back-port: 17772 => vandelay import list report all option
4197 * Restore two foreign keys that were somehow inadvertently
4198 dropped, probably by some funky interaction with inheritance.
4200 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4204 * Backport r17776 from trunk: Revert attempt to prevent encoding
4205 corruption that was causing encoding corruption
4207 LDR/09 was never showing up as 'a' where it was being tested, and
4209 'a' was preventing a reconversion to UTF8. It somewhat looks like
4211 MARCXML input gets converted to MARC8 as part of MARC::Batch's
4213 gets converted back to UTF8 by MARC::File::XML::as_xml_record().
4215 this would mean potential performance / encoding problems but it
4217 is better than what my meddlesome tests were doing.
4221 * Backport r17778, IDL chunking fixes
4225 * get rid of the disabled-look for the Actions for this Record menu
4228 * merge r17782 from trunk to fix progressbar and list refresh after
4229 modifying/archiving existing message/penalty in Patron Messages
4234 * enable translation of location name in copy location/status
4237 Implementation is iffy because it exposes oils_i18n_xlate outside
4240 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4244 * Backport r17786, acq po activation failure improvements
4248 * load the right class in the on-the-fly IDL loader call
4250 * need cit and actsc for patron reg
4254 * added format.po.jedi hook to initial seed
4256 Signed-off-By: Galen Charlton <gmc@esilibrary.com>
4260 * more user stat cat classes
4264 * Backport r17796 from trunk: serials batch receive improvements
4268 * silly me, acqpo.activate is the new format.po.jedi
4270 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4274 * Backport r17800 from trunk: Offer a global flag to cause the
4275 testing of hold matrix rules against the receiving user instead
4276 of the requestor, and set the initial value to enabled as this
4277 seems to be the less surprising value for current users of in-db
4280 * Patch from James Fournie of SITKA:
4282 This is a patch that makes the toolbar work with the little
4284 button on Macs. It's that little lozenge-like button on the top
4285 right of Mac programs that shows/hides the toolbar. With this
4287 it will show/hide the toolbar "button bar", making it behave more
4289 most Mac programs. It shouldn't have any affect on other
4294 * Backport r17802 and r17803 to provide a human-visible RSS feed in
4297 Despite having RSS and Atom feeds at the core since version 1.0,
4299 hard for humans to access those feeds. This will dynamically add
4301 the dynamic OPAC so that the RSS feed indicator will light up.
4307 * Remove UNIQUE NOT NULL from config.index_normalizer.description.
4309 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4313 * back-port: 17810 => added cnal to autoidl pile
4315 * in acq copies display, default to ws lib as recipient lib
4319 * Make sure offline interfaces correctly load printer settings
4320 outside of logins. Some refactoring
4324 * back-port: 17817 => for large sets of holds, usually around 10 or
4325 more, the holds display takes a little too long. instead of
4326 collecting them all and sorting them by queue position, slot them
4327 into the display table (by queue position) as they arrive
4331 * remove redundant invocation of custom.js, and tweak how menu.js
4336 * Backport r17821 from trunk: delay acq provider loading
4340 * Backport r17823 from trunk: acq po and invoice interfaces
4342 * Backport r17825 from trunk: changing "Picklist" to "Selection
4347 * Backport r17827 from trunk: Search for humans: AND and OR are
4348 more understandable than "&&" and "||"
4350 The operators && and || will not mean much to many people,
4352 OR have common meanings that will aid in understanding the
4358 * Backport r17829 from trunk: actions menu to ordinary select in li
4361 * Backport r17831 from trunk: holding code miniwizard
4365 * marc_add_ids - better failure recovery
4367 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4371 * back-port: 17836 => addd missing opac_visible col and labels to
4372 config.usr_setting_type
4376 * merge r17838 from trunk, change to stat cat display in horizontal
4381 * Backport r17840: misspelling fixing
4385 * Resolving various discrepancies between an upgraded 2.0 database
4386 and a freshly installed one.
4388 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4392 * back-port: 17844 => added pgpt class to pre-load set
4396 * Backport BibTemplate callback support from trunk
4400 * Backport r17848 from trunk, sort of
4402 In rel_2_0, one of these permissions was already there, and the
4404 different, but this should be functionally equivalent.
4408 * add missing upgrade script for maintain_901() stored function
4410 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4414 * Backport r17853 from trunk
4418 * Backport r17855 from trunk: Use verbose parameters for createdb
4420 Thomas Berezansky noticed that the README was using "createdb -t
4422 which isn't a valid option. To avoid case problems and to be more
4424 what these options mean, let's use the verbose parameters.
4426 * Merge r17587 and r17588 from trunk to add $0 control subfields
4427 for newly controlled fields
4429 In the MARC editor, when editing a bibliographic record and
4431 a controllable subfield, the "Create new authority from this
4433 now both add a $0 control subfield to the target bib field once
4435 auth record has successfully been created.
4437 * Backport r17860 from trunk: Clean up description of ARN in
4438 O:A:Cat::Authority now that arn_value is gone
4440 A comment in the create_authority_record_from_bib_field() method
4442 the ARN value needed to be unique across the database; that is no
4444 as of r17722. Fix comment accordingly.
4448 * backport r17862 and r17863 from trunk
4450 Two new internal_flags to improve parallel bib ingest.
4452 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4456 * Correct various discrepancies, especially in the auditor schema,
4457 between a freshly installed 2.0 database and an upgraded one.
4459 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4463 * merge r17867 from trunk for HoldIsCancelled action_trigger
4466 * merge r17869 from trunk for offline printer role
4470 * Resolve some discrepancies in the auditor schema between a
4472 database and an upgraded one.
4475 Open-ILS/src/sql/Pg/upgrade/0413.schema.upgrade-auditor-tables.sql
4477 * Don't update history tables to fill in new columns
4480 Open-ILS/src/sql/Pg/upgrade/0413.schema.upgrade-auditor-tables.sql
4482 * Don't make new auditor columns NOT NULL, or update them
4484 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4486 * Replace some changes that had inadvertently been deleted
4488 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4492 * merge r17879 from trunk to increase timeout for full pull list
4495 * handle null as a return result for an empty list
4499 * Forward port r17847: Make query parser a bit more careful when
4500 converting convenience classes to search classes
4502 Queries like "Heart disease: a global problem" were getting
4503 converted to series searches
4504 due to the trailing "se:" in the search terms. This change
4505 ensures that the convenience
4506 class is either at the start of the input or preceded by
4511 * In acq.fund_transfer: drop the NOT NULL constraint from dest_fund
4513 dest_amount, in order to accommodate deallocations -- where we
4515 money out of a fund without moving it into another fund.
4517 This change was applied via upgrade script # 0135, but apparently
4519 never applied to the base installation script.
4521 M Open-ILS/src/sql/Pg/200.schema.acq.sql
4523 * For action.circulation and action.aged_circulation: add indexes
4524 on the target_copy column.
4526 This change was made in upgrade script # 0017, but was apparently
4527 never applied to the base install script.
4529 M Open-ILS/src/sql/Pg/090.schema.action.sql
4531 * Adding a trigger. Upgrade # 0364 created the trigger function but
4533 the trigger itself. However the base install script
4534 040.schema.asset.sql
4535 creates both the function and the trigger.
4537 M Open-ILS/src/sql/Pg/002.schema.config.sql
4539 Open-ILS/src/sql/Pg/upgrade/0414.schema.call-number-upd-ins-trigger.sql
4543 * merge r17892 from trunk for holdings maintenance fix allowing
4544 volumes at top of org tree
4546 * merge r17894 from trunk to fix bug in Item Status -> Alternate
4547 View for items with no circ modifier
4549 * merge r17896-17897 from trunk for printing fixes
4553 * Backport r17899 from trunk: fix a pull list sorting issue
4555 * Backport r17901 from trunk: IDL chunking fixin'
4559 * Backport r17903 from trunk: only flesh up to, but not including,
4560 the leaf for the group_field
4564 * Backport r17906: Remove most UI annoyances from authority
4565 management interface
4567 * term input field now gets the focus automatically
4568 * pressing enter in most places submits a new search
4569 * removed the onBlur event as that required users to click a
4571 time to open the action menu
4573 * Browse through 20 authority records at a time in management
4576 The default browse list is set to 9 elements, but we have enough
4578 space to make use of more. Perhaps we should check the font size
4580 viewport height and then adjust accordingly, but that would be
4583 * Remove most annoying UI "feature" of the new authority browse
4586 When I added the new authority browse list interface, I used
4588 to retrieve records from the authority browse backend - but
4590 specify sync:true, when you first right-clicked on a subfield,
4592 would return immediately and default to showing the context menu.
4594 then need to click two more times to show the authority list.
4596 Now you get it on your first right-click, as it should be.
4600 * Dropping and recreating a foreign key constraint for
4601 config.metabib_field,
4602 in order to change its name. WHen this foreign key was first
4604 the upgrade script gave it one name and the base install script
4606 a different name. Here we bring the names into sync.
4608 M Open-ILS/src/sql/Pg/002.schema.config.sql
4610 Open-ILS/src/sql/Pg/upgrade/0415.schema.rename-field-class-fkey.sql
4614 * Forward-port of a patch from Steve Callendar, via James Fournie,
4617 When the patron.password.use_phone is set, new patrons are
4618 created with their password set to the last 4 digits of their
4619 phone number, HOWEVER, when a
4620 patron's password is reset, it does not work properly. Although
4621 the little underlined summary shows the proper 4 digits, the
4622 password box displays 9-
4623 ish digits, and is not the last 4 digits of the password.
4625 The attached patch was created by Steve Callender and is
4626 confirmed working on 1.6.0
4628 ORIGINAL CAVEAT: This patch will not work on 2.0 as that has a
4629 new user editor, but it would presumably be worthwhile to verify
4630 this functionality wor
4631 ks in that editor as well.
4633 ED NOTE: Because it is possible to use the old editor -- it still
4634 exists -- this patch should be applied. It does what it
4635 advertises to do, which is
4636 fix the old editor to follow the "use phone number" OU setting.
4638 * Merging r17905 and r17914 from trunk: A/T transaction semantics
4641 r17905: Use a transaction to avoid talking to a replicated db
4642 when building A/T data structures
4643 r17914: In EventGroup.pm, fetch updated event back from the R/W
4646 * Backport r17912 from trunk: Have the CStoreEditor grow a DESTROY
4648 * Backport r17913 from trunk: event firing util code needs to run
4653 * disable holds Detail View button until the asynchronously loading
4658 * Resolving various discrepancies between a freshly built 2.0
4659 database and an upgraded one.
4661 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4665 * repaired search call for user_setting. cstoreeditor uses the
4666 fieldmapper name, sos/usr/user/
4670 * Backport r17933 from trunk: unneeded comma removed to placate IE
4674 * I can has authoritative for selfcheck receipts
4678 * Backport r17939 from trunk: Stopping the leak
4682 * Backport r17941 from trunk: miker's permacrud authoritative
4687 * Apply some fixes that were earlier applied to the base
4689 090.schema.action.sql, but not in an upgrade script.
4691 Also: correct a typo (INTEVAL -> INTERVAL). Hence this upgrade
4693 to v2.0 as well as to trunk.
4695 M Open-ILS/src/sql/Pg/090.schema.action.sql
4696 M Open-ILS/src/sql/Pg/002.schema.config.sql
4698 Open-ILS/src/sql/Pg/upgrade/0418.function.action.fix-purge-circ.sql
4702 * Backport r17946 from trunk: use _session_request in RO calls
4706 * We're starting to get events where ilsevent == empty string now,
4707 not just null or a number.
4711 * Backport r17950 from trunk
4715 * this call returns an array; fixes surprise stat cats in patron
4720 * improve hold targetting
4722 * all potential capturable copies are now checked (up to the
4724 one that is permitted for the request), instead of a small random
4726 * don't do redundant permission checks
4728 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4732 * merge r17958 from trunk for patron display juvenile CSS
4736 * Backporting hold queue stats fixes from 17956, 17957 and 17963
4740 * spawn item attribute editor instead of item notes UI during
4741 process missing pieces workflow
4745 * Backport r17972 from trunk: removed extra {}s from where clause
4749 * Backport r17974 from trunk
4753 * backport 17976 from trunk
4755 Remove confusing older targeter version; move status trimming to
4756 earlier in the process --miker
4758 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4762 * clean up the fire_object_events cstore xact
4764 * more transaction cleanups
4768 * Backport r17982 from trunk
4774 * events don't have granularity's. removing
4778 * Backport r17989 from trunk
4780 * Backport r17992 from trunk: misplaced paranoia
4784 * don't leak cstores if CStoreEditor rollback fails
4786 Patch by Mike Rylander.
4788 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4790 * more selfcheck receipt transaction hackery
4792 Instead of having authoritative versions of
4793 open-ils.circ.fire_*_trigger_events, wrap just the
4794 target retrieval itself in a transaction. Avoids as
4795 yet unexplained rollback failure that occurs if
4796 processing a selfcheck receipt with more than a few items on it.
4798 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4802 * make address_type required in the patron editor, otherwise a
4803 blank value sends a null to the db where it silently fails
4807 * Backport r18007 from trunk: allow more complex facet ordering
4809 * Backport r18009 from trunk: Only show facetOrder limited facets
4814 * added missing columns to CDBI table definitions
4816 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4820 * Remove a debugging statement that slipped in
4824 * backport 18015 : push copy location order update into ML method.
4825 return updated orders from method to prevent replication issues.
4826 update UI JS to match
4828 * backport 18016: no need to warn when emails may just be disabled
4830 * backport 18017: honor SIP return date as the circ backdate
4834 * avoid multiple clicks of selfcheck logout link
4836 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4840 * Resolve differences between stored procedures in a freshly
4842 2.0 database and those in an upgraded one.
4844 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4848 * Backport r18025 from trunk: Provide for limiting the number of
4849 classOrder elements to a specific number. Skips those without
4852 * Backport r18027 from trunk: Adjust hold-to-record view to cover
4853 I, F and R hold types
4857 * since we're enforcing the requiredness of address type, let's
4858 give it a default value (since empty strings don't work with
4861 * accidental change in previous commit. long term plan here is a
4864 * merge part of r18002, and all of r18003 and r18004 from trunk for
4865 persistent/sticky slider positions and window sizes
4869 * Backporting r17984 from trunk: pedantic protection of cstore
4870 backends -- always use die_event when in xact mode, and rollback
4873 * Backport r18034 from trunk: use transaction when gathering
4874 records from a newly created queue; adjust rollback usage in
4879 * backporting some xact management fine tuning
4883 * fix default path to selfcheck sounds
4885 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4889 * Backporting 18039 from trunk: make pubdate sorting on search
4890 faster by pre-munging date1 and date2 into an acceptable sortkey
4892 * Backport r18041 from trunk: Correct the subquery for A/T
4895 * missed in the previous commit, sorry folks
4899 * fix glitch in hold target OU weighting
4901 We want to weight by the copy's circulation library, not the
4904 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4906 * fix another hold targeting glitch
4908 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4910 * adjustments to pubdate sorting patch
4912 * handle upgrade for date1/date2 containing the empty string
4915 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
4919 * Backport r18051: fix a glitch with the granularity column of the
4924 * 1. Turn some ints into bigints.
4926 2. Rename the uniqueness constraint for booking.resource_type.
4928 M Open-ILS/src/sql/Pg/090.schema.action.sql
4929 M Open-ILS/src/sql/Pg/200.schema.acq.sql
4930 M Open-ILS/src/sql/Pg/012.schema.vandelay.sql
4931 M Open-ILS/src/sql/Pg/095.schema.booking.sql
4932 M Open-ILS/src/sql/Pg/002.schema.config.sql
4933 M Open-ILS/src/sql/Pg/070.schema.container.sql
4934 A Open-ILS/src/sql/Pg/upgrade/0421.schema.embiggen-ints.sql
4938 * Utility for ISBN10->ISBN13 upconversion
4940 * Script is executable
4942 * edi_translator sample EDI/JEDI docs
4944 EDI test and sample data
4946 Ingram ORDRSP that fails translation
4950 * Use quoted attribute values to make Firefox / XULRunner happier
4953 The unquoted values in BibTemplate and the OPAC detail template
4955 mucho noise in the JavaScript console; this hushes it up nicely.
4959 * For edi_translator on RHEL
4961 Note: RubyGems 1.3.4 is not available anymore
4963 * Fix POD for RemoteAccount
4971 * Turn an int into a bigint in acq.acq_lineitem_history, following
4973 a similar change to acq.lineitem.
4975 M Open-ILS/src/sql/Pg/002.schema.config.sql
4977 Open-ILS/src/sql/Pg/upgrade/0422.schema.acq.lineitem-history-bigint.sql
4979 * Incorporate several recent upgrade scripts, through # 0422.
4981 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
4985 * Backport r18077 from trunk: add support for the null() xpath
4986 function, which works in pgxml (AKA xml2) but not in the builtin
4987 XPATH function for 8.3+
4991 * Change memcached default location to 127.0.0.1 from localhost
4993 Debian Squeeze currently doesn't fare well with memcached servers
4995 localhost and needs an explicit 127.0.0.1, whereas Ubuntu Lucid
4997 either. Changing the default here means one less possible gotcha
4999 of the box install & configure experience for Debian Squeeze
5004 * this breaks (hides) the buttonbar in windows. Sorry James, miker
5008 * repaired logic bug in lineitem worksheet template
5010 * backport 18084: sip override checkins, bug fixes
5012 * for troubleshooting, log the size of the template output to be
5017 * Backport r18089 from trunk. A/T feature.
5021 * Backport r18091 from trunk: move the early-out response so we
5022 avoid breaking the caller
5026 * Delete all cookies on logoff. There's dojo code that looks for
5027 stale session cookies and has the xul client prompt for a new
5028 session. When you logoff, the session is destroyed, but the stale
5029 cookies were being left behind (and not overwritten on login? I
5030 don't understand that part). But this fixes it
5034 * Backport r18095 from trunk: Use transactions everywhere in
5039 * Backport r18097 from trunk: Process item imports during record
5040 import, not as a secondary call (never should have worked, but
5041 for transaction timing)
5043 * Backport r18099 from trunk: support per-grunlarity parallelizing
5044 via flag and lock file
5048 * reporter: don't try to write Excel formulas
5050 Any cell value that starts with = is now always written
5051 as a text cell in spreadsheet output. Avoids a possible
5052 exploit as well as errors like this:
5054 Couldn't parse formula: = at /openils/bin/clark-kent.pl line 429
5056 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5058 * fix FM type of reporter.report.data
5060 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5064 * merge r18106 from trunk for needless auth prompting
5068 * Merge r18076 from trunk: Make authority validation rules match
5069 authority ingest rules for better matches
5071 This resolves a problem in
5072 O:A:Storage:Publisher:authority:validate_tag() where
5073 the full NACO normalization rules that are applied to the
5075 authority records when they are ingested into authority.full_rec
5077 applied to the incoming subfields of the bib field that is being
5079 only diacritic characters in the bib field subfields were being
5082 Now we apply naco_normalize() to the search terms so that they
5084 the ingested form of the authority record.
5088 * fire the hold_request.cancel.staff when hold is cancelled by
5093 * Add serial.record_entry to CDBI definitions
5095 Better late than never; never added the serial.record_entry
5096 CDBI definitions in the 1.6 series, but as that table can
5097 still be active in 2.0 we might as well get it in place.
5099 * Teach marc_export script how to export MFHD serial records
5101 Passing the --mfhd flag will export any non-deleted MFHD records
5103 serial.record_entry associated with each bib ID. So, for a
5105 bib IDs 1, 2, 3, where 2 has no associated MFHD records and 3 has
5107 associated with it, the output will be structured as follows:
5109 Bib MARC for bib ID 1
5110 MFHD MARC for bib ID 1
5111 Bib MARC for bib ID 2
5112 Bib MARC for bib ID 3
5113 MFHD MARC for bib ID 3
5114 MFHD MARC for bib ID 2
5118 * tweak remoteauth.cgi to offer usrname and barcode params in
5119 addition to user. user param now looks for the opac.barcode_regex
5120 org unit setting to determine whether the value is a usrname or
5121 barcode. change double-quotes to single-quotes if we're not doing
5122 string interpolation. change apache instructions for
5130 Use of uninitialized value in subroutine entry at
5131 /openils/lib/perl5/OpenILS/SIP/Patron.pm line 230.
5133 Signed-off-by: Joe Atzberger <atz@esilibrary.com>
5137 * use an opac login here, which doesn't require the STAFF_LOGIN
5138 permission by default
5142 * Backport r18124 from trunk: another pull list printing pathway
5146 * Set due times for durations measured in days to 23:59:59 after
5149 The existing trigger acted only on the initial insert of a
5151 transaction for duration intervals perfectly divisible by 24
5153 If updates to those due dates were subsequently issued, then the
5155 time would revert to 00:00:00 - which could cause surprising
5157 fines to be generated on the due date, rather than after the due
5160 This commit makes the trigger take effect on both INSERT and
5162 to the action.circulation table.
5166 * Backport r18130 from trunk
5170 * Backporting r18123 from trunk: Implement a process-local cache
5171 for event target fleshing -- particularly helpful with large
5174 * Backportin r181323 and r18133 from trunk: Massive search
5175 core-query speed improvement.
5177 * Only compile the tsquery once
5178 * Use direct ids instead of going back to the db udring a queyr
5179 * Change a remaining CASE to COALESCE/NULLIF
5181 * Backporting r18136 from trunk: configurable chunking of the holds
5182 stream to avoid the xulrunner "I forgot the chunked stream"
5187 * Incorporate upgrade scripts 0423 and 0424
5189 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
5193 * Backport r18140 from trunk: moved the cache clear to later in the
5194 firing to pick up data; fixed some typos/thinkos
5196 * Backport r18141 from trunk: Allow caller to ignore selected facet
5197 classes; ignore identifier class by default
5201 * Backport r18148 from trunk: fix pull list retrieval bug for alt
5206 * fixed typo in vandelay merge profile permission check
5210 * Backport r18158 from trunk: patron alias column in some holds
5215 * French translation of password reset form and prompts at
5216 /opac/password/fr-CA/
5220 * avoid running activated hook when in dry run mode
5224 * make it easier to grep for bib search durations from the Pg log
5226 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5230 * merge r18169 from trunk for CSS hooks
5236 * Add title to PO view page.
5244 * The whole point of test mode, NOT actually committing actions.
5248 * be quiet with errors retrieving remote column settings
5252 * hold matrix selection: treat root OU as just another OU
5254 Treat the root OU as just another OU for the purpose of
5255 calculating OU proximity adjustments when selecting a
5258 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5262 * Backport r18187 from trunk: Add a retargetting specific version
5263 of the hold-permit function which skips user tests
5265 * Backport r18188 from trunk: usr_grp is entirely unused currently;
5270 * first level of groups hash can be array or hash, leading to
5271 breakage; for now, keep it simple and return continue-status to
5272 keep the caller alive
5276 * Backport r18195 from trunk: Make retargetting check less lax by
5277 including appropriate patron-side test
5281 * suppress usr_grp field in hold matrix matchpoint; see also 18188
5285 * Backporting a syntax correction; SQL functions cannot reference
5286 their parameters by name.
5288 M Pg/upgrade/0428.schema.hold_retarget.sql
5289 M Pg/110.hold_matrix.sql
5293 * hold/transit slips may want to use stat cats as well
5297 * avoid retreiving/searching a linked object, when there is no
5298 object to retrieve (i.e. ident value is null) and silence various
5299 warnings by skipping this scenario. mild variable refactor for
5300 easy reading for feeble eyes.
5304 * Incorporate upgrades 0427 and 0428 into the consolidated upgrade
5307 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
5311 * Backport spackling from trunk: db upgrade script dislikes holes
5316 * Backport r18215 from trunk: alternate printing for expired holds
5319 This is slim so that it supports bigger datasets than the usual
5321 this. Needs improvment: make the template more customizable
5325 * Warn but continue on skipped upgrade revs.
5329 * merge r18220 from trunk for %destination_shelf% macro in hold and
5330 hold/transit slip templates
5334 * Backport r18222 from trunk: reasonable default sorting for
5339 * EDI template update for ORDERS
5341 This template produces JSON for the edi translator to convert
5343 actual EDI lines. It now handles vendor-specific requirements for
5344 account and sub-account identification, and also transmits notes
5345 of the vendor-public variety as FTX segments in the lineitem.
5349 * Backport r18226 from trunk
5353 * choose the hold permit test variant correctly
5355 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5359 * Backport r18230 and 18231, hold shelf clearer/printer
5363 * do not apply superpage limit inside bib search joins
5365 Oddly, empirical evidence suggests that this might actually
5366 be faster, and if this pans out, search results will definitely
5369 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5373 * Avoid scary SSL / HTTPS errors in Apache configuration
5375 When port 443 is the last listener port, Apache generates lots
5376 of "unknown protocol speaking not SSL to HTTPS port!?" errors in
5377 the logs - which are scary, but harmless. Putting port 80 last
5378 avoids those errors entirely, per
5379 http://wiki.apache.org/httpd/InternalDummyConnection
5383 * moving users in and out of groups produced dialogs that expected
5384 vertical patron summaries. this fixes that
5386 * fix logic error where we were just testing for the presence of a
5387 user setting instead of its value
5391 * Backport r18249 from trunk: clear hold shelf work even on
5400 * mild fixes for a/t interface admin interface. sort by def name
5401 instead of hook, which probably makes more sense to a human. hide
5402 the opt-in and max-delay columns to free up some badly needed
5403 horizontal space. use percentage width for name column, which
5404 acts a lot like 'auto', but allows the user to manually resize
5408 * wait to run-pending if a specific granularity used
5412 * Tighter verbose format for skipped POs
5416 * initialize these lists just once to prevent display glitch
5418 * avoid race condition with post-save patron editor refresh and
5419 replicated databases
5423 * Incorporate upgrade # 0433 into the consolidated upgrade script.
5425 M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
5429 * Be sure to copy new JS files from OpenSRF on a FULL
5434 * Backporting MARC js fixes from trunk
5438 * thinko supporting multiple rules of the same type in in-line
5443 * clean up duplicate system-controlled penalties during penalty
5444 calculation; perform penalty trigger event creation after the
5445 standalone commit occurs. todo, handle non-standalone post-commit
5446 penalty trigger event creation
5450 * Change the treatment of ORDER BY. Except as noted, these changes
5451 apply only to methods other than json_query.
5453 1. Allow the use of array syntax for specifying an ORDER BY
5455 as an array of field specifications, such as can be used in
5457 The older syntax, using a hash based on class name, is still
5460 2. For json_query, using the array syntax: relax the requirement
5462 class be in scope. A field from an out-of-scope class will now be
5463 silently ignored. This change avoids certain problems with
5465 queries, which use the same order_by array at multiple levels.
5467 3. For the hash syntax: relax the requirement that the class be
5468 referenced in the SELECT clause. Now it suffices that it be in
5469 scope in the generated SQL. As a result, you can now sort by a
5470 column in a joined class without artificially including that
5474 4. When all or part of an ORDER BY clause is expressed as a
5476 literal: require that the string not contain any semicolons, in
5478 to block certain kinds of SQL injection. This measure could
5480 problems if a semicolon appears within a quoted string -- which
5482 possible in theory but highly improbable in practice.
5484 5. Don't include a virtual field in an ORDER BY clause. If one is
5485 specified, silently ignore it.
5487 M Open-ILS/src/c-apps/oils_sql.c
5491 * change the Swap Editor button to a persisted checkbox
5495 * correct top-half ordering by label_sortkey
5497 * patch from Steve Callendar to avoid resetting the passwd every
5498 time a phone number changes
5500 * cast label_sortkey to bytea in order to get ascii-betical sorting
5501 in any locale, even C. stupid glibc ...
5503 * backward compat indexing for label instead of label_sortkey
5505 * "as" not "to" ... you pointed that out the first time, miker,
5508 * upgrade version number fix
5512 * Back-porting a number of action/trigger fixes from trunk:
5514 parallel collection and reaction with multisession
5515 cut down xact begin/rollbacks to reduce call overhead during
5517 force granularity-only when running w/ --granularity
5519 * If an item is captured for a hold, but not in transit (i.e. on
5520 holds shelf), set the destination_location equal to the pickup
5521 library (i.e where it's supposedly on the shelf). This is useful
5522 for autmated sorting so that the item will return to the branch
5523 whose shelf where it belongs.
5527 * tweak expanding search field aliases
5529 Avoids a glitch that can occur if a search field alias
5530 exists that happens to have the same name as a search field.
5532 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5536 * Poked by scottmk to incorporate 0438 into the 1.6.1-2.0 upgrade
5537 script. This may duplicate effort if one is already on 1.6.1.3+
5538 (when it exists) but there is no harm in it either.
5542 * Backporting r18364-r18366 from trunk: use a function to wrap up
5543 escaping of solidus and casting to bytea, propogate to indexing
5548 * merge r18374-18375 from trunk for bill receipt fixes
5550 * make Circulation -> Enter Offline Interface open a new window
5551 instead of a tab, like the button from the login window. This
5552 works around a permission issue with loading the offline receipt
5555 * stop sign page was incorrectly coming up for all penalties
5559 * Protect biblio.extract_located_uris() from a NULL uri_use value
5560 by using the href as a fallback
5562 If an 856 field contained a subfield "9" but did not contain a
5564 "z", "2", or "n", then ingest of the MARC record would fail as it
5566 to retrieve an asset.uri row where uri_use = NULL - which was
5569 This change adds the subfield "u" to fall back to for the uri_use
5571 just like we do for the uri_label variable, and prevents ugly
5573 from getting thrown back at the client.
5577 * Backport r18384 from trunk: serials previous issue copy location
5580 * Backport r18386 from trunk, asset.copy_template editing
5585 * fix mapping of the crossed D character in naco_normalize
5587 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5589 * update 1.6.1 to 2.0 upgrade script for 0441
5591 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5595 * expand the scope of BT on the result list page, allowing simpler
5600 * Backporting r18396 from trunk: Patch from Thomas Berezansky
5601 providing an alternate implementation of Hard Due Dates
5605 * during checkin, an item's hold may have a fleshed pickup_lib.
5606 added code to detect and protect against treating a ref as an ID.
5611 * Backport r18407 from trunk: alt serials interface tweak
5615 * Prevent "Validate" from matching against deleted authority
5618 2.0 introduces the ability to delete authority records. The
5620 OpenILS:Application:Storage:Publisher:authority check for
5622 of authority.full_rec without concern about whether the
5624 entry in authority.record_entry has been deleted or not.
5626 This change removes entries from authority.full_rec when an
5627 authority.record_entry row is deleted, with the (possibly
5629 assumption that there won't be many cases where users will want
5631 search for deleted authority records and undelete them. If that
5632 assumption turns out to be incorrect, then further changes can
5634 this change at least makes the current behaviour for user-visible
5635 actions work as expected.
5639 * 1.6.1-2.0 upgrade script needs to fall in line with reality, re
5644 * Backport r18414 from trunk
5646 * Backport r18416 from trunk: a/t use rstore to flesh if cstore not
5651 * Patch from tsbere to address backporting issue of hard due dates
5652 patch against trunk (also, get rid of 3-space indentation..)
5656 * Backport r18419 from trunk: supercat bugs on records with serials
5659 * Backport r18421 from trunk
5663 * don't allow inactive cards with web-selfcheck
5667 * add start_date and end_date to scap serialization
5669 * These fields exist ... tell the IDL about them
5673 * added some time diagnostics to checkin process; more org unit
5674 caching; do less user fleshing on hold user during checkin (only
5675 card and name is needed)
5679 * use a transaction when searching for the nearest hold request
5681 Solves the following problem in a setup that uses Slony - if
5682 multiple items that can fulfill the same hold are checked
5683 in one after another, occassionally two items will end up
5684 being put in transit for the same hold request.
5686 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5690 * improve call number sorting
5692 oils_text_as_bytea now does uppercasing in addition
5693 to converting strings to bytea, working around
5694 the limitation that json_query can't stack transforms
5696 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5700 * ilsevent is no longer a number, but a string. I knew that, but
5705 * Backport r18442 from trunk, autogrid cut-off tweak
5709 * Move dojo loading around to avoid the "white screen of death" in
5710 Firefox and xulrunner (See:
5711 http://o.dojotoolkit.org/forum/dojo-foundation/general-discussion/firefox-3-fires-domcontentloaded-event-prematurely
5716 * Backport r18448 from trunk, minor acq glitch with view/place
5721 * typo in setTimeout spotted by dbs
5723 * Use standard JS syntax; var [...] seems to be a Spidermonkey
5728 * further protection against dreaded opac bank page; wrap
5729 settimeout redetail bibtemplate loading in an onload to ensure it
5730 runs after dojo onload events
5734 * Dump some debugging output from clark; may later make this
5735 optional, but we usually need it when looking for the cause of
5738 * Backport r18462-r18463 from trunk: Remove some connectby() uses
5739 and update upgrade script
5741 * quickly, before anyone notices ... minor speed enhancement (aka,
5746 * Floating field in alternate item details UI
5750 * include more information in the debugging dump; correct the "back
5755 * fix NACO normalization of four letter modifier characters
5757 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5761 * Backport r18480 from trunk: copy template editor bugfix
5765 * View Source option for embedded browser (click on the Debug link)
5769 * fix glitch in escaping call number labels
5771 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5775 * Backport r18489 from trunk: distribution formula UI paging
5779 * added grid autoHeight to distrib formula page to prevent the grid
5780 from consuming the whole page
5784 * remove unused settings and permission
5786 circ.holds.alert_if_local_avail and
5787 circ.holds.deny_if_local_avail
5788 are redundant; circ.holds.hold_has_copy_at.{alert|block} are the
5789 settings that will actually be used. Also remove a related,
5790 redundant permission.
5792 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5796 * Backport r18502 from trunk: make booking avoidable in circ
5801 * Backport of r18494, r18500 and r18501 from trunk: split fine
5806 * since they typically repeat, cache the org and requestor objects
5807 in the permit loop of the find-best-hold calculation
5811 * Move towards unnest (faster than explode_array); bring upgrade
5816 * more micro-optimization of checkin code; protect against undef
5817 var warning in info message; removed unused sub
5821 * Backport r18514 from trunk, more circ speedups when booking not
5826 * Backport r18516: Ensure call numbers are returned to the holdings
5827 editor in ascending sorted order
5829 James Fournie in https://bugs.launchpad.net/evergreen/+bug/635121
5831 that call numbers were being displayed in the order that they had
5833 added to the database, rather than in sorted call number label
5836 Although I have been unable to reproduce this problem on two
5838 test systems, the patch he provided for 1.6.1 (which fixes the
5840 test system) shouldn't hurt other systems.
5842 For sortkey-aware branches, I modified James' patch to take
5844 asset.call_number.label_sortkey column and the
5845 oils_text_as_bytea() function.
5849 * condensed SIP patron lookup by barcode into 1 cstore call;
5850 provided option for slimmed-down user object fetching in the case
5851 of checkin, where all we really need is the barcode of the user
5856 * backport r18498-18499 from trunk for staff-initiated age overdue
5857 circ/item to Lost functionality, with upgrade script
5861 * Backport r18530 from trunk: misc alt serials UI minor
5862 improvements, tweaks
5866 * calling noop with no arguments (and not capturing the output) is,
5867 well, a no-op. set the value to true as originally intended
5871 * wrap some EDI message retrievals in transactions
5873 Avoid errors when operating under Slony.
5875 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5879 * loosen cross-check of line item ID when processing incoming EDI
5882 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5884 * adjust quoting of phrase searches
5886 This has three main effects:
5888 * This formalizes the current behavior where a
5891 title:"^Harry Potter"
5893 acts as a left-anchored search and
5895 title:"Harry Potter$"
5897 acts as a right-anchored search.
5899 In particular, this can be useful for constructing
5900 searches of bibliographic call numbers.
5902 * Other regex metacharacters in phrase searches are
5905 * Phrase searches like "C++" will no longer crash; in fact,
5906 this makes a phrase search currently the only way to
5907 accurately retrieve all C++ titles with the usual
5910 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5914 * let libraries allow funds to be overcommitted
5916 The check constraints on the balance warning and
5917 stop limits were too strict - a library can validly
5918 choose to permit a fund to have a commitment greater
5919 than 100% of its allocation
5921 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5925 * Include copy counts in holdings XML -- I will destroy MVRs yet!
5933 * Backport of in-db hold permit improvements from trunk
5935 * Backport thinko fix for count reporting
5937 * we should not restrict to the top org only, get all counts
5941 * Ensure that changes to authority records propagate to linked
5942 bibliographic records
5944 Per https://bugs.launchpad.net/evergreen/+bug/669596, updated
5946 weren't being reflected in bibliographic records with fields that
5948 authority records. We were missing the call to
5949 authority.propaagate_changes()
5950 withing the ingest trigger on authority.record_entry.
5952 * Replace hard-coded '(CONS)' for MARC control number identifier in
5955 We created an actor.org_unit_setting,
5956 'cat.marc_control_number_identifier', for
5957 specifying the preferred MARC control number identifier, but when
5959 new authority record from the MARC editor, the hardcoded value of
5963 This teaches the staff client how to pull the appropriate value
5965 when invoking the MARC Editor.
5967 Resolves https://bugs.launchpad.net/evergreen/+bug/669245
5971 * Backporting r18561 from trunk: Make vandelay.add_field smarter
5972 about applying add rules when no target field exists before hand
5976 * yet another replication race condition fix
5978 Fixes problems that can occur when creating a lineitem
5979 from an existing bib in the catalog; adds an authoritative
5980 version of open-ils.acq.lineitem.retrieve.
5982 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
5986 * Enable merge of authority records to do the right thing
5988 The target and source authority record was flipped, causing
5989 the update to fail. In reconsidering this function, it is not
5990 necessary to change the contents of the source authority record
5991 just to propagate the content of the target authority record
5992 to any linked bibliographic records.
5994 Instead, take the approach of updating the ID of the controlled
5995 field in the bib record, then temporarily set "reingest on same
5996 MARC" to TRUE and update the target authority record by setting
5997 deleted = FALSE (which propagates the "changes" to the linked
5998 bib records), then set "reingest on same MARC" flag back to its
6001 This has the bonus of actually working.
6005 * in SIP patron retrieval, only fetch non-archived penalties and
6006 penalties that that matter (fines, overdues, blocking penalties).
6007 pair down the penalty comparisons to avoid fleshing the penalty
6008 type, potentially numerous times for a given type, by using the
6009 constant identifiers
6011 * back-porting 18571, 18572. provider fetching updates,
6012 autofieldwidget linked class loader
6016 * don't break up title and author when ingesting acquisitions MARC
6018 Note that this can be done more cleanly once oils_xpath groks
6019 XPATH 2.0 functions, in particular string-join.
6021 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6023 * enable authoritative versions of various acq retrieval functions
6025 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6027 * DROP TRIGGER IF EXISTS push_due_date_tgr ON action.circulation;
6028 add definition for UPC line item attribute
6030 Useful for providers of audiovisual material that
6033 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6037 * Patch from Steve Callender to address a booking-related
6038 collection agency reporting problem
6042 * Backport r18583 from trunk, fund totals on an invoice voucher
6044 * Move upgrade to upgrade directory
6046 * Backport r18535 from trunk: hard due date interfaces
6050 * Backport r18589 from trunk: acq invoice voucher fix
6054 * flip sense of spending limit check
6056 Testing showed users expecting that the limit would
6057 be based on amount spent, not the amount available
6060 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6064 * add the Batch Bib Update module to startup.pl
6072 * add TT helper to squeeze strings into the UNOB straitjacket
6074 The force_jedi_unob helper strips non-ASCII characters from
6075 template output but does so nicely by converting the string
6076 to NFD first. This is meant to be used by EDI templates, although
6077 could be useful for A/T output that goes to receipt
6078 printers that cannot print diacritics.
6080 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6084 * over-aggressive backporting -- only in trunk and 1.6
6086 * General 2.0b1 cleanup
6088 * Problem in vandelay.add_fields spotted by tsbere
6089 * Syncing 1.6.1-2.0 upgrade script with reality
6091 * cut down on reloading of IDL classes
6095 * Backport r18606 from trunk: no more Net::uFTP
6099 * backporting r18609 patch from bshum for catalog search in button
6104 * remove some extra rollbacks, and catch the failure of others
6105 where they may or may not be needed
6109 * fix user password reset request time column def
6111 Needs to be a timestamp with time zone; fixes a bug
6112 where it was interpreted as a UTC time, throwing off
6113 the calculation of the expiration of the password reset
6116 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6120 * Backport r18622 from trunk: legacy serials OPAC fix
6124 * remove aupr.request_time fix from 1.6.1-2.0 upgrade
6128 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6132 * backport r18548, 18564, and 18602 from trunk for opac login form
6137 * missed database update from password reset fix
6139 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6141 * switch to authoritative methods for various acq retrievals
6143 Avoid race condition when using Slony replication
6145 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6147 * #671213: remove extraneous insert from upgrade script
6149 Somebody upgrading from 1.6.1 should already have this.
6151 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6155 * Improve Fedora prerequisite installer
6157 * Explicitly install wget, which isn't installed in a minimal
6159 * Hack JavaScript-SpiderMonkey Makefile.PL for 32-bit Fedora
6160 * Provide a fedora14 target
6161 * Change "fedora-13" to "fedora13" to match OpenSRF prereq
6164 * Add UUID::Tiny to Fedora prerequisites
6166 * Further Fedora prereq installer tweaks
6168 * Install the Perl DBD::Pg module
6169 * Force the CPAN modules, as
6170 Business::OnlinePayment::AuthorizeNet
6171 still suffers from an install-crippling bug
6175 * holds retrieval API call sorting and cleanup; sort non-cancelled
6176 holds by ready-for pickup, then active, then suspended; use
6177 json_query to fetch IDs first, so id_list calls can avoid
6178 fetching the full hold objects in the ML. sort fleshed transit by
6179 send time to pick up the latest transit
6183 * Backporting r18652: Teach vandelay.replace_field to be a little
6184 smarter by allowing simple cases of both replacing and
6185 regexp-testing the same subfield
6187 * 1.6-2.0 upgrade script syncing, re r18652
6189 * Bacport r18657: syntax problem spotted by Jason Etheridge
6191 * More fixing related to r18657
6195 * Backport r18662 from trunk: don't try to render dropdown of all
6200 * Backporting IDL bug fixes
6204 * dynamically loaded classes also need access to toHash
6208 * merge r18675 from trunk for DP_DateExtension removal
6212 * do not use TRUNCATE when refreshing
6213 reporter.materialized_simple_record
6215 Previous behavior would break Slony replication after doing a
6216 bib load. Since a deletion is slower than a truncate, if you're
6217 not using Slony replication, you may prefer to truncate rmsr
6219 reporter.enable_materialized_simple_record_trigger.
6221 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6225 * Move the magic-bib update to the top of the file, avoiding
6226 triggers that care about XML namespaces
6230 * Backport r18688 from trunk: booking bugfix
6232 * Backport r18685 and r18691 from trunk: serials-integration work +
6238 * Enable "maintain control numbers" and "record ID as TCN" behavior
6241 Per http://ur1.ca/2bgc4, this behavior hews more closely to the
6243 specification. Note, however, that duplicate bib detection in the
6244 "Import via Z39.50" interface will be somewhat affected; a more
6245 trustworthy workaround is to include the "Local catalog" in
6247 determine if a matching record already exists in the database.
6251 * Update the edit dates for authority and MFHD records when they
6254 Addresses the oversight in the original implementation that
6256 important if we're going to differentiate between creating and
6258 a record for triggers.
6262 * wraps tips appendChild in try/catch to prevent occaisonal
6267 * Do not supply a default value for 003 in new authority records
6269 With cat.maintain_control_numbers enabled by default, we can
6271 the database trigger to create the appropriate 003 for us - and
6273 not supplying a 003 in the new record, we won't create a spurious
6274 035 for a brand new record.
6276 * Avoid munging 035 when a new record is created
6278 If there is no 003 in the record when it is created, then we will
6280 to generate a 035. If the incoming record contains a 001 and 003,
6286 * merge r18687 from trunk for cookie library changes
6288 * ensure that we only fetch this setting once per page
6292 * Back-port of 18712 and related changes: Server-generated IDL JS
6295 The goal is to reduce use of pre-onload XHR, which is known to
6297 problems (dreaded white-screen-of-death) in firefox/xulrunner.
6299 allows opac, staff client, and embedded browser interfaces to
6301 a pre-formatted JS object instead of IDL XML via XHR. In addition
6303 dropping the XHR, clients no longer parse the XML, which should
6305 page render time. Finally, in the staff interfaces, the full IDL
6307 once again loaded, so there is no need to specifiy per-page
6309 Per-page classes are still supported and used in the OPAC to
6313 Change requires an update to the Evergreen Apache config.
6315 Part of this change included condensing fieldmapper.hash and
6316 fielmapper.dojoData content into fieldmapper.Fieldmapper to avoid
6317 circular dependencies, which was causing problems with IE. Will
6318 eventually want to deprecate .hash and .dojoData, but for now
6324 * Trim the set of classes and fields pulled in by Searcher; Cache
6325 the cmc data (cmf is too big)
6327 * Cache the language set (per locale) in a cookie
6329 * Backporting r18686 for great justice (and PCRUD speed)
6333 * in some scenarios, the 'mous' class may not have loaded yet.
6334 pre-load the class in myopac init
6338 * Merge translations from Launchpad
6342 * Do not cache the authority context menu
6344 Caching would be great, except when you add an authority in the
6345 flow and you expect to see it the next time you right-click
6346 on the authority that you just added.
6348 * Fix negative paging issue in
6349 open-ils.supercat.authority.author.startwith
6351 When paging backwards through authority lists, we were skipping
6353 first page of results. By reducing the offset by the value of one
6354 page, we restore the expected order.
6356 The same problem might affect other paging interfaces: to be
6359 Closes Launchpad bug 669247
6361 * Prevent creation of authority records that are truncated by one
6364 The summarizeField() function grabbed the values of the XUL
6366 which were set by the keypress event listeners on the XUL
6368 However, the keypress event listener seems to capture the value
6370 the XUL element before the value of the new key is appended to
6372 existing value in a textbox - so, when you typed a new subfield,
6374 right-clicked to create an authority, the value that was captured
6376 missing the final character.
6378 Adding the "input" event to the registered listeners captures the
6379 actual value for creating an authority and solves the problem. It
6380 might be possible to remove the keypress event listeners, but for
6381 now we'll take the cautious route.
6383 Address Launchpad bug 669445
6387 * Reverting and extending r18472 to correct implementation thinko
6391 * make sure dojo.cookie is loaded before use; removed unnecessary
6396 * Backport r18745 from trunk: serials ease-of-use issues
6398 It's comical how near a miss this commit is to making it into
6404 * return AutoIDL to its original state of loading the while IDL if
6405 no classes are selected. This will ease the process of moving to
6406 /IDL2js; other minor cleanup
6410 * push the asset.uri pkey serial into reality -- before 2.0 we did
6415 * Backport r18760: small serial fixes
6419 * add libnet-ssh2-perl to Debian package deps
6421 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6425 * pass the supplied depth parameter to the query parser for use
6427 * 0 (zero) is a valid depth, so allow it via defined()
6431 * Add authority control support for 630 and 648 fields
6433 Thanks to Ole Kerpel <oke@iisg.nl> for providing the additional
6434 definitions for this support to bring us closer to MARC
6435 authority control norms.
6439 * Hold targeting didn't work right on type I (issuance) holds, but
6442 * Backport r18762 from trunk:
6444 Wonder of wonders, a Dojo data store supporting lazy loading
6447 So openils.PermaCrud.Store was dreamt up and directed by Mike
6449 implemented by me. Right now it gives us a new way to provide
6451 selecting objects in Dojo-based interfaces.
6453 Where previously we had some dropdowns here and there that really
6455 be dropdowns (such as one for selection lists in Acq, and several
6457 and resource types in Booking -- these examples I've replaced,
6459 surely more) because loading a dropdown with potentially zillions
6461 to choose from can take forever and break the interface, now we
6463 autocompleting textboxes that only load items matching what you
6465 even then with a low-ish default limit so that if you're vague in
6467 you still don't get huge unwieldy result sets).
6469 Easiest way to see an example is if you already have any acq
6471 Just go to any catalog record, choose Actions for this Record,
6473 orders, then click "Add to Selection List." In the resulting
6475 second field used to be a dropdown, but now it's an
6476 autocompleting textbox.
6478 Alternatively, you can see these in the affected booking
6479 interfaces (see files
6480 modified in this commit) under Admin -> Server Administration ->
6483 The future promises even better things for this store. When it
6485 Dojo Write API, interfaces using grids can potentially be vastly
6487 by relying on the store to save its own dirty objects. The
6489 would facilitate easy use of single stores with multiple widgets.
6491 things for faster-to-write interfaces.
6493 ------------------------------------------------------------------------
6497 * Apparently, IE versions 6+ can handle ssl+keepalive. this apache
6498 change should help speed up IE w/ ssl and reduce server
6501 * fetch more than the default 10 (per page) distrib formulas; 500
6502 is arbitrary, but still notably less than the infinity that was
6503 in effect before paging. todo: research optiosn for using the new
6504 autofieldwidget/dojo/pcrud-store instead
6508 * fetchItemByIdentity now returns null immediately upon null
6511 Besides being trivially more efficient, this avoids a situation
6512 where pcrud can sometimes time out when attempting to retrieve
6513 a row by a null PK value.
6515 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6517 * use pcrud auto-complete widget when selecting providers
6519 Fixes general slowness working with invoice and PO forms if
6520 more than a couple hundred providers are defined.
6522 This could be generalized with a bit of work with Fieldmapper
6523 to define "has-one-chosen-by-user-from-cast-of-thousands"
6524 relationships that should trigger use the auto-complete widget.
6526 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6528 * mark some non-NULL provider and EDI fields as required
6530 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6534 * Replace deprecated use of window.opener in unit selection window.
6538 * Unbreak the Russian translation
6540 Ampersands at the end of msgstr entries break translate-toolkit
6543 * Stomp another ru-RU PO problem in lang.dtd
6547 * only allow choice from active providers when creating POs and
6550 Also removed cusotm defaultLinkedDataLoader for the provider
6552 no longer necessary since pcrud handles filter by OUs
6554 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6558 * no one likes the persisting call number with fast add, not even
6563 * Address maintain_control_numbers() database function bug #677160
6565 Jason Stephenson reported a bug handling records with multiple
6566 001 or 003 fields, and supplied a set of test records to
6567 reproduce the condition. The bug caused the ingest process
6568 to throw a database error, rolling back the transaction and
6569 preventing the actual ingest of those records.
6571 The solution was to simplify the logic in
6572 maintain_control_numbers().
6573 Now, in the case that there are either multiple 001s or 003s in
6575 incoming record, we simply delete all of the 003s and 001s and
6576 create the desired 001 and 003. Also, if there are not exactly
6578 001 and one 003 in the incoming record, we do not try to preserve
6579 one of those values in the 035 as it would be close to
6582 Many thanks to Jason for the clear bug report and test cases!
6586 * hold targeter: add option to run parallel targeter processes
6588 Permit the hold targeter to divvy up the work and run more than
6590 at a time by setting the opensrf.xml setting
6591 hold_targeter/parallel to a
6592 value greater than one. Doing so can significantly reduce the
6593 time it takes to (re)target a large number of hold requests,
6595 only up to a point (in other words, if increasing the number of
6597 targeters beyond one, it is recommended to do so slowly.)
6599 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6601 * parallel fine generator
6603 The fine generator cronjob can now use multiple
6604 parallel processes by setting fine_generator/parallel
6605 in opensrf.xml to a value greater than 1. This
6606 can speed up periodic fine generation in a database
6607 containing a large number of overdue loans.
6609 Also added a service to return just the list of
6610 IDs of overdue loans and reservations - fleshing
6611 the entire set of overdue loans when generating fines
6612 has been observed to cause significant swap-thrashing in
6613 at least one large database.
6615 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6619 * add field to IDL needed by, well, a bunch of stuff:
6620 sstr-[has_many]->items
6622 * more SuperCat XML fixup needed to support serials data --
6623 important for opac customization though BibTemplate (as in, "do
6628 * bug #680096 - upgrade script to partially reingest bibs after
6631 This solves the problem of the new facets sidebar showing up
6633 OPAC search results. Since the process of populating
6635 and updating metabib.*_field_entry can take a long time on large
6637 the update SQL is generated by a separate script,
6638 reingest-1.6-2.0.pl. Usage
6639 from an example run is:
6641 ./reingest-1.6-2.0.pl: generate SQL script to reingest bibs
6642 during an upgrade to Evergreen 2.0
6644 By default, the script writes to the file reingest-1.6-2.0.sql.
6646 this script's behavior, you can supply the following options:
6648 --config /path/to/opensrf_core.xml used to get connection
6650 the Evergreen database
6651 --chunk_size n number of bibs to reingest in a chunk;
6652 specify if you don't want all of the
6653 bibs in the database to be reindexes
6654 in a single transaction
6655 --output /path/to/output_file.sql path of output SQL file
6657 Writing output to file reingest-1.6-2.0.sql
6659 SQL script complete. To perform the reingest, please run the
6661 the psql program, e.g.,
6663 psql {connection parameters} < reingest-1.6-2.0.sql
6665 If you are running a large Evergreen installation, it is
6667 examine the script first; note that a reingest of a large
6669 can take several hours.
6671 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6675 * append to bottom of list for xul-based hold list interfaces. The
6676 result of this is that rows appended off-screen (with just the
6677 hold id) will not make a network request for fleshing until they
6678 either become visible, or a column sort action is initiated
6682 * minor FeedTemplate bug fixes
6686 * fix missing dep that prevented acq bib search form from working
6688 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6692 * fix broken prefix and namespace URI for the mods32 transform
6694 This breakage can be found in databases that started out at
6695 version 1.2 or earlier; matters since in-DB ingest is stricter
6696 with its XPATH processing.
6698 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6702 * Backport r18838 from trunk
6704 Serials: Fix error in batch receiving when trying to change the
6706 location of the previous item in the stream when there /is/ no
6712 * Add an index on asset.copy(create_date) for item-age browse
6714 Running an item-age browse against a database with a reasonable
6715 number of entries in asset.copy is dog-slow without an index
6720 * Backport r18845 from trunk
6722 Everything else in the menu is alphabetized (in English anyway),
6724 Template Editor may as well be too.
6728 * Add the asset.copy(create_date) index to the 1.6.1-2.0 update
6733 * Address 1.6.1-2.0 upgrade problems reported by Ben Shum
6735 1. We were attempting to update the asset.uri ID sequence value
6736 with the wrong syntax; also, adding just 1 would return an error
6737 in the event that only the seed value for asset.uri had been
6740 2. Somehow the body of the maintain_control_numbers() function
6741 was pasted twice, resulting in a syntax error.
6745 * merge r18841 from trunk for label interface bug
6746 https://bugs.launchpad.net/evergreen/+bug/677628
6750 * Patch from Jeff Godin, backported from trunkified version:
6752 In the staff client, the holds context menu option "Edit
6753 PickupLibrary" displays and allows selection of org units that it
6756 Org units whose type has can_have_users = FALSE are not valid
6759 Using the default types as an example, CONS and SYS1 are invalid
6762 The OPAC enforces this when allowing patrons to edit a hold.
6764 The staff client does not enforce this when staff edit a hold.
6766 The can_have_users() method of the au object returns a string 't'
6767 or 'f' which is then compared to 0.
6769 The attached patch corrects this issue. ( foo == 0 becomes
6772 * logic error (inversion) in retargetting of previous copy when no
6773 other holds are looking at it
6777 * fix failure when attempting to create invoice
6779 Occurred for line items that were not part of a selection list
6781 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6783 * straighten out triggers that maintain rmsr
6785 In particular, make sure that the old zzz_
6786 trigger on metabib.real_full_rec is completely removed, as
6787 it needlessly slows down bib ingest.
6789 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6793 * menu entry for Admin->Server Administration->Acquisitions->Line
6794 Item MARC Attribute Definitions
6798 * specify default leader for acq brief bibs
6800 In particular, avoid fun that could ensue if the
6801 Leader/09 is not set to 'a'.
6803 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6807 * Enable GET params to be added properly in buildOPACLink()
6809 Symptom was that the "?l=#" parameter wasn't being added to the
6810 home screen "Advanced Search" link. Cause was that the
6811 dojo.addOnLoad(init) call was being made after the
6812 dojo.addOnLoad(home_init) call, which depended on globals being
6813 set by init(). This started happening when the JavaScript was
6814 shifted around in an attempt to kill the white screen of death.
6816 There may be other similar issues in other interfaces; keep
6821 * protect some of the supercat browse interfaces from unboundedness
6823 E.g., browsing from a call number that contains forward slashes,
6828 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6832 * Clean up some of the Apache config mod_rewrite rules
6834 Thomas Berezansky suggested some improvements to the mod_rewrite
6835 rules in eg_vhost.conf on the -devel mailing list; this is a stab
6836 at correcting the most egregious problems.
6838 Tested with Zotero and unAPI still works; tested with the staff
6839 client and language-switching still works, as do the Conify and
6840 Vandelay interfaces. Seems reasonably good.
6842 * Move Google Preview badge below the book cover image, if there is
6845 There might be a more correct way to do this in CSS, but works++
6847 Also, give a little room between the images.
6851 * test case for minimum required version of Perl modules
6853 Encode > 2.12 particularly matters, but there are likely
6854 others of significance.
6856 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
6860 * Assorted small serials fixes
6864 * Return the copy status name when a copy is not available
6866 It looks like the checkout operation used to return a fleshed
6867 config.copy_status object, but that changed and we now get a
6870 Retrieve the status name using the ccs ID and present that
6871 to the users. Also, in case problems like this happen in
6872 the future, provide a more specific error message and var
6873 name so that it will be (hopefully!) a little clearer what
6874 payload was expected in the first place :)
6876 Resolves https://bugs.launchpad.net/evergreen/+bug/680575
6878 Thanks to Jason Etheridge for a major assist with this bug.
6882 * copy/paste-o. Retrieve Patron in the patron log section of the
6883 Admin->Local Admin->Work Log uses the right list now
6887 * Normalize spaces in notcontains advance search query terms to
6888 address bug https://bugs.launchpad.net/evergreen/+bug/677122
6892 * Backport part of r18912 from trunk
6894 BibTemplate: make a couple of IE-friendly changes to BibTemplate.
6898 * protect against empty control fields (bad MARC)
6900 * The "All Subjects" index never made it into 1.6, so we need it in
6903 * Moving bits around and protecting against a pre-existing
6904 subject|complete index definition that some sites have
6908 * Backport r18931 from trunk
6910 Serials: When the fully compressed serial holdings are active in
6912 you get this "issues held" display with an expand/compress toggle
6914 either show you individual holdings (and allow you to place holds
6916 or compressed holdings statements.
6918 The functionality existed in trunk before this commit, but this
6920 and makes it better. It's more consistent with the the result
6922 it doesn't offer you the change to place holds on issues that
6924 units (copy-equivalent objects), etc etc.
6928 * Add a simple subfields_list() method to MFHD/Caption.pm to match
6931 * Support for predicting serials with no chronology caption
6935 * Backport r18800 from trunk (I thought I already had! r18932
6938 Place holds on issuances from the OPAC. Also a couple very minor
6940 documentation fixes.
6944 * transit isn't in payload first time through with ROUTE_ITEM
6945 checkin, fallback on check.org
6947 * big thinko. Going by the stock receipt template, this should be
6948 the workstation lib. Destination is handled by a different
6953 * Give the recent_changes list the ability to sort authority
6956 We were always sorting by bibliographic record entry, which does
6958 work all that well for authority records.
6960 * Return authority records for freshmeat when authority records are
6963 Previously, freshmeat was hardcoded to return bibliographic
6965 when authority records were requested.
6969 * Backporting r18957 from trunk:
6972 * Wide Character warning in authority.generate_overlay_template
6973 due to the generated template not being UTF-8 encoded internally
6974 * Correctly test the same space-normalization form of the pre-
6975 and post-strip records during the application of a replace rule
6976 in vandelay.replace_field
6978 This addresses https://bugs.launchpad.net/evergreen/+bug/687996
6981 * Provide a mechanism to load any random JS file via
6982 dojo.require()-ish syntax.
6984 Why would we want to do such a thing, you might ask?
6986 Well, the short answer is that Firefox hates pages that have more
6987 than one script block (inline is worse than tag) that contains
6988 pre-onLoad XHR. So, this allows us to pull the actual loading of
6989 JS from the same domain as the page into an inline block. This
6990 allows us to eliminate the WSOD on FF by pulling all (dangerous)
6991 JS into a single, final inline block, after which we don't care
6992 if the DOMContentLoaded event fires -- that's when it should
6993 fire, structurally -- but in FF it may fire for a different
6994 reason (bug) than it should (fell of the end of the page in the
6997 * Patch from James Fournie to address
6998 https://bugs.launchpad.net/evergreen/+bug/622908 wherein we learn
6999 that related item physical description might be used as the main
7000 PD of the main item, if the main item lacks such a field in the
7003 * bumping version numbers
7005 * arg ... reverting version bump that got applied to the wrong
7010 * repaired order-by in update_hard_due_dates function to prevent
7013 * repaired order-by in update_hard_due_dates function to prevent
7018 * Backport of r18989: boolean test for hard due force flag
7022 * regularize spelling of "fulfill"
7024 Based on patch by Steve Callender
7026 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7030 * Serials: simple bug in batch receive. Certain field values got
7032 like strings sometimes when they weren't. No more.
7036 * Two bug fixes: 1) only allow one fine generator call per
7037 circulation during a given transaction; 2) require that a
7038 circulation be open, based on the xact_finish field, in order to
7039 be the parent of a renewal (I suspect this used to depend on the
7044 * augment the useragent for the xulrunner staff client
7048 * Address the call number browsing performance problem raised in LP
7051 The ORDER BY clause currently generated by call number browsing
7053 have a sufficient index to use to assist the sorting of the
7055 and consequently does a sequential scan of the asset.call_number
7057 Which, as you can imagine, is not fast for a system with more
7059 thousand call numbers.
7061 This adds an index specifically to enable the query to go back to
7063 index scan instead of a sequential scan. We can investigate
7065 indexes should be removed to enable efficient data loading once
7067 squashed the sequential scan problem.
7071 * Backport r18852, r19005 from trunk
7073 [18852] Serials: make some IDL changes and some changes to field
7075 AutoGrid to support easier creation of working copy templates
7078 [19005] Serials: the circ_lib field on a copy template has no
7080 only context where these copy templates are used, which is
7082 copy-like objects that are created in serials have their circ_lib
7084 by distribution.holding_lib
7086 So remove the circ_lib from the interface.
7090 * dump() is a mozilla thing; use console.log instead
7094 * Do an equality test, instead of assigning a value
7096 Thanks to Bill Erickson for catching this; this fixes a bug where
7097 SuperCat requests would end up returning authority records
7099 bibliographic records.
7103 * Backport r19013 from trunk
7105 Thanks to Sally Fortin for drawing attention to this bug, wherein
7107 Holding Subfields can't be created in this interface via the
7110 Acq: Tracked down a small but subtle bug with the Holding
7112 the Provider editor interface.
7114 We apparently have a global variable "name" defined somewhere
7116 assigned in place of an overrideWidget for an AutoGrid thanks to
7118 code, ultimately causes an error from within AutoFieldWidget, if
7120 the staff client. That's because name is the string
7121 "browser_browser" in the
7122 staff client, but if you access this interface from Firefox, name
7124 set to some value that evaluates to false in a boolean context,
7126 AutoFieldWidget doesn't choke on it (the comparison at line 182
7132 * Provide starting context for authority browse in MARC Editor
7135 Using the browse interface instead of startwith provides a first
7137 of results that shows some of the authority entries that precede
7139 first alphabetical match for the chosen term. Context is good.
7141 * Display the tag of the displayed authority record in MARC Editor
7144 We currently display both 1xx and 5xx fields in the authority
7146 but do not display the tag. This can lead to some confusion when
7148 field is actually present. Ergo, show the tag to disambiguate the
7150 in the authority browse selection interface.
7152 * Display the tag and indicators for authority records in the merge
7155 Also, avoid the risk of creating or stomping on global variables
7157 using 'var' to declare our variables.
7159 Also, apply copyright statement for the International Institute
7161 Social History. Thanks for sponsoring this contribution to
7164 * Add an "Apply full authority" option to the MARC editor
7166 By definition, the only subfields that should be applied from an
7167 authority record to a bibliographic record are the complete set
7168 from the 1XX field of the authority record. So, rather than
7170 the user to select the correct subfields from the chosen
7172 record, give them this handy shortcut to do the right thing.
7174 Also, add copyright / licensing header - hopefully accurate.
7178 * Acq: In fund propagation and rollover, add amounts as numbers,
7183 * protect against null orig-location resulting in depth=-1 searches
7188 * Acq: Fix a bug where upon PO activation, lineitems in the
7190 would stay there, rather than progressing to the on-order state
7194 * Propagate merged authority record change to bibliographic record
7196 Launchpad bug 688015 reported that the merge of authority records
7197 resulted in the control number identifier in a controlled field
7198 in a bibliographic record changing to the right value, but the
7199 value of the field itself wasn't being changed.
7201 The problem turned out to be a confusion of the "source" and
7202 "target" values in the authority.merge_record() function. Once
7203 that was straightened out, the merge updated the controlled
7206 * Add line feeds to the output of org_tree_proximity.pl
7208 When another routine was appended to autogen.sh, the output
7209 was appended to the result string returned from
7210 org_tree_proximity.pl;
7211 adding a linefeed cleans that up.
7215 * 'Bindery' item status rethink - this status should eventually be
7216 tracked at the unit level, not the item level.
7218 * For making predictions, remove some debug/dead code, refresh the
7223 * OPAC/Serials: small aesthetic change to render held issues more
7228 * allow vandelay.replace_field() to handle a complex field spec by
7229 splitting and looping; bringing 1.6.1-2.0 upgrade script up to
7232 * Patch from Nathanael Schilling protecting cstore/pcrud from
7233 no-search-param segfaults (with minor editorializing)
7237 * addressing two Breaker-format issues: 1) supply an "empty"
7238 (space) value for indicators in the internal format if they are
7239 left out and 2) add indicator placeholders to incoming Breaker
7240 datafield lines if they seem to be missing. Addresses
7241 https://bugs.launchpad.net/evergreen/+bug/693468
7243 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7245 * When the subfield delimiter is configured as "$" (the default),
7246 use {dollar} to represent a literal dollar sign. This is
7247 apparently in line with other Breaker-format tools. Fix suggested
7248 by Galen Charlton, thanks gmc!
7250 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7252 * commit 620f5d756619b84200add4c534a7cf22e1c0d037
7253 further fixes to null indicator handling in flat-text MARC editor
7255 [1] ensure that null indicators are converted to blanks
7256 [2] fix glitch when supplying default indicator values
7258 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7262 * refresh cached user during auth session reset
7264 Add a boolean (1/0) param to open-ils.auth.session.reset_timeout
7265 that forces open-ils.auth to refresh the cached user object.
7267 a column on actor.usr was updated and the client may be pulling
7269 object from the cache w/ a page reload, etc.
7271 Signed-off-by: Bill Erickson <erickson@esilibrary.com>
7273 * Update auth-cached user after payment
7275 After payment toward one's own account, reset the cached user
7277 that it will contain the latest last_xact_id value. This is
7279 for supporting patron credit card payments in the catalog.
7281 Signed-off-by: Bill Erickson <erickson@esilibrary.com>
7285 * Towards a more useful authority delete confirmation pane
7287 Rather than simply creating a raw confirm dialogue that only
7288 provides the cataloguer with the ID of the authority record that
7289 is about to be deleted (not an especially useful handle), supply
7290 a confirmation dialogue that recaps how many bibliographic
7292 are linked to this authority record and also displays the MARC of
7293 the record about to be deleted.
7295 Most authority records appear to be short enough that the MARC
7296 display is not a concern, but if it becomes a problem we can opt
7297 not to show the MARC by default and give the cataloguer the
7299 to click a "View MARC" button on the confirmation dialog instead.
7301 Along the way, make some more variables local and remove some
7302 unnecessary workarounds for object IDs.
7304 * Enhance usability of authority record deletion dialogue
7306 Don't show the number of linked bib records unless it is
7309 Make "Cancel" the button with focus in the dialog, so that
7310 an errant press of the "Enter" key doesn't do the wrong thing.
7312 Trim space from the authority text in the display. Move the
7313 authority text from the dialog title to the contents of the
7316 Do not display the MARC for the authority record by default;
7317 add a "View MARC" button and toggle it to show/hide MARC.
7319 * Invoke MARC editor with the appropriate control number identifier
7321 The control number identifier is most critical for the creation
7322 of authority records; given that the callers have the required
7323 context, have them pass in the control number identifier to the
7324 MARC editor. Edit MARC record, new MARC record, import MARC
7326 those have to be the big ones, right?
7328 * Create authority records with meaningful cataloging agency values
7330 Hardcoded values in the 040 are problematic for sites that want
7331 to be a source of authority records; with the addition of another
7333 open-ils.cat.authority.record.create_from_bib(.readonly)
7334 API, we can solve that problem. The callers of this API (the MARC
7336 have access to the cat.marc_control_number_identifier OU setting,
7338 long as that is set correctly, problem solved.
7342 * Vandelay import repairs
7344 Disable OpenSRF response chunking on calls that respond with
7346 sparse status updates.
7348 Repaired some bugs with status reporting and changed the
7350 for queue imports to report more early in the import, then
7353 Added some fault-tolerance to record importing
7355 Signed-off-by: Bill Erickson <erickson@esilibrary.com>
7357 * at po activation time, apply the provider's default claim policy
7358 to each lineitem when no policy is already applied
7360 Signed-off-by: Bill Erickson <berick@esilibrary.com>
7364 * fix a bug with standing penalties and the stop sign page. We
7365 still have a race condition where the stop sign page may not
7366 show, and this seems to happen when multiple patrons are
7367 retrieved at once from a patron search.
7369 * Never do money math as anything but pennies I tell you. :-) Three
7370 $0.60 transactions run through check-in were showing a running
7371 tally of $1.79 instead of $1.80.
7375 * Acq: backport r19040 and r19094 from trunk
7377 [19040] Acq: support manual claiming as always intended, which to
7379 means claiming with no predefined policy
7381 [19094] Acq: Make manual lineitem claiming work better. When a
7383 has not been applied, users can now choose claim actions manually
7385 a claiming policy would have specified).
7389 * Patch from Jason Stephenson to silence spurious warnings:
7390 https://bugs.launchpad.net/evergreen/+bug/695510
7392 * oils_xpath_table was too strict about field nullness -- we need
7393 /some/ data, not /all/ data, to be present
7397 * cleaned up vestigal item import API call; repaired some faulty
7398 assumptions in vandelay UI regarding which types of import to
7399 attempt based on user input
7401 Signed-off-by: Bill Erickson <berick@esilibrary.com>
7405 * Addressing https://bugs.launchpad.net/evergreen/+bug/696078 where
7406 deleted/inactive records are included in the freshmeat feed.
7410 * mixing use of '/' and '/eg' for the auth cookie path is creating
7411 complications; fall back to '/', which is the assumption from
7414 Signed-off-by: Bill Erickson <berick@esilibrary.com>
7418 * Improve see from / see also handling in MARC editor authority
7421 (Backporting r19091 and r19092 from trunk)
7423 The 2.0-style authorities use a browse menu that currently
7425 of matches against the 1XX entries, which makes working with see
7427 see also entries rather difficult. To prepare for an authority
7429 method that does surface matches against 4xx and 5xx entries, we
7431 now display the 4xx and 5xx entries for a given authority record
7432 immediately below the 1xx entry in the browse menu, with the
7434 text italicized, aligned to the right, and prefixed with "See
7436 "See from" appropriately. This won't provide a perfect
7438 solution - we won't know which field provided the alphabetical
7440 match, so the best we can do is present the 1xx in the main
7442 menu and the 4xx / 5xx below - but it will provide access to the
7446 We now display the 4xx fields in the authority summary / selector
7448 along with the 5xx fields. As part of making the 4xx and 5xx
7450 first-class entries in the context menu, 5xx subfields are no
7452 appended to their 1xx field menu entry with a "/" in the context
7455 $0 subfields are no longer added to the 4xx and 5xx fields from
7457 authority summary / selector menu; if a user had selected a 5xx
7459 $0 that had been added by the menu, the field would have
7461 linked to the 1xx authority record. To link to a 5xx entry, for
7463 workaround is for the user to select the 5xx subfield(s), "Apply
7465 then right-click on the new subfield to generate a new authority
7467 To improve the 5xx handling, we need to make the "See also" entry
7469 authority context menu based on the 5xx contents so that the
7471 authority record can be inserted and linked against.
7473 Consider an authority record containing the following fields:
7479 The ASCII-ized authority context menu will now display:
7483 See also: Children ->
7485 The submenu in each case will currently lead to the authority
7487 for "Infants". If we teach the underlying authority browse and
7489 methods to return matches based on 4xx and 5xx fields instead of
7491 fields, then the menu triggered by a right-click on "Childs"
7498 See also: Children ->
7501 The main entry will be out of alphabetical order, which is not
7503 but the linkage from the 5xx should at least be evident. (Also,
7505 suggests that when clicking on a 5xx entry in the authority menu
7507 changed to launch a new authority menu, it should use the
7509 browse variant to avoid showing the record from which the user
7513 * Internationalize the JavaScript portion of the "Manage
7514 Authorities" interface
7516 We can use the dojo i18n infrastructure to support translations
7518 "Manage Authorities" interface, but unfortunately we still don't
7520 a TT2 solution for i18n. Still, better to do what we can.
7522 * Clean up marc_export and teach it how to export (all) authority
7525 The new "--type" parameter enables users to specify "authority"
7526 and have the expected result.
7528 Add an "--all" option to marc_export and silence some warnings
7530 Rather than forcing users to generate a set of record IDs using a
7531 separate process, the --all option enables to to export all
7533 of the specified type. Note that the approach is basic: grab the
7534 record with the highest ID, then start at ID 0 and count up by 1
7535 while trying to retrieve each record along the way. While this
7537 undoubtedly generate plenty of warnings for deleted records or
7539 in the ID sequences, the alternative of retrieving an ID list for
7540 potentially millions of records in large Evergreen instances
7544 Some other refactoring and fixes:
7546 Three large chunks of code were factored out into subroutines to
7547 make it a little easier to read the main flow of the code.
7549 As we explicitly call uc() on the $format input parameter
7550 to begin with, we don't have to call it subsequently.
7552 If a requested ID did not exist in the database, then
7553 the script would die; now we trap and flag that error but
7554 continue to fulfill subsequent requests.
7556 The --money parameter is now documented in the help, and
7557 the help has a brief overview that describes (poorly) the
7558 expected format for the list of IDs.
7560 An uninitialized variable error when exporting BRE format
7561 records was squashed.
7563 Also, $count{did} and $count{bib} resulted in uninitialized
7565 warnings if no records were actually exported, so initialize them
7570 * Finish adding authority.js to i18n Makefile
7572 Forgot to add some crucial bits in the extensive copy and paste
7573 effort that's required to add another file to the i18n build.
7574 Sigh. Rewrites welcome! And sorry for leaving this trap for
7575 you to fall into, miker.
7579 * roll back xact in set_item_lost when copy is alrady marked lost
7580 and we exit the sub; if caller passes an event to
7581 editor->die_event, capture it as the editor's last event
7583 Signed-off-by: Bill Erickson <berick@esilibrary.com>
7587 * Perhaps naive method of bumping existing custom
7588 config.metabib_field entries
7592 * Unify some summarization code in preparation for further
7597 * Backport r19134 from trunk
7599 Acq: fix prorating bug
7601 When prorating, the system decides what funds to target by
7603 funds have already been spent against. Previously, the system
7605 acqie objects, but an invoice can also be composed of acqii
7608 * Backport r19137 from trunk
7610 Make openils.PermaCrud.Store use a default order_by clause in
7613 This avoids an issue where, using a FilteringSelect dijit,
7614 sometimes you type a
7615 couple letters, let's says "ABC", and you get a set of matches
7622 just because there happens to be no specific ordering. If you
7624 match and tab away too quickly, the dijit will reset itself to
7626 "ABCDE". This is probably a Dojo/Dijit bug, as I've been able to
7628 problem with other stores, but that's all murky.
7630 This avoids the issue by making sure the shortest match is at the
7636 * Set explicit library versioning for Evergreen 2.0 to 2:0:0
7638 This should help for anything linking to core Evergreen
7640 as we revise the -version-info number, anything that links
7642 the core Evergreen libraries will quickly scream if we rev the
7643 interface number without specifying via the age number that
7645 interfaces are still supported. Let's remember to revise it
7648 Also remove redundant linkage to oils_idl.
7650 * Clean up c-apps Makefile.am and make everything load cleanly
7653 Executable programs don't have library versions, so don't set
7657 Add -version-info to liboils_idl and liboils_util, and link
7659 explicitly against liboils_idl rather than relying on AM_LDFLAGS.
7661 Set the linking dependencies correctly; if a library links
7663 liboils_util, set that as the sole link dependency; no need for
7665 once (let alone twice!)
7669 * avoid fetching user settings for new user registration; the
7670 result of fetching settings with a null user id is that settings
7671 of the staff/editor were fetched instead, leading to settings
7672 that appeared to selected, but were not saved during submit
7676 * Additional code unification; add 'reset item' capability to
7681 * Backport authority browsing fixes from trunk
7683 Primary fix is to remove duplicate records from the results
7684 when dupes are returned due to similar 1XX/4XX/5XX values in
7689 * repaired pending-order vs order-pending thinko. Thanks to Kathy
7690 Lussier and Mike R. for the diagnosis
7694 * fix regression with org selector when specifying ?ol= and the org
7695 unit hiding setting is unset
7699 * allow deletion of incomplete invoice LIs
7701 Fix silent failure when attempting to delete a LI
7702 whose type or cost was not set; dojo.string.subtitute
7703 does not like replacement values to be null.
7705 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7709 * allow data entry of negative currency amounts
7711 Plug in fix for Dojo bug http://bugs.dojotoolkit.org/ticket/9438,
7713 was preventing the input of discounts and credits during invoice
7716 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7720 * Backport fixes for custom indexes in the database schema during
7723 r19133 and r19136 provide more sophisticated, working handling of
7725 indexes during the 1.6.1-2.0 database schema upgrade.
7729 * AutoFieldWidget no longer uses CurrencyTextBox dijit
7731 NumberTextBox used instead to work around problem with
7732 CurrencyTextBox's support for negative monetary amounts
7733 in Dojo 1.3. See https://bugs.launchpad.net/evergreen/+bug/702117
7735 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7739 * Deprecate overdue/predue config sections in favour of
7742 Set email notification to "false" for holds, overdues, and
7745 Fix one line of whitespace.
7747 * Add Net::SSH2 to the prereqs as the libnet-ssh2-perl package is
7752 * Enable truncation attribute in Z39.50 queries to be left out
7755 Per https://bugs.launchpad.net/evergreen/+bug/702695, some Z39.50
7756 servers hate the truncation attribute (@attr 5=anything) and
7760 This gives you the ability to specify a negative value for the
7761 truncation attribute and thereby prevent the truncation attribute
7762 from being included in the Z39.50 query for a given server.
7766 * Postpone advanced serial call-number handling until after 2.0
7768 Sharing of a single call-number for multiple volumes, while well
7769 intentioned, was not ready for primetime for various reasons.
7771 1) harmonizes and unifies call-number handling in Serial.pm,
7772 sticking with current practices
7773 2) adds a very basic and now necessary prompt to the Serial
7778 * default ordering-agency org unit to workstation org in PO create
7783 * In serial control, if they defined a *_call_number, honor it as
7788 * Auto-generation of placeholder barcodes approved for backport
7792 * user saved searches are only accessible to the originating user;
7793 remove (incorrect) permacrud config for usr_saved_searches
7797 * fix glitch that could break invoice proration
7799 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7803 * Protect against blank and invalid scap IDs in issuance editor
7807 * Avoid escaping issues in authority.normalize_heading() by
7808 parameterizing the query
7810 Long story short: MARC subfield values containing backslashes
7812 and in some cases painful errors. Using
7813 spi_prepare/spi_exec_query is the
7814 safest way of handling escaping, rather than adding more regexes
7816 the data before it even gets to naco_normalize().
7818 Most painful case was <subfield code="a">Foo, Bar\</subfield> -
7820 slash ended up escaping the enclosing single quote (because
7822 configured by default with strict conformance to SQL escaping
7828 * backport naco_normalize revisions to rel_2_0
7830 This implements the latest version of the NACO
7831 normalization specification found at
7833 http://www.loc.gov/catdir/pcc/naco/SCA_PccNormalization_Final_revised.pdf
7835 This version of the algorithm is more general -- for example,
7836 all combining characters are removed -- so there should be
7837 fewer fiddly edge cases to worry about for most European
7840 Rebuilding the metabib.*_field_entry tables (e.g., by using
7841 reingest-1.6-2.0.pl) is recommended if there are any bibs that
7843 any non-ASCII characters.
7845 Normalized text is now left in the NFKD form, so while this
7847 be transparent to the search system after reindexing, it does
7849 that (for example) Korean text in metabib.*_field_entry may not
7850 be in the same Unicode normalization form as that found in
7851 biblio.record_entry.
7853 Also includes fix for bug #684467: more bulletproofing of
7856 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7860 * Build and flatten a tree, correcting a sorting issue in some OU
7863 The previous code assumed that work org units would be delivered
7864 in hierarchical order, but alas, they are not. Thus, we build the
7865 hierarchy and then flatten it, sorting at each level. This will
7866 be non-fast with many work OUs, but the common case is a small
7867 set, which is not painful.
7869 Further improvement is warranted when the above proves false.
7873 * Backport r19214 from trunk
7875 Booking: Robert Soulliere spotted and fixed a bug in processing
7877 related overdue fines. See
7878 https://bugs.launchpad.net/evergreen/+bug/705061
7882 * let amnesty checkin mode trump the restore overdues on lost
7887 * remove disallowed permission groups from the perm group selector
7888 in user registration; see bug 699914
7890 * if this user does not have permission to edit an existing user,
7891 disable the save and clone buttons
7895 * Backport r19229 from trunk
7897 Booking: these lines don't belong; they were erroneously copied
7899 from a neighboring section of the file
7903 * don't offer to cancel related transits that have already
7904 completed when canceling holds
7908 * Backport r19239 from trunk
7910 Acq: use the acqlimad table instead of its ancestor acqliad table
7912 populate a dropdown for the Export Single Attribute List function
7916 The acqliad table may appear to have duplicate entries since it's
7918 the point of the function that's trying to use it is just to
7920 ISBNs or UPCs, so acqlimad is a better fit.
7922 * Backport r19241 from trunk
7924 Acq: the "Load Catalog Record IDs" interface failed on files
7926 Windows due to not stripping out carriage returns. Fixed.
7930 * Towards a more secure default setup
7932 Shipping with a default account user name and password is
7934 an authentication anti-pattern; see
7935 http://code.google.com/p/owasp-development-guide/wiki/WebAppSecDesignGuide_D2
7937 By making the user select an admin user name and password at the
7939 they create the database, we avoid the chance that they will
7941 change the default password and leave their system open to
7944 Next step is to change the seed data to insert random values for
7946 admin username and password, then update the documentation
7949 * Part 2 of creating a more secure default setup
7951 With this commit, the user name and password for the
7953 user will be MD5 hashes of a random string of numbers. You can
7955 the user name and password to your liking using the --admin-user
7957 --admin-pass switches for eg_db_config.pl (this will be the
7958 documented method in the install docs) or via straight SQL as:
7960 UPDATE actor.usr SET usrname = 'FOO', passwd = 'BAR' WHERE id =
7963 * Part 3 of a more secure default set up
7965 With this commit, the hardcoded default barcode is replaced by an
7966 MD5 hash of a random string of numbers, preventing the barcode
7968 being used as a known login name in the OPAC interface (which
7970 remove one of the factors required in a brute forcing of the
7974 You probably don't want to change the barcode for the admin user,
7975 but if you feel the need you can use the usual patron editor in
7978 Thanks to Thomas Berezansky for suggesting this additional
7983 * Move to the prettier and more useful Laurentian local call number
7984 display code as the example
7988 * Avoid hard-coded location IDs for displaying library / call
7989 number / copy location /copy status
7991 Also use marcxml-full to get the copy location opac visibility
7993 and remove the "hide_me" attribute to make the results visible by
7998 * slimpac issue where deleted copies are visisble, spotted by Steve
7999 Callendar and Jason Etheridge
8003 * Use holdings_xml-full for the copy display
8005 Less to munge and transfer over the wire = win win win!
8007 * Protect against volumes with many copies attached
8009 Bill Erickson has good data for testing these cases.
8013 * handle deleting line item from selection list more carefully
8015 Once a line item is attached to a purchase order, removing it
8016 from a selection list should mean detaching it from the list,
8017 not deleting it outright.
8019 The open-ils.acq.lineitem.delete method can be removed
8020 once the old jubgrid code is finally purged.
8022 Signed-off-by: Galen Charlton <gmc@esilibrary.com>
8026 * correct XPath attribute test syntax
8030 * Fix for spurious warning (LP bug #707114)
8034 * i18n support for a few OPAC strings
8036 Enable translation of the "More copies listed in full record
8038 message for the search results library / call number / item
8042 Also provide translation support for the hold queue status
8044 including singular / plural variants (most languages do not
8046 the equivalent of the "item(s)" idiom in English).
8048 Instead of burying the display of hold queue status with a hard
8049 coded "if (false)" test, turn it into a top-level variable for
8050 a bit more exposure.
8052 * Updated POT from a recent checkout and "make newpot" of 2.0
8056 * Correct for over-zealous sdist editor field display code
8058 * Expose (in a very basic way) existing serial item reset
8059 functionality, fix small bug in reset code (resetting an item
8062 Apologies in advance if this shouldn't be backported at this
8063 point, but from my perspective, it is both high-value and
8068 * Fix existing serial entities that didn't provide .label partners
8071 The translate-toolkit project generates a POT file from an input
8073 that requires entities ending in .accesskey to have a
8075 .label entity; this is a Mozilla convention for localization. Fix
8077 the serial interface strings that are localized to match this
8080 Also remove two duplicate entities in lang.dtd that were flagged
8082 the build/i18n/tests/check_entities.py script (and which cause
8084 translation imports to break).
8086 * Replace a few hardcoded strings in the serials JavaScript
8088 There is, unfortunately, an awful lot of this left to fix.
8090 * Teach the i18n Makefile how to handle serial.properties
8092 Also check in the POT for serial.properties and some other
8093 foobar.label matches for foobar.accesskey (does not have
8094 an effect on properties files but hopefully if we're
8095 consistent then the pattern will be evident for entities).
8097 Noting in passing that there are a number of "foobar(s)"
8098 comined singular/plural labels that should be split to
8099 support translation.
8103 * Small serial interface string fixes
8107 * backport 19287 for button bar image tweaks, courtesy of Michael
8112 * Translation string in manage_dists.js : right problem, wrong fix
8116 * mark this as binary
8118 * fix the svn:mimetype properties for these
8122 * This menu was for a different tab (subscriptions), comment out
8125 * Fix broken stream functions, re-enable commented-out menu with
8128 * Backport r19288 : twice tested, thrice approved
8130 This change was confirmed to work at two test sites, and also
8131 passed a berick eyeball test. Would always be nice to have
8136 * Clear out some unused code, which in some cases was causing
8139 * Open-ILS/xul/staff_client/server/locale/en-US/serial.properties
8143 * .: 2.0.0 for realz, yo!