Clean up description of ARN in O:A:Cat::Authority now that arn_value is gone
A comment in the create_authority_record_from_bib_field() method stated that
the ARN value needed to be unique across the database; that is no longer true
as of r17722. Fix comment accordingly.
Create and edit... authority record now gets $0 control subfield auto-applied
Following on r17857, when you create an authority record in the flow using
the "Create and edit..." option, a $0 control subfield will automatically
be appended to the target field once "Save Record" is clicked on the authority
record editor pane. Non-savers of the bib record beware! Also subject to
interesting effects of the bib editor tab gets destroyed before the auth
record is created via the Save Record button.
Append the $0 controlling subfield to newly created authorities
Still a work in progress; obviously we need to try and grab a better
institutional code, need to teach the "Create and edit..." option
how to do the same thing, and should augment the "Authority created"
dialog box to tell the user to save the record or lose the changes
they just made.
At some point we need to consider auto-saving records, perhaps immediately
after we provide infinite undo capability to step back through previous
changes.
Thomas Berezansky noticed that the README was using "createdb -t template0",
which isn't a valid option. To avoid case problems and to be more apparent
what these options mean, let's use the verbose parameters.
Change behavior of stat cat display in horizontal patron summary. Stat Cat tab shows all patron.stat_cat_entries. Entries with usr_summary true also get shown in the Patron Info pane, underneath Email
senator [Mon, 20 Sep 2010 07:29:58 +0000 (07:29 +0000)]
Add a miniwizard for serials holding codes in the AutoGrid based interfaces,
sparing the user from needed to input MARC breaker.
TODO:
i18n
Don't assume we always start with 4,1,8,1
auto-populate chronlogy caption fields based on date (this should be easy)
make it work in a tooltipdialog? (or don't, it seems frustrating)
senator [Mon, 20 Sep 2010 05:05:00 +0000 (05:05 +0000)]
Acq: change a FilteringSelect dijit to a regular <select> to avoid a
manifestation of Dojo bug #11062; add more refresh grid buttons to unified
search
"Refresh Grid" buttons are a sad little stopgap measure to address a problem
where some AutoGrids show only some of the rows they're supposed to. Calling
.refresh() on the AutoGrid consitently right the grid. Maybe the problem
is some kind of race condition, and maybe it's related to the use of "get"
and "formatter" attributes for some columns. Or maybe it's something else.
Attempts continue to find the root of the problem and repair it.
Search for humans: AND and OR are more understandable than "&&" and "||"
The operators && and || will not mean much to many people, whereas AND and
OR have common meanings that will aid in understanding the advanced search
interface.
senator [Mon, 20 Sep 2010 00:55:16 +0000 (00:55 +0000)]
Acq: make purchase order and invoice interfaces less annoying
They're really just canned acq searches, but now they don't automatically start
the search and hide the search terms, so you have a chance to adjust what
you're looking for
for large sets of holds, usually around 10 or more, the holds display takes a little too long. instead of collecting them all and sorting them by queue position, slot them into the display table (by queue position) as they arrive
This is a patch that makes the toolbar work with the little jellybean
button on Macs. It's that little lozenge-like button on the top
right of Mac programs that shows/hides the toolbar. With this patch
it will show/hide the toolbar "button bar", making it behave more like
most Mac programs. It shouldn't have any affect on other platforms.
Expose an RSS (Atom, actually) feed in the dynamic OPAC for search results
I doubt most humans really care about RSS feeds, but this will make the
RSS feed icon highlight in Firefox and that should satisfy one of the
"requirements" for a Next Generation OPAC if that's the bar for research
papers these days.
Offer a global flag to cause the testing of hold matrix rules against the receiving user instead of the requestor, and set the initial value to enabled as this seems to be the less surprising value for current users of in-db hold logic
senator [Sat, 18 Sep 2010 00:24:41 +0000 (00:24 +0000)]
Serials batch receive: usability improvements
s/fundamental periodicity/frequency/
Smart copy location batch applicator
Dedup call numbers with same label in batch applicator
Tooltips on the holding lib column to show dist label and stream routing label
change pcrud.apply to pcrud.update, and make use of closures in loop. fixes hanging progress bar and lack of list refresh in Messages interface after modifying or archiving an existing message/penalty
Revert attempt to prevent encoding corruption that was causing encoding corruption
LDR/09 was never showing up as 'a' where it was being tested, and adding the
'a' was preventing a reconversion to UTF8. It somewhat looks like the UTF8
MARCXML input gets converted to MARC8 as part of MARC::Batch's magic, then
gets converted back to UTF8 by MARC::File::XML::as_xml_record(). Seems like
this would mean potential performance / encoding problems but it works, which
is better than what my meddlesome tests were doing.
added option to vandelay rec list import that forces it to respond to the client w/ every record processed, instead of throttled responses. this is useful for small batches where it's necessary to know the outcome of each record
-- Dropping a foreign key (which has already been dropped from the
-- base installation scripts).
M Open-ILS/src/sql/Pg/002.schema.config.sql
M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
A Open-ILS/src/sql/Pg/upgrade/0405.schema.acq-hold-copy-map-drop-fkey.sql
senator [Thu, 16 Sep 2010 22:24:50 +0000 (22:24 +0000)]
Still more IDL chunking fix, plus make copy template create dialog more usable
(works as a pane, but was too tall for screen and had broken scrolling as popup)
This allows non-selective facets such a material type facet
to bring in correct results - the tradeoff is that queries
that involve facets will run slower.
This change corrects the effect of a typo (NULL NULL instead of NOT NULL).
M Open-ILS/src/sql/Pg/200.schema.acq.sql
M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql
A Open-ILS/src/sql/Pg/upgrade/0404.schema.acq-provider-contact-null-null.sql
I will start with the changes which I think are straightforward. First, textual_holdings are sometimes used to augment the generated_coverage and at other times should completely replace it (generally when the holdings statement is too complex to be easily generated or has more detail than we care about). The 'show_generated' flag in each summary table is a simple means of indicating which type of display we want. Second, 'summary_method' will be consulted when generating the 'generated_coverage' fields, and tells us how any attached MFHD records (SREs) should be treated for this distribution in relation to the new structured data (attempt to merge the data, generate display data from both separately, or generate based on one or the other only).
The changes to serial.caption_and_pattern are not as straightforward, but I think they are justifiable. Any given caption/pattern is only valid for a certain period of time (i.e. until it changes). As it stands, we can infer the start and end dates of a caption/pattern only by consulting the attached issuances. In practice this means retrieving and sorting sometimes hundreds of issuances to provide for the sorted display of just a few caption/patterns. As I work with these objects more, I am simply often wishing for a more convenient access point to this important data. This also means that the 'active' flag is redundant (caption/patterns with end_date-s are not active), but we need to get end_date in place before we can start removing the 'active' flag from the code.
Make authority.normalize_heading() more defensive, and drop back to a plain (non-unique) index
NOTE: Database server now requires UUID::Tiny CPAN module in its Perl repertoire
When faced with terrible input, authority.normalize_heading() will generate a
heading based on the MD5 UUID of the input value, flagged with "BAD_MARCXML"
if the MARCXML could not be parsed, or "NOHEADING" if there was no 1xx field.
Previously, authority.normalize_heading() would throw raw, ugly Perl errors.
Many thanks to Mike Rylander and Galen Charlton for their suggestions on how
to break the original version of authority.normalize_heading(), this code
should be much more robust as a result.
In r15732, the Volume/Copy Creator was modified to serve double-duty as a batch interface for re-barcoding existing items. This extends that incarnation further and allows for changing the volumes for existing items as well. In Holdings Maintenance, the entry-point for this is Actions -> Replace Barcodes. However, it's Acquisitions that is prompting this development, and the entry point there is on the Line Item, under Actions -> Update Barcodes
Drop arn_value and arn_source from the authority.record_entry table
Now that we have the unique index by thesaurus on actual headings, arn_value
and arn_source are a dead weight that we can gleefully toss overboard.
Tested with authority record import via Vandelay and authority record
creation during bibliographic editing; confirmed that validating authorities
still works, no apparent visible difference to the world.
Create a unique index on authority records based on their heading, thesaurus, and heading text
By providing a truly unique index for headings for a given thesaurus, this
index sets the stage for removing the arn_value / arn_source columns from
the database.
Sites with loaded authority records who attempt to add this index may find that
it fails due to existing duplicate entries; some suggestions for hunting down
the trouble-doers (duplicate entries) is provided in
Open-ILS/src/sql/Pg/0400.schema.unique_authority_index.sql
add 'atevdef', 'ath', 'atreact', 'atval' to the list of classes to pull in so that Admin -> Local Administration -> Notifications / Action Triggers works
Several objects get updated potentially several times during processing,
and it is important to retrieve the item after earlier updates because
some columns are being populated by DB default values or 'NOW', for example.
The first 'NOW' for create_time would be correct, the subsequent ones incorrect,
so the value(s) must be fetched.
In order that an edi_message shows up in the list associated with a PO, we take the
first valid PO number, if present. Note that this mapping theoretically may vary:
multliple PO lineitems *could* appear in one response, but in practice, we
expect only one, so this should suffice. This is also a good reason to prevent
splitting a PO after it has been sent.
Lots of crosschecking. Accept files from command line or STDIN.
Had to break out the logic in EDI to accommodate non-retrieved input.
Remote retrieval now avoids pulling a file if the same file was
previously retrieved and successfully processed. If it bombed out,
then we get it again (on the hopes it might have been fixed).
Also better test_client behavior on edi2json failure.