1 [% INCLUDE 'doc-head-open.inc' %]
2 <title>Koha › Administration › Record matching rules
3 [% IF ( matching_rule_form ) %]
4 [% IF ( edit_matching_rule ) %]
5 › Modify record matching rule
7 › Add record matching rule
10 [% IF ( delete_matching_rule_form ) %]
11 › Confirm deletion of record matching rule "[% code %]"
14 [% INCLUDE 'doc-head-close.inc' %]
16 <script type="text/javascript">
19 var maxMatchPoint = [% max_matchpoint %];
20 var maxMatchCheck = [% max_matchcheck %];
22 function InsertMatchpoint(loc, index) {
23 var original= $("#"+index);
24 var clone = original.clone();
27 // update IDs and form names
29 clone.attr('id', 'mp_' + maxMatchPoint);
30 $("span.counter",clone).html(maxMatchPoint);
31 $("label",clone).each(function(){
32 var s = $(this).attr("for");
33 if (s.match(/mp_num/)) {
34 $(this).attr("for",s.replace(/mp_num/, 'mp_' + maxMatchPoint));
38 $("div",clone).each(function(){
39 var s = $(this).attr("id");
40 if (s.match(/mp_num/)) {
41 $(this).attr("id",s.replace(/mp_num/, 'mp_' + maxMatchPoint));
44 $("input",clone).each(function(){
45 var s = $(this).attr("id");
46 if(s.match(/mp_num/)){
47 $(this).attr("id",s.replace(/mp_num/, 'mp_' + maxMatchPoint));
50 var s = $(this).attr("name");
51 if(s.match(/mp_num/)){
52 $(this).attr("name",s.replace(/mp_num/, 'mp_' + maxMatchPoint));
55 $("#match_points").append(clone);
58 function InsertMatchcheck(loc, index) {
59 var original= $("#"+index);
60 var clone = original.clone();
63 // update IDs and form names
65 clone.attr('id', 'mc_' + maxMatchCheck);
66 $("span.counter",clone).html(maxMatchCheck);
67 $("label",clone).each(function(){
68 var s = $(this).attr("for");
69 if (s.match(/mc_num/)) {
70 $(this).attr("for",s.replace(/mc_num/, 'mc_' + maxMatchCheck));
74 $("div",clone).each(function(){
75 var s = $(this).attr("id");
76 if (s.match(/mc_num/)) {
77 $(this).attr("id",s.replace(/mc_num/, 'mc_' + maxMatchCheck));
80 $("input",clone).each(function(){
81 var s = $(this).attr("id");
82 if(s.match(/mc_num/)){
83 $(this).attr("id",s.replace(/mc_num/, 'mc_' + maxMatchCheck));
86 var s = $(this).attr("name");
87 if(s.match(/mc_num/)){
88 $(this).attr("name",s.replace(/mc_num/, 'mc_' + maxMatchCheck));
91 $("#match_checks").append(clone);
94 function DeleteMatchpoint(loc) {
95 $(loc).parent().parent().parent().remove();
96 if($(".matchgroup",$("#match_points")).length == 0){
98 $("#addMatchPoint").show();
102 function DeleteMatchcheck(loc) {
103 $(loc).parent().parent().parent().remove();
104 if($(".matchgroup",$("#match_checks")).length == 0){
106 $("#addMatchCheck").show();
110 function DoCancel(f) {
112 document.Aform.submit();
115 function CheckMatchingRuleForm(f) {
119 if (f.code.value.length==0) {
120 _alertString += "\n- " + _("Matching rule code missing");
122 if (f.description.value.length==0) {
123 _alertString += "\n- " + _("Description missing");
125 if (f.threshold.value.length==0) {
126 _alertString += "\n- " + _("Threshold missing");
128 if (_alertString.length==0) {
129 document.Aform.submit();
131 alertString2 = _("Form not submitted because of the following problem(s)");
132 alertString2 += "\n------------------------------------------------------------------------------------\n";
133 alertString2 += _alertString;
138 function CheckRuleForm(f) {
142 if (f.sort_rule.value.length==0) {
143 _alertString += "\n- " + _("Filing rule code missing");
145 if (f.description.value.length==0) {
146 _alertString += "\n- " + _("Description missing");
148 if (f.sort_routine.value.length==0) {
149 _alertString += "\n- " + _("Sort routine missing");
151 if (_alertString.length==0) {
152 document.Aform.submit();
154 alertString2 = _("Form not submitted because of the following problem(s)");
155 alertString2 += "\n------------------------------------------------------------------------------------\n";
156 alertString2 += _alertString;
163 <style type="text/css">
164 fieldset.rows fieldset.rows { border-width : 0; }
165 fieldset.rows fieldset.rows fieldset.rows { border-width : 1px; }
166 fieldset, fieldset.rows { width : 90%; padding: .3em .6em .3em .6em; }
167 fieldset.rows fieldset {font-size:100%;}
168 div.matchgroup { border:1px solid #DDD; border-left-width: 15px; padding:.4em; margin-bottom:.6em;}
171 <body id="admin_matching-rules" class="admin">
172 [% INCLUDE 'header.inc' %]
173 [% INCLUDE 'cat-search.inc' %]
175 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › [% IF ( display_list ) %]Record matching rules[% ELSE %]<a href="/cgi-bin/koha/admin/matching-rules.pl">Record matching rules</a>[% END %]
176 [% IF ( matching_rule_form ) %]
177 [% IF ( edit_matching_rule ) %]
178 › Modify record matching rule
180 › Add record matching rule
183 [% IF ( delete_matching_rule_form ) %]
184 › Confirm deletion of record matching rule "[% code %]"
188 <div id="doc3" class="yui-t2">
194 [% IF ( matching_rule_form ) %]
195 [% IF ( edit_matching_rule ) %]
196 <h2>Modify record matching rule</h2>
198 <h2>Add record matching rule</h2>
200 <form action="[% script_name %]" name="Aform" method="post">
201 <input type="hidden" name="op" value="[% confirm_op %]" />
202 <fieldset class="rows">
205 [% IF ( edit_matching_rule ) %]
206 <span class="label">Matching rule code: </span>
207 <input type="hidden" name="matcher_id" value="[% matcher_id %]" />
208 <input type="hidden" name="code" value="[% code %]" />
211 <label for="code" class="required">Matching rule code: </label>
212 <input type="text" id="code" name="code" size="10" maxlength="10" /> <span class="required">Required</span>
215 <li><label for="description" class="required">Description: </label>
216 <input type="text" id="description" name="description" size="50" maxlength="250"
217 value="[% description |html %]" /> <span class="required">Required</span>
219 <li><label for="threshold" class="required">Match threshold: </label>
220 <input type="text" id="threshold" name="threshold" size="5" maxlength="5"
221 value="[% threshold |html %]" /> <span class="required">Required</span>
223 <li><label for="record_type" class="required">Record type: </label>
224 <select id="record_type" name="record_type">
225 [% IF ( record_type == "authority" ) %]
226 <option value="biblio">Bibliographic record</option>
227 <option value="authority" selected="selected">Authority record</option>
229 <option value="biblio" selected="selected">Bibliographic record</option>
230 <option value="authority">Authority record</option>
232 </select><span class="required">Required</span>
237 <fieldset class="rows" id="match_points">
238 <h4>Match points</h4>
239 [% IF ( edit_matching_rule ) %]
240 [% IF ( matchpoints ) %]<p id="addMatchPoint" style="display:none;">[% ELSE %]<p id="addMatchPoint">[% END %]<a href="#" class="button" onclick="InsertMatchpoint('mp_1', 'mp_template'); return false;">Add match point</a></p>
241 [% ELSE %]<p id="addMatchPoint" style="display:none;"><a href="#" class="button" onclick="InsertMatchpoint('mp_1', 'mp_template'); return false;">Add match point</a></p>[% END %]
242 [% IF ( edit_matching_rule ) %]
243 [% FOREACH matchpoint IN matchpoints %]
244 <div id="mp_[% matchpoint.mp_num %]" class="matchgroup">
245 <fieldset class="rows">
246 <legend>Match point [% matchpoint.mp_num %] | <a href="#" class="button" onclick="InsertMatchpoint('mp_[% matchpoint.mp_num %]', 'mp_template'); return false;">Add match point</a> | <a href="#" class="button" onclick="DeleteMatchpoint(this); return false;">Remove this match point</a></legend>
249 <label for="mp_[% matchpoint.mp_num %]_search_index">Search index: </label>
250 <input type ="text" id="mp_[% matchpoint.mp_num %]_search_index"
251 name="mp_[% matchpoint.mp_num %]_search_index" size="20"
252 value="[% matchpoint.index |html %]"
256 <label for="mp_[% matchpoint.mp_num %]_score">Score: </label>
257 <input type ="text" id="mp_[% matchpoint.mp_num %]_score"
258 name="mp_[% matchpoint.mp_num %]_score" size="5"
259 value="[% matchpoint.score |html %]"
263 [% FOREACH component IN matchpoint.components %]
264 <fieldset class="rows" id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]">
265 <legend>Matchpoint components</legend>
268 <label for="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_tag">Tag: </label>
269 <input type="text" id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_tag"
270 name="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_tag"
271 value="[% component.tag |html %]"
272 size="3" maxlength="3" />
275 <label for="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_subfields">Subfields: </label>
276 <input type="text" id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_subfields"
277 name="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_subfields"
278 value="[% component.subfields |html %]"
279 size="10" maxlength="40" />
282 <label for="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_offset">Offset: </label>
283 <input type="text" id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_offset"
284 name="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_offset"
285 value="[% component.offset |html %]"
286 size="5" maxlength="5" />
289 <label for="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_length">Length: </label>
290 <input type="text" id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_length"
291 name="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_length"
292 value="[% component.length |html %]"
293 size="5" maxlength="5" />
295 [% FOREACH norm IN component.norms %]
296 <li id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_n_[% norm.norm_num %]">
297 <label for="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_n__[% norm.norm_num %]_norm">Normalization rule: </label>
298 <input type="text" id="mp_[% norm.mp_num %]_c_[% component.comp_num %]_n__[% norm.norm_num %]_norm"
299 name="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_n_[% norm.norm_num %]_norm"
300 value="[% norm.norm |html %]"
301 size="20" maxlength="50" />
308 <br style="clear:both;" />
314 <div id="mp_1" class="matchgroup">
315 <fieldset class="rows">
316 <legend>Match point 1 | <a href="#" class="button" onclick="InsertMatchpoint('mp_1', 'mp_template'); return false;">Add match point</a> | <a href="#" class="button" onclick="DeleteMatchpoint(this); return false;">Remove this match point</a></legend>
319 <label for="mp_1_search_index">Search index: </label>
320 <input type ="text" id="mp_1_search_index" name="mp_1_search_index" size="20"
324 <label for="mp_1_score">Score: </label>
325 <input type ="text" id="mp_1_score" name="mp_1_score" size="5" maxlength="5" />
328 <fieldset class="rows" id="mp_1_c_1">
329 <legend>Matchpoint components</legend>
332 <label for="mp_1_c_1_tag">Tag: </label>
333 <input type="text" id="mp_1_c_1_tag" name="mp_1_c_1_tag" size="3" maxlength="3" />
336 <label for="mp_1_c_1_subfields">Subfields: </label>
337 <input type="text" id="mp_1_c_1_subfields" name="mp_1_c_1_subfields" size="10" maxlength="40" />
340 <label for="mp_1_c_1_offset">Offset: </label>
341 <input type="text" id="mp_1_c_1_offset" name="mp_1_c_1_offset" size="5" maxlength="5" />
344 <label for="mp_1_c_1_length">Length: </label>
345 <input type="text" id="mp_1_c_1_length" name="mp_1_c_1_length" size="5" maxlength="5" />
347 <li id="mp_1_c_1_n_1">
348 <label for="mp_1_c_1_n_1_norm">Normalization rule: </label>
349 <input type="text" id="mp_1_c_1_n_1_norm" name="mp_1_c_1_n_1_norm" size="20" maxlength="50" />
354 <br style="clear:both;" />
360 <fieldset class="rows" id="match_checks">
361 <h4>Required match checks</h4>
362 [% IF ( edit_matching_rule ) %]
363 [% IF ( matchchecks ) %]<p id="addMatchCheck" style="display:none;">[% ELSE %]<p id="addMatchCheck">[% END %]<a href="#" class="button" onclick="InsertMatchcheck('mc_1', 'mc_template'); return false;">Add match check</a></p>
364 [% ELSE %]<p id="addMatchCheck" style="display:none;"><a href="#" class="button" onclick="InsertMatchcheck('mc_1', 'mc_template'); return false;">Add match check</a></p>[% END %]
365 [% IF ( edit_matching_rule ) %]
366 [% FOREACH matchcheck IN matchchecks %]
367 <div id="mc_[% matchcheck.mc_num %]" class="matchgroup">
368 <fieldset class="rows">
369 <legend>Match check [% matchcheck.mc_num %]<a href="#" class="button" onclick="InsertMatchcheck('mc_[% matchcheck.mc_num %]', 'mc_template'); return false;">Add match check</a> | <a href="#" class="button" onclick="DeleteMatchcheck(this); return false;">Remove this match check</a></legend>
370 <input type="hidden" id="mc_[% matchcheck.mc_num %]_id" name="mc_[% matchcheck.mc_num %]_id" value="1" />
371 [% FOREACH src_component IN matchcheck.src_components %]
372 <fieldset class="rows" id="mc_[% src_component.mc_num %]_src_c_[% src_component.comp_num %]">
373 <legend>Source (incoming) record check field</legend>
376 <label for="mc_[% src_component.mc_num %]_src_c_[% src_component.comp_num %]_tag">Tag: </label>
377 <input type="text" id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_tag"
378 name="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_tag"
379 value="[% src_component.tag |html %]"
380 size="3" maxlength="3" />
383 <label for="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_subfields">Subfields: </label>
384 <input type="text" id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_subfields"
385 name="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_subfields"
386 value="[% src_component.subfields |html %]"
387 size="10" maxlength="40" />
390 <label for="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_offset">Offset: </label>
391 <input type="text" id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_offset"
392 name="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_offset"
393 value="[% src_component.offset |html %]"
394 size="5" maxlength="5" />
397 <label for="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_length">Length: </label>
398 <input type="text" id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_length"
399 name="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_length"
400 value="[% src_component.length |html %]"
401 size="5" maxlength="5" />
403 [% FOREACH norm IN src_component.norms %]
404 <li id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_n_[% norm.norm_num %]">
405 <label for="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_n_[% norm.norm_num %]_norm">Normalization rule: </label>
406 <input type="text" id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_n_[% norm.norm_num %]_norm"
407 name="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_n_[% norm.norm_num %]_norm"
408 value="[% norm.norm |html %]"
409 size="20" maxlength="50" />
415 [% FOREACH tgt_component IN matchcheck.tgt_components %]
416 <fieldset class="rows" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]">
417 <legend>Target (database) record check field</legend>
420 <label for="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_tag">Tag: </label>
421 <input type="text" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_tag"
422 name="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_tag"
423 value="[% tgt_component.tag |html %]"
424 size="3" maxlength="3" />
427 <label for="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_subfields">Subfields: </label>
428 <input type="text" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_subfields"
429 name="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_subfields"
430 value="[% tgt_component.subfields |html %]"
431 size="10" maxlength="40" />
434 <label for="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_offset">Offset: </label>
435 <input type="text" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_offset"
436 name="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_offset"
437 value="[% tgt_component.offset |html %]"
438 size="5" maxlength="5" />
441 <label for="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_length">Length: </label>
442 <input type="text" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_length"
443 name="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_length"
444 value="[% tgt_component.length |html %]"
445 size="5" maxlength="5" />
447 [% FOREACH norm IN tgt_component.norms %]
448 <li id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_n_[% norm.norm_num %]">
449 <label for="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_n_[% norm.norm_num %]_norm">Normalization rule: </label>
450 <input type="text" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_n_[% norm.norm_num %]_norm"
451 name="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_n_[% norm.norm_num %]_norm"
452 value="[% norm.norm |html %]"
453 size="20" maxlength="50" />
460 <br style="clear:both;" />
464 <div id="mc_1" class="matchgroup">
465 <fieldset class="rows">
466 <legend>Match check 1 | <a href="#" class="button" onclick="InsertMatchcheck('mc_1', 'mc_template'); return false;">Add match check</a> | <a href="#" class="button" onclick="DeleteMatchcheck(this); return false;">Remove this match check</a></legend>
467 <input type="hidden" id="mc_1_id" name="mc_1_id" value="1" />
468 <fieldset class="rows" id="mc_1_src_c_1">
469 <legend>Source (incoming) record check field</legend>
472 <label for="mc_1_src_c_1_tag">Tag: </label>
473 <input type="text" id="mc_1_src_c_1_tag" name="mc_1_src_c_1_tag" size="3" maxlength="3" />
476 <label for="mc_1_src_c_1_subfields">Subfields: </label>
477 <input type="text" id="mc_1_src_c_1_subfields" name="mc_1_src_c_1_subfields" size="10" maxlength="40" />
480 <label for="mc_1_src_c_1_offset">Offset: </label>
481 <input type="text" id="mc_1_src_c_1_offset" name="mc_1_src_c_1_offset" size="5" maxlength="5" />
484 <label for="mc_1_src_c_1_length">Length: </label>
485 <input type="text" id="mc_1_src_c_1_length" name="mc_1_src_c_1_length" size="5" maxlength="5" />
487 <li id="mc_1_src_c_1_n_1">
488 <label for="mc_1_src_c_1_n_1_norm">Normalization rule: </label>
489 <input type="text" id="mc_1_src_c_1_n_1_norm" name="mc_1_src_c_1_n_1_norm" size="20" maxlength="50" />
494 <fieldset class="rows" id="mc_1_tgt_c_1">
495 <legend>Target (database) record check field</legend>
498 <label for="mc_1_tgt_c_1_tag">Tag: </label>
499 <input type="text" id="mc_1_tgt_c_1_tag" name="mc_1_tgt_c_1_tag" size="3" maxlength="3" />
502 <label for="mc_1_tgt_c_1_subfields">Subfields: </label>
503 <input type="text" id="mc_1_tgt_c_1_subfields" name="mc_1_tgt_c_1_subfields" size="10" maxlength="40" />
506 <label for="mc_1_tgt_c_1_offset">Offset: </label>
507 <input type="text" id="mc_1_tgt_c_1_offset" name="mc_1_tgt_c_1_offset" size="5" maxlength="5" />
510 <label for="mc_1_tgt_c_1_length">Length: </label>
511 <input type="text" id="mc_1_tgt_c_1_length" name="mc_1_tgt_c_1_length" size="5" maxlength="5" />
513 <li id="mc_1_tgt_c_1_n_1">
514 <label for="mc_1_tgt_c_1_n_1_norm">Normalization rule: </label>
515 <input type="text" id="mc_1_tgt_c_1_n_1_norm" name="mc_1_tgt_c_1_n_1_norm" size="20" maxlength="50" />
520 <br style="clear:both;" />
524 <fieldset class="action">
525 [% IF ( edit_matching_rule ) %]
526 <input type="button" value="Save"
527 onclick="CheckMatchingRuleForm(this.form)" />
529 <input type="button" value="Save"
530 onclick="CheckMatchingRuleForm(this.form)" />
532 <a class="cancel" href="/cgi-bin/koha/admin/matching-rules.pl">Cancel</a>
537 [% IF ( delete_matching_rule_form ) %]
538 <div class="dialog alert">
539 <h3>Confirm deletion of record matching rule <span class="ex">'[% code %]' ([% description %])</span>?</h3>
540 <form action="[% script_name %]" name="Aform" method="post">
541 <input type="hidden" name="op" value="[% confirm_op %]" />
542 <input type="hidden" name="matcher_id" value="[% matcher_id %]" />
543 <button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete record matching rule</button>
545 <form action="[% script_name %]" method="get">
546 <button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
551 [% IF ( display_list ) %]
553 <div id="toolbar" class="btn-toolbar">
554 <a class="btn btn-small" id="newrule" href="[% script_name %]?op=add_matching_rule"><i class="fa fa-plus"></i> New record matching rule</a>
557 <h2>Record matching rules</h2>
558 [% IF ( added_matching_rule ) %]
559 <div class="dialog message">Added record matching rule "[% added_matching_rule %]"</div>
561 [% IF ( edited_matching_rule ) %]
562 <div class="dialog message">Modified record matching rule "[% edited_matching_rule %]"</div>
564 [% IF ( deleted_matching_rule ) %]
565 <div class="dialog message">Deleted record matching rule "[% deleted_matching_rule %]"</div>
567 [% IF ( available_matching_rules ) %]<table>
574 [% FOREACH available_matching_rule IN available_matching_rules %]
576 <td>[% available_matching_rule.matcher_id %]</td>
577 <td>[% available_matching_rule.code %]</td>
578 <td>[% available_matching_rule.description %]</td>
580 <a class="btn btn-mini" href="[% available_matching_rule.script_name %]?op=edit_matching_rule&matcher_id=[% available_matching_rule.matcher_id |html %]"><i class="fa fa-pencil"></i> Edit</a>
581 <a class="btn btn-mini" href="[% available_matching_rule.script_name %]?op=delete_matching_rule&matcher_id=[% available_matching_rule.matcher_id |html %]"><i class="fa fa-trash"></i> Delete</a>
585 </table>[% ELSE %]<p>There are no saved matching rules.</p>[% END %]
587 <div class="pages">[% pagination_bar %]</div>
590 [% IF ( matching_rule_form ) %]
591 <div id="mp_template" class="matchgroup" style="display:none;">
592 <fieldset class="rows">
593 <legend>Match point <span class="counter"></span> | <a href="#" class="button" onclick="DeleteMatchpoint(this); return false;">Remove this match point</a></legend>
596 <label for="mp_num_search_index">Search index: </label>
597 <input type ="text" id="mp_num_search_index" name="mp_num_search_index" size="20"
601 <label for="mp_num_score">Score: </label>
602 <input type ="text" id="mp_num_score" name="mp_num_score" size="5" maxlength="5" />
605 <fieldset id="mp_num_c_1" class="rows">
606 <legend>Matchpoint components</legend>
609 <label for="mp_num_c_1_tag">Tag: </label>
610 <input type="text" id="mp_num_c_1_tag" name="mp_num_c_1_tag" size="3" maxlength="3" />
613 <label for="mp_num_c_1_subfields">Subfields: </label>
614 <input type="text" id="mp_num_c_1_subfields" name="mp_num_c_1_subfields" size="10" maxlength="40" />
617 <label for="mp_num_c_1_offset">Offset: </label>
618 <input type="text" id="mp_num_c_1_offset" name="mp_num_c_1_offset" size="5" maxlength="5" />
621 <label for="mp_num_c_1_length">Length: </label>
622 <input type="text" id="mp_num_c_1_length" name="mp_num_c_1_length" size="5" maxlength="5" />
624 <li id="mp_num_c_1_n_1">
625 <label for="mp_num_c_1_n_1_norm">Normalization rule: </label>
626 <input type="text" id="mp_num_c_1_n_1_norm" name="mp_num_c_1_n_1_norm" size="20" maxlength="50" />
631 <br style="clear:both;" />
634 <div id="mc_template" class="matchgroup" style="display:none">
635 <fieldset class="rows">
636 <legend>Match check <span class="counter"></span> | <a href="#" class="button" onclick="DeleteMatchcheck(this); return false;">Remove this match check</a></legend>
637 <input type="hidden" id="mc_num_id" name="mc_num_id" value="1" />
638 <fieldset class="rows" id="mc_num_src_c_1">
639 <legend>Source (incoming) record check field</legend>
642 <label for="mc_num_src_c_1_tag">Tag: </label>
643 <input type="text" id="mc_num_src_c_1_tag" name="mc_num_src_c_1_tag" size="3" maxlength="3" />
646 <label for="mc_num_src_c_1_subfields">Subfields: </label>
647 <input type="text" id="mc_num_src_c_1_subfields" name="mc_num_src_c_1_subfields" size="10" maxlength="40" />
650 <label for="mc_num_src_c_1_offset">Offset: </label>
651 <input type="text" id="mc_num_src_c_1_offset" name="mc_num_src_c_1_offset" size="5" maxlength="5" />
654 <label for="mc_num_src_c_1_length">Length: </label>
655 <input type="text" id="mc_num_src_c_1_length" name="mc_num_src_c_1_length" size="5" maxlength="5" />
657 <li id="mc_num_src_c_1_n_1">
658 <label for="mc_num_src_c_1_n_1_norm">Normalization rule: </label>
659 <input type="text" id="mc_num_src_c_1_n_1_norm" name="mc_num_src_c_1_n_1_norm" size="20" maxlength="50" />
663 <fieldset class="rows" id="mc_num_tgt_c_1">
664 <legend>Target (database) record check field</legend>
667 <label for="mc_num_tgt_c_1_tag">Tag: </label>
668 <input type="text" id="mc_num_tgt_c_1_tag" name="mc_num_tgt_c_1_tag" size="3" maxlength="3" />
671 <label for="mc_num_tgt_c_1_subfields">Subfields: </label>
672 <input type="text" id="mc_num_tgt_c_1_subfields" name="mc_num_tgt_c_1_subfields" size="10" maxlength="40" />
675 <label for="mc_num_tgt_c_1_offset">Offset: </label>
676 <input type="text" id="mc_num_tgt_c_1_offset" name="mc_num_tgt_c_1_offset" size="5" maxlength="5" />
679 <label for="mc_num_tgt_c_1_length">Length: </label>
680 <input type="text" id="mc_num_tgt_c_1_length" name="mc_num_tgt_c_1_length" size="5" maxlength="5" />
682 <li id="mc_num_tgt_c_1_n_1">
683 <label for="mc_num_tgt_c_1_n_1_norm">Normalization rule: </label>
684 <input type="text" id="mc_num_tgt_c_1_n_1_norm" name="mc_num_tgt_c_1_n_1_norm" size="20" maxlength="50" />
689 <br style="clear:both;" />
696 [% INCLUDE 'admin-menu.inc' %]
699 [% INCLUDE 'intranet-bottom.inc' %]