Bug 11559

Summary: Professional cataloger's interface
Product: Koha Reporter: Jesse Weaver <jweaver>
Component: CatalogingAssignee: Jesse Weaver <jweaver>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: new feature    
Priority: P5 - low CC: amy, bargioni, black23, dcook, gmcharlt, gwilliams, hector.hecaxmmx, iming, indradg, irma, jerry, jonathan.druart, josef.moravec, jschmidt, karamqubsi, katrin.fischer, kholten, KonigDelos, m.de.rooy, magnus, marjorie.barry-vila, nick, nicole, paivi.knuutinen, pasi.kallinen, rkopaczka, tmisilo, tubaclarinet, veron, ztajoli
Version: Main   
Hardware: All   
OS: All   
See Also: http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=2597
http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10437
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Bug Depends on:    
Bug Blocks: 14738, 35640, 14226, 15487, 15514, 15747, 16424, 18417    
Attachments: Bug 11559 - Supporting changes for Rancor
Bug 11559 - New libraries for Rancor
Bug 11559 - Rancor: professional cataloging interface
Bug 11559 - QA followup: fix translation issues and work around apache config
Bug 11559 - QA followup: fix several interface and backend issues
Bug 11559 - QA followup: fix several interface and backend issues
Bug 11559 - Supporting changes for Rancor
Bug 11559 - New libraries for Rancor
Bug 11559 - Rancor: professional cataloging interface
Bug 11559 - Supporting changes for Rancor
Bug 11559 - New libraries for Rancor
Bug 11559 - Rancor: professional cataloging interface
Bug 11559 followup - Add support for XML-based fixed field widgets
Bug 11559 - QA followup: Change path to humanmsg, fix XSLT error
Bug 11559 - Supporting changes for Rancor
Bug 11559 - New libraries for Rancor
Bug 11559 - Rancor: professional cataloging interface
Bug 11559 followup - Allow insertion of dollar sign, remove fixFloat
Bug 11559 followup - Remove pazpar2 search functionality for now
Bug 11559 - Supporting changes for Rancor
Bug 11559 - Supporting changes for Rancor
Bug 11559 - New libraries for Rancor
Bug 11559 - Rancor: professional cataloging interface
Bug 11559 followup - Allow insertion of dollar sign, remove fixFloat
Bug 11559 followup - Remove pazpar2 search functionality for now
Bug 11559 - Supporting changes for Rancor
Bug 11559 - New libraries for Rancor
Bug 11559 - Rancor: professional cataloging interface
Bug 11559 followup - Allow insertion of dollar sign, remove fixFloat
Bug 11559 followup - Remove Pazpar2 dependency, bugfixes
Bug 11559 followup - refactoring and cleanup
Bug 11559 followup - a number of small UI bugfixes
Bug 11559 - Supporting changes for Rancor
Bug 11559 - New libraries for Rancor
Bug 11559 - Rancor: professional cataloging interface
Bug 11559 followup - Allow insertion of dollar sign, remove fixFloat
Bug 11559 followup - Remove Pazpar2 dependency, bugfixes
Bug 11559 followup - refactoring and cleanup
Bug 11559 followup - a number of small UI bugfixes
Bug 11559 - Supporting changes for Rancor
Bug 11559 - New libraries for Rancor
Bug 11559 - Rancor: advanced cataloging interface
Bug 11559 followup - fix keyboard control bugs, make labels clickable
Bug 11559 - Supporting changes for Rancor
Bug 11559 - New libraries for Rancor
Bug 11559 - Rancor: advanced cataloging interface
Bug 11559 followup - fix keyboard control bugs, make labels clickable
Bug 11559: Supporting changes for Rancor
Bug 11559: New libraries for Rancor
Bug 11559: Rancor: advanced cataloging interface
Bug 11559: (followup) Fix keyboard control bugs, make labels clickable
Bug 11559: (followup) Fill in default values, fix redirect and UNIMARC
Bug 11559: (followup) Fix import bugs, display/parsing issues
Step 26: Error message when all checkboxes are cleared
Bug 11559: (followup) Fix error when all servers are deselected
Bug 11559: (followup) Prevent saving item tags, fix other issues
Importing this record will raise a JS timeout error
Bug 11559: (QA followup) switch to new delimiter, fix minor issues
Bug 11559: Supporting changes for Rancor
Bug 11559: New libraries for Rancor
Bug 11559: Rancor: advanced cataloging interface
Bug 11559: (followup) Fix keyboard control bugs, make labels clickable
Bug 11559: (followup) Fill in default values, fix redirect and UNIMARC
Bug 11559: (followup) Fix import bugs, display/parsing issues
Bug 11559: (followup) Fix error when all servers are deselected
Bug 11559: (followup) Prevent saving item tags, fix other issues
Bug 11559: (QA followup) switch to new delimiter, fix minor issues
Bug 11559: (followup) fix first-character deletion, small usability issues
Bug 11559: Supporting changes for Rancor
Bug 11559: New libraries for Rancor
Bug 11559: Rancor: advanced cataloging interface
Bug 11559: (followup) Fix keyboard control bugs, make labels clickable
Bug 11559: (followup) Fill in default values, fix redirect and UNIMARC
Bug 11559: (followup) Fix import bugs, display/parsing issues
Bug 11559: (followup) Fix error when all servers are deselected
Bug 11559: (followup) Prevent saving item tags, fix other issues
Bug 11559: (QA followup) switch to new delimiter, fix minor issues
Bug 11559: (followup) fix first-character deletion, small usability issues
Record with composed character that breaks import into rancor
shortcuts image
Bug 11559: (QA followup) fix pagination bar, add Ctrl-D to macro editor
Bug 11559: (QA followup) detect and warn about corruption caused by MARC-8
Bug 11559: (QA followup) fix QA issues
Bug 11559: (QA followup) replace font choices, fix macro editor
Bug 11559: (QA followup) fix several small issues
[PASSED QA] Bug 11559: Supporting changes for Rancor
[PASSED QA] Bug 11559: New libraries for Rancor
[PASSED QA] Bug 11559: Rancor: advanced cataloging interface
[PASSED QA] Bug 11559: (followup) Fix keyboard control bugs, make labels clickable
[PASSED QA] Bug 11559: (followup) Fill in default values, fix redirect and UNIMARC
[PASSED QA] Bug 11559: (followup) Fix import bugs, display/parsing issues
[PASSED QA] Bug 11559: (followup) Fix error when all servers are deselected
[PASSED QA] Bug 11559: (followup) Prevent saving item tags, fix other issues
[PASSED QA] Bug 11559: (QA followup) switch to new delimiter, fix minor issues
[PASSED QA] Bug 11559: (followup) fix first-character deletion, small usability issues
[PASSED QA] Bug 11559: (QA followup) fix pagination bar, add Ctrl-D to macro editor
[PASSED QA] Bug 11559: (QA followup) detect and warn about corruption caused by MARC-8
[PASSED QA] Bug 11559: (QA followup) fix QA issues
[PASSED QA] Bug 11559: (QA followup) replace font choices, fix macro editor
[PASSED QA] Bug 11559: (QA followup) fix several small issues

Description Jesse Weaver 2014-01-15 06:44:37 UTC
The current MARC record editor interface works well for novice catalogers, but is a little bit too unwieldy for professionals. Some goals of a new interface:

  * Textual, much more compact record view
  * Free entry of tags and subfields
  * As much as possible, keyboard-driven UI
  * Direct import and export of USMARC/MARCXML records
  * Integrated Z39.50 searching

Some other future goals, which may not be included in this patch series, include:

  * Authority linking/editing, with autocomplete
  * Batch record import/export

While consolidated patches will be coming soon, the code is available at http://github.com/pianohacker/koha, branch pci.
Comment 1 Iming Chan 2014-02-09 03:32:52 UTC
I hope we can keep the existing UI for Leader, Marc 007 and 008 fields.  Improvement to everything else will be excellent.  While we at it, it will be nice that we could have some kind of indicator (i.e. green tick, green entry text, or similar) next to fields that have validated again an authority, a red cross for those that still need to be have authority validated.
Comment 2 Jesse Weaver 2014-03-11 10:54:19 UTC Comment hidden (obsolete)
Comment 3 Jesse Weaver 2014-03-11 10:54:32 UTC Comment hidden (obsolete)
Comment 4 Jesse Weaver 2014-03-11 10:54:43 UTC Comment hidden (obsolete)
Comment 5 paxed 2014-03-11 11:04:17 UTC
Quickly eyeballing the code, this doesn't seem to be translatable:

prompt("Please enter the name of the new macro.")

And what about the z3950Labels -array?
Comment 6 Stefano Bargioni 2014-03-11 11:13:46 UTC
I was unable to test this feature using a sandbox (no. 8).
I didn't have pazpar2.
Switching to the Advanced Editor but the loading process never completed.
I was using Firefox on Linux Ubuntu.
Comment 7 Jesse Weaver 2014-03-11 11:58:50 UTC Comment hidden (obsolete)
Comment 8 Owen Leonard 2014-03-11 13:06:18 UTC
>   * jquery.hotkeys - some functionality not supported by shortcuts

This blocks upgrades to jQuery. jquery.hotkeys uses deprecated jquery functionality: http://api.jquery.com/jquery.browser/ http://jquery.com/upgrade-guide/1.9/

>   * jquery.lightbox_me - for modal popovers

Not jQuery modals, Bootstrap modals, or greybox modals? I would *really* like to not have to support one more method of creating modals in Koha.
Comment 9 Owen Leonard 2014-03-11 13:09:17 UTC
Oh, and for third-party js like CodeMirror are there minified versions which are included with the official distribution? It would be nice to be able to use those.
Comment 10 Nicole C. Engard 2014-03-11 15:34:48 UTC
My notes from earlier tests :

#1 After I save I don't see the record I just created - or a way to add an item
#2 I can't edit the 008
#3 If I go to Cataloging > Z39.50 search and import a record to the basic editor, then switch to the professional one I lose the record I imported (it does warn me that changes won't be saved - but it's not clear that I'll lose the record completely)
Comment 11 Magnus Enger 2014-03-11 15:42:26 UTC
If I apply the patches for bug 10486 and then for this bug I get a conflict:

$ git bz apply 10486
Bug 10486 - Allow external Z39.50 targets to be searched from the OPAC

25979 - Bug 10486 - Allow external Z39.50 targets to be searched from the OPAC
26002 - Bug 10486 - QA followup: fix issues with pazpar2 configuration
26017 - Bug 10486 - QA followup: Remove given/when, update license and datatables

Apply? [(y)es, (n)o, (i)nteractive] y
Applying: Bug 10486 - Allow external Z39.50 targets to be searched from the OPAC
Applying: Bug 10486 - QA followup: fix issues with pazpar2 configuration
Applying: Bug 10486 - QA followup: Remove given/when, update license and datatables

$ git bz apply 11559
Bug 11559 - Professional cataloger's interface

26069 - Bug 11559 - Supporting changes for Rancor
26070 - Bug 11559 - New libraries for Rancor
26071 - Bug 11559 - Rancor: professional cataloging interface
26104 - Bug 11559 - QA followup: fix translation issues and work around apache config

Apply? [(y)es, (n)o, (i)nteractive] y
Applying: Bug 11559 - Supporting changes for Rancor
Using index info to reconstruct a base tree...
M	C4/XSLT.pm
M	koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
Falling back to patching base and 3-way merge...
Auto-merging koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
Auto-merging C4/XSLT.pm
CONFLICT (content): Merge conflict in C4/XSLT.pm
Failed to merge in the changes.
Patch failed at 0001 Bug 11559 - Supporting changes for Rancor
The copy of the patch that failed is found in:
   /home/magnus/scripts/kohaclone/.git/rebase-apply/patch
When you have resolved this problem run "git bz apply --continue".
If you would prefer to skip this patch, instead run "git bz apply --skip".
To restore the original branch and stop patching run "git bz apply --abort".
Patch left in /tmp/Bug-11559---Supporting-changes-for-Rancor-CXdWHg.patch
Comment 12 Magnus Enger 2014-03-11 16:19:09 UTC
If I just apply the patches for this bug (11559) and do not do anything about pazpar2, I get an error just by switching to the Rancor editor (in an overlay on the page):

    Internal search error
    Error: HTTP response not OK: 404 - Not Found
    Please refresh the page and try again.

I understand that I need pazpar2 for the Z39.50 search, but it seems like it would be nice to have the editor work without the pazpar2 stuff. 

Also, the error is saved in the "Message log" which covers up the subfield part of the humanMsgLog at the bottom of the screen.
Comment 13 Jesse Weaver 2014-03-27 22:15:34 UTC Comment hidden (obsolete)
Comment 14 Jesse Weaver 2014-03-27 22:17:56 UTC Comment hidden (obsolete)
Comment 15 David Cook 2014-04-11 01:57:09 UTC
Applying: Bug 11559 - Rancor: professional cataloging interface
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt
CONFLICT (content): Merge conflict in koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt
Failed to merge in the changes.
Patch failed at 0001 Bug 11559 - Rancor: professional cataloging interface

I think this might be caused by a whitespace difference?
Comment 16 David Cook 2014-04-11 02:04:39 UTC
I fixed the merge conflict, but now I'm getting the following error message.

"Loading, please wait..." message when I try to use the Advanced Editor from the "addbooks.pl" page. 

I also can't switch back to the basic editor now because my editor preference has been saved. Ordinarily, I would like the preference to be saved, but now my cataloguing interface doesn't work at all :(.

Note that this is when I try it use the editor without using PazPar2 (or any other patches from Bug 10486).
Comment 17 Jesse Weaver 2014-04-15 18:51:16 UTC Comment hidden (obsolete)
Comment 18 Jesse Weaver 2014-04-15 18:51:32 UTC Comment hidden (obsolete)
Comment 19 Jesse Weaver 2014-04-15 18:52:07 UTC Comment hidden (obsolete)
Comment 20 Jesse Weaver 2014-04-15 19:22:17 UTC
NOTE: "2. Reinstall patches for pazpar2." in the directions above should read, "2. Reinstall configuration files for pazpar2, either using 'make update_zebra_conf' (if available) or manually."
Comment 21 David Cook 2014-04-24 04:51:53 UTC
When I try applying just the patches for 11559 without first applying the patches from 10486, it still just stays stuck at the "Loading, please wait..." screen.

When I try applying the patches from 10486 then 11559, I get merge conflicts. It looks like whitespace conflicts in C4/XSLT.pm.

Should 10486 be added to this bug's "Depends on"?
Comment 22 Jesse Weaver 2014-04-24 05:11:24 UTC
(In reply to David Cook from comment #21)
> When I try applying just the patches for 11559 without first applying the
> patches from 10486, it still just stays stuck at the "Loading, please
> wait..." screen.
> 
> When I try applying the patches from 10486 then 11559, I get merge
> conflicts. It looks like whitespace conflicts in C4/XSLT.pm.
> 
> Should 10486 be added to this bug's "Depends on"?

Could I ask you to open up a web console/Firebug and look for a relevant error message when you get stuck at the Loading screen?
Comment 23 David Cook 2014-04-24 07:24:28 UTC
(In reply to Jesse Weaver from comment #22)
> (In reply to David Cook from comment #21)
> > When I try applying just the patches for 11559 without first applying the
> > patches from 10486, it still just stays stuck at the "Loading, please
> > wait..." screen.
> > 
> > When I try applying the patches from 10486 then 11559, I get merge
> > conflicts. It looks like whitespace conflicts in C4/XSLT.pm.
> > 
> > Should 10486 be added to this bug's "Depends on"?
> 
> Could I ask you to open up a web console/Firebug and look for a relevant
> error message when you get stuck at the Loading screen?

Sure thing, mate.

Here are the messages I get:

Uncaught ReferenceError: humanMsg is not defined editor.pl:1335

Uncaught TypeError: undefined is not a function xslt.js:35

event.returnValue is deprecated. Please use the standard event.preventDefault() instead. jquery.js:3

3 Uncaught TypeError: undefined is not a function xslt.js:35

--

I'm also getting a 404 for intranet-tmpl/prog/en/lib/jquery/plugins/humanmsg.js, which is probably causing at least one of those errors...

It looks like the actual path is: koha-tmpl/intranet-tmpl/lib/jquery/plugins/humanmsg.js

--

Btw, I'm getting these messages when I'm applying the patches:

warning: 3 lines add whitespace errors.
Using index info to reconstruct a base tree...
<stdin>:155: trailing whitespace.
//
<stdin>:8576: trailing whitespace.

<stdin>:9156: trailing whitespace.

warning: 3 lines applied after fixing whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbooks.tt
Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt
Removing koha-tmpl/intranet-tmpl/lib/jquery/plugins/jquery.lightbox_me.js
Removing koha-tmpl/intranet-tmpl/lib/jquery/plugins/jquery.hotkeys.min.js
Auto-merging koha-tmpl/intranet-tmpl/lib/jquery/plugins/humanmsg.js
Removing koha-tmpl/intranet-tmpl/lib/codemirror/lib/runmode.js
Removing koha-tmpl/intranet-tmpl/lib/codemirror/codemirror.js
Comment 24 Owen Leonard 2014-04-24 12:44:30 UTC
(In reply to David Cook from comment #23)

> It looks like the actual path is:
> koha-tmpl/intranet-tmpl/lib/jquery/plugins/humanmsg.js

Yes, but just since Bug 12102 got pushed a few days ago.
Comment 25 Jesse Weaver 2014-04-29 08:52:24 UTC Comment hidden (obsolete)
Comment 26 Jesse Weaver 2014-04-29 08:52:30 UTC Comment hidden (obsolete)
Comment 27 Jesse Weaver 2014-04-29 08:52:39 UTC Comment hidden (obsolete)
Comment 28 Jesse Weaver 2014-04-29 08:52:42 UTC Comment hidden (obsolete)
Comment 29 Jesse Weaver 2014-04-29 08:52:44 UTC Comment hidden (obsolete)
Comment 30 Jesse Weaver 2014-04-29 08:54:20 UTC
(In reply to Jesse Weaver from comment #29)
> Created attachment 27761 [details] [review] [review]
> Bug 11559 - QA followup: Change path to humanmsg, fix XSLT error

... The commit message for this is a bit of an overstatement, this does not in fact fix the bug David reported. Which browser did you notice this bug on, though, David? The only places I can see where it should occur are IE < 9.
Comment 31 Galen Charlton 2014-04-29 14:47:38 UTC
I've marked this as a candidate for 3.16.0.

One question: given the integration problems around pazpar2, is it possible to spit off the pazpar2 metasearch functionality, leaving the core of the editor as something that might make it in as an experimental feature for 3.16.0?
Comment 32 David Cook 2014-05-01 03:39:31 UTC
(In reply to Jesse Weaver from comment #30)
> (In reply to Jesse Weaver from comment #29)
> > Created attachment 27761 [details] [review] [review] [review]
> > Bug 11559 - QA followup: Change path to humanmsg, fix XSLT error
> 
> ... The commit message for this is a bit of an overstatement, this does not
> in fact fix the bug David reported. Which browser did you notice this bug
> on, though, David? The only places I can see where it should occur are IE <
> 9.

I noticed in Chrome on Windows. I'll have to take another look sometime to see how I go now.
Comment 33 Jesse Weaver 2014-05-01 19:50:12 UTC Comment hidden (obsolete)
Comment 34 Jesse Weaver 2014-05-01 19:58:54 UTC Comment hidden (obsolete)
Comment 35 Jesse Weaver 2014-05-01 19:59:47 UTC Comment hidden (obsolete)
Comment 36 Jesse Weaver 2014-05-01 20:16:33 UTC
(In reply to Galen Charlton from comment #31)
> I've marked this as a candidate for 3.16.0.
> 
> One question: given the integration problems around pazpar2, is it possible
> to spit off the pazpar2 metasearch functionality, leaving the core of the
> editor as something that might make it in as an experimental feature for
> 3.16.0?

I have a patch ready that does exactly this ready and sitting in a branch. Wasn't quite sure where to put it, but I can rebase and post it if we end up needing it.
Comment 37 Galen Charlton 2014-05-05 20:49:04 UTC
(In reply to Jesse Weaver from comment #36)
> (In reply to Galen Charlton from comment #31)
> > I've marked this as a candidate for 3.16.0.
> > 
> > One question: given the integration problems around pazpar2, is it possible
> > to spit off the pazpar2 metasearch functionality, leaving the core of the
> > editor as something that might make it in as an experimental feature for
> > 3.16.0?
> 
> I have a patch ready that does exactly this ready and sitting in a branch.
> Wasn't quite sure where to put it, but I can rebase and post it if we end up
> needing it.

Please attach it to this bug.
Comment 38 Galen Charlton 2014-05-05 21:05:50 UTC
One the whole, I am pleased with how this is coming along, but on balance, it's premature to include this for 3.16.0.

Some issues found:

- the fixFloat jQuery plugin has moved (bug 12116)
- there doesn't seem to be any way to enter a value that contains a dollar sign, followed by a character, followed by a space that isn't interpreted as a subfield
- as a currently experimental feature, in additional to chopping out the PazPar2 stuff until it's solid, there needs to be a way to completely hide this -- and at present, it doesn't let you use addbiblio.pl for anything except fast-adds
Comment 39 Jesse Weaver 2014-05-06 17:53:01 UTC Comment hidden (obsolete)
Comment 40 Jesse Weaver 2014-05-06 17:54:45 UTC Comment hidden (obsolete)
Comment 41 Jesse Weaver 2014-05-06 17:58:16 UTC
(In reply to Galen Charlton from comment #38)
> One the whole, I am pleased with how this is coming along, but on balance,
> it's premature to include this for 3.16.0.
> 
> Some issues found:
> 
> - the fixFloat jQuery plugin has moved (bug 12116)
> - there doesn't seem to be any way to enter a value that contains a dollar
> sign, followed by a character, followed by a space that isn't interpreted as
> a subfield

Just fixed these two issues.

> - as a currently experimental feature, in additional to chopping out the
> PazPar2 stuff until it's solid, there needs to be a way to completely hide
> this -- and at present, it doesn't let you use addbiblio.pl for anything
> except fast-adds

Attached the patch to remove search for now; as the editor no longer attempts to contact pazpar2 at all, this patch should no longer depend on bug 10486.

Also, you should be able to switch to addbiblio.pl using the Settings menu in the editor; it should also default to the old editor unless you have a cookie indicating otherwise.
Comment 42 paxed 2014-05-07 05:34:00 UTC
(In reply to Jesse Weaver from comment #39)
> Created attachment 27993 [details] [review] [review]
> Bug 11559 followup - Allow insertion of dollar sign, remove fixFloat
> 
> The dollar sign now shows up as {dollar} inside subfield contents. This
> is converted on load and save.
> 

That sounds very hacky and ugly. Also, there might be some i18n concerns?
Comment 43 Katrin Fischer 2014-05-07 09:49:06 UTC
I think it was said yesterday that the popular MarcEdit Editor uses the same technique. I am not sure from the description how visible the change will be for the users?
Comment 44 Jesse Weaver 2014-05-17 16:09:25 UTC
*** Bug 6707 has been marked as a duplicate of this bug. ***
Comment 45 Jesse Weaver 2014-05-24 00:33:32 UTC
(In reply to Katrin Fischer from comment #43)
> I think it was said yesterday that the popular MarcEdit Editor uses the same
> technique. I am not sure from the description how visible the change will be
> for the users?

This will affect anywhere a dollar sign shows up in a record (though only for display). For instance, the following MARC:

245 1 4 ‡a The $5 million dollar question

will show up as follows in the new interface:

245 1 4 $a The {dollar}5 million dollar question

This is indeed the same solution as MarcEdit. Yes, it is indeed a hack, but most other discussed solutions make entering subfields harder in order to make the relatively uncommon sequence <dollar sign><alphanumeric><space> easier to enter.

I18N could indeed be an issue, though I'm not sure we should translate an escape sequence.
Comment 46 paxed 2014-05-24 08:02:31 UTC
I haven't tried the editor yet, so ...

How does the {dollar} thing work in practice? Does the cataloguer just type $ and it gets automatically converted to the placeholder? Or do they have to explicitly type "{dollar}"? If the latter, it'll generate some complaints.

IMO, the editor should do it like this: The subfield delimiter would show as unicode DOUBLE DAGGER (or whatever is defined for it in syspref). It would be typed in the editor with a key combination, eg. alt-D or something, not directly typing the character itself. Typing the dollar sign would be just a dollar sign.
(And subfield contents should be different color from the subfield code and delimiter, of course)
Comment 47 Iming Chan 2014-05-24 15:28:49 UTC
Totally agreed with what paxed has said.  As for the subfield delimiter, why can't we just use "|" (vertical bar found using <Shift>+ \ key).  It is highly unlikely that such symbol would ever get used during data entry.  

Also like the idea of having a different colour for subfield delimiter and subfield code, so they stand out to the actual data.
Comment 48 paxed 2014-05-26 04:58:59 UTC
Another thing to consider: the dollar-sign (and also the pipe-character) is really awkward to type in several non-English keyboard layouts. For example, in Finnish and Swedish layouts, typing the dollar-sign requires both hands: AltGr+4. (The same applies to the pipe-char)
Comment 49 David Cook 2014-05-26 07:29:23 UTC
Just to add my 2 cents:

If I recall correctly, other systems with advanced editors tend to create subfields with a process like so:

1) Ctrl + Chr (e.g. 's' or 'd'). This signals to the system that you want to add a subfield. It inserts something like ($_) as a visual signifier.

2) You type in a letter for the subfield (e.g. b), so that the visual signifier turns into $b. This is just for display though. Under the surface, it knows that $b isn't data, but is actually a sort of control character denoting a subfield. 

I haven't at all looked at the code for the advanced editor though, so not sure how easy this would be to achieve...

I suppose the keyboard sequence or a button followed by the subfield code input would create a new object or array element...but you'd still want to show all subfields as a string on the display even though they wouldn't be an actual string in the object(s) that are being saved.

*goes home before he starts looking at code*
Comment 50 Iming Chan 2014-05-27 02:22:23 UTC
David: Like, like, like on the suggested key combinations (i.e. <Ctrl> or <Alt> + <Char>).  I like the sound of it, if it can be achieved!

I would also like to see when an invalid subfield tag has been entered, the software would provide information on ** valid ** alternative(s) with description (instead of just a list of subfield tags).  This will be more useful than just give nothing.  Such can be provided at bottom of the screen (?) or as a pop-up screen, where we can pickup a subfield tag.  This will then close the pop-up screen (if used) and inserted into the correct position on the editor.

Whatever that will streamline this process will be awesome!
Comment 51 Katrin Fischer 2014-05-27 07:26:41 UTC
I think suggesting valid subfield tags + their descriptions could go on another bug as a first enhancement request. 

Jesse, do you think it would be possible to make the subfield delimiter configurable and/or have some keyword short cut for it?
Comment 52 Jesse Weaver 2014-05-31 07:21:47 UTC
(In reply to Katrin Fischer from comment #51)
> I think suggesting valid subfield tags + their descriptions could go on
> another bug as a first enhancement request. 
> 
> Jesse, do you think it would be possible to make the subfield delimiter
> configurable and/or have some keyword short cut for it?

Definitely. I'm currently working on a revamping of the search feature, but this would be reasonable to get done for 3.18.
Comment 53 Katrin Fischer 2014-06-16 21:52:12 UTC
Hi Jesse,

here 2 small things I found during a quick test drive:

1) The position of the descriptions for the fields and subfields seems a bit off
  when you have a language chooser (more than 1 language installed an active). 
  When the window is maximized I don't see the description at all, when the
  window is a bit smaller I can partially see it, but have to scroll

2) I have German sample frameworks installed and the umlauts in the descriptions
  are broken, an example is 040$cÜbertragungsstelle
Comment 54 Katrin Fischer 2014-10-10 15:12:53 UTC
Hi Jesse, is this ready for testing? I was under the impression that you were still working out things - also I reported 2 issues in my last comment :)
Comment 55 Iming Chan 2014-11-19 09:35:50 UTC
Hi Jesse,

Could you kindly advise what needs to be done in order for this feature to be completed?  Unfortunately, I cannot help with writing codes or programming side of things, but happy to consider pay someone to help you (within our financial ability of course).
Comment 56 Kyle M Hall 2014-12-16 14:49:48 UTC Comment hidden (obsolete)
Comment 57 Kyle M Hall 2014-12-16 14:50:09 UTC Comment hidden (obsolete)
Comment 58 Kyle M Hall 2014-12-16 14:50:18 UTC Comment hidden (obsolete)
Comment 59 Kyle M Hall 2014-12-16 14:50:23 UTC Comment hidden (obsolete)
Comment 60 Kyle M Hall 2014-12-16 14:50:26 UTC Comment hidden (obsolete)
Comment 61 Kyle M Hall 2014-12-16 14:50:35 UTC Comment hidden (obsolete)
Comment 62 Jonathan Druart 2015-02-12 16:24:42 UTC
What is the status of this one?
Is it still dependent on bug 10486? I would say no, but it's the first step of the test plan.
Is it UNIMARC compatible?

I found encoding related issues on saving a record, please have a look.
Also needs a (trivial) rebase.
Comment 63 Jesse Weaver 2015-02-17 07:48:41 UTC
(In reply to Jonathan Druart from comment #62)
> What is the status of this one?
> Is it still dependent on bug 10486? I would say no, but it's the first step
> of the test plan.
> Is it UNIMARC compatible?
> 
> I found encoding related issues on saving a record, please have a look.
> Also needs a (trivial) rebase.

This is no longer dependent on bug 10486, due to removing the dependency on pazpar2 for Z39.50 searching.

The code should be UNIMARC (or NORMARC) compatible, all MARC21-exclusive code is properly switched on marcflavour. Much like the rest of Koha, it cannot handle MARC21 and UNIMARC within the same installation. However, there are no fixed field widgets for UNIMARC at the present time. There is support for the XML widget format used for the MARC21 006 and 008 widgets, but no other existing widgets can be used.

Could I ask what encoding issues you saw? We've seen similar issues crop up recently after being previously fixed.

Rebase is done, working on cleaning up a patch series to be submitted soon.
Comment 64 Jonathan Druart 2015-02-17 08:09:34 UTC
(In reply to Jesse Weaver from comment #63)
> Could I ask what encoding issues you saw? We've seen similar issues crop up
> recently after being previously fixed.

Double-encoded characters, I just edited/saved/showed.
Note that I used the patches attached to this bug report, not the branch (based on 3.15).
Comment 65 Jesse Weaver 2015-02-17 23:12:09 UTC
Pushed updates to https://github.com/pianohacker/koha/tree/rancor-submit . Encoding error is not yet fixed, but the code is a bit cleaner.
Comment 66 Jesse Weaver 2015-03-01 07:45:50 UTC Comment hidden (obsolete)
Comment 67 Jesse Weaver 2015-03-01 07:45:59 UTC Comment hidden (obsolete)
Comment 68 Jesse Weaver 2015-03-01 07:46:09 UTC Comment hidden (obsolete)
Comment 69 Jesse Weaver 2015-03-01 07:46:15 UTC Comment hidden (obsolete)
Comment 70 Jesse Weaver 2015-03-01 07:46:35 UTC Comment hidden (obsolete)
Comment 71 Jesse Weaver 2015-03-01 07:46:43 UTC Comment hidden (obsolete)
Comment 72 Jesse Weaver 2015-03-04 11:11:01 UTC Comment hidden (obsolete)
Comment 73 Jesse Weaver 2015-03-04 11:14:02 UTC
Notes: All settings, including switching between the basic editor and Rancor, are saved per-user as local settings. This means they should be completely separated by user (though not private). Also, the [@number] markings are just an artifact of the software used to prepare this.

The individual parts of this test plan should be separately testable; please test what you can!

1. Apply patch.

*** Part 1 - Navigating to editor
2. [@2] Go to the Cataloging section.
3. Click on "Advanced editor." This should take you to Rancor with an empty record loaded.
4. Click on "Settings" -> "Switch to basic editor," then "OK." This should switch to the basic editor with an empty record.
5. Click on "Switch to advanced editor." This should take you back to Rancor.
6. Navigate to a record, and click "Edit" -> "Edit record." This should load the record in Rancor.
7. Verify that clicking on "(view)" and "(edit items)" go to the correct screens for the current record (in a new window).
8. Click "Settings" -> "Switch to basic editor," then repeat. This should now load in the basic editor. Click "Switch to advanced editor" for the following steps.
9. Go back to the Cataloging home page.
10. Click on "New from Z39.50/SRU," run a Z39.50 search (doesn't matter what for) and click "Import." This should open in the basic editor; the old-style Z39.50 search interface is separate from that built into Rancor.
*** Part 2 - Editing records 
11. [@11] Return back to a new record in Rancor.
12. Verify that the data portion non-control fields (>010) can be freely typed into. Typing a dollar sign, alphanumeric and a space should create a new subfield. For known MARC subfields, the description of the current field (and subfield) should be shown in the status bar at the bottom.
13. The data portion of control fields, tag numbers and indicators should be editable, but in overwrite mode. If a syntactically incorrect MARC tag is entered, the entire line should lose any other highlighting and turn red.
14. For known fixed fields (currently only MARC21 leader or 000, 005 and 008), the data portion of the field should be displayed as a widget, with underlined portions that expand into text fields/dropdowns for the various coded parts of the field. These widgets are toggleable in the settings.
15. Subfields with authorized values attached to them should also be displayed as simple, single-dropdown widgets.
16. It should be possible to tab between the tag number, indicators, each subfield and each element in a fixed field widget. Typing values for these fields should work as expected.
17. By pressing Enter anywhere in a field, the cursor should be moved to a new field on the next line.
18. After typing in the number of a tag, pressing Tab should tab through and automatically create the indicator positions.
19. By pressing Ctrl-X, the entire field should be deleted.

*** Part 3 - Record Import/Export
20. [@20] By entering text into any of the given fields on the left, a search will be run with the given search field and contents (and none of the others). Verify that they can be focused with their listed keyboard shortcuts.
21. Click on the checkboxes next to any of the available search targets to enable/disable that target.
22. Click on the arrows above any column to resort the results by that column. Sorting defaults to title. NOTE: performance of the above will be severely degraded if Koha::Cache is not running in memcached/fastmmap mode.
23. Click on "View MARC" to show a preview of the record contents, and "Hide MARC" to return to the original view.
24. Click on "Import", and the record contents should be replaced with that of the selected record.
25. Click on "Advanced" in the search box on the left.
26. Check or uncheck any of the servers to enable/disable them before the search. The search query will be ANDed together from any non-empty fields.
27. Verify that advanced search behaves similarly to a quick search after results are returned.
28. Open an existing catalog record in Rancor.
29. Perform a search, and verify that "Substitute" copies the record contents into the current catalog record, while "Import" starts editing a new record.
30. Verify that "Save" correctly saves record contents to the catalog.
31. Click on the dropdown next to "Save to catalog," then either "Save as ISO2709 (.mrc) file" or "Save as MARCXML (.xml) file." Click "Save file" (or your browser's equivalent), then verify that the exported record's contents are correct.
32. Click on "Import record", then any ISO-2709 (.mrc) or MARC-XML (.xml) record. The record contents should be loaded.

*** Part 4 - Settings/Macros
33. [@33] The "Settings" menu contains several font configuration options. Verify that they all work as expected (some fonts may not exist on your system).
34. Click on "Macros." This should bring up a screen with no existing macros.
35. Click "New macro..." and type in a name for the new macro. It should be added to the list on the side.
36. The format dropdown exists to allow compatibility with a proprietary vendor format; the default of Rancor should be sufficient.
37. Type any text into the macro editor, and it should be autosaved after a brief delay.
38. Hit "Delete macro" to delete this macro.
39. Create a new macro, insert some text, wait for it to autosave, then reload the page to verify that the macro contents are saved.
40. Enter in some test macros, and verify that they work as expected. There are a number of possible macro commands, but all are variants of two basic forms:
    - delete TARGET :: Deletes the given TARGET.
    - TARGET=SOURCE :: Copies the contents of SOURCE into TARGET (spaces around the equals sign are not allowed for reasons of ambiguity in fixed fields).
41. The possible targets are (specific tags/subfields are used, but only as examples):
    - 001 :: The entire contents of a control field (will be created if needed).
    - 245 :: The entire contents of the first 245 field (will be created if needed).
    - new 245 :: The entire contents of a new 245 field, inserted in numerical order.
    - new 245 grouped :: The entire contents of a new 245 field, inserted at the end of the 200s.
    - 245a OR 245a at end :: The contents of the $a subfield of the first 245 field (will be created at the end of the field if needed).
    - 245a after c :: The contents of the 245 $a subfield (will be created after the $c subfield if needed).
    - new 245a OR new 245a at end OR new 245a after c :: The contents of a new 245 $a subfield in the given position.
    - $a :: The contents of the $a subfield of the last mentioned tag.
    - 245 indicators OR indicators :: Sets both indicators of either the first field with the given tag or the last mentioned tag. 
42. The possible sources are:
    - 001 OR 245 :: The entire contents of the first field with the given tag.
    - 245a :: The contents of the first $a subfield of the first 245 field.
43. Some example commands:
    - new 245=$a Charlotte's Web /$c by E.B. White.
    - delete 245c
    - 003=ByWater
44. Verify that entering a syntactically correct macro and hitting "Run macro" closes the macro editor and runs the given macro.
Comment 74 Jesse Weaver 2015-03-04 11:15:12 UTC
Addendum to the above, part 2; Ctrl-D should insert the subfield delimiter (currently somewhat hardcoded as $).
Comment 75 Zeno Tajoli 2015-03-04 13:53:47 UTC
Hi Jessie,

What about transfer support of JSONP for services in a specific bug ?
It is a modification of C4/Service.pm.

I think could be useful alone.
And probably in this way coulod be possible to extract also metasearch for Opac on z39.50
Comment 76 Jesse Weaver 2015-03-05 19:50:51 UTC
(In reply to Zeno Tajoli from comment #75)
> Hi Jessie,
> 
> What about transfer support of JSONP for services in a specific bug ?
> It is a modification of C4/Service.pm.
> 
> I think could be useful alone.
> And probably in this way coulod be possible to extract also metasearch for
> Opac on z39.50

The new Koha::Service class (http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=12272) allows JSONP, so I'd vote not to split out JSONP from this bug.
Comment 77 Josef Moravec 2015-04-14 10:31:28 UTC
I tested this, and it looks great. Just few problems:

ad Test plan 

20. I'm not able to use keyboard shortcuts to focus search fields on the left side

21. I think the checkbox labels should be clickable as well

ad part 3 - on search results I'm not able to scroll the page using keyboard


Everything else looks working perfect
Comment 78 Karam Qubsi 2015-04-26 05:05:18 UTC
Hi Jessie, 
I tried to apply the patch on master , but it wasn't applied , 
I have the following error : 


Auto-merging svc/bib
CONFLICT (content): Merge conflict in svc/bib
Failed to merge in the changes.
Patch failed at 0001 Bug 11559 - Supporting changes for Rancor

is there any order that I have to follow  to apply the patches ? 

thank you for your great efforts  .
Comment 79 Jonathan Druart 2015-04-27 08:04:33 UTC Comment hidden (obsolete)
Comment 80 Jonathan Druart 2015-04-27 08:04:41 UTC Comment hidden (obsolete)
Comment 81 Jonathan Druart 2015-04-27 08:04:48 UTC Comment hidden (obsolete)
Comment 82 Jonathan Druart 2015-04-27 08:04:54 UTC Comment hidden (obsolete)
Comment 83 Jonathan Druart 2015-04-27 08:05:00 UTC Comment hidden (obsolete)
Comment 84 Jonathan Druart 2015-04-27 08:05:07 UTC Comment hidden (obsolete)
Comment 85 Jonathan Druart 2015-04-27 08:05:14 UTC Comment hidden (obsolete)
Comment 86 Jonathan Druart 2015-04-27 08:06:18 UTC
(In reply to Karam Qubsi from comment #78)
> Hi Jessie, 
> I tried to apply the patch on master , but it wasn't applied , 
> I have the following error : 
> 
> 
> Auto-merging svc/bib
> CONFLICT (content): Merge conflict in svc/bib
> Failed to merge in the changes.
> Patch failed at 0001 Bug 11559 - Supporting changes for Rancor
> 
> is there any order that I have to follow  to apply the patches ? 
> 
> thank you for your great efforts  .

Karam, I have fixed the conflict in the first patch, you should be able to apply all of them in the same order as they are on this bug report.
Comment 87 Jesse Weaver 2015-06-15 21:27:50 UTC Comment hidden (obsolete)
Comment 88 Jesse Weaver 2015-06-15 21:28:13 UTC Comment hidden (obsolete)
Comment 89 Jesse Weaver 2015-06-15 21:28:27 UTC Comment hidden (obsolete)
Comment 90 Jesse Weaver 2015-06-15 21:29:51 UTC
NOTE: These new patches squash in a long series of followups and fix a bug where switching between verbatim and widgets mode caused spurious "modified" markers.
Comment 91 Josef Moravec 2015-06-16 06:57:00 UTC
I tried these new patches and system preferences, authentication and svc/bib work as expected for me.

According to advanced editor, there are the same little problems as I commented here: http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11559#c77
Comment 92 Jesse Weaver 2015-06-23 22:25:42 UTC Comment hidden (obsolete)
Comment 93 Josef Moravec 2015-06-24 08:42:18 UTC Comment hidden (obsolete)
Comment 94 Josef Moravec 2015-06-24 08:42:27 UTC Comment hidden (obsolete)
Comment 95 Josef Moravec 2015-06-24 08:42:36 UTC Comment hidden (obsolete)
Comment 96 Josef Moravec 2015-06-24 08:42:49 UTC Comment hidden (obsolete)
Comment 97 Jonathan Druart 2015-06-24 10:50:55 UTC
1/ Small bug:
Edit an existing biblio, go on the basic editor, change the framework, switch to the advanced editor => You are adding a new biblio instead of editing the existing one.

[EDIT] Actually even if I don't change the framework: "Any changes will not be saved. Continue?" "yes"
I am redirected to /cataloguing/editor.pl#catalog/30
and immediately to /cataloguing/editor.pl#new/

2/ On editing the biblionumber 30 (/cgi-bin/koha/cataloguing/editor.pl#catalog/30), when I click on the editor, I get a JS error:
  ReferenceError: field is not defined
  if ( first != '9' ) url += field;

3/ On adding a new record, I get:

000 
100 _ _ 
101 _ _ $a fre
801 _ _ 

What about the other fields?
You don't retrieve default values, is it expected?

4/ When the focus is on a dropdown list, there is no way to continue editing without the mouse (tab put the focus on "keywords", on the left. enter does not do anything)

5/ On the basic edit I managed to save my record, on the advanced, I get:
 Missing mandatory subfield: $m; Missing mandatory subfield: $n; Missing mandatory subfield: $x
under the 615 field.
But 615$m is not mandatory in my default framework.
By the way, which framework is used?

6/ I see
GET http://pro.koha-qa.vm/intranet-tmpl/prog/en/data/marc21_field_006.xml
GET http://pro.koha-qa.vm/intranet-tmpl/prog/en/data/marc21_field_008.xml
in Firebug. But I use UNIMARC. Is it normal?

7/ Try to reproduce the encoding error, I edited another record, but get
TypeError: nonRepeatableSubfields[field.tagnumber(...)] is undefined
koha-backend.js (ligne 201)

on clicking on "Save" (I haven't click on the editor, so no previous js error).

hum... Did I miss something here?
Comment 98 Jonathan Druart 2015-06-24 10:59:57 UTC
(In reply to Jonathan Druart from comment #97)

On a MARC21 installation:

1/ Still exists
2/ Is fixed
3/ The default values are not retrieved (if use the default framework)
4/ Still exists
5/ Hard to say...
6/ Yes, normal I suppose :)
7/ The encoding problem seems to be fixed, thanks bug 11944 :)
Comment 99 Jesse Weaver 2015-06-24 22:01:50 UTC
Will be posting a followup soon.

(In reply to Jonathan Druart from comment #97)
> 1/ Small bug:
> Edit an existing biblio, go on the basic editor, change the framework,
> switch to the advanced editor => You are adding a new biblio instead of
> editing the existing one.
> 
> [EDIT] Actually even if I don't change the framework: "Any changes will not
> be saved. Continue?" "yes"
> I am redirected to /cataloguing/editor.pl#catalog/30
> and immediately to /cataloguing/editor.pl#new/

Fixed.

> 
> 2/ On editing the biblionumber 30
> (/cgi-bin/koha/cataloguing/editor.pl#catalog/30), when I click on the
> editor, I get a JS error:
>   ReferenceError: field is not defined
>   if ( first != '9' ) url += field;

Fixed.

> 
> 3/ On adding a new record, I get:
> 
> 000 
> 100 _ _ 
> 101 _ _ $a fre
> 801 _ _ 
> 
> What about the other fields?
> You don't retrieve default values, is it expected?

Other fields are added as needed; the only fields that show up in a new record are mandatory fields.

It would be easy enough to fill in default values.

> 
> 4/ When the focus is on a dropdown list, there is no way to continue editing
> without the mouse (tab put the focus on "keywords", on the left. enter does
> not do anything)

This is odd, what field and subfield caused this bug?

> 
> 5/ On the basic edit I managed to save my record, on the advanced, I get:
>  Missing mandatory subfield: $m; Missing mandatory subfield: $n; Missing
> mandatory subfield: $x
> under the 615 field.
> But 615$m is not mandatory in my default framework.
> By the way, which framework is used?

The default framework is used. That is a quite odd bug, I'll look into it.

> 
> 6/ I see
> GET http://pro.koha-qa.vm/intranet-tmpl/prog/en/data/marc21_field_006.xml
> GET http://pro.koha-qa.vm/intranet-tmpl/prog/en/data/marc21_field_008.xml
> in Firebug. But I use UNIMARC. Is it normal?
> 

Fixed.

> 7/ Try to reproduce the encoding error, I edited another record, but get
> TypeError: nonRepeatableSubfields[field.tagnumber(...)] is undefined
> koha-backend.js (ligne 201)
> 
> on clicking on "Save" (I haven't click on the editor, so no previous js
> error).
> 
> hum... Did I miss something here?

I've seen this bug pop up a time or two, could I see the record in question?
Comment 100 knuuti 2015-06-29 10:50:29 UTC
Can you rebase this, please. So I can apply it and start testing Rancor?
Comment 101 Jonathan Druart 2015-07-02 10:52:48 UTC
(In reply to Jesse Weaver from comment #99)
> Will be posting a followup soon.

For 1/ 2/, I have still the same issues.
I also tested on sandbox 1 to confirm it didn't come from my install.


> > 3/ On adding a new record, I get:
> > 
> > 000 
> > 100 _ _ 
> > 101 _ _ $a fre
> > 801 _ _ 
> > 
> > What about the other fields?
> > You don't retrieve default values, is it expected?
> 
> Other fields are added as needed; the only fields that show up in a new
> record are mandatory fields.

200$a is mandatory and does not appears.

> It would be easy enough to fill in default values.

IMO it should be a requirement.

> > 4/ When the focus is on a dropdown list, there is no way to continue editing
> > without the mouse (tab put the focus on "keywords", on the left. enter does
> > not do anything)
> 
> This is odd, what field and subfield caused this bug?

UNIMARC 101$a for instance.

> > 6/ I see
> > GET http://pro.koha-qa.vm/intranet-tmpl/prog/en/data/marc21_field_006.xml
> > GET http://pro.koha-qa.vm/intranet-tmpl/prog/en/data/marc21_field_008.xml
> > in Firebug. But I use UNIMARC. Is it normal?
> > 
> 
> Fixed.

I still see them (see http://pro.test1.biblibre.com/cgi-bin/koha/cataloguing/editor.pl#new/ today or install the patches on sandbox 1).

> > 7/ Try to reproduce the encoding error, I edited another record, but get
> > TypeError: nonRepeatableSubfields[field.tagnumber(...)] is undefined
> > koha-backend.js (ligne 201)
> > 
> > on clicking on "Save" (I haven't click on the editor, so no previous js
> > error).
> > 
> > hum... Did I miss something here?
> 
> I've seen this bug pop up a time or two, could I see the record in question?

Will see later and other bugs will be fixed :)
Comment 102 Jesse Weaver 2015-07-02 22:17:57 UTC
> > 
> > Other fields are added as needed; the only fields that show up in a new
> > record are mandatory fields.
> 
> 200$a is mandatory and does not appears.
> 

Yes, as the 200 tag is not mandatory, but if any 200 field _does_ appear, it must have an $a subfield. This constraint is enforced when the record is saved.

> > It would be easy enough to fill in default values.
> 
> IMO it should be a requirement.
> 

For pre-filled mandatory fields, yes. I'm a bit worried that filling in default values for other subfields as the record is edited would be a bit too much magic.

> > > 4/ When the focus is on a dropdown list, there is no way to continue editing
> > > without the mouse (tab put the focus on "keywords", on the left. enter does
> > > not do anything)
> > 
> > This is odd, what field and subfield caused this bug?
> 
> UNIMARC 101$a for instance.
> 

Reproduced, but I suspect this will be fixed by my fixes for some of these other issues.

> > > 6/ I see
> > > GET http://pro.koha-qa.vm/intranet-tmpl/prog/en/data/marc21_field_006.xml
> > > GET http://pro.koha-qa.vm/intranet-tmpl/prog/en/data/marc21_field_008.xml
> > > in Firebug. But I use UNIMARC. Is it normal?
> > > 
> > 
> > Fixed.
> 
> I still see them (see
> http://pro.test1.biblibre.com/cgi-bin/koha/cataloguing/editor.pl#new/ today
> or install the patches on sandbox 1).
> 

Sorry, was a bit unclear, have found a fix for some of these issues but haven't submitted a patch yet.
Comment 103 Katrin Fischer 2015-07-02 22:37:46 UTC
Hm, I am not sure about only filling in the default values for mandatory fields - I think this is kind of confusing as the configuration options are not connected.
Comment 104 Jesse Weaver 2015-07-06 21:21:05 UTC Comment hidden (obsolete)
Comment 105 Jesse Weaver 2015-07-06 21:21:15 UTC Comment hidden (obsolete)
Comment 106 Jesse Weaver 2015-07-06 21:21:26 UTC Comment hidden (obsolete)
Comment 107 Jesse Weaver 2015-07-06 21:21:35 UTC Comment hidden (obsolete)
Comment 108 Jesse Weaver 2015-07-06 21:21:42 UTC Comment hidden (obsolete)
Comment 109 Jesse Weaver 2015-07-06 21:29:00 UTC
(In reply to Katrin Fischer from comment #103)
> Hm, I am not sure about only filling in the default values for mandatory
> fields - I think this is kind of confusing as the configuration options are
> not connected.

Well, mandatory subfields should trivially be filled in because they are added to new/existing records if they do not exist. Before, they just got an empty subfield (e.g., "245 _ _ $a"), but now, if the subfield has a default value, it will be filled in.

For non-mandatory subfields, however, they could only be filled in after the user entered them. For instance (where "|" is the user's cursor and 245$c has a default value of "foobar"):

245 _ _ $a The hitchhiker's guide to the galaxy /|
245 _ _ $a The hitchhiker's guide to the galaxy /$|
245 _ _ $a The hitchhiker's guide to the galaxy /$a|
245 _ _ $a The hitchhiker's guide to the galaxy /$a |foobar

This might work, but I'm a bit hesitant to do this, seems a bit overly magical. I know there's a number of catalogers CC'd on this bug; please, add your thoughts!

Also, note that subfields with authorized values will have the default value preselected if it exists.
Comment 110 Jesse Weaver 2015-07-06 21:30:02 UTC
(In reply to Jesse Weaver from comment #109)
> (In reply to Katrin Fischer from comment #103)
> > Hm, I am not sure about only filling in the default values for mandatory
> > fields - I think this is kind of confusing as the configuration options are
> > not connected.
> 
> Well, mandatory subfields should trivially be filled in because they are
> added to new/existing records if they do not exist. Before, they just got an
> empty subfield (e.g., "245 _ _ $a"), but now, if the subfield has a default
> value, it will be filled in.
> 
> For non-mandatory subfields, however, they could only be filled in after the
> user entered them. For instance (where "|" is the user's cursor and 245$c
> has a default value of "foobar"):
> 
> 245 _ _ $a The hitchhiker's guide to the galaxy /|
> 245 _ _ $a The hitchhiker's guide to the galaxy /$|
> 245 _ _ $a The hitchhiker's guide to the galaxy /$a|
> 245 _ _ $a The hitchhiker's guide to the galaxy /$a |foobar
> 
> This might work, but I'm a bit hesitant to do this, seems a bit overly
> magical. I know there's a number of catalogers CC'd on this bug; please, add
> your thoughts!
> 
> Also, note that subfields with authorized values will have the default value
> preselected if it exists.

Doh, that should be:

245 _ _ $a The hitchhiker's guide to the galaxy /|
245 _ _ $a The hitchhiker's guide to the galaxy /$|
245 _ _ $a The hitchhiker's guide to the galaxy /$c|
245 _ _ $a The hitchhiker's guide to the galaxy /$c |foobar
Comment 111 Jesse Weaver 2015-07-24 21:19:38 UTC
I've created a MARC21 sandbox for this development at:

http://staff-bz11559.bwsdev.bywatersolutions.com/

Login is: bywater / bywater
Comment 112 Iming Chan 2015-07-26 10:45:13 UTC
Just checked out the sandbox of this development, I'm really excited and looking forward for it to go live.  Great job for all involved.

However, I would like to make a couple improvement suggestions:

1. Existing interface to Leader, Tag 007 and 008 is better than what's been proposed.  You can see all character position elements in one screen with corresponding headings.  Whereas the proposed design, you really have to know your fixed-length data elements well!

2. Some tags don't use one or both indicators.  It will be nice to prevent data entry to one or both indicators when they are not used to a given tag.  Perhaps after you have enter a tag number (say 020 for ISBN), press [Tab] will take the cursor straight to next position that require data entry (in the case of the example above, it will be at "$a" and skipped both Indicator 1 & 2).
Comment 113 Jesse Weaver 2015-08-06 20:54:56 UTC
(In reply to Iming Chan from comment #112)
> Just checked out the sandbox of this development, I'm really excited and
> looking forward for it to go live.  Great job for all involved.
> 
> However, I would like to make a couple improvement suggestions:
> 
> 1. Existing interface to Leader, Tag 007 and 008 is better than what's been
> proposed.  You can see all character position elements in one screen with
> corresponding headings.  Whereas the proposed design, you really have to
> know your fixed-length data elements well!

It will, unfortunately, be difficult to impossible to integrate the existing UI, but would a good future enhancement be an expanded version of the current fixed-field widgets? I agree, the current UI is intended mostly for those who have the fixed-field formats deep in their bones.

> 
> 2. Some tags don't use one or both indicators.  It will be nice to prevent
> data entry to one or both indicators when they are not used to a given tag. 
> Perhaps after you have enter a tag number (say 020 for ISBN), press [Tab]
> will take the cursor straight to next position that require data entry (in
> the case of the example above, it will be at "$a" and skipped both Indicator
> 1 & 2).

This could be a lot trickier, as the MARC frameworks in Koha do not contain any information about indicator values/use; we'd have to extend them to include that before adding this functionality to Rancor.
Comment 114 Jesse Weaver 2015-08-07 00:17:30 UTC Comment hidden (obsolete)
Comment 115 Christopher Davis 2015-08-08 18:29:43 UTC
(In reply to Jesse Weaver from comment #73)
> Notes: All settings, including switching between the basic editor and
> Rancor, are saved per-user as local settings. This means they should be
> completely separated by user (though not private). Also, the [@number]
> markings are just an artifact of the software used to prepare this.
> 
> The individual parts of this test plan should be separately testable; please
> test what you can!
> 
> 1. Apply patch.
> 
> *** Part 1 - Navigating to editor
> 2. [@2] Go to the Cataloging section.
> 3. Click on "Advanced editor." This should take you to Rancor with an empty
> record loaded.
> 4. Click on "Settings" -> "Switch to basic editor," then "OK." This should
> switch to the basic editor with an empty record.
> 5. Click on "Switch to advanced editor." This should take you back to Rancor.
> 6. Navigate to a record, and click "Edit" -> "Edit record." This should load
> the record in Rancor.
> 7. Verify that clicking on "(view)" and "(edit items)" go to the correct
> screens for the current record (in a new window).
> 8. Click "Settings" -> "Switch to basic editor," then repeat. This should
> now load in the basic editor. Click "Switch to advanced editor" for the
> following steps.
> 9. Go back to the Cataloging home page.
> 10. Click on "New from Z39.50/SRU," run a Z39.50 search (doesn't matter what
> for) and click "Import." This should open in the basic editor; the old-style
> Z39.50 search interface is separate from that built into Rancor.
> *** Part 2 - Editing records 
> 11. [@11] Return back to a new record in Rancor.
> 12. Verify that the data portion non-control fields (>010) can be freely
> typed into. Typing a dollar sign, alphanumeric and a space should create a
> new subfield. For known MARC subfields, the description of the current field
> (and subfield) should be shown in the status bar at the bottom.
> 13. The data portion of control fields, tag numbers and indicators should be
> editable, but in overwrite mode. If a syntactically incorrect MARC tag is
> entered, the entire line should lose any other highlighting and turn red.
> 14. For known fixed fields (currently only MARC21 leader or 000, 005 and
> 008), the data portion of the field should be displayed as a widget, with
> underlined portions that expand into text fields/dropdowns for the various
> coded parts of the field. These widgets are toggleable in the settings.
> 15. Subfields with authorized values attached to them should also be
> displayed as simple, single-dropdown widgets.
> 16. It should be possible to tab between the tag number, indicators, each
> subfield and each element in a fixed field widget. Typing values for these
> fields should work as expected.
> 17. By pressing Enter anywhere in a field, the cursor should be moved to a
> new field on the next line.
> 18. After typing in the number of a tag, pressing Tab should tab through and
> automatically create the indicator positions.
> 19. By pressing Ctrl-X, the entire field should be deleted.
> 
> *** Part 3 - Record Import/Export
> 20. [@20] By entering text into any of the given fields on the left, a
> search will be run with the given search field and contents (and none of the
> others). Verify that they can be focused with their listed keyboard
> shortcuts.
> 21. Click on the checkboxes next to any of the available search targets to
> enable/disable that target.
> 22. Click on the arrows above any column to resort the results by that
> column. Sorting defaults to title. NOTE: performance of the above will be
> severely degraded if Koha::Cache is not running in memcached/fastmmap mode.
> 23. Click on "View MARC" to show a preview of the record contents, and "Hide
> MARC" to return to the original view.
> 24. Click on "Import", and the record contents should be replaced with that
> of the selected record.
> 25. Click on "Advanced" in the search box on the left.
> 26. Check or uncheck any of the servers to enable/disable them before the
> search. The search query will be ANDed together from any non-empty fields.
> 27. Verify that advanced search behaves similarly to a quick search after
> results are returned.
> 28. Open an existing catalog record in Rancor.
> 29. Perform a search, and verify that "Substitute" copies the record
> contents into the current catalog record, while "Import" starts editing a
> new record.
> 30. Verify that "Save" correctly saves record contents to the catalog.
> 31. Click on the dropdown next to "Save to catalog," then either "Save as
> ISO2709 (.mrc) file" or "Save as MARCXML (.xml) file." Click "Save file" (or
> your browser's equivalent), then verify that the exported record's contents
> are correct.
> 32. Click on "Import record", then any ISO-2709 (.mrc) or MARC-XML (.xml)
> record. The record contents should be loaded.
> 
> *** Part 4 - Settings/Macros
> 33. [@33] The "Settings" menu contains several font configuration options.
> Verify that they all work as expected (some fonts may not exist on your
> system).
> 34. Click on "Macros." This should bring up a screen with no existing macros.
> 35. Click "New macro..." and type in a name for the new macro. It should be
> added to the list on the side.
> 36. The format dropdown exists to allow compatibility with a proprietary
> vendor format; the default of Rancor should be sufficient.
> 37. Type any text into the macro editor, and it should be autosaved after a
> brief delay.
> 38. Hit "Delete macro" to delete this macro.
> 39. Create a new macro, insert some text, wait for it to autosave, then
> reload the page to verify that the macro contents are saved.
> 40. Enter in some test macros, and verify that they work as expected. There
> are a number of possible macro commands, but all are variants of two basic
> forms:
>     - delete TARGET :: Deletes the given TARGET.
>     - TARGET=SOURCE :: Copies the contents of SOURCE into TARGET (spaces
> around the equals sign are not allowed for reasons of ambiguity in fixed
> fields).
> 41. The possible targets are (specific tags/subfields are used, but only as
> examples):
>     - 001 :: The entire contents of a control field (will be created if
> needed).
>     - 245 :: The entire contents of the first 245 field (will be created if
> needed).
>     - new 245 :: The entire contents of a new 245 field, inserted in
> numerical order.
>     - new 245 grouped :: The entire contents of a new 245 field, inserted at
> the end of the 200s.
>     - 245a OR 245a at end :: The contents of the $a subfield of the first
> 245 field (will be created at the end of the field if needed).
>     - 245a after c :: The contents of the 245 $a subfield (will be created
> after the $c subfield if needed).
>     - new 245a OR new 245a at end OR new 245a after c :: The contents of a
> new 245 $a subfield in the given position.
>     - $a :: The contents of the $a subfield of the last mentioned tag.
>     - 245 indicators OR indicators :: Sets both indicators of either the
> first field with the given tag or the last mentioned tag. 
> 42. The possible sources are:
>     - 001 OR 245 :: The entire contents of the first field with the given
> tag.
>     - 245a :: The contents of the first $a subfield of the first 245 field.
> 43. Some example commands:
>     - new 245=$a Charlotte's Web /$c by E.B. White.
>     - delete 245c
>     - 003=ByWater
> 44. Verify that entering a syntactically correct macro and hitting "Run
> macro" closes the macro editor and runs the given macro.

To Whom It May Concern:

In the above test plan, step number fifteen (15) states, "Subfields with authorized values attached to them should also be displayed as simple, single-dropdown widgets." When I proceed through this test plan, I cannot find any single-dropdown widgets in the MARC record which I create, except for those in, for example, MARC field 008. Is the "authorized values" mentioned in step fifteen of the test plan referring to authorized headings/access points or is this term referring to Koha authorized values such as Koha CCODES, location codes, NOT_LOAN codes, etc.? Please help me understand so that I can proceed with signing off this bug.

Thank you,

Christopher Davis, MLS
Systems & E-Services Librarian
Uintah County Library
Comment 116 Christopher Davis 2015-08-11 21:47:41 UTC
Created attachment 41453 [details]
Step 26: Error message when all checkboxes are cleared

I hope this helps :-)
Comment 117 Christopher Davis 2015-08-11 21:50:18 UTC
Please see the 2015-08-11 attachment for an error message which is displayed when all of the check boxes described in step 26 of the test plan are cleared/unchecked.

Christopher Davis
Comment 118 Jesse Weaver 2015-08-13 17:08:23 UTC Comment hidden (obsolete)
Comment 119 Nick Clemens 2015-08-14 19:10:51 UTC
Test plan went well, a couple things I noticed along the way:

MAJOR: Editing  or adding an item deletes all items from the record

MINOR:
1 - Backspacing on indicators or field number is hard to fix (insert mode keeps changing and have to press the button after each insertion)
2 - Letters should not be valid in field number
3 - Spaces (as opposed to underscores) invalidate the field, but it is hard to tell that is the problem.  Could they possibly translate to underscores?
4 - Using delete you can bring another field into the current field, however you can't use enter to return it to the next line.  You should either not be able to pull the line up, or you should have some recourse to return it.
5 - Pressing end on a new blank field moves the cursor in line with the next field and backspacing then deletes the field below
6 - It would be nice to have an apply button when selecting/deselecting search sources.  If you want to make more than one change the waiting between each click is tedious
7 - Ctrl+X to delete a field works nicely, but it doesn't work as 'cut' if text is highlighted. Having the ability to move text between fields would be appreciated if possible
8 - Error message "Missing mandatory subfield $a" when field a is present but empty could say "Mandatory subfield $a is blank"
Comment 120 Christopher Davis 2015-08-19 15:06:11 UTC
Anyone care to reply to comment 115? I think that step 15 of the test plan is referring to Koha authorized values (Home>Administration>Authorized values) and not authorized access points from the authority file. Your thoughts?

Thanks
Comment 121 Christopher Davis 2015-08-19 15:59:53 UTC
Step 29 of the test plan: the "Substitute" link to the right of the results list disappears after the first one or two searches, leaving only "View MARC" and "Import" links.

Also, when viewing the search results within this interface, clicking the "Next>>" buttons located near the top and bottom of this list only works for the first two pages. Thereafter, clicking the "Next>>" buttons simply redisplays the same page (page two) except that the search results of page two fail to display (blank page). One must click on the number button of the next page (e.g. page three) in order to sequentially move through the pages.

FWIW

Christopher
Comment 122 Jesse Weaver 2015-08-19 17:03:37 UTC
(In reply to Christopher Davis from comment #120)
> Anyone care to reply to comment 115? I think that step 15 of the test plan
> is referring to Koha authorized values (Home>Administration>Authorized
> values) and not authorized access points from the authority file. Your
> thoughts?
> 
> Thanks

Apologies, I responded via email out of habit, and forgot that doesn't work with Bugzilla.

Yes, this is referring to the latter (CCODES, locations, etc.). However, the exact same infrastructure is used for item types (942$c), so you can test it that way.
Comment 123 Héctor Eduardo Castro Avalos 2015-08-31 17:10:56 UTC
Good job, Weaver.

I was testing in your sandbox, but i got some issues when typing and trying to delete characters with backspace, sometimes the last word cannot be deleted and sometimes all line cannot be deleted or edited.

1) IMHO, i prefer the MARC Maker style like MARC Edit <http://www.loc.gov/marc/makrbrkr.html>. So you shouldn't take care about the spaces around the subfields, that i think is the problem in previous issue. e.g.
=100  1\$aWeaver, Jesse.
=245  10$aProfessional cataloger's interface /$bby Jesse Weaver.

2) Also some scape character like {dollar}, {ntilde}, {phono} this is when you cannot infer with some accent character, MARCMaker uses this scape characters. They call this Character Mnemonic Strings at <http://www.loc.gov/marc/mnemonics.html> maybe providing a Modal with all those characters.

A cataloger thought

Regards
Comment 124 Héctor Eduardo Castro Avalos 2015-08-31 17:31:44 UTC
(In reply to Héctor Eduardo Castro Avalos from comment #123)

> I was testing in your sandbox, but i got some issues when typing and trying
> to delete characters with backspace, sometimes the last word cannot be
> deleted and sometimes all line cannot be deleted or edited.

Also when typing spanish accents fails e.g. clásicos, when this happens the option Settings->Show fields verbatim fails too.
Comment 125 Jesse Weaver 2015-09-04 00:12:59 UTC Comment hidden (obsolete)
Comment 126 Katrin Fischer 2015-09-04 06:27:44 UTC
Comment on attachment 42373 [details] [review]
Bug 11559: (followup) Prevent saving item tags, fix other issues

I feel like removing the whole 999 in case of MARC21 is too generious - I'd feel better if only the subfields for biblionumber and biblioitemnumber would be removed.
Comment 127 Jesse Weaver 2015-09-04 18:35:34 UTC
(In reply to Katrin Fischer from comment #126)
> Comment on attachment 42373 [details] [review] [review]
> Bug 11559: (followup) Prevent saving item tags, fix other issues
> 
> I feel like removing the whole 999 in case of MARC21 is too generious - I'd
> feel better if only the subfields for biblionumber and biblioitemnumber
> would be removed.

This is how Add/ModBiblio work regardless; I have it remove all of the 999s because _koha_marc_update_bib_ids, the function they both use, assumes there's 0 or 1 and doesn't correctly update any others if there's 2 or more. (That's a bug of its own, but anyway...)
Comment 128 Héctor Eduardo Castro Avalos 2015-09-04 19:53:00 UTC
(In reply to Christopher Davis from comment #120)
> Anyone care to reply to comment 115? I think that step 15 of the test plan
> is referring to Koha authorized values (Home>Administration>Authorized
> values) and not authorized access points from the authority file. Your
> thoughts?
> 
> Thanks

Yep there aren't a modal, pop-up, or, single-dropdown widgets to get authorities linked to bib record.

Maybe when typing $9 or $0, in theory, should appear something to link our authorities in 1XX, 6XX, 7XX, and, 8XX fields

Regards
Comment 129 Katrin Fischer 2015-09-13 10:28:20 UTC
Hi Jesse, which is the branch to start with a code review? rancor-submit?
Comment 130 Jesse Weaver 2015-09-14 16:29:01 UTC
(In reply to Katrin Fischer from comment #129)
> Hi Jesse, which is the branch to start with a code review? rancor-submit?

Glad you asked, I've moved it to bz11559: https://github.com/pianohacker/koha/tree/bz11559
Comment 131 Jonathan Druart 2015-10-02 10:22:20 UTC
I don't understand the current "in discussion" status, back to needs signoff.
Comment 132 Jonathan Druart 2015-10-02 11:27:46 UTC
Quick feedback after some random tests:

1/ +        console.dir( _framework_kohafields );
=> to remove

2/ dependency UUID should be added

3/ Edit/create a record, modify it, click on "New record" (you just missed the Save button), everything is lost.
Should ask for confirmation :)

4/ Search
a. Click on 1 server launch a request, what if you want to select/deselect all? I think it would be better to have a "search" button here, to avoid useless queries.

b. The number of results is different with the same search on cataloguing/z3950_search.pl (5 pages vs 25!)

c. The link is "Import" even if the users search in the local catalogue. Maybe "edit" is more appropriate.

5/ The favicon is missing on cataloguing/editor.pl

6/ I still have issue with mandatory/repeatable field.
From the editor:
  615 _ _ $a [Dropdown list]
  Missing mandatory subfield: $m; Missing mandatory subfield: $n; Missing mandatory subfield: $x

From the (default) framework page:
615   centre d'intérêt  No  No  
2   code du système d'indexation  subfield ignored
3   numéro de la notice d'autorité  subfield ignored
a   catégorie sujet   Tab:1, Not repeatable, Not mandatory, | Auth value:interet
m   subdivision de la catégorie sujet sous forme codée  subfield ignored
n   catégorie sujet sous forme codée  subfield ignored
x   subdivision de la catégorie sujet   subfield ignored

7/ I don't understand why the default framework is used.

8/ Import record, then save.
"Saving" is processing, nothing happen, browser freezes
JS error:
  Error: Script terminated by timeout at: 
  P@http://pro.koha-qa.vm/intranet-tmpl/lib/codemirror/codemirror-compressed.js:11:7546
  [...] some others errors
The record has 50 items.

9/ macro
delete 200 # delete only the first 200, is it expected?
Is there a doc somewhere with the commands available?
Comment 133 Jonathan Druart 2015-10-02 11:29:19 UTC
(In reply to Jonathan Druart from comment #132)
> 6/ I still have issue with mandatory/repeatable field.
> From the editor:
>   615 _ _ $a [Dropdown list]
>   Missing mandatory subfield: $m; Missing mandatory subfield: $n; Missing
> mandatory subfield: $x
> 
> From the (default) framework page:
> 615   centre d'intérêt  No  No  
> 2   code du système d'indexation  subfield ignored
> 3   numéro de la notice d'autorité  subfield ignored
> a   catégorie sujet   Tab:1, Not repeatable, Not mandatory, | Auth
> value:interet
> m   subdivision de la catégorie sujet sous forme codée  subfield ignored
> n   catégorie sujet sous forme codée  subfield ignored
> x   subdivision de la catégorie sujet   subfield ignored

Ok forget this one, the subfield are ignored but marked as mandatory.
Not what we should do in this case.
The checks done on the "normal" edition mode don't look to work correctly.
Comment 134 Jesse Weaver 2015-10-06 20:38:28 UTC
Librarians/catalogers: your feedback is requested below, please!

(In reply to Jonathan Druart from comment #132)
> Quick feedback after some random tests:
> 
> 1/ +        console.dir( _framework_kohafields );
> => to remove
> 
> 2/ dependency UUID should be added
> 
> 3/ Edit/create a record, modify it, click on "New record" (you just missed
> the Save button), everything is lost.
> Should ask for confirmation :)
> 

All easy fixes, will submit a followup.

> 4/ Search
> a. Click on 1 server launch a request, what if you want to select/deselect
> all? I think it would be better to have a "search" button here, to avoid
> useless queries.
> 

My thought was that most searches with a need to specify a set of servers much different from the norm would start on the advanced search screen. This has come up before, though, so I want to ask for input from the librarians/catalogers on this bug.

> b. The number of results is different with the same search on
> cataloguing/z3950_search.pl (5 pages vs 25!)
> 

Could I ask for the search you used?

> c. The link is "Import" even if the users search in the local catalogue.
> Maybe "edit" is more appropriate.
>

That's a reasonable change, will fix.

> 5/ The favicon is missing on cataloguing/editor.pl
> 

Can't replicate, are you sure this isn't a local problem?

> 6/ I still have issue with mandatory/repeatable field.
> From the editor:
>   615 _ _ $a [Dropdown list]
>   Missing mandatory subfield: $m; Missing mandatory subfield: $n; Missing
> mandatory subfield: $x
> 
> From the (default) framework page:
> 615   centre d'intérêt  No  No  
> 2   code du système d'indexation  subfield ignored
> 3   numéro de la notice d'autorité  subfield ignored
> a   catégorie sujet   Tab:1, Not repeatable, Not mandatory, | Auth
> value:interet
> m   subdivision de la catégorie sujet sous forme codée  subfield ignored
> n   catégorie sujet sous forme codée  subfield ignored
> x   subdivision de la catégorie sujet   subfield ignored
>
> 7/ I don't understand why the default framework is used.
> 

The default framework was used in order to not deal with the complexities of switching frameworks after a record was loaded.

> 8/ Import record, then save.
> "Saving" is processing, nothing happen, browser freezes
> JS error:
>   Error: Script terminated by timeout at: 
>  
> P@http://pro.koha-qa.vm/intranet-tmpl/lib/codemirror/codemirror-compressed.
> js:11:7546
>   [...] some others errors
> The record has 50 items.
> 

Could I ask for a play-by-play on this? (What server/search/record/etc.)

> 9/ macro
> delete 200 # delete only the first 200, is it expected?
> Is there a doc somewhere with the commands available?

Will post.
Comment 135 Jesse Weaver 2015-10-06 20:40:10 UTC
(In reply to Jonathan Druart from comment #133)
> (In reply to Jonathan Druart from comment #132)
> > 6/ I still have issue with mandatory/repeatable field.
> > From the editor:
> >   615 _ _ $a [Dropdown list]
> >   Missing mandatory subfield: $m; Missing mandatory subfield: $n; Missing
> > mandatory subfield: $x
> > 
> > From the (default) framework page:
> > 615   centre d'intérêt  No  No  
> > 2   code du système d'indexation  subfield ignored
> > 3   numéro de la notice d'autorité  subfield ignored
> > a   catégorie sujet   Tab:1, Not repeatable, Not mandatory, | Auth
> > value:interet
> > m   subdivision de la catégorie sujet sous forme codée  subfield ignored
> > n   catégorie sujet sous forme codée  subfield ignored
> > x   subdivision de la catégorie sujet   subfield ignored
> 
> Ok forget this one, the subfield are ignored but marked as mandatory.
> Not what we should do in this case.

The UNIMARC framework is very strange; what is the intended effect of an ignored/mandatory subfield?

> The checks done on the "normal" edition mode don't look to work correctly.

What do you mean by this?
Comment 136 Jesse Weaver 2015-10-06 20:42:12 UTC
(In reply to Héctor Eduardo Castro Avalos from comment #128)
> (In reply to Christopher Davis from comment #120)
> > Anyone care to reply to comment 115? I think that step 15 of the test plan
> > is referring to Koha authorized values (Home>Administration>Authorized
> > values) and not authorized access points from the authority file. Your
> > thoughts?
> > 
> > Thanks
> 
> Yep there aren't a modal, pop-up, or, single-dropdown widgets to get
> authorities linked to bib record.
> 
> Maybe when typing $9 or $0, in theory, should appear something to link our
> authorities in 1XX, 6XX, 7XX, and, 8XX fields
> 
> Regards

Authorities will unfortunately not be supported in this version of Rancor, but they will be developed soon and in a future version.
Comment 137 Jesse Weaver 2015-10-06 20:45:47 UTC
Another thing I'd like some cataloger feedback on, if any of you have the chance.

(In reply to Héctor Eduardo Castro Avalos from comment #123)
> Good job, Weaver.
> 
> I was testing in your sandbox, but i got some issues when typing and trying
> to delete characters with backspace, sometimes the last word cannot be
> deleted and sometimes all line cannot be deleted or edited.
> 
> 1) IMHO, i prefer the MARC Maker style like MARC Edit
> <http://www.loc.gov/marc/makrbrkr.html>. So you shouldn't take care about
> the spaces around the subfields, that i think is the problem in previous
> issue. e.g.
> =100  1\$aWeaver, Jesse.
> =245  10$aProfessional cataloger's interface /$bby Jesse Weaver.
> 

I'm contemplating switching wholesale to using the double-cross character (with the shortcut of alt-d). Using the dollar sign introduces a number of problems, and isn't really much more ergonomic (especially as seen above with alternative keyboard layouts).

Thoughts?

> 2) Also some scape character like {dollar}, {ntilde}, {phono} this is when
> you cannot infer with some accent character, MARCMaker uses this scape
> characters. They call this Character Mnemonic Strings at
> <http://www.loc.gov/marc/mnemonics.html> maybe providing a Modal with all
> those characters.
> 

This will not be supported in this version of Rancor, but is planned for development in the near future and will be added in the future.

> A cataloger thought
> 
> Regards
Comment 138 Jonathan Druart 2015-10-08 14:58:32 UTC
(In reply to Jesse Weaver from comment #134)

> > b. The number of results is different with the same search on
> > cataloguing/z3950_search.pl (5 pages vs 25!)
> > 
> 
> Could I ask for the search you used?

title: tintin on the BNF server.

> > 5/ The favicon is missing on cataloguing/editor.pl
> > 
> 
> Can't replicate, are you sure this isn't a local problem?

Actually it's not missing, but it's the OPAC's one (white).
On the intranet side, the favicon is the green one.

> > 6/ I still have issue with mandatory/repeatable field.
> > From the editor:
> >   615 _ _ $a [Dropdown list]
> >   Missing mandatory subfield: $m; Missing mandatory subfield: $n; Missing
> > mandatory subfield: $x
> > 
> > From the (default) framework page:
> > 615   centre d'intérêt  No  No  
> > 2   code du système d'indexation  subfield ignored
> > 3   numéro de la notice d'autorité  subfield ignored
> > a   catégorie sujet   Tab:1, Not repeatable, Not mandatory, | Auth
> > value:interet
> > m   subdivision de la catégorie sujet sous forme codée  subfield ignored
> > n   catégorie sujet sous forme codée  subfield ignored
> > x   subdivision de la catégorie sujet   subfield ignored
> >
> > 7/ I don't understand why the default framework is used.
> > 
> 
> The default framework was used in order to not deal with the complexities of
> switching frameworks after a record was loaded.

And I am sure this will be one of the first demands from users :)

> > 8/ Import record, then save.
> > "Saving" is processing, nothing happen, browser freezes
> > JS error:
> >   Error: Script terminated by timeout at: 
> >  
> > P@http://pro.koha-qa.vm/intranet-tmpl/lib/codemirror/codemirror-compressed.
> > js:11:7546
> >   [...] some others errors
> > The record has 50 items.
> > 
> 
> Could I ask for a play-by-play on this? (What server/search/record/etc.)

I am going to attach the file to this bug report.

(In reply to Jesse Weaver from comment #135)
> > Ok forget this one, the subfield are ignored but marked as mandatory.
> > Not what we should do in this case.
> 
> The UNIMARC framework is very strange; what is the intended effect of an
> ignored/mandatory subfield?
> 
> > The checks done on the "normal" edition mode don't look to work correctly.
> 
> What do you mean by this?

I mean that both edition mode (the "normal"/current and the new editor) don't work similarly.
Given an ignored subfield, if it is marked as mandatory, the normal view won't ask to fill it.
The new editor won't save the record.
I don't know what is the correct behavior.
Comment 139 Jonathan Druart 2015-10-08 14:59:56 UTC
Created attachment 43261 [details]
Importing this record will raise a JS timeout error
Comment 140 Tomás Cohen Arazi 2015-10-14 17:10:56 UTC
I think this is a candidate for 3.22 once it is PQA, and also includes big warning about its experimental status.

My only problem with the current implementation is that I think it should have value builders for fixed lenght. But overall I think it is an interesting tool for some people, and doesn't break Koha.
Comment 141 Nick Clemens 2015-10-15 20:17:38 UTC
I ran through the test plan and all worked as expected.  My previous concerns about item loss have been addressed.  Tested using the sandbox provided by Jesse but happy to officially sign off if needed.

Seeing this move ahead into 3.22 would be great, this bug ticket is becoming a bear to navigate as well and would be nice to see issues addressed on their own bugs.  I think the huge advantage of the tool outweighs the usability issues that production testing will raise

Minor notes:
I get this js error when playing with macros: "modified.toLocaleFormat is not a function" 
Once a macro autosaves it can be run or deleted, but I cannot create another macro (left side of screen is blank).  After deleting I can create a new one.
Additionally, refreshing the page while the macro window is open seems to lock in to the current macro, I can run good commands but cannot delete the macro or create new.
Comment 142 Nicole C. Engard 2015-10-16 13:12:24 UTC
I'll add here, that once this is in 3.22 I can guarantee many many testers and since it doesn't hurt the existing cataloging tool I like the idea of adding it in with an experimental warming.

Nicole
Comment 143 Jesse Weaver 2015-10-16 23:07:08 UTC Comment hidden (obsolete)
Comment 144 Jesse Weaver 2015-10-16 23:16:09 UTC
I've pushed a major update that I think should fix most outstanding issues.

Specific things that weren't fixed:
  * Search results: because the search screen allows on-the-fly resorting, it can only fetch so many records and be reasonably performant. The current cap is 100 records per server.
  * Favicon: I have literally no idea what's going on with this. It only seems to display correctly after a forced reload (Ctrl-Shift-R). Rancor isn't doing anything differently of note.

Also, there's finally proper documentation for the macro language: http://wiki.koha-community.org/wiki/Rancor_Macro_Language
Comment 145 Nick Clemens 2015-10-17 15:05:03 UTC
Major issue:  Saving a record deletes the first character of every subfield (tested on firefox/chrome ubuntu/debian)

Small merge conflict in C4/Installer/PerlDependencies.pm

Other minor issues discovered in testing:
-Ctrl+D when dropdown is selected bookmarks page instead of adding a new field
-Backspace when a dropdown is selected backs browser out of the page, changes lost
-If a subfield is mandatory the containing filed must be mandatory to make sure it is applied
-Cannot delete a subfield with a dropdown
-Ctrl+X does not remove an empty field
-Import record should be optional to overlay or create new
-Import record with curly bracket escaped characters e.g. {uml} breaks formatting
Comment 146 Jesse Weaver 2015-10-19 23:49:06 UTC Comment hidden (obsolete)
Comment 147 Jesse Weaver 2015-10-19 23:49:12 UTC Comment hidden (obsolete)
Comment 148 Jesse Weaver 2015-10-19 23:49:19 UTC Comment hidden (obsolete)
Comment 149 Jesse Weaver 2015-10-19 23:49:27 UTC Comment hidden (obsolete)
Comment 150 Jesse Weaver 2015-10-19 23:49:33 UTC Comment hidden (obsolete)
Comment 151 Jesse Weaver 2015-10-19 23:49:40 UTC Comment hidden (obsolete)
Comment 152 Jesse Weaver 2015-10-19 23:49:50 UTC Comment hidden (obsolete)
Comment 153 Jesse Weaver 2015-10-19 23:49:57 UTC Comment hidden (obsolete)
Comment 154 Jesse Weaver 2015-10-19 23:50:03 UTC Comment hidden (obsolete)
Comment 155 Jesse Weaver 2015-10-19 23:50:14 UTC Comment hidden (obsolete)
Comment 156 Nick Clemens 2015-10-21 22:18:17 UTC Comment hidden (obsolete)
Comment 157 Nick Clemens 2015-10-21 22:18:26 UTC Comment hidden (obsolete)
Comment 158 Nick Clemens 2015-10-21 22:18:35 UTC Comment hidden (obsolete)
Comment 159 Nick Clemens 2015-10-21 22:18:43 UTC Comment hidden (obsolete)
Comment 160 Nick Clemens 2015-10-21 22:18:50 UTC Comment hidden (obsolete)
Comment 161 Nick Clemens 2015-10-21 22:18:58 UTC Comment hidden (obsolete)
Comment 162 Nick Clemens 2015-10-21 22:19:06 UTC Comment hidden (obsolete)
Comment 163 Nick Clemens 2015-10-21 22:19:14 UTC Comment hidden (obsolete)
Comment 164 Nick Clemens 2015-10-21 22:19:22 UTC Comment hidden (obsolete)
Comment 165 Nick Clemens 2015-10-21 22:19:29 UTC Comment hidden (obsolete)
Comment 166 Nick Clemens 2015-10-21 22:34:42 UTC
Have been testing this as much as possible, only small notes this pass:
-Composed characters behavior is better, but they still mess up indicators on import
-Empty field at end doesn't delete with Ctrl+x, however, it does anywhere else and backspace does delete it
-Ctrl+D doesn't add delimiter in macros (must use alt+0135)

Attaching a sample record to show breaking of indicators.
Comment 167 Nick Clemens 2015-10-21 22:36:14 UTC
Created attachment 43713 [details]
Record with composed character that breaks import into rancor

When importing all fields after 518 containing {uml} have mangled indicators
Could be another issue causing it, but that seemed to be the case
Comment 168 Jonathan Druart 2015-10-22 08:59:50 UTC
Jesse, new problem found (sorry):
Search for a term which will return several pages of results, then search for something which will return only 1 page of results.
The pagination buttons are still there.

The problem with the double-cross chars is that it's not directly accessible, except if you now the shortcut. I don't have a strong opinion on it, but would like to get other QAer opinions.
Comment 169 Nicole C. Engard 2015-10-22 16:48:18 UTC
(In reply to Jonathan Druart from comment #168)
> The problem with the double-cross chars is that it's not directly
> accessible, except if you now the shortcut. I don't have a strong opinion on
> it, but would like to get other QAer opinions.

I think having the keyboard shortcuts button right there at the top makes it pretty darn easy. Also I will of course document it in the manual. That's about all we can do if we're not going to use the $ .

Nicole
Comment 170 Nicole C. Engard 2015-10-22 16:48:38 UTC
Created attachment 43772 [details]
shortcuts image
Comment 171 Jesse Weaver 2015-10-22 22:56:48 UTC Comment hidden (obsolete)
Comment 172 Jesse Weaver 2015-10-22 23:09:35 UTC
(In reply to Nick Clemens from comment #167)
> Created attachment 43713 [details]
> Record with composed character that breaks import into rancor
> 
> When importing all fields after 518 containing {uml} have mangled indicators
> Could be another issue causing it, but that seemed to be the case

Ugh... this is a MARC-8 record. I _could_ add support for MARC-8, but it might be a bit ugly at this late hour.

The current behavior (asplode) is non-ideal, so should I:
  a) Display an error when attempting to import MARC-8 records
  b) Add support for MARC-8 _import_
Comment 173 Nick Clemens 2015-10-23 03:01:22 UTC
(In reply to Jesse Weaver from comment #172)

>   a) Display an error when attempting to import MARC-8 records

I think this would be fine, Marcedit can transform from marc-8 in the case of the error so I don't think it should be a huge deal.  I would then file the marc-8 support as a separate bug
Comment 174 Jesse Weaver 2015-10-23 17:07:00 UTC Comment hidden (obsolete)
Comment 175 Bob Geoghegan 2015-10-23 18:16:48 UTC
(In reply to Jesse Weaver from comment #174)
> Created attachment 43883 [details] [review] [review]
> Bug 11559: (QA followup) detect and warn about corruption caused by MARC-8

To clarify: does this apply to all MARC-8 records or just certain records or characters in MARC-8?
Comment 176 Jesse Weaver 2015-10-23 18:34:32 UTC
(In reply to Bob Geoghegan from comment #175)
> (In reply to Jesse Weaver from comment #174)
> > Created attachment 43883 [details] [review] [review] [review]
> > Bug 11559: (QA followup) detect and warn about corruption caused by MARC-8
> 
> To clarify: does this apply to all MARC-8 records or just certain records or
> characters in MARC-8?

The corruption (and subsequent warning) occur only if a single record opened directly from a file contains MARC-8 special characters that cause the internal ISO 2709 parsing logic to fail. Note that records that are imported into the Koha catalog or import batches, or loaded from a Z39-50 search result, will be automatically converted from MARC-8 to UTF-8, so loading a single record from a file is the only case where this fails. This is because this is really the only case where ISO-2709-formatted records are decoded within Rancor itself.
Comment 177 Katrin Fischer 2015-10-25 23:15:37 UTC
Some late (sorry!) first notes on this:

1) Please check with the QA script, it's noting several problems.
 FAIL	koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/editor.tt
   FAIL	  forbidden patterns
		forbidden pattern: intranet-tmpl should certainly replaced with [% interface %] (line 6)
 FAIL	koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-ui.inc
   FAIL	  forbidden patterns
		forbidden pattern: tab char (line 48)
		forbidden pattern: tab char (line 52)
		forbidden pattern: tab char (line 43)
		forbidden pattern: intranet-tmpl should certainly replaced with [% interface %] (line 1)
		forbidden pattern: tab char (line 45)
		forbidden pattern: intranet-tmpl should certainly replaced with [% interface %] (line 7)
		forbidden pattern: tab char (line 50)
		forbidden pattern: intranet-tmpl should certainly replaced with [% interface %] (line 3)
		forbidden pattern: intranet-tmpl should certainly replaced with [% interface %] (line 4)
		forbidden pattern: tab char (line 47)
		forbidden pattern: intranet-tmpl should certainly replaced with [% interface %] (line 2)
		forbidden pattern: tab char (line 49)
		forbidden pattern: tab char (line 46)
		forbidden pattern: tab char (line 44)
		forbidden pattern: tab char (line 51)
 FAIL	cataloguing/editor.pl
   FAIL	  forbidden patterns
		forbidden pattern: Koha is now under the GPLv3 license (line 9)
... and also some problems with tabs.

2) Please add the newly added Javascript libraries with their license to the listing on the about page. I saw:
  codemirror-compressed.js 
  filesaver.js
  require.js

3) Pretty please: Resort in a logical way - for now copying the old sequence would be nice. Alphabetic sorting doesn't work in I18N environments and it's not very practical - author and title being far apart
Also... current sorting is not even alphabetical (publication date) :)
Comment 178 Jesse Weaver 2015-10-26 01:37:09 UTC Comment hidden (obsolete)
Comment 179 Nicole Engard (ByWater) 2015-10-26 02:11:18 UTC
Great job Jesse and Katrin! Three years in the making - let's get this in to 3.22 for production testing!!
Comment 180 Katrin Fischer 2015-10-26 07:06:32 UTC
Hi Jesse,

thx for the follow-up!

I tried to use the macro editor but I am having problems with the indicators. I used the example from the wiki and switched out the subfield indicator:

new 500=_ _ ‡a Edited with Rancor
This creates the field with 4 indicators (guess the wiki is wrong :))

Next try:
new 500a=Edited with Rancor
indicators=1_

I deleted the field again and tried to rerun the macro with a change, but now nothing happens whenever I run it. :(
Comment 181 Katrin Fischer 2015-10-26 07:10:39 UTC
Hm, not sure that comment made sense, so trying again:
- Tried example from the wiki - didn't quite work
- Read further and changed it, kinda worked
- Tried to repeat... broke the macro editor... now it won't do anything for me :(
- Tried shift reload and reopening the page etc... still not working

What's peep under settings?
Comment 182 Jesse Weaver 2015-10-26 20:51:20 UTC Comment hidden (obsolete)
Comment 183 Jesse Weaver 2015-10-26 21:12:40 UTC Comment hidden (obsolete)
Comment 184 Katrin Fischer 2015-10-26 21:29:29 UTC
Created attachment 44022 [details] [review]
[PASSED QA] Bug 11559: Supporting changes for Rancor

  * Extends login screen to pass along #hash
  * Adds JSONP support to C4::Service
  * Extends humanmsg to allow per-message classes
  * Adds proper charset to results of svc/bib

Test plan:

  1. C4/Auth.pm and .../intranet/.../auth.tt: verify that login/usage
     works as expected, despite the change to pass on the fragment (...#blah)
     from the URL.
  2. C4/Service.pm and humanmsg.js: verify that editing system
     preferences (the main user of these modules) works correctly despite
     updates.
  3. svc/bib: verify that records can be correctly downloaded with the
     change of character set. This can be done in a Firebug/Chrome Devtools
     console by running `$.get('/cgi-bin/koha/svc/bib/1')` and inspecting the
     results (possibly replacing 1 with a different valid biblionumber).

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 185 Katrin Fischer 2015-10-26 21:29:38 UTC
Created attachment 44023 [details] [review]
[PASSED QA] Bug 11559: New libraries for Rancor

Adds the following JS libraries:

  * CodeMirror - extensible text editor
  * FileSaver - shim for saving files
  * require - dependency resolver and module loader

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 186 Katrin Fischer 2015-10-26 21:29:48 UTC
Created attachment 44024 [details] [review]
[PASSED QA] Bug 11559: Rancor: advanced cataloging interface

Full test plan is posted on bug. Test plan for system preference:

  1. Apply patch, clear cookies.
  2. Go to "Cataloging."
  3. Add new record, verify that basic editor is used.
  4. Navigate to existing record, click on "Edit record", verify that
     basic editor is used.
  5. Inside basic editor, verify that no button appears to switch to the
     advanced editor.
  6. Enable the "EnableAdvancedCatalogingEditor" syspref.
  7. Repeat above steps, should still go to basic editor, but button
     should appear to switch to the advanced editor; click it.
  8. Now, adding new records and editing existing records should go to
     the advanced editor.

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 187 Katrin Fischer 2015-10-26 21:29:54 UTC
Created attachment 44025 [details] [review]
[PASSED QA] Bug 11559: (followup) Fix keyboard control bugs, make labels clickable

This fixes the following issues:
    * Labels of search server checkboxes cannot be clicked
    * Quick search fields cannot be focused
    * Search results cannot be scrolled with a keyboard

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 188 Katrin Fischer 2015-10-26 21:30:01 UTC
Created attachment 44026 [details] [review]
[PASSED QA] Bug 11559: (followup) Fill in default values, fix redirect and UNIMARC

This fixes the following issues:
    * Help for UNIMARC tags broken
    * MARC21 resources loaded when in UNIMARC
    * Clicking on "advanced editor" in basic editor fails
    * Shift-Tab goes to the beginning of a fixed-field widget rather
      than the end

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 189 Katrin Fischer 2015-10-26 21:30:08 UTC
Created attachment 44027 [details] [review]
[PASSED QA] Bug 11559: (followup) Fix import bugs, display/parsing issues

This fixes the following issues:
  * ISO2709 import fails for Unicode
  * Import only works with .mrc/.xml extensions
  * MARC21 widgets not translatable
  * Macro UI broken
  * Uppercase subfield codes forbidden
  * Tag with no valid subfields shows as error but tries to save

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 190 Katrin Fischer 2015-10-26 21:30:14 UTC
Created attachment 44028 [details] [review]
[PASSED QA] Bug 11559: (followup) Fix error when all servers are deselected

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 191 Katrin Fischer 2015-10-26 21:30:21 UTC
Created attachment 44029 [details] [review]
[PASSED QA] Bug 11559: (followup) Prevent saving item tags, fix other issues

This fixes the following issues:
  * Spaces are now allowed in indicators
  * Shift-Enter is available to insert a newline if needed
  * Item tags, if present, will prevent saving (as they are not correctly
    processed by the backend)
  * biblionumber tags (999 in MARC21) will be stripped before the record
    is saved to Koha, to prevent their modification

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 192 Katrin Fischer 2015-10-26 21:30:28 UTC
Created attachment 44030 [details] [review]
[PASSED QA] Bug 11559: (QA followup) switch to new delimiter, fix minor issues

This followup introduces a major change; instead of subfields starting
with '$<code><space>', they now start with '‡<code>'. The double-cross
character can be typed with Ctrl-D.

It also fixes the following:
  * Add UUID.pm dependency
  * Remove debugging call
  * Fix toLocaleFormat error reported by Nick Clemens
  * Ignore subfields that are marked as unrepeatable/mandatory AND
    ignored (tab is -1)
  * Mention lack of support for UNIMARC/NORMARC fixed fields in system
    preferences screen
  * Confirm when user creates new record and current record is modified
  * Perform better when importing gigantic record dump
  * Show "Edit" instead of "Import" and allow direct editing for local
    catalog records in search screen
  * Add "Keyboard shortcuts" help button to toolbar

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 193 Katrin Fischer 2015-10-26 21:30:35 UTC
Created attachment 44031 [details] [review]
[PASSED QA] Bug 11559: (followup) fix first-character deletion, small usability issues

This should fix the first-character deletion bug reported by Nick, and also:

  * Fix subfield deletion
  * Attempted fix for special keys on dropdowns
  * Allow deleting empty fields
  * Fix bug with composed characters

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 194 Katrin Fischer 2015-10-26 21:30:42 UTC
Created attachment 44032 [details] [review]
[PASSED QA] Bug 11559: (QA followup) fix pagination bar, add Ctrl-D to macro editor

Also, fix incredibly silly mistake with keyboard shortcuts popup.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 195 Katrin Fischer 2015-10-26 21:30:49 UTC
Created attachment 44033 [details] [review]
[PASSED QA] Bug 11559: (QA followup) detect and warn about corruption caused by MARC-8

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 196 Katrin Fischer 2015-10-26 21:30:55 UTC
Created attachment 44034 [details] [review]
[PASSED QA] Bug 11559: (QA followup) fix QA issues

This fixes the following:
  * License of editor.pl
  * Remove tabs
  * Use [% interface %]
  * Re-order search fields like the old interface
  * Add license information for new libraries

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 197 Katrin Fischer 2015-10-26 21:31:02 UTC
Created attachment 44035 [details] [review]
[PASSED QA] Bug 11559: (QA followup) replace font choices, fix macro editor

More specifically:
  * Use monospace font options that are more widely installed
  * Don't allow entering macros until the user loads/creates a macro

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 198 Katrin Fischer 2015-10-26 21:31:08 UTC
Created attachment 44036 [details] [review]
[PASSED QA] Bug 11559: (QA followup) fix several small issues

This fixes the following:
  * Remove unneeded year on use Modern::Perl
  * Fix occasional freeze when reloading existing record
  * Fix encoding for returned record on first save to catalog

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 199 Tomás Cohen Arazi 2015-10-27 15:54:15 UTC
Feature pushed to master.

Thanks Jesse and everyone testing!