Summary: | Skip title articles on Opac using ind2 of tag 245 (MARC21 only) | ||
---|---|---|---|
Product: | Koha | Reporter: | Zeno Tajoli <ztajoli> |
Component: | Searching | Assignee: | Zeno Tajoli <ztajoli> |
Status: | CLOSED FIXED | QA Contact: | Testopia <testopia> |
Severity: | enhancement | ||
Priority: | P5 - low | CC: | brendan, f.demians, katrin.fischer, marjorie.barry-vila, tomascohen |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | --- | Patch complexity: | Medium patch |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Bug Depends on: | |||
Bug Blocks: | 18540 | ||
Attachments: |
skip article (only marc21)
One MARC21 biblio record to test the patch Skip articles in MARC21 using indicator n.2 of field 245 Skip articles in MARC21 using indicator n.2 of field 245 Bug 14332: Skip articles in MARC21 using indicator n.2 of field 245 |
Description
Zeno Tajoli
2015-06-04 15:11:54 UTC
Created attachment 39870 [details] [review] skip article (only marc21) My proposal to fix the problem Created attachment 44768 [details]
One MARC21 biblio record to test the patch
Created attachment 44769 [details] [review] Skip articles in MARC21 using indicator n.2 of field 245 Only in MARC21 is possible to use ind2 of tag 245 to skip articles. This patch is based on inserting a special template in koha-indexdefs-to-zebra.xsl With this patch you must not insert index Title:s in biblio-koha-indexdefs.xml, it is defined in koha-indexdefs-to-zebra.xsl. It is not the best setup, but I find very difficult to use biblio-koha-indexdefs.xml. To test it in a english MARC21 setup: Insert same records with titles and correct values in ind2 of 245. If you have articles not in the skiping list of sort-string-utf.chr (The|the|a|A|an|An) you can see that the sort by articles use also articles. Insert the patch Rebuilt indexes from scratch Now all articles of titles are skipped TO TEST WITHOUT INDEXING: 1. Go to etc/zebradb/marc_defs/marc21/biblios directory. 2. Put the sample MARCXML file in this directory. 3. Transform the file into Zebra indexes: xsltproc biblio-zebra-indexdefs.xsl record.xml Observe that the Title:s index contains: 01 Business and Technologies 4. Apply the patch. 5. Repeat: xsltproc biblio-zebra-indexdefs.xsl record.xml Observe that the Title:s index contains: Business and Technologies Signed-off-by: Frederic Demians <f.demians@tamil.fr> Created attachment 46287 [details] [review] Skip articles in MARC21 using indicator n.2 of field 245 Only in MARC21 is possible to use ind2 of tag 245 to skip articles. This patch is based on inserting a special template in koha-indexdefs-to-zebra.xsl With this patch you must not insert index Title:s in biblio-koha-indexdefs.xml, it is defined in koha-indexdefs-to-zebra.xsl. It is not the best setup, but I find very difficult to use biblio-koha-indexdefs.xml. To test it in a english MARC21 setup: Insert same records with titles and correct values in ind2 of 245. If you have articles not in the skiping list of sort-string-utf.chr (The|the|a|A|an|An) you can see that the sort by articles use also articles. Insert the patch Rebuilt indexes from scratch Now all articles of titles are skipped TO TEST WITHOUT INDEXING: 1. Go to etc/zebradb/marc_defs/marc21/biblios directory. 2. Put the sample MARCXML file in this directory. 3. Transform the file into Zebra indexes: xsltproc biblio-zebra-indexdefs.xsl record.xml Observe that the Title:s index contains: 01 Business and Technologies 4. Apply the patch. 5. Repeat: xsltproc biblio-zebra-indexdefs.xsl record.xml Observe that the Title:s index contains: Business and Technologies Signed-off-by: Frederic Demians <f.demians@tamil.fr> Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com> Verified working using yaz-client (as in http://wiki.koha-community.org/wiki/Understanding_Zebra_indexing#Examine_Zebra_index, though note that the `elem zebra::index` seems to be unneeded). Created attachment 46288 [details] [review] Bug 14332: Skip articles in MARC21 using indicator n.2 of field 245 Only in MARC21 is possible to use ind2 of tag 245 to skip articles. This patch is based on inserting a special template in koha-indexdefs-to-zebra.xsl With this patch you must not insert index Title:s in biblio-koha-indexdefs.xml, it is defined in koha-indexdefs-to-zebra.xsl. It is not the best setup, but I find very difficult to use biblio-koha-indexdefs.xml. To test it in a english MARC21 setup: Insert same records with titles and correct values in ind2 of 245. If you have articles not in the skiping list of sort-string-utf.chr (The|the|a|A|an|An) you can see that the sort by articles use also articles. Insert the patch Rebuilt indexes from scratch Now all articles of titles are skipped TO TEST WITHOUT INDEXING: 1. Go to etc/zebradb/marc_defs/marc21/biblios directory. 2. Put the sample MARCXML file in this directory. 3. Transform the file into Zebra indexes: xsltproc biblio-zebra-indexdefs.xsl record.xml Observe that the Title:s index contains: 01 Business and Technologies 4. Apply the patch. 5. Repeat: xsltproc biblio-zebra-indexdefs.xsl record.xml Observe that the Title:s index contains: Business and Technologies Signed-off-by: Frederic Demians <f.demians@tamil.fr> Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com> Verified working using yaz-client (as in http://wiki.koha-community.org/wiki/Understanding_Zebra_indexing#Examine_Zebra_index, though note that the `elem zebra::index` seems to be unneeded). (Updated commit message to include bug number.) Pushed to Master - Should be in the May 2016 release. Thanks! This implementation is causing some troubles because the koha-indexdefs-to-zebra.xsl is by no means MARC21-only or even biblio-only. To reproduce: - On current master, run: $ xsltproc etc/zebradb/xsl/koha-indexdefs-to-zebra.xsl etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml > etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl - Run: $ git diff => FAIL: The following is added to etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl, thus UNIMARC field 245 is being sent to the Title index @@ -42,6 +43,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml) <xslo:apply-templates mode="index_match_heading"/> <xslo:apply-templates mode="index_subject_thesaurus"/> <xslo:apply-templates mode="index_all"/> + <xslo:apply-templates mode="index_sort_tit"/> </z:record> </xslo:template> <xslo:template match="marc:controlfield[@tag='001']"> @@ -2681,6 +2683,19 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml) <xslo:value-of select="."/> </z:index> </xslo:template> + <xslo:template mode="index_sort_tit" match="marc:datafield[@tag='245']"> + <xslo:variable name="chop"> + <xslo:choose> + <xslo:when test="not(number(@ind2))">0</xslo:when> + <xslo:otherwise> + <xslo:value-of select="number(@ind2)"/> + </xslo:otherwise> + </xslo:choose> + </xslo:variable> + <z:index name="Title:s"> + <xslo:value-of select="substring(marc:subfield[@code='a'], $chop+1)"/> + </z:index> + </xslo:template> (In reply to Tomás Cohen Arazi from comment #8) > This implementation is causing some troubles because the > koha-indexdefs-to-zebra.xsl is by no means MARC21-only or even biblio-only. > > To reproduce: > - On current master, run: > $ xsltproc etc/zebradb/xsl/koha-indexdefs-to-zebra.xsl > etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml > > etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl > - Run: > $ git diff > => FAIL: The following is added to > etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl, thus > UNIMARC field 245 is being sent to the Title index > > @@ -42,6 +43,7 @@ definition file (probably something like > {biblio,authority}-koha-indexdefs.xml) > <xslo:apply-templates mode="index_match_heading"/> > <xslo:apply-templates mode="index_subject_thesaurus"/> > <xslo:apply-templates mode="index_all"/> > + <xslo:apply-templates mode="index_sort_tit"/> > </z:record> > </xslo:template> > <xslo:template match="marc:controlfield[@tag='001']"> > @@ -2681,6 +2683,19 @@ definition file (probably something like > {biblio,authority}-koha-indexdefs.xml) > <xslo:value-of select="."/> > </z:index> > </xslo:template> > + <xslo:template mode="index_sort_tit" match="marc:datafield[@tag='245']"> > + <xslo:variable name="chop"> > + <xslo:choose> > + <xslo:when test="not(number(@ind2))">0</xslo:when> > + <xslo:otherwise> > + <xslo:value-of select="number(@ind2)"/> > + </xslo:otherwise> > + </xslo:choose> > + </xslo:variable> > + <z:index name="Title:s"> > + <xslo:value-of select="substring(marc:subfield[@code='a'], $chop+1)"/> > + </z:index> > + </xslo:template> Should this be filed as a new bug? I think it has been missed here? |