Summary: | Filtering Items based on type in opac-detail.pl | ||
---|---|---|---|
Product: | Koha | Reporter: | Olli-Antti Kivilahti <olli-antti.kivilahti> |
Component: | Serials | Assignee: | Olli-Antti Kivilahti <olli-antti.kivilahti> |
Status: | Failed QA --- | QA Contact: | Testopia <testopia> |
Severity: | enhancement | ||
Priority: | P5 - low | CC: | colin.campbell, marjorie.barry-vila, mtompset |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | Sponsored | Patch complexity: | Medium patch |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Circulation function: | |||
Bug Depends on: | |||
Bug Blocks: | 6385 | ||
Attachments: |
Bug 11129 - Filtering Items based on type in opac-detail.pl
Bug 11129 - Filtering Items based on type in opac-detail.pl Manual test plan Bug 11129 - Filtering Items based on type in opac-detail.pl Bug 11129 - Filtering Items based on type in opac-detail.pl Bug 11129 - Filtering Items based on type in opac-detail.pl |
Description
Olli-Antti Kivilahti
2013-10-24 11:03:51 UTC
Results are filtered by: branch, volume, number/issue, fromDate, toDate. Tricky part is ambiguation in volume, number/issue. This is pulled from the items.enumchron and can have various different ways of spelling. Will add a system preference to define the organisation-wide way of labeling Serial issues. Filtering cannot be done if the enumerations are not reasonably consistent. Created attachment 22464 [details] [review] Bug 11129 - Filtering Items based on type in opac-detail.pl Currently all Items are always shown on the opac-detail.pl. This is difficult when the amount of Items grows substantially large. Implemented a filter to limit the Items shown (and SELECTed from the DB) based on some typical filters, locationbranch, volume, number, issue, fromDate, toDate. Also streamlined how Serials-data is pulled from the DB to prevent substantial extra work in C4::Items::GetItemsInfo(). C4::Items::GetItemsInfo() extended to support various filters. All modifications: Item filter shown when there are over 50 items (lotsofitems-flag). Filter fields can be changed based on the Biblio type (isSerial-flag). -Volume + Issue + Number available only for serials. Can syspref if Issue-field is used in serial records. Can syspref a regexp to parse the Volume + Number + Issue from the enumeration or chronology field. FromDate and ToDate filter the serial.publisheddate when dealing with serials otherwise target the items.timestamp -column. C4::Items::GetItemsInfo() simplified to include the serial data in the BIG SQL. This makes filtering by publisheddate much more faster. User input validated using HTML5 <input "number"> Business layer validations as well. Unit tests: Serials enumeration and chronology filtering Items date and branch filtering Sponsored by the Joensuu Regional Library Created attachment 22513 [details] [review] Bug 11129 - Filtering Items based on type in opac-detail.pl Currently all Items are always shown on the opac-detail.pl. This is difficult when the amount of Items grows substantially large. Implemented a filter to limit the Items shown (and SELECTed from the DB) based on some typical filters, locationbranch, volume, number, issue, fromDate, toDate. Also streamlined how Serials-data is pulled from the DB to prevent substantial extra work in C4::Items::GetItemsInfo(). C4::Items::GetItemsInfo() extended to support various filters. All modifications: Item filter shown when there are over 50 items (lotsofitems-flag). Filter fields can be changed based on the Biblio type (isSerial-flag). -Volume + Issue + Number available only for serials. Can syspref if Issue-field is used in serial records. Can syspref a regexp to parse the Volume + Number + Issue from the enumeration or chronology field. FromDate and ToDate filter the serial.publisheddate when dealing with serials otherwise target the items.timestamp -column. C4::Items::GetItemsInfo() simplified to include the serial data in the BIG SQL. This makes filtering by publisheddate much more faster. User input validated using HTML5 <input "number"> Business layer validations as well. Unit tests: Serials enumeration and chronology filtering Items date and branch filtering Sponsored by the Joensuu Regional Library Created attachment 22566 [details]
Manual test plan
Attached a manual test plan.
Created attachment 22569 [details] [review] Bug 11129 - Filtering Items based on type in opac-detail.pl Currently all Items are always shown on the opac-detail.pl. This is difficult when the amount of Items grows substantially large. Implemented a filter to limit the Items shown (and SELECTed from the DB) based on some typical filters, locationbranch, volume, number, issue, fromDate, toDate. Also streamlined how Serials-data is pulled from the DB to prevent substantial extra work in C4::Items::GetItemsInfo(). C4::Items::GetItemsInfo() extended to support various filters. All modifications: Item filter shown when there are over 50 items (lotsofitems-flag). Filter fields can be changed based on the Biblio type (isSerial-flag). -Volume + Issue + Number available only for serials. Can syspref if Issue-field is used in serial records. Can syspref a regexp to parse the Volume + Number + Issue from the enumeration or chronology field. FromDate and ToDate filter the serial.publisheddate when dealing with serials otherwise target the items.timestamp -column. C4::Items::GetItemsInfo() simplified to include the serial data in the BIG SQL. This makes filtering by publisheddate much more faster. User input validated using HTML5 <input "number"> Business layer validations as well. Unit tests: Serials enumeration and chronology filtering Items date and branch filtering Sponsored by the Joensuu Regional Library Sponsored by the Joensuu Regional Library Created attachment 23172 [details] [review] Bug 11129 - Filtering Items based on type in opac-detail.pl Currently all Items are always shown on the opac-detail.pl. This is difficult when the amount of Items grows substantially large. Implemented a filter to limit the Items shown (and SELECTed from the DB) based on some typical filters, locationbranch, volume, number, issue, fromDate, toDate. Also streamlined how Serials-data is pulled from the DB to prevent substantial extra work in C4::Items::GetItemsInfo(). C4::Items::GetItemsInfo() extended to support various filters. All modifications: Item filter shown when there are over 50 items (lotsofitems-flag). Filter fields can be changed based on the Biblio type (isSerial-flag). -Volume + Issue + Number available only for serials. Can syspref if Issue-field is used in serial records. Can syspref a regexp to parse the Volume + Number + Issue from the enumeration or chronology field. FromDate and ToDate filter the serial.publisheddate when dealing with serials otherwise target the items.timestamp -column. C4::Items::GetItemsInfo() simplified to include the serial data in the BIG SQL. This makes filtering by publisheddate much more faster. User input validated using HTML5 <input "number"> Business layer validations as well. Unit tests: Serials enumeration and chronology filtering Items date and branch filtering Formatted using perltidy and Perl::Critic Sponsored by the Joensuu Regional Library Created attachment 23205 [details] [review] Bug 11129 - Filtering Items based on type in opac-detail.pl Currently all Items are always shown on the opac-detail.pl. This is difficult when the amount of Items grows substantially large. Implemented a filter to limit the Items shown (and SELECTed from the DB) based on some typical filters, locationbranch, volume, number, issue, fromDate, toDate. Also streamlined how Serials-data is pulled from the DB to prevent substantial extra work in C4::Items::GetItemsInfo(). C4::Items::GetItemsInfo() extended to support various filters. All modifications: Item filter shown when there are over 50 items (lotsofitems-flag). Filter fields can be changed based on the Biblio type (isSerial-flag). -Volume + Issue + Number available only for serials. Can syspref if Issue-field is used in serial records. Can syspref a regexp to parse the Volume + Number + Issue from the enumeration or chronology field. FromDate and ToDate filter the serial.publisheddate when dealing with serials otherwise target the items.timestamp -column. C4::Items::GetItemsInfo() simplified to include the serial data in the BIG SQL. This makes filtering by publisheddate much more faster. User input validated using HTML5 <input "number"> Business layer validations as well. Unit tests: Serials enumeration and chronology filtering Items date and branch filtering Sponsored by the Joensuu Regional Library |