83370c519c
This commit adds support for displaying authority hierarchies for all flavours of MARC, not just UNIMARC. Display now uses the jQuery jstree plugin, selected with the help of Owen Leonard, resulting in a much faster experience for users. Be aware that the jstree file uses tabs rather than 4-space indentation, which I left as-is so as to make it easier to integrate upstream releases in the future. To test: 1) Enable the AuthDisplayHierarchy syspref 2) Create authority records with a hierarchy of see also fields (in MARC21/NORMARC, you'll be using 5xx fields for this, with a subfield $w=g for broader terms and subfield $w=h for narrower terms) 3) View the authorities in the OPAC, noting the hierarchical view at the top of the page. This initial patch does not create bidirection linkages from unidirectional links in MARC21 authorities. This means that when moving up the authority hierarchy, lower levels will disappear. This is intentional, as the first patch is intended merely to ensure that AuthDisplayHierarchy functions the same for all marcflavours. A future patch will add a cron job to generate the bidirectional linkages, once we are sure that the hierarchy functionality for UNIMARC and MARC21/NORMARC coexists peaceably. Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Resolved conflicts in updatedatabase.pl, sysprefs.sql and in one of the CSS files. Test plan: 1) Run t/AuthoritiesMarc.t New tests complete without any errors. 2) Make sure updatedatabase works correctly. Update works nicely, new system preference is also added to syspref.sql 3) Make sure new terms are translatable. Created new po files for de-DE and checked for new terms. All translations appear correctly. 4) Make sure everything works with AuthDisplayHieararchy OFF - Add authority - Edit authority - Delete authority 5) Test feature with AuthDisplayHieararchy ON - Add authority - Edit authority - Delete authority 6) Add a couple of hierarchically linked authorities Note: links have to be created in both directions Example: 151 $aGermany 551 $a Baden-Württemberg $w h 151 $aBaden-Württemberg 551 $a Konstanz $w h 551 $a Germany $w g 151 $aKonstanz 551 $a Baden-Württemberg $w g 551 $a Fürstenberg $w h 551 $a Paradies $w h 151 $a Fürstenberg 551 $a Konstanz $w g 151 $a Paradies 551 $a Konstanz $w g Tree shows up nicely above the authority record - in staff - in OPAC - on the normal view tab - on the MARC view tab 7) Checking the logs for warnings - no Javascript errors or warnings - no warnings or errors in log files
21 lines
753 B
HTML
21 lines
753 B
HTML
[% BLOCK showhierarchy %]
|
|
[% FOREACH tree IN trees %]
|
|
[% PROCESS showtree tree = tree %]
|
|
[% END %]
|
|
[% END %]
|
|
[% BLOCK showtree %]
|
|
<ul class="hierarchy">
|
|
[% FOREACH node IN tree %]
|
|
<li id="hier[% node.authid %]" class="[% node.class %] authnode">
|
|
[% IF ( node.current_value ) %]
|
|
<span class='currentauth'>[% node.value | html %]</span>
|
|
[% ELSE %]
|
|
<a href="detail.pl?authid=[% node.authid %]" title="Term">[% node.value | html %]</a>
|
|
[% END %]
|
|
[% IF ( node.children && node.children.size > 0 ) %]
|
|
[% PROCESS showtree tree = node.children %]
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ul>
|
|
[% END %]
|