Reduce some of the code duplication
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
The changes here aren't required (Email::Address already deals with
lists of addresses internally)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch allows guarantors to receive emails sended to their
guarentees. This patch is a rebase of the previous patches.
I took all the content of previous commit and put it in one commit.
TO TEST:
Before applying:
1) Search, or create, a patron with guarantor.
2) For both guarantors and guarantees:
- Add an email address
- Update the 'Patron messaging preferences' section so that an email is sent for item checkouts
3) Checkout an item. An email should be sent only to the guarantee.
4) Apply the patch.
5) Run updatedatabase.pl
6) Run prove t/db_dependent/Members.t and prove t/db_dependent/Letters.t
7) Enable 'RedirectGuaranteeEmail'
8) Run misc/cronjobs/process_message_queue.pl
9) Notice that the email should be sended to both the guarantee AND the
guarantor.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This script was never fully promoted or documented and it requires third
party libraries are installed to use. This patch removes it from the
repository and the Makefile so it is no longer installed.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Same problem: we added a column without adjusting the filter.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch fixes the column index in the call to fnFilter following the
addition of a new column to the table in bug 32341
Test plan:
1) Add some charges to a patron account
2) Pay some of these charges so that they are no longer outstanding
3) In the OPAC log in as that patron and navigate to the Charges tab in
their account
4) Observe that all charges are listed, even if they have been paid and
clicking the Show all transactions button has no effect even if
clicked multiple times between the different filtering options
5) Apply patch
6) Refresh page and now the settled charges should be filtered out
7) Click the Show all transactions button and it should correctly update
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the way Font Awesome icon assets are included on the
self checkout and self checkin pages. This change should have been made
during the upgrade to Font Awesome 6 (Bug 32910).
To test, apply the patch and make sure both SelfCheckInModule and
WebBasedSelfCheck system preferences are enabled.
- Go to the self checkout module (/cgi-bin/koha/sco/sco-main.pl) and log
in.
- Check that Font Awesome icons are working: You should see an
information icon by the "Help" link in the header, and a check mark
icon in the "Finish" button.
- Click the help link to confirm that the icon appears there too.
- Go to the self checkin module (/cgi-bin/koha/sci/sci-main.pl).
- In the header you should see the information icon by the help link and
an icon with the "Log out" link too.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
In a biblio record checkout history, when a checkout is anonymized the
patron id has been replaced by anonymous patron id.
In this case we should not show anonymous patron link.
It looks like a real patron did this checkout.
Test plan :
1) Set an existing patron id in system preference 'AnonymousPatron'
2) Perform anonymisation on old checkouts (or edit database manually)
3) Look at a record checkout history with old checkouts
=> You see 'Anonymized' for anonymized checkouts
4) Set system preference 'AnonymousPatron' empty
5) Look at same record checkout history
=> Check no error
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
prove -v t/db_dependent/Koha/Patrons/Import.t
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
A regression has been identified whereby an empty field in the dateexpiry field in a patron import file will cause the patron's expiry date to be set to NULL. This patch addresses this by checking for an empty field and using the existing expiry date if one is found.
Test plan:
1) Setup a csv with column headers:
surname firstname branchcode categorycode cardnumber dateenrolled dateexpiry
2) Add values:
Acosta Edna CPL PT 23529001000463 02/01/2013
3) Leave the dateexpiry column blank
4) Check Edna and make a note of her patron expiry date
5) Run the import_patrons.pl script with the following flags:
a) --file <filepath_for_your_csv_file>
b) --matchpoint cardnumber
c) --confirm
d) --overwrite
6) Check Edna, note her expiry date is now set to NULL
7) Manually edit Edna's expiry date to be reset to what it was before you ran the script
8) Apply the patch and restart_all
9) Repeat step 5
10) Check Edna, this time her expiry date should be the same as the value you set it to in step 7
11) Sign off!
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Test plan:
Run misc/cronjobs/membership_expiry.pl --help
misc/cronjobs/membership_expiry.pl --man
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Note: I did not add an example to the debian cron daily file, since
we have no commented lines there. And automatic renewal is no default
behavior.
Test plan:
Read new lines in misc/cronjobs/crontab.example. Just comments.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Just as passing another expiry notice.
Test plan:
Pick a patron to expire.
Create another membership renewal notice, say X.
Run misc/cronjobs/membership_expiry.pl -c -n -v -letter_renew X
Check output on command line.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Test plan:
[1] Pick an account to expire soon.
[2] Choose MembershipExpiryDaysNotice so that it will be selected.
(Note: You can extend the selection with -before or -after.)
[3] Run misc/cronjobs/membership_expiry.pl -c -v -renew
[4] Check new expiry date in the notice. Does it correspond with
enrollment period of category and pref BorrowerRenewalPeriodBase?
[5] If the patron category has an enrollment fee, check account too.
[6] Reset dateexpiry of this patron to original date.
[7] Run misc/cronjobs/membership_expiry.pl -c -v
[8] Check if you got an expiry notice instead and dateexpiry did not
change.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT] Removed $fees and $substitute in favor of notice approach
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Test plan:
Run new install or upgrade.
Check for this notice under Tools/Notices.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT] Enrollment fee via object instead of substitute hash.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
and inherit from it
The new usage is now:
1. With a Koha::Biblio object
my $extractor = Koha::Biblio::Metadata::Extractor->new({biblio => $biblio});
$extractor->get_normalized_upc;
or
2. With a MARC::Record
my $extractor = Koha::Biblio::Metadata::Extractor->new({metadata=> $biblio->metadata->record});
$extractor->get_normalized_upc;
Note that there are "Inconsistent hierarchy during C3 merge of class"
warnings raised by the QA script. We could remove them by replacing the
'use' by 'require' in Koha::Biblio::Metadata::Extractor::MARC (in ->new)
but that's suboptimal.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
We are not directly linked with the other Koha::Metadata* packages.
Better to isolate this under Koha::Biblio::Metadata (at least for now).
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch introduces a new pattern for the different ->get_<thing>
methods we've been adding. The aim is that code will look more like:
my $metadata_extractor = Koha::MetadataExtractor->new;
while ( my $biblio = $biblios->next ) {
my $record = $biblio->record;
my $schema = $biblio->record_schema;
$data->{$biblio->id}->{normalized_upc} =
$metadata_extractor->get_normalized_upc( { record => $record, schema =>
$schema } );
$data->{$biblio->id}->{normalized_ean} =
$metadata_extractor->get_normalized_ean( { record => $record, schema =>
$schema } );
}
The key is that we are actually reusing the MARC::Record, and code for
each schema is organized cleanly so easier to maintain.
For the class names, I chose to add the 'MARC' name in the path, so we
don't need to refactor anything if we want to add support for another
serialization formats.
To test:
1. Apply this patch
2. Run:
$ ktd --shell
k$ qa -c 1
=> SUCCESS: Tests pass!
3. Sign off :-D
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
For some Unimarc biblio records, the OAI Server returns a bad XML
document, ie a document with extended characters, such as accents, not
encoded in UTF8. It seems to come from somewhere in MARC::Record library
trying to deduce biblio record endoding from some fields. It may work
for MARC21 records. It doesn't for Unimarc records. So it's necessary to
send to the method transforming record into XML the marcflavour. This
way there is no encoding guessing from Unimarc biblio records content.
https://bugs.koha-community.org/show_bug.cgi?id=34467
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
The module is removed from t.
We only have 01-test_dbic.t and we do not need it any longer.
Test plan:
git grep for Test::DBIx::Class. You should only see release notes.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the default MARC21 framework to reflect the changes brought by Update 36 (June 2023).
To test:
1. Apply patch and restart
2. Go to Administration > MARC bibliographic framework
3. Click Actions next to the default framework and choose MARC structure
4. Check for the changes detailed in the update https://www.loc.gov/marc/bibliographic/bdapndxg.html
- There should be one new subfield in field 041
- 3 Materials specified (NR)
- There should be a new field 361, named STRUCTURED OWNERSHIP AND CUSTODIAL HISTORY
- This field should be repeatable
- Subfields:
- 0 Authority record control number or standard number (R)
- 1 Real World Object URI (R)
- 3 Materials specified (NR)
- 5 Institution to which field applies (NR)
- 6 Linkage (NR)
- 7 Data provenance (R)
- 8 Field link and sequence number (R)
- a Name (NR)
- f Ownership and custodial history evidence term (R)
- k Formatted date (NR)
- l Date (NR)
- o Type of ownership and custodial history information (R)
- s Shelf mark of copy described (NR)
- u Uniform Resource Identifier (R)
- x Nonpublic note (R) **This should not be visible in the OPAC
- y Identifier of the copy described (NR)
- z Public note (R)
- There should be three new subfields in field 653
- 0 Authority record control number or standard number (R)
- 1 Real World Object URI (R)
- 5 Institution to which field applies (NR)
- There should be two new subfields in field 658
- 0 Authority record control number or standard number (R)
- 1 Real World Object URI (R)
- There should be four new subfields in field 720
- 0 Authority record control number or standard number (R)
- 1 Real World Object URI (R)
- 5 Institution to which field applies (NR)
- 7 Data provenance (R)
- There should be a new field 857, named ELECTRONIC ARCHIVE LOCATION AND ACCESS
- This field should be repeatable
- Subfields
- 2 Access method (NR)
- 3 Materials specified (NR)
- 5 Institution to which field applies (NR)
- 6 Linkage (NR)
- 7 Access status (NR)
- 8 Field link and sequence number (R)
- b Name of archiving agency (NR)
- c Name of Web archive or digital archive repository (NR)
- d Date range of archived material (NR)
- e Data provenance (R)
- f Archive completeness (NR)
- g Persistent identifier (R)
- h Non-functioning Uniform Resource Identifier (R)
- l Standardized information governing access (R)
- m Contact for access assistance (R)
- n Terms governing access (R)
- q Electronic format type (R)
- r Standardized information governing use and reproduction (R)
- s File size (R)
- t Terms governing use and reproduction (R)
- u Uniform Resource Identifier (R)
- x Nonpublic note (R)
- y Link text (R)
- z Public note (R)
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the default MARC21 framework to reflect the changes brought by Update 35 (December 2022).
To test:
1. Apply patch and restart
2. Go to Administration > MARC bibliographic framework
3. Click Actions next to the default framework and choose MARC structure
4. Check for the changes detailed in the update https://www.loc.gov/marc/up35bibliographic/bdapndxg.html
- There should be one new subfield in field 856
- g Persistent identifier (R)
- Subfield h should now be named Non-functioning Uniform Resource Identifier
- Subfield q should now be repeatable
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the default MARC21 framework to reflect the changes brought by Update 34 (July 2022).
To test:
1. Apply patch and restart
2. Go to Administration > MARC bibliographic framework
3. Click Actions next to the default framework and choose MARC structure
4. Check for the changes detailed in the update https://www.loc.gov/marc/up34bibliographic/bdapndxg.html
- There should be one new subfield in field 041
- 7 Data provenance (R)
- There should be one new subfield in field 082
- 7 Data provenance (R)
- There should be one new subfield in field 083
- 7 Data provenance (R)
- There should be one new subfield in field 084
- 7 Data provenance (R)
- There should be one new subfield in field 100
- 7 Data provenance (R)
- There should be one new subfield in field 110
- 7 Data provenance (R)
- There should be one new subfield in field 111
- 7 Data provenance (R)
- There should be one new subfield in field 130
- 7 Data provenance (R)
- There should be one new subfield in field 210
- 7 Data provenance (R)
- There should be one new subfield in field 240
- 7 Data provenance (R)
- There should be one new subfield in field 245
- 7 Data provenance (R)
- There should be one new subfield in field 246
- 7 Data provenance (R)
- There should be one new subfield in field 247
- 7 Data provenance (R)
- There should be one new subfield in field 250
- 7 Data provenance (R)
- There should be one new subfield in field 255
- 7 Data provenance (R)
- There should be one new subfield in field 256
- 7 Data provenance (R)
- There should be one new subfield in field 264
- 7 Data provenance (R)
- There should be one new subfield in field 300
- 7 Data provenance (R)
- There should be one new subfield in field 335
- 7 Data provenance (R)
- There should be one new subfield in field 336
- 7 Data provenance (R)
- There should be one new subfield in field 340
- q Reduction ratio designator (R)
- Subfield f should now be named Reduction ratio value
- There should be one new subfield in field 348
- 7 Data provenance (R)
- There should be one new subfield in field 370
- 7 Data provenance (R)
- There should be one new subfield in field 377
- 7 Data provenance (R)
- There should be one new subfield in field 380
- 7 Data provenance (R)
- There should be one new subfield in field 381
- 7 Data provenance (R)
- There should be one new subfield in field 382
- 7 Data provenance (R)
- There should be one new subfield in field 383
- 7 Data provenance (R)
- There should be one new subfield in field 384
- 7 Data provenance (R)
- There should be one new subfield in field 385
- 7 Data provenance (R)
- There should be one new subfield in field 386
- 7 Data provenance (R)
- There should be a new field 387, named REPRESENTATIVE EXPRESSION CHARACTERISTICS
- This field should be repeatable
- Subfields:
- 0 Authority record control number or standard number (R)
- 1 Real World Object URI (R)
- 2 Source of term (NR)
- 3 Materials specified (NR)
- 6 Linkage (NR)
- 7 Data provenance (R)
- 8 Field link and sequence number (R)
- a Aspect ratio of representative expression (R)
- b Color content of representative expression (R)
- c Content type of representative expression (R)
- d Date of capture of representative expression (R)
- e Date of representative expression (R)
- f Duration of representative expression (R)
- g Intended audience of representative expression (R)
- h Language of representative expression (R)
- i Place of capture of representative expression (R)
- j Projection of cartographic content of representative expression (R)
- k Scale of representative expression (R)
- l Script of representative expression (R)
- m Sound content of representative expression (R)
- There should be one new subfield in field 388
- 7 Data provenance (R)
- There should be one new subfield in field 490
- 7 Data provenance (R)
- There should be one new subfield in field 500
- 7 Data provenance (R)
- There should be one new subfield in field 501
- 7 Data provenance (R)
- There should be one new subfield in field 502
- 7 Data provenance (R)
- There should be one new subfield in field 505
- 7 Data provenance (R)
- Field 507 should now be named SCALE NOTE FOR VISUAL MATERIALS
- There should be one new subfield in field 508
- 7 Data provenance (R)
- There should be one new subfield in field 510
- 7 Data provenance (R)
- There should be one new subfield in field 515
- 7 Data provenance (R)
- There should be one new subfield in field 518
- 7 Data provenance (R)
- There should be one new subfield in field 520
- 7 Data provenance (R)
- There should be one new subfield in field 533
- y Data provenance (R)
- There should be one new subfield in field 546
- 7 Data provenance (R)
- There should be one new subfield in field 550
- 7 Data provenance (R)
- There should be one new subfield in field 555
- 7 Data provenance (R)
- There should be one new subfield in field 583
- 7 Data provenance (R)
- There should be one new subfield in field 600
- 7 Data provenance (R)
- There should be one new subfield in field 610
- 7 Data provenance (R)
- There should be one new subfield in field 611
- 7 Data provenance (R)
- There should be one new subfield in field 630
- 7 Data provenance (R)
- There should be one new subfield in field 648
- 7 Data provenance (R)
- There should be one new subfield in field 650
- 7 Data provenance (R)
- There should be one new subfield in field 651
- 7 Data provenance (R)
- There should be one new subfield in field 653
- 7 Data provenance (R)
- There should be one new subfield in field 655
- 7 Data provenance (R)
- There should be one new subfield in field 700
- 7 Data provenance (R)
- There should be one new subfield in field 710
- 7 Data provenance (R)
- There should be one new subfield in field 711
- 7 Data provenance (R)
- There should be one new subfield in field 751
- 7 Data provenance (R)
- There should be one new subfield in field 760
- l Data provenance (R)
- There should be one new subfield in field 762
- l Data provenance (R)
- There should be one new subfield in field 765
- l Data provenance (R)
- There should be one new subfield in field 767
- l Data provenance (R)
- There should be one new subfield in field 770
- l Data provenance (R)
- There should be one new subfield in field 772
- l Data provenance (R)
- There should be one new subfield in field 773
- l Data provenance (R)
- There should be one new subfield in field 774
- l Data provenance (R)
- There should be one new subfield in field 775
- l Data provenance (R)
- There should be one new subfield in field 776
- l Data provenance (R)
- There should be one new subfield in field 777
- l Data provenance (R)
- There should be one new subfield in field 780
- l Data provenance (R)
- There should be one new subfield in field 785
- l Data provenance (R)
- There should be one new subfield in field 786
- l Data provenance (R)
- There should be one new subfield in field 787
- l Data provenance (R)
- There should be a new field 788, named PARALLEL DESCRIPTION IN ANOTHER LANGUAGE OF CATALOGING
- This field should be repeatable
- Subfields:
- 4 Relationship (R)
- 5 Institution to which field applies (NR)
- 6 Linkage (NR)
- 8 Field link and sequence number (R)
- a Main entry heading (NR)
- b Edition (NR)
- d Place, publisher, and date of publication (NR)
- e Language of cataloging (NR)
- i Relationship information (R)
- l Data provenance (R)
- n Note (R)
- s Uniform title (NR)
- t Title (NR)
- w Record control number (R)
- x International Standard Serial Number (NR)
- There should be one new subfield in field 800
- y Data provenance (R)
- There should be one new subfield in field 810
- y Data provenance (R)
- There should be one new subfield in field 811
- y Data provenance (R)
- There should be one new subfield in field 830
- y Data provenance (R)
- There should be one new subfield in field 856
- e Data provenance (R)
- Subfield l is renamed Standardized information governing access (R)
- Subfield n is renamed Terms governing access (R)
- Subfield r is renamed Standardized information governing use and reproduction (R)
- Subfield t is renamed Terms governing use and reproduction (R)
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the terms used in the 007 value builder in
concordance with the MARC21 format update 33.
To test:
1. Apply patch and restart
2. Go to Cataloguing > New recordGo to Cataloguing > New record
3. Click the small tag editor icon next to 007
3. Change Material type to Sound recording
--> Position 13 should now be named Original capture and storage technique
4. Open the 13 Original capture and storage technique drop-down menu
--> The values should be renamed
a - Acoustical capture, analog direct storage
b - Electrical capture, analog direct storage
d - Electrical capture, digital storage
e - Electrical capture, analog electrical storage
u - Unknown capture and storage
z - Other **Unchanged
| - No attempt to code **Unchanged
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
iThis patch updates the default MARC21 framework to reflect the changes brought by Update 33 (November 2021).
To test:
1. Apply patch and restart
2. Go to Administration > MARC bibliographic framework
3. Click Actions next to the default framework and choose MARC structure
4. Check for the changes detailed in the update https://www.loc.gov/marc/up33bibliographic/bdapndxg.html
- There should be a new subfield in field 340
- l Binding (R)
- There should be a new subfield in field 344
- j Original capture and storage technique (R)
- There should be two new subfields in field 490
- y Incorrect ISSN (R)
- z Canceled ISSN (R)
**Note that subfield 7 was added in a later update and is therefore not included in this patch
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Fixes a small typo that prevented the yaml from loading correctly
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the code list for 008/21 for continuing resources in
concordance with Update 32 to the MARC21 format.
g - Magazine
h - Blog
j - Journal
r - Repository
s - Newsletter
t - Directory
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the default MARC21 framework to reflect the changes brought by Update 32 (June 2021).
To test:
1. Apply patch and restart
2. Go to Administration > MARC bibliographic framework
3. Click Actions next to the default framework and choose MARC structure
4. Check for the changes detailed in the update https://www.loc.gov/marc/up32bibliographic/bdapndxg.html
- There should be two new subfields in field 022
- 0 Authority record control number or standard number (NR)
- 1 Real World Object URI (R)
- There should be three new subfields in field 046
- 3 Materials specified (NR)
- x Nonpublic note (R) (this one should be hidden from the OPAC)
- z Public note (R)
**Note that subfield 7 was added in a later update and is therefore not included in this patch
- Subfield 082$2 should now be named Edition information
- Subfield 083$2 should now be named Edition information
- There should be a new field 334, named MODE OF ISSUANCE
- This field should be repeatable
- Subfields:
- 0 Authority record control number or standard number (R)
- 1 Real World Object URI (R)
- 2 Source (NR)
- 6 Linkage (NR)
- 8 Field link and sequence number (R)
- a Mode of issuance term (NR)
- b Mode of issuance code (NR)
- There should be one new subfield in field 344
- i Sound content (R)
**Note that subfield j was added in a later update and is therefore not included in this patch
- Field 348 should now be named NOTATED MUSIC CHARACTERISTICS
- There should be two new subfields
- c Form of musical notation term (R)
- d Form of musical notation code (R)
**Note that subfield 7 was added in a later update and is therefore not included in this patch
- There should be a new field 353, named SUPPLEMENTARY CONTENT CHARACTERISTICS
- This field should be repeatable
- Subfields:
- 0 Authority record control number or standard number (R)
- 1 Real World Object URI (R)
- 2 Source (NR)
- 3 Materials specified (NR)
- 6 Linkage (NR)
- 8 Field link and sequence number (R)
- a Supplementary content term (NR)
- b Supplementary content code (NR)
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Added missing 881$a subfield.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch updates the default MARC21 framework to reflect the changes brought by Update 30 (Dec. 2020).
To test:
1. Apply patch and restart
2. Go to Administration > MARC bibliographic framework
3. Click "Actions" next to the default framework and choose "MARC structure"
4. Check for the changes detailed in the update https://www.loc.gov/marc/up31bibliographic/bdapndxg.html
- Field 043 should now be repeatable
- There should be a new field 335, named EXTENSION PLAN
- This field should be repeatable
- Subfields:
- 0 Authority record control number or standard number (R)
- 1 Real World Object URI (R)
- 2 Source (NR)
- 3 Materials specified (NR)
- 6 Linkage (NR)
- 8 Field link and sequence number (R)
- a Extension plan term (NR)
- b Extension plan code (NR)
**Note that subfield 7 was added in a later update and is therefore not included in this patch
- Field 345 should now be named MOVING IMAGE CHARACTERISTICS
- There should be two new subfields
- c Aspect ratio value (R)
- d Aspect ratio designator (R)
- There should be two new subfields in field 384
- 0 Authority record control number or standard number (R)
- 1 Real World Object URI (R)
- The following subfields of field 856 should have an [OBSOLETE] mention and be hidden (shown in OPAC and intranet, but not editor)
- b Access number [OBSOLETE]
- h Processor of Request [OBSOLETE]
- i Instruction [OBSOLETE]
- j Bits per second [OBSOLETE]
- k Password [OBSOLETE]
- l Logon [OBSOLETE]
- n Name of location of host [OBSOLETE]
- r Settings [OBSOLETE]
- t Terminal emulation [OBSOLETE]
- There should be a new field 881, named MANIFESTATION STATEMENTS
- This field should be repeatable
- Subfields:
- 3 Materials specified (NR)
- 6 Linkage (NR)
- 8 Field link and sequence number (R)
- a Manifestation statement, high-level/general (R)
- b Manifestation identifier statement (R)
- c Manifestation title and responsibility statement (R)
- d Manifestation edition statement (R)
- e Manifestation production statement (R)
- f Manifestation publication statement (R)
- g Manifestation distribution statement (R)
- h Manifestation manufacture statement (R)
- i Manifestation copyright statement (R)
- j Manifestation frequency statement (R)
- k Manifestation designation of sequence statement (R)
- l Manifestation series statement (R)
- m Manifestation dissertation statement (R)
- n Manifestation regional encoding statement (R)
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch strips non-XML characters from inputs during
TransformHtmlToMarc.
To test:
0. Apply patch
1. koha-plack --restart kohadev
2. Go to http://localhost:8081/cgi-bin/koha/cataloguing/addbiblio.pl
3. Fill out record and use the text from "Text file containing control characters"
as the title
4. Click Save
5. Note that your record displays without any warnings like the following:
Error: invalid data, cannot decode metadata object
parser error : PCDATA invalid Char value 27
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT] Squashed the tidy patch. Still needed a few spaces to satisfy qa tools.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Otherwise we only display the first 20.
Test plan:
Create more than 20 currencies and confirm that you can know
filter the table and see all the currencies.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
It is an update of this file, here there are the specific customization for
italian users. There are simple changes on defaults values.
To test it:
1 - Start a web installation with italian language.
2 - Select Marc21 as biblio format
3 - Select all optional .sql files
4 - Conclude the installation.
5 - Go to MySQL command line and do:
SELET value FROM systempreferences where variable = 'BorrowersTitles'
You see: 'Sig|Sig.ra|Sig.na'
6 - Apply the patch.
7 - Drop and recreate the mysql db
8 - Redone the installation with italian language.
9 - Use the same options written above.
10 - Conclude the installation.
11 - Go to MySQL command line and do:
SELECT value FROM systempreferences where variable = 'BorrowersTitles'
You see: 'Sig|Sig.ra|Dott.|Dott.ssa'
12 - Refactor is OK
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch addresses issues discovered during testing and fixes a couple
of issues which were missed.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch fixes some inconsistencies in the MARC bibliographic
framework administration page, making sure the page title, breadcrumb
navigation, and page headers are consistent with each other.
The file admin/marc_subfields_structure.pl is modified so that it
provides the framework name to the template.
Test each page to confirm that page title, heading, and breadcrumbs are
consistent:
- MARC bibliographic frameworks
- New framework
- Edit framework
- Delete a framework which is not used
- Delete a framework which is in use
- Framework MARC structure
- New tag
- Edit tag
- Delete tag
- View subfields
- Edit subfields
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
The patch as is kind of undid the change of bug 34679. The new
proposal is a mix of this and the old version with a link that
opens in a new tab.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch makes additional updates to the RELTERMS authorized
value list to make it match the MARC Code List for Relators
at https://www.loc.gov/marc/relators/relaterm.html and
https://www.loc.gov/marc/relators/relacode.html
It also updates the description displayed in the
authorized values list.
Test plan:
1. Apply the patch.
2. Reload the values (reset_all if using KTD).
3. Go to Administration > Authorized values.
4. Note that the description for RELTERMS is changed
(now says 'MARC Code List for Relators
(https://www.loc.gov/marc/relators/).' instead of
'French terms of relations').
5. Check that the changes listed are incorporated
into the RELTERMS authorized values list.
Additions:
prv - Provider
rcd - Recordist
stg - Setting
Changes:
aui - Author of introduction -> Author of introduction, etc.
aus - Author of screenplay -> Screenwriter
coe - Contestant -appellee -> Contestant-appellee
cot - Contestant -appellant -> Contestant-appellant
cou - Court-governed -> Court governed
dpb -> dbp - Distribution place
dgg - Degree grantor -> Degree granting institution
osp - On-screen presenter -> Onscreen presenter
pte - Plaintiff -appellee -> Plaintiff-appellee
rcp - Recipient -> Addressee
red - Redactor -> Redaktor
wde - Wood-engraver -> Wood engraver
Removals:
-grt - Graphic technician
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Update sdg Stage director to sgd (May 31, 2013 technical notice).
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds missing relator codes/terms to the marc21_relatorterms.yaml file in accordance with the August 8, 2023 technical notice.
https://www.loc.gov/marc/relators/tn230808rel.html
To test:
1. Apply patch and restart
2. Go to Administration > Authorized values > RELTERMS
--> New terms should be there
anc - Announcer
aue - Audio engineer
aup - Audio producer
bka - Book artist
cad - Casting director
cop - Camera operator
dbd - Dubbing director
djo - DJ
edd - Editorial director
fon - Founder
mka - Makeup artist
mup - Music programmer
mxe - Mixing engineer
nan - News anchor
onp - Onscreen participant
rap - Rapporteur
rxa - Remix artist
sde - Sound engineer
sfx - Special effects provider
swd - Software developer
tau - Television writer
tlg - Television guest
tlh - Television host
vfx - Visual effects provider
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds missing relator codes/terms to the marc21_relatorterms.yaml file in accordance with the April 26, 2021 technical notice.
https://www.loc.gov/marc/relators/tn210426rel.html
To test:
1. Apply patch and restart
2. Go to Administration > Authorized values > RELTERMS
--> New term should be there
Addition:
pad - Place of address
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds missing relator codes/terms to the marc21_relatorterms.yaml file in accordance with the December 21, 2020 technical notice.
https://www.loc.gov/marc/relators/tn201214src.html
To test:
1. Apply patch and restart
2. Go to Administration > Authorized values > RELTERMS
--> New term should be there
Addition:
dgc - Degree committee member
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds missing relator codes/terms to the marc21_relatorterms.yaml file in accordance with the February 21, 2014 technical notice.
https://www.loc.gov/marc/relators/tn140221rel.html
To test:
1. Apply patch and restart
2. Go to Administration > Authorized values > RELTERMS
--> New terms should be there and modified terms should be changed
Additions:
dgs - Degree supervisor
med - Medium
mtk - Minute taker
vac - Voice actor
wst - Writer of supplementary textual content
win - Writer of introduction
wpr - Writer of preface
Changes:
orm - Organizer
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This patch adds missing relator codes/terms to the marc21_relatorterms.yaml file in accordance with the May 31, 2013 technical notice.
https://www.loc.gov/marc/relators/tn130531rel.html
To test:
1. Apply patch and restart
2. Go to Administration > Authorized values > RELTERMS
--> New terms should be there and deprecated terms should have been removed
Additions:
abr - Abridger
apl - Appellant
ape - Appellee
adi - Art director
ato - Autographer
brl - Braille embosser
brd - Broadcaster
cas - Caster
cor - Collection registrar
cou - Court-governed
crt - Court reporter
edc - Editor of compilation
edm - Editor of moving image work
enj - Enacting jurisdiction
fds - Film distributor
fmk - Filmmaker
fmd - Film director
fmp - Film producer
his - Host institution
isb - Issuing body
jud - Judge
jug - Jurisdiction governed
osp - On-screen presenter
pan - Panelist
pra - Praeses
pre - Presenter
prn - Production company
prs - Production designer
rdd - Radio director
rpc - Radio producer
rsr - Restorationist
sll - Seller
sgd - Stage director
tld - Television director
tlp - Television producer
wac - Writer of added commentary
wat - Writer of added text
wal - Writer of added lyrics
Deprecated relators:
clb - Collaborator
voc - Vocalist
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>