working/Evergreen.git
13 years agoswipe bug fix
drizea [Mon, 30 Jul 2012 22:17:22 +0000 (01:17 +0300)]
swipe bug fix

13 years agobug fix record swipe + action bar color changed
drizea [Mon, 30 Jul 2012 21:24:08 +0000 (00:24 +0300)]
bug fix record swipe + action bar color changed

13 years agoadded place hold and add to bookbag search details buttons
drizea [Thu, 26 Jul 2012 18:43:42 +0000 (21:43 +0300)]
added place hold and add to bookbag search details buttons

13 years agoadded EG icon
drizea [Thu, 26 Jul 2012 09:24:22 +0000 (12:24 +0300)]
added EG icon

13 years agoUI polish on hold list
drizea [Wed, 25 Jul 2012 17:03:40 +0000 (20:03 +0300)]
UI polish on hold list

13 years agoadded first application run configuration dialog
drizea [Wed, 25 Jul 2012 14:47:19 +0000 (17:47 +0300)]
added first application run configuration dialog

if running the application for the first time the user must set an library
http server address and username and password for his account. For now the
logic at launch is that the application will not start if there if no network
access, and if there is route to library server url the application will
start a configuration dialog. When the correct http server address is entered
the splash screen will start and IDL and orgTree files will be downloaded
and parsed

13 years agoadded header action bar to activities + bug fix on delete bookbag
drizea [Wed, 25 Jul 2012 09:06:11 +0000 (12:06 +0300)]
added header action bar to activities + bug fix on delete bookbag

added action bar to activities and added title for good user navigation

13 years agofix layout orientation crash bug on search details view
drizea [Tue, 24 Jul 2012 12:06:50 +0000 (15:06 +0300)]
fix layout orientation crash bug on search details view

13 years agochanged ui for search details view
drizea [Tue, 24 Jul 2012 11:33:11 +0000 (14:33 +0300)]
changed ui for search details view

must enable image download + activate more copy information button

13 years agochanged search details ui view must add header menu functionalities
drizea [Mon, 23 Jul 2012 21:51:45 +0000 (00:51 +0300)]
changed search details ui view must add header menu functionalities

13 years agomodified search to reseamble the mockup ui search
drizea [Mon, 23 Jul 2012 21:32:05 +0000 (00:32 +0300)]
modified search to reseamble the mockup ui search

13 years agoadded action bar compatibility support
drizea [Mon, 23 Jul 2012 09:39:02 +0000 (12:39 +0300)]
added action bar compatibility support

13 years agofix REAUTH bug when session expire exception was throwned
drizea [Mon, 23 Jul 2012 07:16:54 +0000 (10:16 +0300)]
fix REAUTH bug when session expire exception was throwned

13 years agobookbag add item bug fix
drizea [Thu, 19 Jul 2012 21:28:07 +0000 (00:28 +0300)]
bookbag add item bug fix

13 years agobook bag functionalities added
drizea [Thu, 19 Jul 2012 20:12:21 +0000 (23:12 +0300)]
book bag functionalities added

still have a problem (server or local) for add item to bookbag

13 years agoview list book bags functionality added
drizea [Wed, 18 Jul 2012 11:27:33 +0000 (14:27 +0300)]
view list book bags functionality added

need work on UI and add another bookbag details view + menu

13 years agofixed renew checkout item button crash and modified checkout item layout
drizea [Wed, 18 Jul 2012 08:56:13 +0000 (11:56 +0300)]
fixed renew checkout item button crash and modified checkout item layout

13 years agoorg name for copy information and splash screen file load
drizea [Tue, 17 Jul 2012 15:52:56 +0000 (18:52 +0300)]
org name for copy information and splash screen file load

13 years agoadded copy information for record search details
drizea [Sun, 15 Jul 2012 08:41:05 +0000 (11:41 +0300)]
added copy information for record search details

the copy statuses are downloaded at the beggining of the program so each library can have it's own personalised copy statuses. The ui is not finished but the information is available (must also convert org_id into name)

13 years agorecord swipe added
drizea [Sun, 15 Jul 2012 06:52:46 +0000 (09:52 +0300)]
record swipe added

record swipe added, record details moved in scroll view

13 years agoRun alert dialogs on activity main thread
drizea [Thu, 12 Jul 2012 20:38:01 +0000 (23:38 +0300)]
Run alert dialogs on activity main thread

13 years agoadded splash screen + make each method throw conenction exceptions
drizea [Thu, 12 Jul 2012 12:39:45 +0000 (15:39 +0300)]
added splash screen + make each method throw conenction exceptions

The splash screen is not finished, it must be included in the application logic
Each method that conencts to EG server now throws NoNetworkAvailableException, NoServerAvailalbeException and if necessary, SessionNotFoundException

13 years ago gitignore fix
drizea [Mon, 9 Jul 2012 20:43:20 +0000 (23:43 +0300)]
 gitignore fix

13 years agoavailabillity function added, must add fragment for ui display
drizea [Sun, 8 Jul 2012 16:42:03 +0000 (19:42 +0300)]
availabillity function added, must add fragment for ui display

13 years agosearch record details with slider and fragments (honeycomb ui like)
drizea [Sun, 8 Jul 2012 16:13:02 +0000 (19:13 +0300)]
search record details with slider and fragments (honeycomb ui like)

13 years agocreate, update and cancel holds functionality finished
drizea [Sat, 7 Jul 2012 13:33:02 +0000 (16:33 +0300)]
create, update and cancel holds functionality finished

13 years agobasic fines info finished
drizea [Sat, 7 Jul 2012 10:23:40 +0000 (13:23 +0300)]
basic fines info finished

13 years agoplace hold finished for T holds
drizea [Sat, 7 Jul 2012 07:11:29 +0000 (10:11 +0300)]
place hold finished for T holds

13 years agoFines partial info view added (no UI design, only info)
drizea [Thu, 5 Jul 2012 22:56:04 +0000 (01:56 +0300)]
Fines partial info view added (no UI design, only info)

13 years agoHold creation almoast finished
drizea [Thu, 5 Jul 2012 11:35:22 +0000 (14:35 +0300)]
Hold creation almoast finished

13 years agohold details view with cancel hold option working
drizea [Wed, 4 Jul 2012 14:37:03 +0000 (17:37 +0300)]
hold details view with cancel hold option working

13 years agochanged open_idl in library (modified ParserXML.java to support Android environment...
drizea [Wed, 4 Jul 2012 14:02:07 +0000 (17:02 +0300)]
changed open_idl in library (modified ParserXML.java to support Android environment, and OSRFRegistry added serializable interface to it so it can be passed between Views)

13 years agolist view holds finish (needs UI design), started work on place hold
drizea [Wed, 4 Jul 2012 10:49:38 +0000 (13:49 +0300)]
list view holds finish (needs UI design), started work on place hold

13 years agowork started on holds list view
drizea [Tue, 3 Jul 2012 13:28:32 +0000 (16:28 +0300)]
work started on holds list view

13 years agoApplicationPreferece Activity progress dialog bug fix
drizea [Mon, 25 Jun 2012 21:02:28 +0000 (00:02 +0300)]
ApplicationPreferece Activity progress dialog bug fix

13 years agodownload FM_IDL when changing server address mandatory/ Each EG server version has...
drizea [Mon, 25 Jun 2012 20:39:42 +0000 (23:39 +0300)]
download FM_IDL when changing server address mandatory/ Each EG server version has it's own IDL version, if not downloaded GatewayRequest (IDL parser) retunrs exceptions on JSON parsing

13 years agocirc retrieve bug fix
drizea [Mon, 25 Jun 2012 20:28:29 +0000 (23:28 +0300)]
circ retrieve bug fix

13 years agofix application preference bug on library EG server change
drizea [Mon, 25 Jun 2012 19:17:53 +0000 (22:17 +0300)]
fix application preference bug on library EG server change

13 years agocheckout progress dialog bug fix 2
drizea [Sun, 24 Jun 2012 21:56:28 +0000 (00:56 +0300)]
checkout progress dialog bug fix 2

13 years agocheckout progress dialog bug fix
drizea [Sun, 24 Jun 2012 21:55:41 +0000 (00:55 +0300)]
checkout progress dialog bug fix

13 years agoCheckout button renewal added
drizea [Sun, 24 Jun 2012 21:51:33 +0000 (00:51 +0300)]
Checkout button renewal added

13 years agoCheckout Items list done need UI dev on it
drizea [Fri, 22 Jun 2012 10:43:47 +0000 (13:43 +0300)]
Checkout Items list done need UI dev on it

13 years agocreated a standard method to do querys in Utils (better code management)
drizea [Sat, 16 Jun 2012 13:50:20 +0000 (16:50 +0300)]
created a standard method to do querys in Utils (better code management)

13 years agoindented orgtree display in spinner
drizea [Fri, 15 Jun 2012 17:37:47 +0000 (20:37 +0300)]
indented orgtree display in spinner

13 years agoadded more results list element at the end of the search result list
drizea [Fri, 15 Jun 2012 13:34:32 +0000 (16:34 +0300)]
added more results list element at the end of the search result list

13 years agoworking image download
drizea [Fri, 15 Jun 2012 10:40:26 +0000 (13:40 +0300)]
working image download

13 years agogitignore fix
drizea [Fri, 15 Jun 2012 10:28:29 +0000 (13:28 +0300)]
gitignore fix

13 years agofixed search bug
drizea [Fri, 15 Jun 2012 10:27:14 +0000 (13:27 +0300)]
fixed search bug

13 years agoImage download feature for search
drizea [Fri, 15 Jun 2012 10:16:16 +0000 (13:16 +0300)]
Image download feature for search

13 years agogitignore bin
drizea [Thu, 14 Jun 2012 21:57:50 +0000 (00:57 +0300)]
gitignore bin

13 years agoadded context menu support for search list results
drizea [Thu, 14 Jun 2012 21:53:50 +0000 (00:53 +0300)]
added context menu support for search list results

13 years agoBug fix on ApplicationPreferences crash on back and resume
drizea [Thu, 14 Jun 2012 21:13:53 +0000 (00:13 +0300)]
Bug fix on ApplicationPreferences crash on back and resume

13 years agoBug fix on ApplicationPreferences crash on back and resume
drizea [Thu, 14 Jun 2012 21:11:20 +0000 (00:11 +0300)]
Bug fix on ApplicationPreferences crash on back and resume

13 years agoApplication settings: added connection and credentials testing thread
drizea [Thu, 14 Jun 2012 16:24:28 +0000 (19:24 +0300)]
Application settings: added connection and credentials testing thread

13 years agoApplication basic preferences added still have to add test connection thread
drizea [Tue, 12 Jun 2012 22:09:20 +0000 (01:09 +0300)]
Application basic preferences added still have to add test connection thread

13 years agodashboard split in 2 : main dasjboard and my account dashboard
drizea [Tue, 12 Jun 2012 18:32:21 +0000 (21:32 +0300)]
dashboard split in 2 : main dasjboard and my account dashboard

13 years agodashboard split in 2 : main dasjboard and my account dashboard
drizea [Tue, 12 Jun 2012 18:30:48 +0000 (21:30 +0300)]
dashboard split in 2 : main dasjboard and my account dashboard

13 years agoinit globals (for now) in the Dashboard, (in the future do a loading screen for IDL...
drizea [Mon, 11 Jun 2012 18:48:01 +0000 (21:48 +0300)]
init globals (for now) in the Dashboard, (in the future do a loading screen for IDL and org)

13 years agoAndroid UI development started. Added dashboard activity main screen
drizea [Mon, 11 Jun 2012 18:45:40 +0000 (21:45 +0300)]
Android UI development started. Added dashboard activity main screen

13 years agobookbag retrieve functions added
drizea [Sun, 10 Jun 2012 17:41:02 +0000 (20:41 +0300)]
bookbag retrieve functions added

13 years agoAdded Holds functions to AccountAccess
drizea [Fri, 8 Jun 2012 15:15:22 +0000 (18:15 +0300)]
Added Holds functions to AccountAccess

13 years agoAdded all functions for Checked Out Items View and documented them : open-ils.actor...
drizea [Thu, 7 Jun 2012 09:04:05 +0000 (12:04 +0300)]
Added all functions for Checked Out Items View and documented them : open-ils.actor.user.checked_out, open-ils.circ.open_non_cataloged_circulation.user, open-ils.circ.retrieve, open-ils.search.biblio.mods_from_copy, open-ils.search.asset.copy.retrieve, open-ils.circ.renew

13 years agoAdded Checked out Items tab functions
drizea [Wed, 6 Jun 2012 10:25:37 +0000 (13:25 +0300)]
Added Checked out Items tab functions

13 years agoOPAC my account summary retrieve function added
drizea [Tue, 5 Jun 2012 21:06:37 +0000 (00:06 +0300)]
OPAC my account summary retrieve function added

13 years agofirst commit to Android project
drizea [Mon, 4 Jun 2012 13:53:56 +0000 (16:53 +0300)]
first commit to Android project

13 years agotrivial whitespace change
Galen Charlton [Sat, 26 May 2012 16:42:20 +0000 (12:42 -0400)]
trivial whitespace change

(for testing post-receive hook after Gitolite upgrade)

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
13 years agoDOC: fix a couple typos
Galen Charlton [Sat, 26 May 2012 16:17:58 +0000 (12:17 -0400)]
DOC: fix a couple typos

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
13 years agoStamping upgrade for ACQ org setting group
Bill Erickson [Fri, 25 May 2012 18:54:23 +0000 (14:54 -0400)]
Stamping upgrade for ACQ org setting group

Signed-off-by: Bill Erickson <berick@esilibrary.com>
13 years agoGroup acquisition OU settings in a new "Acquisitions" group
Dan Scott [Thu, 12 Apr 2012 01:56:56 +0000 (21:56 -0400)]
Group acquisition OU settings in a new "Acquisitions" group

As seen in LP867465, the current grouping of acquisition OU settings
under the generic "lib" group leads to confusion about which
context "default shelf location" and the like apply to. Creating a new
"Acquisitions" group will help clarify that current ambiguity.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
13 years agoRepair tpac QueryParser bookbag/container filter
Bill Erickson [Fri, 25 May 2012 18:00:44 +0000 (14:00 -0400)]
Repair tpac QueryParser bookbag/container filter

The container() filter SQL now JOINs on m.source instead of mrd.id,
since mrd is not yet defined in the query (and m.source == mrd.id).

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoAcq: Use scope to constrain choice of lineitem alerts
Lebbeous Fogle-Weekley [Tue, 8 May 2012 18:20:24 +0000 (14:20 -0400)]
Acq: Use scope to constrain choice of lineitem alerts

This commit addresses this launchpad bug:
https://bugs.launchpad.net/evergreen/+bug/996033

The controlled vocabulary of acq lineitem alert text is set up in an
interface labeled "Line Item Alerts" in the staff client admin menu. In
the PO and selection list interfaces (where alerts can be applied), we
will limit the user to selecting alerts from those owned at the user's
workstation org unit (or its ancestors).

When we display applied alerts, we can also display the shortname of the
org unit at which the alert text is defined (the owning_lib column).
This should help clarify what's going on with alerts that have already
been applied using alert text from another org unit.

[Amended since original reference on Launchpad to also show the
owning_lib's shortname when confirming alerts at receive time.]

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
13 years agomenu entry Circulation->Clear Shelf-Expired Holds
Jason Etheridge [Tue, 10 Apr 2012 19:35:31 +0000 (15:35 -0400)]
menu entry Circulation->Clear Shelf-Expired Holds

This spawns the Browse Hold Shelf interface but automatically triggers the View
Shelf-Expired Holds and Clear these Holds options.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Michael Peters <mrpeters@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoStamping upgrade script for TPAC hold override setting
Mike Rylander [Fri, 25 May 2012 15:16:50 +0000 (11:16 -0400)]
Stamping upgrade script for TPAC hold override setting

Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoTPAC auto-override permissable patron hold fail events
Bill Erickson [Tue, 22 May 2012 21:40:04 +0000 (17:40 -0400)]
TPAC auto-override permissable patron hold fail events

This adds a new org unit setting which tells the tpac to automatically
override hold placement failure events in cases where the patron has the
permission to do so.  The goal is to skip the confirmation step
currently required by patrons when overridding a tpac hold.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoAllow more granular overrides
Thomas Berezansky [Thu, 24 May 2012 15:45:36 +0000 (11:45 -0400)]
Allow more granular overrides

This adds a new parameter to backend override functions. In most cases the
system will act like a hash with all set to 1 was passed in when nothing was
passed in by the caller.

The new parameter should be a hash containing zero or more of the following
options:

all - If true (1) override all events
events - Should be an array of event textcodes to override

For hold placement the "all" option is ignored for possibility checks, but
is checked for other events like HOLD_EXISTS.

Also included for hold placement is to always run possibility checks for
the test and create batch method.

Overall, the default is to act like things did previously.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoStamping upgrade script for the flattener-based pull list
Mike Rylander [Fri, 25 May 2012 14:59:38 +0000 (10:59 -0400)]
Stamping upgrade script for the flattener-based pull list

Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoNew pull list interface taking advantage of flattener for speed,
Lebbeous Fogle-Weekley [Sat, 31 Mar 2012 16:17:40 +0000 (12:17 -0400)]
New pull list interface taking advantage of flattener for speed,

and advanced sorting.  For now, access it by the "Simplifed Pull List"
button along the bottom edge of the existing holds pull list interface
(but I think when/if this thing is widely accepted, it should replace
the existing interface outright).

With thanks to Mike Peters for testing an early version.  Now including
some updates requested by Thomas Berezansky.  Specifically, the
queue_position column and its relatives fthat come from the same
calculation were removed, as they're [very] expensive in computing time to
produce and generally useless to pull lists.

One exception to the characterization of those fields as "useless" is the
"number of potential copies" column, which we should add back later
assuming we can find a fast way to do it rather than the previous ways,
which were slow.

Thanks to Bill Erickson for helping fix my issues in making auto-generated
columns coƶperate with the column picker (his changes are squashed into
this).  I think it's finally right.

Now with release notes.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agotpac : uri escape added content key
Bill Erickson [Thu, 24 May 2012 14:30:09 +0000 (10:30 -0400)]
tpac : uri escape added content key

The added content key may have spaces, etc.  URI escape the key to
prevent Net::HTTP from croaking in the URL.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agotpac added content default type improvements
Bill Erickson [Fri, 18 May 2012 17:23:53 +0000 (13:23 -0400)]
tpac added content default type improvements

* In the pre-JS state, only choose a default display type when the type
is known to have data.

* If no default type is chosen for the main tab link, because no data
was available to the template, set the default from the first added
content type determined to be available via JS.

* Move added content JS to separate template file for easier override.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoTPAC added content data retrieval sanity check
Bill Erickson [Tue, 15 May 2012 14:11:37 +0000 (10:11 -0400)]
TPAC added content data retrieval sanity check

On the backend, avoid fetching added content data when initial request
returns 404.  This prevents edge case where a specific type may be
selected (e.g. via bookmark) even though no data exists for the type.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoTPAC added content shows default tab
Bill Erickson [Tue, 15 May 2012 13:56:27 +0000 (09:56 -0400)]
TPAC added content shows default tab

Use the first available content as the default tab to show when the main
added content tab is expanded.

Note, if no content is known to exist until after JS has run, it's still
possible to expand the main tab and have no content selected by default.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoTPAC added content improvements
Bill Erickson [Tue, 15 May 2012 13:46:11 +0000 (09:46 -0400)]
TPAC added content improvements

* Style the sub-tabs to indicate which is selected
* If the template knows there is no content, hide the main tab
* cleanup

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoTPAC added content integration
Bill Erickson [Mon, 14 May 2012 19:22:08 +0000 (15:22 -0400)]
TPAC added content integration

https://bugs.launchpad.net/evergreen/+bug/984963

This adds a new tab on the detail page called Additional Content
(suggestions welcome).  When the tab is expanded, available content is
presented to the user via a series of sub-tabs.

At the start of loading the record detail page, kick off a series of
asynchronous HTTP HEAD requests, one per type of added content.  At the
end of context loading, read the results of the HTTP requests for any
that have completed.  If the status for a type is 200, the type is
marked as available.  If it's not 200 (usually 404) it's marked as not
available.  Otherwise, it's marked as unknown.

In the template, available content produces a link the user can click
to view the content.  Non-available content produces no links.  Unknown
content produces a link that may lead to content or no content when
JS/dojo is disabled.  When dojo is enabled, unknown content sends a
series of JS queries to determine the state of the content
asynchronously and results in displayed links for any type that is later
determined to have content.

TODO: when the user expands the Additional Content tab, no type is
chosen by default.  A default (available) type needs to be selected on
initial display.

TODO: better styling, particularly in the sub-tabs.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agominor fix.. this was working, but not in the same vein of other 'render' elements
Jason Etheridge [Tue, 22 May 2012 15:11:01 +0000 (11:11 -0400)]
minor fix.. this was working, but not in the same vein of other 'render' elements

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoREADME: Bump OpenSRF prerequisite to 2.1 for Evergreen 2.2+
Dan Scott [Fri, 25 May 2012 07:14:46 +0000 (03:14 -0400)]
README: Bump OpenSRF prerequisite to 2.1 for Evergreen 2.2+

Also use a title that fits into the DIG documentation more smoothly, and
be consistent about sentence-style capitalization of sub-headings.

Signed-off-by: Dan Scott <dan@coffeecode.net>
13 years agoMerge branch 'master' of git.evergreen-ils.org:Evergreen-DocBook into doc_consolidati...
Dan Scott [Wed, 23 May 2012 20:16:58 +0000 (16:16 -0400)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen-DocBook into doc_consolidation_master

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
13 years agoMerge branch 'master' of git.evergreen-ils.org:Evergreen into doc_consolidation_master
Dan Scott [Wed, 23 May 2012 20:16:38 +0000 (16:16 -0400)]
Merge branch 'master' of git.evergreen-ils.org:Evergreen into doc_consolidation_master

13 years agoTPAC: recover the ability to override hold placement failures
Bill Erickson [Tue, 22 May 2012 20:22:14 +0000 (16:22 -0400)]
TPAC: recover the ability to override hold placement failures

There is a certain class of hold failure events (e.g. HOLD_EXISTS,
HOLD_ITEM_CHECKED_OUT) that can be overridden by patrons when they have
the correct override permission.  This change recovers that ability,
which was recently removed with 99e8fc893a.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoUpdate upgrade instructions to release candidate 1.
rsoulliere [Wed, 23 May 2012 11:50:05 +0000 (07:50 -0400)]
Update upgrade instructions to release candidate 1.

13 years agostamping upgrade script for saved queries
Mike Rylander [Tue, 22 May 2012 19:10:14 +0000 (15:10 -0400)]
stamping upgrade script for saved queries

Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoTPAC: Search Filter Groups
Bill Erickson [Thu, 23 Feb 2012 22:01:28 +0000 (17:01 -0500)]
TPAC: Search Filter Groups

Adds support for a new CGI param:

fg:<filter_group_code>=filter_group_entry

Each filter group entry will be mapped to a filter_group_entry()
filter and appended to the current search query.

This includes a new filter selector builder at
parts/filter_group_selector.tt2.

Usage, assuming a filter_group with code "audience":

<span>[% ctx.filter_groups.audience.label %]<span>
<span>
[%
    INCLUDE 'opac/parts/filter_group_selector.tt2'
    filter_group=audience
    none_ok=1
%]
<span>

The set of filter groups available to the TPAC are those defined at the
search org unit and its ancestors.  If multiple filters have the same
code name, the filter owned closest to the context org unit is used.
This allows for global filters with local overrides.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agotpac : search_HINT cache fixes
Bill Erickson [Wed, 18 Apr 2012 20:15:46 +0000 (16:15 -0400)]
tpac : search_HINT cache fixes

When searching for multiple values like a list of IDs, generate the
cache key from the sorted JSON form of the search value instead of the
bare ARRAY ref.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoNew QueryParser filter_group_entry filter
Bill Erickson [Thu, 19 Apr 2012 17:54:34 +0000 (13:54 -0400)]
New QueryParser filter_group_entry filter

filter_group_entry() takes one or more filter_group_entry IDs as
parameters and applies the included sub-searches as filters on the
current search.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoGive the PG QP driver a subquery callback for the new saved_query() filter
Mike Rylander [Wed, 18 Apr 2012 17:25:06 +0000 (13:25 -0400)]
Give the PG QP driver a subquery callback for the new saved_query() filter

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
13 years agoTeach QueryParser about search filter callbacks, and if a callback returns a value...
Mike Rylander [Wed, 18 Apr 2012 17:24:24 +0000 (13:24 -0400)]
Teach QueryParser about search filter callbacks, and if a callback returns a value, parse it at the current recursion level

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoSearch Filter Groups and Generic Queries : DB / IDL
Bill Erickson [Thu, 23 Feb 2012 19:28:50 +0000 (14:28 -0500)]
Search Filter Groups and Generic Queries : DB / IDL

Adds 3 new tables.  The first is a general purpose container for
query-parser queries.  These can be used by other entities for storing
saved searches, saved search filters, etc.  Each contains a query string
and a label.

The two other tables are for creating org unit saved search filter
groups.  A filter group is a named set of search queries, treated as
filters, collected to create a high-level search filter.  Filter group
entries use search_query's under the covers, so the content of the
filter can be any valid query string, including other filters or even
other filter groups.

For example, you could create an "Audience" filter group with entries
like, "Children" => "audience(a, b) locations(3,4,5)" to filter on copy
location in addition to the MARC audience data.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoQuery Parser merged copy / non-dynamic filters
Bill Erickson [Mon, 21 May 2012 14:32:56 +0000 (10:32 -0400)]
Query Parser merged copy / non-dynamic filters

When more than one copy-level filter (e.g. locations()) is used in a
query-parser query, all but the first are ignored.  The goal of this
work is to compress multiple copy-level filters into a single filter
that represents the full collection.  Wherever possible, boolean
structures will be honored, to the extent possible for post-search
copy-level filters.

Examples:

concerto locations(1,2) locations(3,4)

==> concerto locations(1,2,3,4)

( concerto locations(3,4,5) ) || (piano locations(3,5,7) )

==> ( concerto || piano ) locations(3,4,5,6,7)

( concerto locations(3,4,5) ) && ( piano locations(3,5,7) )

==> concerto piano locations(3,5)

Note, in the last 2 examples, the final query does not exactly match the
original.  This is because copy-level filters are applied after the
initial search and cannot be executed as part of the  nested query.  The
best we can do is create a representation of the final copy-level
filter, based on the nesting, and apply it to the final result of the
nested search.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoQuery Parser nested dynamic filters
Bill Erickson [Tue, 15 May 2012 22:00:30 +0000 (18:00 -0400)]
Query Parser nested dynamic filters

Dynamic filters (from metabib.record_attr) are now parsed along with
search strings and facets as Query Parser descends the parse tree.  The
WHERE clause for the query as a whole is now a combination of the main
WHERE and the ON clause for JOINing to metabib.record_attr.  This gives
us the ability to create complex boolean nested queries using
SVF/record_attr filters, unlike before where nested filters were either
ignored or always treated as global filters.

For example:

concerto && ( ( item_type(a) subject|topic[Music] ) || item_form(a) )

This query now successfully limits the "concerto" search to results that
have either (item_type(a) AND subject|topic[Music]) OR item_form(a).

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoQueryParser test script
Bill Erickson [Tue, 15 May 2012 21:59:56 +0000 (17:59 -0400)]
QueryParser test script

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 years agoUse spaces instead of tabs in QueryParser.pm
Dan Scott [Mon, 21 May 2012 19:09:59 +0000 (15:09 -0400)]
Use spaces instead of tabs in QueryParser.pm

Copying swathes of SQL from logs into psql would often trigger the
autocompletion that psql offers, garbling a query awfully. Define the
local $spc var as two spaces and use that instead, leaving open the
option for reverting to tabs or anything else people prefer.

Also remove trailing whitespace, as this whole thing is about space.

Signed-off-by: Dan Scott <dan@coffeecode.net>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>