Time Nick Message 11:00 pierrick personnellement, je veux que les touches sur lesquelles je tapent correspondent à des caractères, pas à une suite binaire représentant le caractère 11:00 hdl Ce qui pose des problèmes avec des noms de dossiers avec accent. 11:00 hdl Difficile de dire cela correspond à des caractères. Tout dépend du système dans lequel tu te bases ;) 11:01 hdl En utf-8, les accents iso8859-1 sont représentés par des ? 11:01 hdl En iso8859-1, les caractères accentués par deux caractères accolés. 11:02 hdl Bref, c'est un peu la zone si on mélange tous les caractères de différents type. 11:02 pierrick oui, parce que la représentation binaire en UTF-8 des caractères accentués du charset latin-1 non ascii ne sont pas représentés binairement de la même façon en UTF-8 11:03 hdl D'où l'idée d'avoir l'UTF-8 ou l'UNICODE pour pouvoir un peu unifier tout cela et ne pas se prendre les pieds dans le tapis avec l'arabe ou l'hébreu. 11:03 pierrick UTF-8 et ISO-8859-1(5) sont des encoding 11:03 pierrick latin-1 et unicode sont des charsets 11:03 pierrick (même si très souvent les 2 notions sont confondues) 11:03 paul bon, toujours est il que j'ai repris koha-head, dans lequel j'ai : 11:03 paul $dbh->do("set NAMES 'utf8'"); 11:03 paul $dbh->do("SET character_set_client= utf8"); # mysql should READ utf8 FROM us 11:03 paul $dbh->do("SET character_set_connection= utf8");# Mysql should speak utf8 TO us 11:03 paul $dbh->do("SET character_set_results= utf8");# Mysql should speak utf8 TO us 11:04 paul avec la table branhces qui est en unicode_general_ci 11:04 pierrick paul: si je lis la doc, seule la première instruction est utile 11:04 paul et lorsque je modifie le libellé ca marche po 11:04 paul je récupère pas mon coeur 11:04 pierrick via formulaire web, ça ne marche pas ? 11:04 paul mais : â?? 11:04 paul yep 11:05 pierrick ta page s'affiche bien en UTF-8 ? 11:05 paul firefox >> affichage >> encodage des caractères >> utf8 11:06 paul et si je mets un accent, je récupère : é au lieu de é 11:06 pierrick dans le formulaire de saisie, il faut essayer d'ajouter 'accept-charset="utf-8"' 11:08 pierrick select length(branchname) from branches; 11:08 pierrick select charset(branchnam) from branches; 11:10 paul pierrick : pas compris 11:11 pierrick <form action="..." method="..." accept-charset="utf-8"> 11:12 pierrick en plus du <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 11:14 pierrick osmoze: utf-8 est une méthode de représentation binaire des caractères. C'est ce qu'on appelle un encoding. Cet encoding permet de représenter le character set "unicode" qui est un sur-ensemble de tous les jeux de caractères du monde et de la galaxie. Bref, avec utf-8, on peut représenter tous les caractères de toutes les langues. Adieu les problèmes de conversion, toutes les applications écrivent leurs données textuelles de la même façon. 11:15 paul le accept-charset ne change rien. 11:15 osmoze ok ok, merci pierrick :) 11:16 pierrick osmoze: sur le même document, il est alors possible d'écrire une information en français, une autre en russe et une dernière en klingon 11:16 osmoze alors ( comme paul) pourquoi en utf8 les accens sont mal mis ? 11:19 paul osmoze : parce qu'en utf8 les accents ne sont pas au même "endroit" en utf8 et en iso8859-1 11:19 osmoze ok 11:19 paul seuls les 127 premiers caractères sont universels 11:20 paul (en utf8 à la même place qu'en win252 ou en EDBIC) 11:20 paul encore un coup des américains ;-) 11:20 kados hi all 11:21 pierrick paul: pas tout à fait universel les 127 premiers... en fait, il existent un tas d'encodings pour l'unicode, et si l'utf-8 tire son épingle du jeu, c'est notamment parce que la représentation binaire des 127 premiers caractères ASCII est la même qu'en ASCII 11:21 pierrick hi kados 11:21 pierrick paul: j'ai fait mon test et l'insertion d'UTF-8 via formulaire marche impec 11:21 paul grr... 11:21 paul et pourquoi chez moi ca marche po... 11:22 paul what is select length(branchname) from branches; ? 11:22 paul select charset(branchnam) from branches; ? 11:22 pierrick paul: you didn't show me the result of this query 11:23 pierrick length calculates the... length of your data 11:23 pierrick if it is stored as latin1, the length will be different than if it was stored in utf-8 11:23 pierrick I propose you to enter "périodique" 11:24 paul charset(..) : utf8 11:24 pierrick I'll tell you the length on my installation 11:24 paul length is 3 11:24 paul (just HEAVY BLACK HEART) 11:24 paul it's what is expected isn't it ? 11:26 pierrick sorry but I also have the problem with branch form 11:26 pierrick but not with marc biblio categories 11:26 pierrick (biblio framework) 11:27 pierrick why on earth do we reach the "add a branch" form after a form submission ? 11:27 paul updating cvs head. 11:28 paul I have the problem with biblio_framework.pl as well 11:28 pierrick :-/ 11:28 pierrick OK, one more try (let me find the code in my archives) 11:29 paul it's the CVS one for me. 11:30 pierrick header('Content-Type: text/html; charset=utf-8'); 11:30 pierrick this is PHP code, I don't know the Perl equivalent 11:32 paul head/C4/Interface/CGI/Output.pm 11:32 paul line 97 11:32 paul i've added 11:33 paul -charset => 'utf-8', without any change 11:34 pierrick OK, and you say it doesn't change anything ? 11:35 paul yep 11:35 pierrick set names UTF8 is commented on my HEAD, you uncommented it (to be sure) 11:36 paul yes, it's uncommented 11:36 pierrick show me you "set names" line please 11:36 paul $dbh->do("set NAMES 'utf8'"); 11:37 paul (the square being a tab) 11:37 pierrick $dbh->do("SET NAMES 'UTF8'"); 11:38 paul same thing (not smiling) 11:38 pierrick :-/ 11:38 pierrick I had read case was important for "set names" 11:39 pierrick I made it work on 2.2, not on HEAD, maybe it doesn't work for me neither 11:40 pierrick (but my HEAD is not working at all) 11:42 paul your head is not working at all ? too bad... go to see a doctor, quickly 11:43 pierrick :-) 11:44 pierrick In my 2.2, the exact line is... 11:45 pierrick $dbh->do('SET NAMES \'UTF8\';'); 11:45 paul the \' is to escape ' as you've used them as separator 11:45 pierrick does the "set names" line change anything in your HEAD ? 11:45 pierrick paul: yes, I know why I use \ 11:46 pierrick but the difference is the ";" 11:46 paul no change 11:49 pierrick mysql> show create table biblio_framework; 12:04 pierrick paul ? 12:04 paul yep 12:05 pierrick did you see my request to show create table ? 12:05 paul no, I missed it 12:07 paul CREATE TABLE `biblio_framework` (\n `frameworkcode` char(4) NOT NULL default '',\n `frameworktext` char(255) NOT NULL default '',\n PRIMARY KEY (`frameworkcode`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8 12:07 pierrick the only difference with me is the Engine 12:08 pierrick I'm going to modify it to InnoDB on my 2.2 12:10 pierrick it works with InnoDB as well 12:12 paul sh....t 12:14 pierrick (while I try to make my HEAD work, can you test on a 2.2 box ?) 12:14 paul yep, i'll give it a try asap 12:30 paul pierrick : what is your prefered mailbox now ? 12:30 pierrick koha related or INEO related ? 12:34 paul anyone 12:34 paul your preffered one. 12:36 pierrick pierrick^koha-fr.org 12:36 pierrick s{\^}{@} 12:46 pierrick paul: with HEAD, I also have problems, that I don't have with 2.2 12:48 pierrick paul: with UTF8 data inserted via terminal or via web form 12:49 paul quite a good new. 12:51 pierrick yes, good news 12:51 pierrick I have to find what changed from 2.2 to HEAD 12:51 paul (yep. 12:54 paul pierrick : 12:54 paul if I'm not missing something, here is what I magde on head 12:56 paul * change start of templates to add utf-8 (includes directory, XXX-top) 12:56 paul * add set names=utf8 in Context.pm, when opening the database 12:56 paul * move the database to unicode_ci (updater/updatedatabase) 12:56 paul unless i'm missing something, that's all. 12:57 pierrick OK, if that's the only modifications, I have to concentrate on template headers 13:17 kados thd: are you around? 13:22 thd kados: yes I am here 13:23 kados thd: how far through re-checking the new framework are you? 13:25 thd kados: not very far rechecking as I am still fiddling with the seealso value etc. but I was offering last night to send you something that you could start to use. 13:26 thd kados: last night I added the very friendly comments so that you can understand how to make any minor needed modifications. 13:27 kados do you think it's ready to start using in a production environment? 13:28 thd kados: If you follow my friendly comments you should be able to even use this on an existing system as opposed to a new install. 13:30 thd kados: I would not stake my life on it but I see no significant problems except for not enough or hardly any not managed in Koha -1 or 11 tab values yet. 13:32 thd kados: It can be updated very easily so that revisions that I will have until the end of the week when I ought to begin working on the cataloguing job should be very easily applied. 13:33 kados excellent 13:33 kados yea, send it my way 13:34 thd kados: I think it is suitable for use now except for to many subfields in the record editor. 13:34 thd s/to/too/ 13:35 paul kados / thd : for long frameworks, I think we could add a new minor feature : 13:35 paul when adding/ modifying a record, in the marc editor, hide (through css) fields that are not mandatory or with a subfield containing sometihng 13:36 kados paul: could we use the 'hidden' feature in the current frameworks to do this, it seems to do nothing currently 13:36 kados paul: (does nothing in the MARC editor I mean) 13:36 paul no, the hidden feature means "hide in OPAC", not in marc editor 13:37 kados I see 13:37 kados too bad :/ 13:37 kados maybe it could be a binary number? 13:38 kados 1 => hide in OPAC 11 => hide in OPAC AND hide in MARC Editor 13:38 kados paul: what do you think? 13:38 paul why not. But it would be less clear 13:38 paul (+ i'm afraid hidden is an int(1)) 13:38 thd paul: If you may have read the logs I had proposed an additional column or columns to control what might be hidden but accessible, except displayed if a value is present in an existing record. 13:38 paul (but we could say 1 & 2 !) 13:39 paul sorry thd, I'm really overbooked this month 13:39 paul (and next month won't be better...) 13:39 kados ok, so maybe 1 & 2 is our solution for now 13:40 kados thd: do you understand this? 13:40 thd paul: what would happen if managed in tab were set to 11? 13:40 paul I think it will be ignored, as 1-10 is hardcoded. 13:41 paul but it could easily be extended to 1-20 if needed ! 13:42 thd paul by 1 & 2 do you mean changing the code so that 1 and 2 hides in the OPAC while only 2 hides in the editor? 13:42 paul yes, something like that. 13:45 thd kados: I like the idea of tabs 0-20 if that is easy to change before fixing it in the right way for correctly ordering the fields and hidden but accessible unless occupied. 13:47 kados thd: the hidden trick should be very easy to do 13:47 kados thd: I will work on that right now 13:47 thd kados: Which hidden trick? 13:47 kados thd: set 'hidden' to '2' to hide in the MARC editor 13:48 thd kados: you mean 1 & 2? 13:48 kados thd: yes 13:48 thd what you said 13:51 thd kados: we should have more values for future improvement. Allow values greater than 2 and I will think about how they might be used after I have had proper rest again tomorrow. 13:52 thd kados: also what about unhiding for the editor if a value is present. How easy is it to test for a value at that point in the code? 13:55 kados thd: there is no 'hidden' flag currently for tags right? 13:55 thd kados: I do not mean that we should unhide the real record ID set to -1 tab until viewing without editing protects the user from accidentally ruining the record ID. 13:55 kados thd: http://koha.liblime.com/cgi-bin/koha/acqui.simple/addbiblio.pl 13:55 thd kados: -1 is hidden for tabs. 13:56 kados thd: I have set addbiblio to 'hide' all the 0XX fields 13:56 kados thd: just as a test 13:57 paul how can we make them appear ? 13:57 kados paul: just use javascript 13:57 thd kados you asked about tags and I answered about tabs. No most of the settings are tied to the subfields only. Obviously that is an area for future improvement. 13:57 paul it's done or not ? 13:57 kados paul: it is quite simple, I'll try to whip up a demo 13:57 kados paul: not yet :-) 13:58 kados give me about 10 minutes 13:58 paul ah, ok, I thought I was missing something ! 14:10 thd kados: please allow values of 2 or greater to hide for the record editor so that in future 3 may hide only if empty, 4 may hide unless some yet to be created column is true, etc. I want to be able to use higher numbers now without breaking anything. 14:10 kados thd: ok 14:13 thd kados: is the only if empty trivial to implement now? 14:17 kados thd: it might be 14:18 thd kados: I might set the values differently initially if that were working. 14:29 kados ok ... I've got the demo working 14:29 kados try it out on the leader 14:30 kados it will be hidden, but if you click on the up arrow it will appear 14:30 kados thd: http://koha.liblime.com/cgi-bin/koha/acqui.simple/addbiblio.pl 14:31 kados (obviously it needs some refinement, but it's a start :-)) 14:32 kados thd: did it work for you? 14:33 thd kados: that is hidden but accessible which is even better but what about hidden unless a empty or null? 14:33 kados hehe 14:33 kados yea, I think I can swing that 14:33 kados thd: but currently, the value will not be lost 14:34 kados thd: even though it's not visible 14:34 paul nice feature joshua. 14:34 kados thd: so I think it's ok for now 14:34 kados thd: I'll commit it immediately 14:36 thd kados: also, is hidden but accessable currently taking the same amount of space even if there was less distraction or fewer tab keys needed to navigate. I could not tell because there was only one subfield. 14:38 kados thd: good question 14:38 paul_away bye bye everybody 14:38 kados thd: give me an example of a tag that needs hidden and visible subfields and I'll set up my framework accordingly so you can test 14:39 thd bye bye paul_away 14:39 kados paul_away: bye paul 14:39 thd kados: the best examples are not even in your framework :) 14:40 kados right :-) 14:40 thd kados: do you have 013 patent number? 14:40 kados thd: how long will it take you to set the visibility flag on your framework? 14:41 kados no I don't think so 14:41 kados but I can add it real quick 14:42 thd kados: that may not be the most appropriate field to your previous question. 14:42 kados thd: what subfields are there and which should be hidden? 14:43 thd kados: that is a field that should be hidden but accessible for non-book language materials although I have only the uber-framework. 14:44 thd for 013 14:44 kados right now I can only hide subfields within a tag 14:44 kados not the tag itself 14:46 thd INSERT INTO `marc_subfield_structure` VALUES ('013', '6', 'Linkage', 'Linkage', 0, 0, '', 0, '', '', NULL, 0, 0, '', '', ''); 14:46 thd INSERT INTO `marc_subfield_structure` VALUES ('013', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 0, '', '', '', 0, 0, '', '', ''); 14:46 thd INSERT INTO `marc_subfield_structure` VALUES ('013', 'a', 'Number', 'Number', 0, 0, '', 0, '', '', '', 0, 0, '', '', ''); 14:46 thd INSERT INTO `marc_subfield_structure` VALUES ('013', 'b', 'Country', 'Country', 0, 0, '', 0, '', '', '', 0, 0, '', '', ''); 14:46 thd INSERT INTO `marc_subfield_structure` VALUES ('013', 'c', 'Type of number', 'Type of number', 0, 0, '', 0, '', '', '', 0, 0, '', '', ''); 14:46 thd INSERT INTO `marc_subfield_structure` VALUES ('013', 'd', 'Date', 'Date', 1, 0, '', 0, '', '', '', 0, 0, '', '', ''); 14:46 thd INSERT INTO `marc_subfield_structure` VALUES ('013', 'e', 'Status', 'Status', 1, 0, '', 0, '', '', '', 0, 0, '', '', ''); 14:46 thd INSERT INTO `marc_subfield_structure` VALUES ('013', 'f', 'Party to document', 'Party to document', 1, 0, '', 0, '', '', '', 0, 0, '', '', ''); 14:47 kados hidden isn't set to '2' 14:47 thd kados: no hidden is not set to anything yet :) 14:48 thd kados: change the last 0 in each to 2 14:49 thd INSERT INTO `marc_tag_structure` VALUES ('013', 'PATENT CONTROL INFORMATION', 'PATENT CONTROL INFORMATION', 1, 0, '', ''); 14:52 kados done 14:52 kados hehe 14:52 kados well, it's a start at least :-) 14:54 kados thd: whatdya think? 14:55 kados I bet owen could make it look real nice :-) 14:55 owen Hunh? Wha? 14:55 kados owen: http://koha.liblime.com/cgi-bin/koha/acqui.simple/addbiblio.pl 14:55 kados owen: scroll down to the 013 tag 14:56 kados owen: the subfields are hidden 14:56 thd kados: I like it. I am happy. 14:56 kados owen: if you click on the up-arrow they will appear 14:56 kados thd: good :-) 14:56 kados thd: if you're happy, I'm happy :-) 14:56 kados thd: I'll commit it immediately 14:57 thd kados: there are still too many subfields needing hidden if not empty. 14:58 kados thd: that should be quite simple as well 14:58 kados thd: we need a way to flag those 14:59 kados thd: how about this 14:59 kados if it is empty and should be hidden we set it to '3' 14:59 kados wait ... 14:59 kados scratch that 14:59 thd kados: hidden 3 yes 15:00 kados so how many cases are we talking about here? 15:01 kados sometimes a subfield should always be hidden 15:01 kados sometimes it should only be hidden if it's empty 15:01 kados any other cases? 15:01 thd kados: if I was not woken early this morning by a phone call I would know :) 15:01 kados heh 15:02 kados thd: I committed what has been done 15:03 thd kados: there would also be other cases that do not need to be addressed at this moment for hidden unless some other column is true. 15:03 kados owen: we could probably use a little graphical 'plus' sign instead of the up-arrow 15:03 kados owen: if you have any other ideas for making it look nicer feel free to hack on it :-) 15:04 kados thd: is it safe to say that we can use '2' in the MARC framework you're working on currently? 15:05 kados thd: also, how long will it take you to change that for the appropriate fields? 15:05 thd kados: Examples of hidden unless something else is true would include fiends that apply only in Canada, or only for OCLC users. 15:05 kados right 15:05 thd s/fields/fields/ 15:06 kados I think what we have will suffice for now 15:06 kados unless you disagree 15:06 kados (are you happpy? ) :-) 15:06 thd kados: we can use 2 all over the framework :) 15:06 kados great! 15:06 kados thd: how about this 15:06 kados just for clarity, you can set '2' for hidden 15:07 kados and '3' for obsolete 15:07 thd kados: what about hidden completely if empty? 15:07 kados the current template will hide anything >=2 15:07 kados thd: hidden completely? 15:08 thd kados: well hidden and not even loaded into JavaScript unless there is a value present for obsolete fields. 15:09 kados that's too complicated 15:09 kados for now 15:09 kados but if you set them to 3 we may be able to work with that in the future 15:09 thd kados: There are a fair number of obsolete subfields. A significant problem is the size of the JavaScript. 15:10 kados thd: the visibility flag is set in the template, not in the javascript 15:10 kados thd: ie, it comes out as invisible 15:10 kados thd: javascript just makes it visible again 15:11 kados thd: how long will it take you to set the visibility flag for the framework? 15:11 thd kados: yes what I mean is the system resources required to load unneeded parts of the framework into memory on the cataloguer\x{015b} machine. 15:12 thd s/cataloguer\x{015b}/cataloguer's/ 15:16 thd kados: Merely hiding a field that is accessible still requires loading it. Obsolete fields might not even require loading if empty. 15:16 kados thd: true, but that is very hard for me to do right now 15:17 kados thd: subfield repeatability and reordering is more important 15:17 kados thd: so first I'll do those, then the obsolete fields stuff 15:18 kados thd: right now I'm fixing the marc_subfields_structure.pl so that you can set 'hidden' to 2 (rather than just a checkbox) 15:18 thd kados: My system does not have enough RAM to manage the complete framework well when opening a record in the editor. 15:20 thd kados: My system would be totally unacceptable for cataloguing but other systems would be likely to seem slow. 15:21 thd kados sends thd more RAM and the problem goes away :) 15:21 kados hehe 15:22 kados yea, I can definitely see that being a problem 15:22 kados the form is potentially HUGE 15:22 kados :-) 15:22 kados (the editor form I mean 15:23 thd about 3,600 subfields 15:23 thd about 300 fields 15:25 thd some like 880 are just all the possible subfields so that you can use whatever is needed from the referenced field 15:26 thd closer to 350 fields 15:30 kados wow 15:30 kados that's a lot of fields :-) 15:31 kados ok ... now the marc_subfields_structure.pl script allows you to fill with values rather than just a checkbox 15:32 thd kados: only 3 times larger than what Koha had previously but then most everything was set to tab -1 15:32 kados right 15:32 kados thd: can you send me what you have currently? 15:33 kados I've got a client waiting to go live (with no previous data) 15:33 thd kados: yes I will just validate the last changes so that I know it will at least load for you 15:33 kados thanks 15:56 kados thd: i didn't get an attachment :-) 15:57 thd kados: you did this time 15:57 kados right, got it 15:57 kados thd: what's the proper way to import this? 15:58 kados ENGINE=MyISAM DEFAULT CHARSET=utf8; 15:58 kados not sure that's gonna work for me ... 15:58 kados (I'm nervous about it at least :-)) 15:58 thd kados: just pass it through MySQL 15:59 thd kados: but first dump those two tables 15:59 kados right 16:00 thd kados: you can change the character set to whatever you have now. You should supply something that matches your existing database where indicated. 16:01 thd kados: look for APPLY ME 16:02 thd kados: look for ADJUST ME 16:02 kados heh ... it's gonna crash my browser :-) 16:02 thd kados: you concluded that already 16:03 kados wow ... took about 45 seconds to load the page 16:03 thd kados needs more RAM too 16:03 kados hehe, yea :-) 16:03 kados also, I get an 'unresponsive script' message 16:04 kados I'm assuming that's because of owen's handy little 'please wait while page loads' javascript popup 16:04 thd kados: It took me much longer than 45 seconds of course. I was swapping to disk. 16:04 owen The 'please wait' message is designed to keep you from trying to press javascript-dependent buttons before the page (and the javascript) has fully loaded 16:05 thd kados: I did not see unresponsive script 16:05 thd kados: I have not updated since my last commit. 16:06 kados I think it's a mozilla message 16:06 thd s/my/your/ 16:07 kados thd: in the 9XX tab 16:07 kados I see some very strange tags 16:07 kados u02 for instance 16:07 kados and 95r 16:07 thd kados: those are from RLIN 16:08 thd that one is from me to protect 952 in Koha until we have a good method for moving 952 in existing installations. 16:08 kados 003 is listed as mandatory 16:09 kados but it's not in the LOC data I just downloaded :-) 16:09 thd kados: that is a mistake 16:10 thd I copied the previous field and did not change enough values. 16:10 kados I think it's gonna crash my browser :-) 16:10 thd :) 16:11 thd kados: we can always set things to -1 for now. At least the user data will be preserved even if they cannot see the fields. 16:11 kados well it saved 16:11 kados yea, we may need to do that for most things 16:12 kados it literally took 2 minutes to save the record :-) 16:12 kados it's not only RAM, it's also network overhead 16:12 thd :) 16:13 thd kados: we need a better model for handling the potential size of MARC. 16:20 thd kados: so we set most fields to -1 for now and then it will work fine. 16:21 kados sounds like a plan 16:22 kados thd: wait 16:22 kados thd: we don't want fields set to -1 in the default editor 16:22 kados thd: we want to do that in the trimmed down editors, right? 16:23 kados thd: s/editors/frameworks/; 16:23 thd kados: subfields set to -1 tab as not managed in Koha. The values are saved if present and I hope they do not strain the network services. 16:24 kados thd: they will 16:24 kados thd: the will still get loaded into the browser 16:24 thd kados: trimmed down frameworks loose user data. 16:25 kados thd: not if the trimmed down frameworks use -1 unless I'm mistaken 16:26 kados thd: in either case, I believe the tag and subfield values are loaded into the browser 16:26 thd kados: that is what I meant using -1. 16:26 kados thd: do you mean that -1 looses data? 16:27 thd kados: so we keep the default for system thrashers and create frameworks with mostly -1. 16:27 thd kados: no -1 preserves data. 16:27 kados I'm not sure that -1 will load any faster 16:27 kados we need to do a test 16:28 kados thd: are there any current fields marked -1 in the framework you sent me? 16:28 thd kados: deleting fields loses data. 16:29 kados thd: deleting fields loses data where? 16:29 kados thd: I don't understand what you mean 16:29 thd kados: there are at least the internal Koha fields such as 090 marked -1 16:29 kados ahh ... good point 16:30 thd kados: I thought you were meaning to delete fields and subfields from the framework when you meant trimming. 16:30 kados no 16:31 thd kados: we could set everything to -1 with a regex and turn on a few. 16:32 thd kados: then you should have speedy performance. 16:32 kados thd: let's try it 16:32 kados thd: is it the tags or subfields that are assigned to tab -1? 16:32 kados thd: subfields, right? 16:33 thd kados: if performance speed has not improved greatly then we have a design problem 16:33 kados I'm not sure it will work as we expect 16:33 thd yes 16:33 kados but it might 16:33 kados let's try it 16:34 kados thd: email me the revised version when you've fed it to your regex :-) 16:35 thd ok 16:54 kados thd: how's the regex coming? 16:55 thd kados: just substituted 2,??? something matches 16:56 thd kados: I need one more pass for the fact that I have not reconciled the nulls from the empty strings 16:57 kados thd: probably enough for a test though, right? 16:57 thd kados: just substituted another 1000 16:58 thd kados: now we are ready for a test. 16:58 thd kados: I will import the SQL to my system before sending 16:59 kados k 17:02 thd kados: you have not seen a browser crash until you put JavaScript though an infinite loop after refactoring variable names :) 17:03 kados hehe 17:03 kados I take it it didn't work? 17:03 thd kados: I am still importing the framework 17:04 kados huh ... do you have data in your database? 17:04 kados it only took me a second 17:04 thd not enough RAM ok done now 17:04 kados mysql -uusername -ppassword kohadatabase < marc21bibframework.sql 17:05 thd kados: my system thrashes when I ask it to work hard 17:05 kados gotcha 17:07 kados thd: did it work? 17:07 thd kados: high speed 17:07 kados thd: if you send me the sql I will try it on this system, import the cryptonomicon record so we can compare whether it loses anything 17:11 thd oops my mail system logged me out :) 17:12 kados heh 17:15 kados morning russ 17:16 russ morning 17:18 thd kados: sent 17:21 kados too bad 17:21 kados it loses all the extra data 17:22 kados as I suspected it would 17:22 thd kados: really or can you just not see the data 17:22 kados it loses it 17:22 kados I'm pretty sure that -1 is only useful for hiding fields that are auto-set by Koha 17:23 kados wait 17:23 kados maybe it is just hidden 17:23 thd kados: the data is just hidden not lost is it not? 17:23 chris guten morgen 17:23 kados yes, you're right 17:23 kados morning chris 17:23 kados w00t, this might actually work thd 17:24 thd kados: we just need some modified behaviour for hiding 17:25 kados thd: is -1 equiv to 'ignore'? 17:25 kados thd: in the frameworks editor? 17:25 thd kados: ultimately we would need the record editor to go back to the server to request more subfields. 17:25 thd yes 17:26 kados hmmm 17:26 kados thd: go back to request more subfields? I don't quite understand 17:27 thd kados: I predicted that what we saw would be the consequence of loading a record editor with a complete description of MARC months ago. 17:28 kados I'm still not 100% sure that the second record I added has all the same data as the first one 17:28 kados I _do_ know that the first one is just hiding the data 17:28 kados to do a proper test I'll need to figure out what fields in the first record existed before and make those un-hidden 17:29 kados thd: can you remember any specific examples? 17:30 thd kados: if subfield expansion in the record editor makes a new request to the server it will create more demands on the network when needed so some could be hidden in JavaScript while the truly rare subfields are hidden on the server. 17:31 thd kados: unhide 040: That should have even been set to mandatory I think 17:32 kados as I feared 17:32 kados the first record has a value for 040 visible now 17:32 kados the second doesn't 17:32 kados so we _are_ losing fields when they are sent to -1 17:33 kados set to I mean 17:33 kados perhaps we need to examine how to check for a value before discarding the field 17:33 kados (in fact, I'm very surprised this wasn't the default behavior when this was first designed) 17:36 thd 040 is not mandatory it seems for minimal level records unless applicable except for $c 17:37 thd kados: it is sometimes difficult to have your MARC and eat it too. 17:38 kados heh 17:46 kados thd: i have an idea 17:47 thd kados: I guess the subfields vital to Koha such as 090 $c, etc which are set to -1 are managed in some magical way. 17:47 kados thd: can you construct a framework with lots of 'hidden' fields (set to 2 or greater)? 17:47 thd kados: yes that is fairly easy. 17:47 kados I believe I can check the value of a field and if it's empty and if hidden is set to 2 or greater simply not display it in the editor 17:50 thd kados: I do not understand hat is happening with the important fields that were already set to -1 unless those values are just refilled from where they are stored in the original Koha tables. 17:50 thd s/hat/what 17:51 kados thd: that's exactly what's happening 17:51 kados thd: those fields are added _after_ the record is submitted from the marc editor 17:52 thd oh, that is bad 17:52 kados yep 17:53 thd I had assumed something nicer had been happening with -1 without checking 17:54 kados I'm pretty sure I can fix it 17:54 kados but it might take a while 17:54 kados there's quite a lot going on in addbiblio 17:54 thd kados: how would you fix it? 17:55 kados my plan is to check for a value on existing records or records coming in from z3950 17:55 kados wait 17:55 kados even better 17:56 kados thd: we set all subfields that we don't want to display by default to '3' 17:56 kados thd: the hidden I mean 17:56 thd kados: yes well I kept asking about that all morning not realising that -1 was a problem 17:56 kados thd: then I can check if hidden is '3' and if there is a value 17:56 kados if there's a value, we'll preserve it 17:56 kados otherwise, it won't be included in the list 17:57 kados if hidden is '2' it will be included but will be hidden from view and can be un-hidden by javascript 17:57 kados thd: does that seem like a good plan to you? 17:58 thd kados: yes I like that plan for now 17:58 kados thd: the only way I will be able to test my code will be to have a framework that's set up properly 17:59 kados thd: can you work on that while I work on the code? 17:59 thd kados: that was what I was asking about earlier not knowing how bad -1 really was 17:59 kados thd: yea, too bad -1 doesn't work properly :( 17:59 thd kados: yes, I should have that in a few minutes 17:59 kados w00t 18:01 thd kados: MARC is too big to load into JavaScript in one gulp we need a new server fetching scheme for the truly uncommon fields. 18:01 kados thd: we're not going to be loading it into javascript 18:02 thd kados: allow that to work for hidden is 3 or greater 18:03 thd kados: yes but if you want to add some obscure field type you can never have them all in your editor already without the problem that we saw earlier. 18:04 kados thd: that's a limitation I can live with at this point 18:04 kados thd: at least we won't be losing any data 18:04 kados thd: but I agree long-term we need a solution for that 18:04 kados thd: in fact, one may have just presented itself 18:04 kados thd: we could use the existing 'addfield' feature 18:05 thd kados: Yes, but at some point we will need to be able to fetch obscure fields for the editor to add by calling them from the server rather than having them already available in JavaScript. 18:06 kados addfield _does_ fetch them from the server 18:06 kados albeit it fetches them in javascript :-) 18:06 kados it reloads the page with the additional field you request 18:06 thd kados: that is why the record reloads :) 18:06 kados right 18:08 thd kados: that is fine t just needs context embedded in the add filed so you are not automatically dropped back to the beginning of the record. 18:08 kados yea, that would be a nice refinment 18:08 thd kados: current behaviour seems like a punishment for wanting to add a field. 18:08 kados yep 18:09 kados should be pretty easy to add that function 18:16 kados thd: i think I've got something that will work 18:16 kados thd: how close are you to having a framework? 18:18 thd kados: I did not start to develop the proper regex I was fixing mistakes in line copying where I had not changed all of the values. 18:38 thd inconsistent data I only matched 670 lines the first go I have to change the regex a little 18:51 thd need to normalise the SQL between NULL and 0 for easier regex matching in future 18:51 kados thd: I tested it on the 040 and it seems to work well 18:52 kados thd: my fix I mean 18:52 kados thd: the real test of course will be with a fully configured framework 18:52 thd kados: 3 regexes needed, I will test to be sure that I have not corrupted the SQL 18:52 kados cool 18:52 kados let me know when it's ready, I'll continue to test on my end 18:59 kados hmmm 18:59 kados something else to think about 19:00 kados if 'hidden' is set to '3' 19:00 kados even if the value is preserved, it will not display :-) 19:01 thd SQL is fine, I foolishly started thrashing my system by opening the record editor 19:01 kados k 19:01 thd I do not have your fix installed :) 19:02 kados heh 19:02 kados I don't want to commit it until I'm sure it works 19:02 kados thd: could you send me the sql? 19:03 kados thd: I'll do the same test as before with the cryptonomicon record 19:03 thd I must wait until firefox returns to life before sending 19:04 kados heh 19:04 kados thd: have you used 'mailx' before? 19:04 thd or I could kill the process 19:04 kados mailx -s 'MARC Framework' < marc21framework.sql 19:05 kados oops 19:05 kados mailx -s 'MARC Framework' jmf at liblime.com < marc21framework.sql 19:05 kados (obviously use my real mail address with the @ 19:05 kados mailx -s 'MARC Framework' jmf@liblime.com < marc21framework.sql 19:06 kados forgot the archives of this are password-protected :-) 19:07 thd kados: my local mail; system which I had never configured other than as a test system has been well and truly down since a new Debian etch design for running multiple Postgres versions killed my Postgres. 19:07 thd thrashing now stopped 19:18 thd kados now has the hidden framework 19:24 kados thx 19:31 kados hmmm, not working the way I want 19:31 kados more hacking to do I suppose 19:39 thd kados: I am back and no longer in thrash mode 19:51 kados thd: still here? 19:52 kados thd: check your 100 tag 19:52 kados thd: is everything set to '3' except for $a? 19:52 kados thd: shouldn't everything be set to '2'? 19:52 kados thd: unless I'm mistaken, everything is set to '3' 19:52 kados thd: there is no distinction between '3' and '2' ... could you confirm this? 19:55 kados thd: other than that, I think we're in business 19:55 kados thd: I've committed my addbiblio.pl 19:55 kados thd: try it out 19:56 thd kados: this is not an intelligent selection 19:56 thd kados: it was selected by script 19:56 kados ok, just checking 19:56 kados I think we're in business 19:57 kados now we just need an intelligently selected MARC Framework 19:57 kados and it should work exactly as we expect 19:57 kados except that you can't add missing obsolete fields 19:57 thd kados: I tried to set as much as possible to hidden 3 without setting then minimal requirements to hidden. 19:57 kados unless they already exist 19:58 thd kados: now one would need to add missing obsolete fields but we will need to exclude much more than the merely obsolete to not have thrashing :) 19:58 kados now I need to adjust the display to show fields marked '3' 19:59 kados so maybe '3' is not obsolete 19:59 kados '3' means 'don't show it in the editor unless I ask for it or it already has a value' 20:00 kados should '3' show up in the display in that case? 20:00 kados I guess we need to more carefully plan the cases 20:00 thd kados: if behaviour is similar for 3 or greater than 3 for the present time then I can think about what might be good choices 20:00 kados 1 => hide in the OPAC 20:01 kados 2 => hide in the OPAC and in the editor (but display with javascript) 20:02 kados 3 => don't hide in the OPAC but don't include in the editor unless it's there or I've asked for it' 20:02 kados 4 => hide in the OPAC and don't include in the editor unless it's there or I've asked for it' 20:02 kados there's also a question of 'hide in the intranet?' 20:02 kados as I understand it, there are cases where certain MARC fields are required to be hidden based on certain criteria 20:03 kados so we need to think about that as well 20:03 kados thd: if you can think of a good scheme I'll implement it 20:03 thd kados: I think we run out of 0-9 at some point for a single column 20:04 kados thd: how many cases are there? 20:05 kados hmmm ... I think 1 can serve as 'hide in the OPAC and in the editor' 20:05 kados I dunno 20:05 thd kados: I would prefer a separate hide column for the editor. I think we will need that when we have thought the various hiding scenarios through completely 20:05 kados thd: it would be _much_ easier if we could just work with the current one 20:06 kados thd: we can even switch to a binary encoded value if we need too (like the permissions) 20:06 thd kados: OK, I understand that more coding would be required for more columns 20:06 kados yep, lots more coding 20:07 kados too much for it to make it into 2.2.6 20:07 thd kados: and we definitely want it there 20:07 kados yes, definitely 20:07 kados so maybe for now, come up with a scheme that only has 5-6 hiding scenerios 20:08 kados implement it in the frameworks, tell me what it is, and I'll change the code so it works 20:09 thd kados: so 0, null, or empty string is completely visible everywhere to everyone and fully editable in the editor under all circumstances 20:10 thd kados: those were the 3 preexisting values had to match for in my regex. 20:12 thd kados: empty string should not have been there and maybe it was not. Empty string should not have passed the data constrains. 20:13 thd kados: It may have been the confusion over null and empty strings elsewhere on the line that delayed a successful regex. 20:15 thd kados: 1 hide in the OPAC and hide only in the OPAC. 20:18 thd kados: 2 hide in the OPAC unless the user has qualified privileges for viewing, a value reserved for future coding which could behave similarly in the intranet. 20:20 thd kados: I try to think about how to sequence the numbers so that they go from most hiding to least hiding in logical progression. 20:21 thd maybe that is not possible with 0 and 1 already specified 20:21 kados I know what you mean 20:24 thd if we start from the current legacy behaviour I think that 0 and 1 are at two opposite extremes. 20:25 thd 0 is always visible to everyone unless other code overrides such as code for tab -1. 20:27 thd 1 is alway hidden for everyone including the record editor except that the value is preserved as a hidden value in the record editor 20:28 kados yep, you're right 20:28 kados but, based on what paul stated this morning 20:28 kados he only intended 'hidden' to apply to the OPAC view 20:28 kados so 1 => hidden only in OPAC 20:28 kados and 0 => not hidden at all 20:28 kados I think that's where we should start 20:29 thd kados: oh that would not be preexisting behaviour so we have to preserve legacy use 20:29 kados thd: it is preexisting _intent_ 20:29 kados thd: based on what paul said 20:30 kados thd: as long as '1' hides in the OPAC we're OK 20:30 thd kados: we could certainly expand the range of values available by changing the field type if needed. 20:30 kados thd: I'd like to avoid that if possible, but yes, of course you're right 20:30 kados thd: one problem I have is that i have a client going live tomorrow :-) 20:31 kados thd: and I need _something_ that works :-) 20:31 thd kados: ok, do we have negative integers with int(1)? 20:31 kados lemme check 20:34 kados thd: I think so unless UNSIGNED is specified in the definition 20:34 thd kados: well given that unsigned is not specified then we have negative integers. 20:35 kados thd: yep, just tested it 20:35 kados thd: it works fine 20:35 kados thd: good thinking 20:35 kados thd: still gonna be tricky though :-) 20:36 kados thd: assume 0 means 'visible everywhere' and 1 means 'hidden in the OPAC' 20:36 thd kados: so we could have negative values for use in the intranet and positive in the OPAC 20:37 kados thd: how would we specify setting that apply to both? :-) 20:38 kados thd: I think the first step is to identify the possible settings that we will need 20:38 kados thd: given the current time constraings 20:38 kados thd: constraints even 20:39 kados thd: keep in mind also that I'm going to need to move on to something else soon as I still have several things to fix/add for 2.2.6 and I'm rapidly running out of free days 20:39 thd kados: Ok, I was thinking about that as a good approach earlier and then determine how best to assign them in as logical a way possible 20:40 thd kados puts thd on the spot when half-awake 20:41 kados thd: how's this: 20:41 kados 1 visible everywhere 20:41 kados 2 !OPAC Intranet Editor 20:41 kados 3 !OPAC !Intranet Editor 20:41 kados 4 !OPAC !Intranet !Editor (but can be created) 20:41 kados 5 OPAC Intranet !Editor (but can be created) 20:41 kados 6 !OPAC Intranet !Editor (but can be created) 20:41 thd kados: so we need for the editor never mind the numbers for now visible and editable always 20:41 kados anything missing? 20:42 kados 0 => visible everywhere 20:42 kados 1 => !OPAC Intranet Editor 20:42 kados 2 => !OPAC !Intranet Editor 20:42 kados 3 => !OPAC !Intranet !Editor (but can be created) 20:42 kados 4 => OPAC Intranet !Editor (but can be created) 20:42 kados 5 => !OPAC Intranet !Editor (but can be created) 20:42 kados (better) 20:42 thd kados: you mean those numbers as arbitrary since 1 is already assigned a value? 20:42 kados thd: yea, forgot about that 20:43 kados thd: the revised one is how it would be represented 20:43 kados I can't think of any other cases, can you? 20:43 kados (well, for 2.2.6 I mean) 20:44 kados in that scheme, most will be 0 or 4 20:44 kados some will be 1 (like $9 for authorities linking maybe) 20:45 kados (though auth linking could also be 3) 20:45 thd kados: I can think of cases involving user privilege required to view, user privilege required to edit. 20:45 kados yea that's not in 2.2.6 :-) 20:46 thd I mean extra user privilege 20:46 kados not in 2.2.6 20:46 kados I don't have time to code something like that 20:47 kados right now anyway ... 20:47 kados thd: so can we agree on the above scheme? 20:47 thd kados: I am trying to think about logical uses so that we could reserve numbers for later use when the feature can be added 20:47 kados thd: if so I'll begin coding it and you can begin working on the framework 20:47 kados thd: in 3.0 we can change to a binary encoded value 20:48 kados thd: since I'm the RM I can approve that :-) 20:48 thd kados: what about those cases where the function for visibility might be modified for an additional truth condition 20:48 kados thd: ? 20:50 kados thd: hmmm ... I forgot a whole category 20:50 thd kados: such as a presently created but future implemented columns for OCLC only field, RLIN only field combined with a participation preference 20:51 kados thd: we'll have to change our method in 3.0 20:51 thd kados: Canadian library is another example 20:51 kados thd: we can't do OCLC, Canadian libraries, or RLIN in 2.2.6, it's just too complex right now 20:52 kados and I'm running out of time :-) 20:52 kados 0 => visible everywhere 20:52 kados 1 => !OPAC Intranet Editor 20:52 kados 2 => !OPAC !Intranet Editor 20:52 kados 3 => !OPAC !Intranet !Editor (but can be created) 20:52 kados 4 => !OPAC !Intranet Editor (but hidden) 20:52 kados 5 => OPAC Intranet !Editor (but can be created) 20:52 kados 6 => OPAC Intranet Editor (but hidden) 20:52 kados 7 => !OPAC Intranet !Editor (but can be created) 20:52 kados i bet we can trim that down considerably 20:53 kados because some of those are going to be so rare it's probably not worth having them in 2.2.6 20:53 thd kados: I am trying to think of something that would be easy to specify when going through the framework to be adapted for future use not present use 20:53 kados thd: right ... I understand 20:54 kados thd: well maybe assign those the negetive numbers according to your own scheme 20:54 thd kados: I know that some libraries testing Koha are OCLC members and some are Canadian 20:55 kados thd: I think we can elimimnate '2' 20:56 thd kados: is 2 not a natural permutation on the parameters? 20:56 kados thd: 3 too I think (it would be very rare) 20:56 kados thd: yes, but very rare 20:56 kados thd: 2 and 3 would be so rare they might not be worth implementing 20:57 thd kados: please leave the natural permutations for future use where the code might be modified by another factor that there is no time to code now 20:57 kados ok 20:58 thd kados: I can think already that 2 could be for subfields that only a cataloguer would appreciate 20:59 kados thd: true, but chances are that cataloger is going to want to see those fields in the Intranet after :-) 21:00 kados thd: I'm going to implement 0, 1, 5 and 6 21:00 kados as I think those are the most immediately relevant 21:00 kados 5 is the most important IMO 21:00 kados as it will de-bloat the editor 21:00 kados thd: do you agree? 21:01 thd kados: then we would add a special feature for such users where the system recognised the user privilege in relation to the cataloguing module and provided an intranet display accordingly. 21:02 kados yep, that would be nice in 3.0 21:02 kados good idea thd 21:02 thd kados: no problem if you only implement the ones we need most immediately 21:02 kados thanks 21:03 kados thd: any chance in hell you'll be done adding the visibility flags tonight? :-) 21:04 kados thd: and before i start coding, do we agree on the above values 0-7? 21:04 thd kados: If we have chosen our progression well the might be some default advantage with greater than and less than but maybe the existing legacy codes already prevented that from working easily for new additions 21:05 kados unfortunately, I think the existing legecy codes prevented that from working easily :-) 21:05 kados unless chris can think of a way 21:05 kados chris: you got a sec? 21:05 thd kados: I think we may be missing something 21:06 kados we're missing 'obsolete' 21:06 kados 8 => obsolete 21:06 kados or is obsolete the same as3? 21:06 kados same as 3 21:06 kados ? 21:07 thd kados: obsolete has a certain behaviour needed that might fall into what we already have 21:07 kados cool 21:07 kados in 3.0's framework we'll make an obsolete flag 21:08 thd kados: obsolete should appear in the editor at least if populated 21:08 kados right ... if we use '3' it will 21:09 thd kados: so maybe I am confused about how you have designated your list 21:09 chris whats up kados? 21:09 kados maybe this will clarify: 21:09 kados 0 => visible everywhere 21:09 kados 1 => !OPAC Intranet Editor 21:09 kados 2 => !OPAC !Intranet Editor 21:09 kados 3 => !OPAC !Intranet !Editor (unless it exists; it can also be created) 21:09 kados 4 => !OPAC !Intranet Editor (but hidden) 21:09 kados 5 => OPAC Intranet !Editor (unless it exists; it can also be created) 21:09 kados 6 => OPAC Intranet Editor (but hidden) 21:09 kados 7 => !OPAC Intranet !Editor (unless it exists; it can also be created) 21:09 kados hey chris 21:10 kados we're working on altering the MARC Framework 'hidden' flag 21:10 thd kados: how is negation distinguished from not unless populated? 21:10 kados previously, 0 => visible everywhere and 1 => hidden in the OPAC 21:11 kados thd: see the above scheme 21:11 kados thd: ahh ... I see what you mean 21:11 kados thd: yea, that's tricky 21:12 kados chris: so earlier today I created a little feature that will hide fields in the MARC editor and will allow you to click on a little arrow to make them visible again 21:12 thd kados: is option 6 preserve the value but do not let us see it? 21:12 chris right 21:12 kados chris: but, the standard marc framework thd has written crashes the browser 21:13 kados chris: because there are so many fields 21:13 kados chris: (even if they are hidden) 21:13 chris yep 21:13 thd chris hiding still requires loading them over the network 21:13 kados chris: so then I wrote a little number that allows you to not even serve up fields that are designated as 'hidden' 21:13 kados chris: which completely solves the problem 21:14 kados chris: so we're all goodd 21:14 thd chris 350 fields and 3600 subfields. 21:14 kados chris: but now we're getting greedy :-) 21:14 kados chris: thd's going to be going back through the framework adding the visibility flag to all the fields 21:14 chris k 21:15 thd subfields actually as that is where visibility is set 21:15 kados chris and we need to represent all the possible visibility situations we might encounter 21:15 chris right 21:15 chris with you so far 21:15 kados so ... we're stuck with the legacy stuff: 21:15 kados 0 => visible everywhere 21:15 kados 1 => !OPAC Intranet Editor 21:16 kados (where ! means ! visible) 21:16 chris k 21:17 kados hard to explain :-) 21:17 chris this is a fix for 2.2 eh? 21:17 kados yea 21:18 thd kados: we need look but do not touch option that would allow seeing things but prevent harm to the system that might be caused by editing 21:18 kados I'd like to be able to do something like if ($hidden > 1) { hide in the OPAC } 21:18 thd kados: so they would be visible in the editor but not modifiable by the editor user 21:18 chris right 21:19 chris we arent proposing this for 3.0 eh? 21:19 kados no, we'll need a whole new scheme for 3.0 21:19 chris cool just checking 21:19 kados because it gets really complex :-) 21:19 chris yeah, id propose leaving it up to the templates 21:19 kados user permissions, etc. 21:20 chris ok, for 2.2 21:20 thd chris: we have some essentials that we need to implementation now others can be reserved in logical places for future implementation 21:20 kados thd's hit on it 21:20 kados we've got three cases that we _need_ in 2.2 21:20 kados visible everywhere 21:20 kados !OPAC Intranet Editor 21:21 kados OPAC Intranet !Editor (unless it exists; it can also be created) 21:21 chris k 21:21 kados those three will cover 90% of our cases I think 21:21 chris and the code currently supports what? 21:21 kados just the first two 21:21 thd kados; you left out a case for now 21:22 kados thd: which one did I miss? 21:22 thd kados: oh maybe I am mistaken 21:22 thd no 21:23 thd kados: we need collapsed in the editor even if it does not exist 21:24 thd kados: and collapsed in the editor and out of the way even if it already has a value 21:26 kados thd: good point 21:26 thd kados: those are usability features to make the editor efficient enough for someone to actually use it for real work 21:27 kados thd: so there are four cases we need then 21:28 thd kados: would you repeat your list with signification of the ones that we are implanting now? 21:29 thd s/implanting/implementing/ 21:29 kados * 0 => visible everywhere 21:29 kados * 1 => !OPAC Intranet Editor 21:29 kados 2 => !OPAC !Intranet Editor 21:29 kados 3 => !OPAC !Intranet !Editor (unless it exists; it can also be created) 21:29 kados 4 => !OPAC !Intranet Editor (but hidden) 21:29 kados * 5 => OPAC Intranet !Editor (unless it exists; it can also be created) 21:29 kados * 6 => OPAC Intranet Editor (but hidden) 21:29 kados 7 => !OPAC Intranet !Editor (unless it exists; it can also be created) 21:29 kados * means we implement now 21:30 kados hmmm ... might be better as: 21:30 kados * 0 => visible everywhere 21:30 kados * 1 => !OPAC Intranet Editor 21:30 kados 2 => !OPAC !Intranet Editor 21:30 kados 3 => !OPAC !Intranet !Editor (unless it exists; it can also be created) 21:30 kados 4 => !OPAC !Intranet Editor (but hidden) 21:30 kados 5 => !OPAC Intranet !Editor (unless it exists; it can also be created) 21:30 kados * 6 => OPAC Intranet !Editor (unless it exists; it can also be created) 21:30 kados * 7 => OPAC Intranet Editor (but hidden) 21:31 kados that way we group all the opac-invvisible stuff together 21:31 chris right 21:31 chris that sounds good, and extensible 21:32 chris then its just a matter of writing a subroutine 21:32 chris called show_me or something 21:32 kados well, as currently implemented it's a bit more complicated :-) 21:32 thd kados: which is collapsed in the editor even if it has a value? 21:32 kados thd: 7 21:33 chris where you go if (show_me($tag,$subfield,'opac'){ 21:33 chris show tag; 21:33 chris } 21:33 kados thd: everything in () applies only to the Editor 21:33 chris or show_me($tag,$subfield,'intranet')) 21:33 chris etc 21:33 chris is that what you were thinking? 21:33 kados not quite 21:33 kados the problem is, some of this is done in javascript 21:34 chris ahh 21:34 kados and some of it is specified while the tabs are being built 21:34 chris right 21:34 kados I've got it working nicely already 21:34 thd kados: where is not cluttering the editor display with its current value but accessible by expanding the collapsed subfield? 21:34 kados it'll take two secs to add whatever we decide 21:34 kados thd: exactly 21:35 kados thd: that's 7 21:35 kados thd: it will also be visible in the Opac and Intranet if it exists 21:36 thd kados: then do we have hidden in the editor even if empty? 21:36 kados thd: that's also 7 21:37 kados thd: it will be hidden but the value won't be lost 21:37 kados thd: if expanded it will be visible 21:37 kados thd: make sense? 21:37 thd kados: do we have something to distinguish the 2 cases? 21:37 kados thd: no, that's too hard to do at this point 21:37 thd kados: is it not just one more option? 21:38 kados thd: no :-) 21:38 chris ok, ill keep my show_me idea for 3.0 21:38 kados chris: sounds great 21:38 chris it would be nice to have a nice api like that, that you can just call for any bit of data to find out if you should show it or not 21:39 kados definitely 21:39 kados but it's more complicated than just showing and not showing 21:39 thd kados: why is it not merely a slight variation on the other with the corresponding difference in the code? 21:39 kados you've got 'hidden but there' and 'not there' 21:39 chris right 21:40 kados and 'not there' is 'there' if it exists or if you ask for it :-) 21:40 chris hmm i cant think of a nice way to do this 21:40 chris given that its currently in lots of places 21:40 kados me either, that's why I pinged you :-) 21:40 thd kados: you are using only 2 valued logic 21:41 thd kados: I thought that multi-valued logic was in the ascendancy 21:41 kados thd: we would need to add that case three more times 21:42 kados thd: and we only have two more values :-) 21:42 thd kados: yes I appreciate that 21:42 thd kados we have plenty of negative numbers 21:42 kados chris: the best way to represent it is with a binary encoding 21:43 chris hmmm 21:43 kados you've got: 21:43 thd kados: what is bes as binary? 21:43 kados 'opac' 'intranet' 'editor' 'hidden in editor' 21:43 kados 1000 = hidden only in the opac 21:44 kados 1100 means hidden in the opac and the intranet but not in the editor 21:44 chris hmm 21:44 kados etc 21:44 kados the assumption is always that if a value exists it's going to show up in the editor I think 21:44 thd kados: best meaning easiest to code and furthest from a model of the world? 21:44 chris you could do it with 4 boolean columns, that would make fetching hella fast 21:44 chris thd: thats certainly not the easiest to code 21:45 chris kados's idea 21:45 kados chris: you sure? 21:45 thd chris i like adding another bool 21:45 kados chris: all you need to do in that case is check the value for wherever you are 21:45 chris yeah its easy to code, but not the easiest 21:46 kados what's easier? 21:46 chris adding columns to the table and doing it with sql 21:46 chris but your way is more flexible, ie its easier to add another variable 21:46 kados well, I agree, but take a look in addbiblio.pl and you'll see that that would require a ton more programming :-) 21:47 thd chris that was my original suggestion 21:47 kados this encoding scheme would be easy to implement and is more flexible in the long run 21:47 kados but we've digressed I think 21:47 chris yep 21:47 kados into talking about 3.0 :-) 21:48 kados so ... notes to selves ... keep talking about this idea 21:48 kados in the meantime ... can we agree on the scheme we've devised thd? 21:48 kados for 2.2.6? 21:49 thd kados: we have plenty of negative numbers what happens if you redistribute the list with the 3 extra cases using the negatives as well? 21:49 kados hmmm 21:49 kados well we could represent 6 and 7 as -1 and -2 21:50 thd kados: the editor needs to be fast to work with I think those extra cases are important for that 21:50 kados then <=0 would always be OPAC visible 21:50 kados thd: I can't imagine when you'd need them 21:50 kados OPAC Intranet Editor (but hidden) covers those cases 21:50 kados (7) 21:50 thd kados: especially as I am going to have to use it soon even if script a large part of that job 21:51 kados right 21:52 kados thd: hang on 21:52 kados thd: new scheme coming :-) 21:52 thd kados: I can certainly imagine one of the cases although I have not thought about the corollary 2 21:53 kados * -2 OPAC Intranet !Editor (unless it exists; it can also be created) 21:53 kados * -1 OPAC Intranet Editor (but hidden) 21:53 kados * 0 => visible everywhere 21:53 kados * 1 => !OPAC Intranet Editor 21:53 kados 2 => !OPAC !Intranet Editor 21:53 kados 3 => !OPAC !Intranet !Editor (unless it exists; it can also be created) 21:53 kados 4 => !OPAC !Intranet Editor (but hidden) 21:53 kados 5 => !OPAC Intranet !Editor (unless it exists; it can also be created) 21:53 kados that's the best so far 21:53 kados with that scheme we can do things like: 21:53 kados if (<=-2) {not in the editor} 21:54 kados if (<=0) {visible in the OPAC} 21:54 kados if (>0) { invisible in the OPAC } 21:55 thd kados: why do we have fewer cases now? 21:56 kados fewer cases? 21:56 kados I see 8 cases 21:57 thd kados some how I missed -2 21:57 kados ahh 21:58 thd kados: so what about my 3 extra cases? 21:58 kados I'm thinking 21:58 kados it might actually be 6 extra cases :-) 21:58 thd we are not out of numbers yet 21:58 kados heh 21:59 kados so what's the distinction? I'm loosing track :-) 22:00 thd kados: I am not fully alert enough to keep all the ramifications in my mind at the same time but I know about the issue of editor efficiency and inefficiency all too well 22:01 thd kados: I have tried to distinguish expanded and collapsed in the JavaScript for all permutations 22:02 kados ok ... give me a sec 22:03 thd kados: in addition to not enough room in the client JavaScript but we need to be able to get at it form the server 22:03 thd if we need it 22:04 thd obviously that case goes to the client if it has a value 22:07 kados thd: there are 16 possible cases 22:08 thd but that is exactly where in some cases it may be important to hide it or collapse it in the editor because it may be in the way for efficient editing even when a value is already present. 22:08 kados thd: 2 ^ 4 22:08 thd kados INT(2) 22:08 kados thd: well, we can handle 16 cases ... we can handle 19 in fact 22:09 kados thd: some of them will _never_ be used unfortunately :-) 22:09 thd kados: so what would never be used? 22:09 kados hang on a sec 22:15 kados thd: are you really going to want to have to keep 16 possible values in your head while you edit the framework? 22:15 kados thd: it might be weeks before the framework is done :-) 22:16 thd kados: I would not have to keep them in my head at the same time if I had any logical way of organising them in my mind 22:18 thd kados: my English vocabulary is smaller than that of James Joyce but it is larger than 16 and I manage that because of semantic association and logical relation 22:19 kados here are all the possible values organized according to the binary representation with '0' in the right place 22:19 kados -8 => OPAC Intranet Editor Collapsed 22:19 kados -7 => OPAC Intranet Editor !Collapsed 22:19 kados -6 => OPAC Intranet !Editor Collapsed 22:19 kados -5 => OPAC Intranet !Editor !Collapsed 22:19 kados -4 => OPAC !Intranet Editor Collapsed 22:19 kados -3 => OPAC !Intranet Editor !Collapsed 22:20 kados -2 => OPAC !Intranet !Editor Collapsed 22:20 kados -1 => OPAC !Intranet !Editor !Collapsed 22:20 kados -0 => !OPAC Intranet Editor Collapsed 22:20 kados 1 => !OPAC Intranet Editor !Collapsed 22:20 kados 2 => !OPAC Intranet !Editor Collapsed 22:20 kados 3 => !OPAC Intranet !Editor !Collapsed 22:20 kados 4 => !OPAC !Intranet Editor Collapsed 22:20 kados 5 => !OPAC !Intranet Editor !Collapsed 22:20 thd kados: If the numerical assignment was random I might have difficulty and make many mistakes but if there is a useful pattern I will surely know it well by subfield number 3,600 22:20 kados 6 => !OPAC !Intranet !Editor Collapsed 22:20 kados 7 => !OPAC !Intranet !Editor !Collapsed 22:20 kados however, it's not the best organization for us I don't think 22:22 thd kados: what would make a better organisation? 22:23 kados I'm working on it :-) 22:23 kados give me a sec 22:23 thd kados: what happened to INT(2) for the natural parameter variations that you found 22:23 thd ? 22:24 kados I don't know how that would be helpfu 22:24 kados l 22:25 kados thd: we need to eliminate 4 cases from the above scheme 22:25 kados thd: to maximize organization 22:26 kados when would this happen: 22:26 kados !OPAC !Intranet Editor !Collapsed 22:26 kados ever? 22:28 thd these a private value for use in the editor with certain privileges 22:30 thd examples might include notes relating to acquisitions information that were held in confidence to protect a relationship with a funder or vendor 22:31 thd similar examples might be the valuation of a rare item so as not to make it a target of theft 22:33 kados ok, here we are: 22:33 kados -8 => OPAC Intranet !Editor Collapsed 22:33 kados -7 => OPAC Intranet !Editor !Collapsed 22:33 kados -6 => OPAC !Intranet !Editor Collapsed 22:33 kados -5 => OPAC !Intranet !Editor !Collapsed 22:33 kados -4 => OPAC !Intranet Editor Collapsed 22:33 kados -3 => OPAC !Intranet Editor !Collapsed 22:33 kados -2 => OPAC Intranet Editor Collapsed 22:34 kados -1 => OPAC Intranet Editor !Collapsed 22:34 kados -0 => !OPAC Intranet Editor Collapsed 22:34 kados 1 => !OPAC Intranet Editor !Collapsed 22:34 kados 2 => !OPAC !Intranet Editor Collapsed 22:34 kados 3 => !OPAC !Intranet Editor !Collapsed 22:34 kados 4 => !OPAC !Intranet !Editor Collapsed 22:34 kados 5 => !OPAC !Intranet !Editor !Collapsed 22:34 kados 6 => !OPAC Intranet !Editor Collapsed 22:34 kados 7 => !OPAC Intranet !Editor !Collapsed 22:34 kados that's optimized to distinguish between visibility in the OPAC, whether it exists in the editor, and whether it's collapsed or not 22:35 kados ie: 22:35 kados if (even) { collapsed } 22:35 kados if (odd) { !collapsed } 22:35 kados if (>=0) { hidden in OPAC } 22:35 kados if ((<=-5)||(>=4)) { not in the editor } 22:35 kados it's trickier to determin visibility in the intranet, but I don't plan to implement that anyway 22:35 thd :) 22:36 kados shoot ... I made a mistake 22:36 kados 0 isn't right ... hang on 22:36 thd thats what happens when you assign a signed value to 0 22:37 thd + 22:37 kados here we go: 22:37 kados -8 => OPAC Intranet !Editor !Collapsed 22:37 kados -7 => OPAC Intranet !Editor Collapsed 22:37 kados -6 => OPAC !Intranet !Editor !Collapsed 22:37 kados -5 => OPAC !Intranet !Editor Collapsed 22:37 kados -4 => OPAC !Intranet Editor !Collapsed 22:37 kados -3 => OPAC !Intranet Editor Collapsed 22:37 kados -2 => OPAC Intranet Editor !Collapsed 22:37 kados -1 => OPAC Intranet Editor Collapsed 22:37 kados -0 => !OPAC Intranet Editor !Collapsed 22:37 kados 1 => !OPAC Intranet Editor Collapsed 22:37 kados 2 => !OPAC !Intranet Editor !Collapsed 22:37 kados 3 => !OPAC !Intranet Editor Collapsed 22:37 kados 4 => !OPAC !Intranet !Editor !Collapsed 22:37 kados 5 => !OPAC !Intranet !Editor Collapsed 22:37 kados 6 => !OPAC Intranet !Editor !Collapsed 22:37 kados 7 => !OPAC Intranet !Editor Collapsed 22:37 kados if (odd) { collapsed } 22:37 kados if (even) { !collapsed } 22:37 kados if (>=0) { hidden in OPAC } 22:37 kados if ((<=-5)||(>=4)) { not in the editor } 22:38 kados hmmm, that might not be right either :/ 22:39 kados missing one: 22:39 kados -9 => OPAC Intranet !Editor Collapsed 22:40 kados no, that -7 ... grrr 22:41 kados yea, they are all there 22:41 kados thd: do you approve? 22:43 thd kados: may we have an additional parameter for visible in the editor but you cannot change the value manually because it is an important system value? 22:43 kados that already exists 22:44 thd kados: which one or ones is that? 22:44 kados if we add that we're up to 32 possible values :-) 22:44 kados 2 ^ 5 :-) 22:45 thd kados: no it would only add the 3 we have left because it would only apply to the editor 22:45 kados thd: I was joking, we don't have it 22:45 kados I see 22:47 thd it would be protected retrievable, present expanded, present collapsed for the editor only 22:47 thd actually retrievable would not apply unless you could manually create it 22:48 thd kados: so we still have one value left for applicable if some other external factor is true 22:49 thd kados: there, we have now filled all the places 22:49 kados -9 => OPAC Intranet !Editor Collapsed Can't edit 22:49 kados -8 => OPAC Intranet !Editor !Collapsed 22:49 kados -7 => OPAC Intranet !Editor Collapsed 22:49 kados -6 => OPAC !Intranet !Editor !Collapsed 22:49 kados -5 => OPAC !Intranet !Editor Collapsed 22:49 kados -4 => OPAC !Intranet Editor !Collapsed 22:49 kados -3 => OPAC !Intranet Editor Collapsed 22:49 kados -2 => OPAC Intranet Editor !Collapsed 22:49 kados -1 => OPAC Intranet Editor Collapsed 22:49 kados -0 => !OPAC Intranet Editor !Collapsed 22:49 kados 1 => !OPAC Intranet Editor Collapsed 22:49 kados 2 => !OPAC !Intranet Editor !Collapsed 22:49 kados 3 => !OPAC !Intranet Editor Collapsed 22:49 kados 4 => !OPAC !Intranet !Editor !Collapsed 22:49 kados 5 => !OPAC !Intranet !Editor Collapsed 22:49 kados 6 => !OPAC Intranet !Editor !Collapsed 22:49 kados 7 => !OPAC Intranet !Editor Collapsed 22:49 kados 8 => !OPAC Intranet Editor !Collapsed Can't edit 22:49 kados 9 => !OPAc Intranet Editor Collapsed Can't edit 22:49 kados thd: like that? 22:50 thd kados: we only need 2 cannot edit options 22:50 kados yea 22:50 kados is protected the same as 'system generated'? 22:50 thd kados: yes 22:50 kados I say we skip protected since we can't fully implement it 22:50 kados we wait for 3.0 to do that 22:51 kados thd: can you live with that? 22:52 kados thd: ? 22:52 thd kados: yes so I have 3 places to add a value if I think of something to do with OCLC, RLIN, and Canada, what would the behaviour of the other 3 places be for the greater less than odd 22:53 thd even easy function 22:53 kados wait ... before we go there 22:53 kados are we implementing protected or not? 22:55 thd kados: if you are not coding it we have no need to implement it and it is very few subfields to which it would be applicable so it would be very easy to modify frameworks for that in 3.0 22:55 kados k ... we'll leave it out then 22:56 thd kados: so what would the default behaviour of the 3 remaining places be under the simple rules you were able to construct for everything? 22:57 kados How to use when editing the frameworks: 22:57 kados (ordered by frequency of use I think) 22:57 kados 0 if you want it everywhere 22:57 kados -7 only present if exists and expanded if exists 22:57 kados -2 always present and always expanded 22:57 kados I think that should cover most cases 22:58 kados unless you want to also implement '3' (invisible everywhere but the editor and collapsed in the editor) 22:58 kados frankly, I can't see the utility of having so many :-) 23:00 thd kados: maybe they would not all be used but knowing they are there make me more comfortable about not forgetting something and then there is no time to fix it after coding and specification 1800 subfields 23:00 kados good point 23:02 thd kados: I think we have better ideas for 3.0 along the lines chris suggested and I had proposed at the outset with more than just 4 columns even 23:02 kados yep 23:02 kados so do you feel comfortable with the scheme now? can I start coding it? 23:03 thd kados: so my remaining question is hat is the default behaviour of the 3 places that we had considered assigning to protected? 23:03 thd s/hat/what/ 23:05 kados which three are those? 23:05 thd -9, 8, and 9 23:06 kados I see 23:06 kados let's flag all of those as -9 23:06 kados that will make it easy to go back and fix them later 23:06 thd kados: so they would all do the same thing? 23:06 kados if they're -9 they won't show up in the editor unless they exist 23:07 kados yes, for now they will 23:08 kados ie, I don't plan to implement the protected scheme 23:08 kados but if you know of cases where things should be protected and want to mark them for 3.0 you can use -9 23:08 kados that leaves us 8 and 9 to flag anything else we may have forgotten about tonight :-) 23:09 thd kados: I am not asking about protected but about whatever may be more important that we have not thought about well enough 23:10 kados for 2.2 I'm only implementing four things: 23:10 kados if (odd) { collapsed } 23:10 kados if (even) { !collapsed } 23:10 kados if (>=0) { hidden in OPAC } 23:10 kados if ((<=-5)||(>=4)) { not in the editor unless exists or is added} 23:10 kados oops, typo there 23:11 kados no, it's right 23:11 kados those four rules are the only ones I'm implementing 23:11 kados make sense? 23:12 thd kados: I am thinking about whether that excludes the one rule I had mentioned before the cleaner design 23:12 kados which one? 23:13 thd kados: I am trying to remember well 23:14 kados the distinction between collapsed and !collapsed when dealing with Editor and !Editor? 23:14 kados my implementation will preserve that distinction 23:15 kados I determined that OPAC, Editor and Collapsed were the most important distinctions 23:15 kados for now, I'm ignoring Intranet 23:16 kados meaning that probably I'll just make Intranet always visible until I have more time to properly handle it 23:16 kados thd: but you can feel free to use the entire range of values 23:16 thd kados: I think it is covered now that I elucidated that value of expanded and collapsed clearly 23:16 kados yep 23:16 kados so we agree finally? 23:17 thd kados: this is very elegant 23:17 kados thd: i don't know about elegant, but it's at least complete :-) 23:18 thd kados: the way that odd and even works that aspect seems elegant 23:18 kados yea, I'm most proud of that :-) 23:18 kados ok ... I'm ready to get to work on this 23:19 thd wait just one moment 23:19 kados ok 23:43 kados just found a type: 23:43 kados typo even 23:43 kados here's the revised version: 23:43 kados -9 => Flag 23:43 kados -8 => OPAC Intranet !Editor !Collapsed 23:43 kados -7 => OPAC Intranet !Editor Collapsed 23:43 kados -6 => OPAC !Intranet !Editor !Collapsed 23:43 kados -5 => OPAC !Intranet !Editor Collapsed 23:43 kados -4 => OPAC !Intranet Editor !Collapsed 23:43 kados -3 => OPAC !Intranet Editor Collapsed 23:43 kados -2 => OPAC Intranet Editor !Collapsed 23:43 kados -1 => OPAC Intranet Editor Collapsed 23:43 kados 0 => OPAC Intranet Editor !Collapsed 23:43 kados 1 => !OPAC Intranet Editor Collapsed 23:43 kados 2 => !OPAC !Intranet Editor !Collapsed 23:43 kados 3 => !OPAC !Intranet Editor Collapsed 23:43 kados 6 => !OPAC !Intranet !Editor !Collapsed 23:43 kados 5 => !OPAC !Intranet !Editor Collapsed 23:44 kados 6 => !OPAC Intranet !Editor !Collapsed 23:44 kados 7 => !OPAC Intranet !Editor Collapsed 23:44 kados 8 => !OPAC Intranet Editor !Collapsed 23:45 kados so are we ready to get working? 23:45 thd yes ready 23:46 kados 9 => Future use 23:46 kados (btw) 23:46 kados -9 => Future use 23:46 kados (too) 23:46 kados :-) 23:46 kados woops ... -9 already taken 23:46 kados so just 9 then 01:01 kados yay logbot 01:02 thd kados: so I had asked about what values you would expect to be assigning to 952 01:04 thd kados: also if the existing records are using 090 already for OCLC, RLIN etc. the current assignment is 09o until 090 has a better place. 01:05 thd kados: the current assignment for 952 for ARLIN users is 95r. 01:07 thd kados: there are a few other fields like that which are only of interest to Canadian customers with legacy records or maybe RLIN customers. 01:08 thd \d\d[cor] finds them in the SQL file 01:13 thd kados: are you still with us? 01:13 kados yea kinda 01:14 thd kados: would you rather concentrate on that before you fall asleep 01:14 kados yea ... 01:15 kados that way the MARC Framework you're working on now will actually work for my client in the morning :-) 01:16 thd kados: ok ping me when you want to consider consider holdings mappings so that I could coordinate that well 01:29 kados chris: I think my perl's getting better :-) 01:30 kados chris: check this out: 01:30 kados $subfield_data{visibility} = "display:none" unless ($tagslib->{$tag}->{$subfield}->{hidden}%2==0); #check parity 01:30 kados even works for '0' :-) 01:30 kados w00t 01:38 thd even works for negative nothing :) 01:38 kados thd: ok ... got our basic cases working 01:38 kados thd: with the new scheme 01:39 kados thd: so as soon as that new framework's ready we'll be good to go 01:39 kados I'm gonna work on the more refined display issues now 01:40 thd kados: koha problems fall rapidly to determined onslaught 01:40 kados yay for that :-) 01:40 thd what are refined display problems 01:41 thd ? 01:41 kados don't know yet, need to run some test 01:41 kados s 01:50 kados now the OPAC will display anything with a 'hidden' value less than or equal to 0 01:58 kados thd: are you working on the MARC framework? 01:58 kados thd: i need to make a slight revision 01:58 thd kados yes 02:00 kados thd: have you use '6' '8' or '2' yet? 02:01 thd kados: I am still formatting a nice sign to guide me :) 02:01 thd printed sign 02:01 thd so I guess the answer is no 02:01 kados ok ... wait a second because I need to revise something that I overlooked when fixint the '0' last time 02:06 kados -9 => Flag 02:06 kados -8 => OPAC Intranet !Editor !Collapsed 02:06 kados -7 => OPAC Intranet !Editor Collapsed 02:06 kados -6 => OPAC !Intranet !Editor !Collapsed 02:06 kados -5 => OPAC !Intranet !Editor Collapsed 02:06 kados -4 => OPAC !Intranet Editor !Collapsed 02:06 kados -3 => OPAC !Intranet Editor Collapsed 02:06 kados -2 => OPAC Intranet Editor !Collapsed 02:06 kados -1 => OPAC Intranet Editor Collapsed 02:07 kados 0 => OPAC Intranet Editor !Collapsed 02:07 kados 1 => !OPAC Intranet Editor Collapsed 02:07 kados 2 => !OPAC !Intranet Editor !Collapsed 02:07 kados 3 => !OPAC !Intranet Editor Collapsed 02:07 kados 4 => !OPAC Intranet Editor !Collapsed 02:07 kados 5 => !OPAC !Intranet !Editor Collapsed 02:07 kados 6 => !OPAC Intranet !Editor !Collapsed 02:07 kados 7 => !OPAC Intranet !Editor Collapsed 02:07 kados 8 => !OPAC !Intranet !Editor !Collapsed 02:07 kados 9 => Future use 02:18 kados eep 02:18 kados found another problem 02:18 kados -2 == 0 02:18 kados :/ 02:18 kados thd: sotp 02:18 kados thd: stop even 02:20 thd kados: ok stopped 02:20 thd so it does 02:20 kados I can't see a way around it without losing our nice even/odd 02:20 thd kados what should it be for whatever is missing 02:21 thd ? 02:21 kados nothing is missing unfortunately 02:22 kados I think I need to re-arrange the entire top section 02:23 thd kados: there must be something oh so i had not noticed when you added something for one of the previously available points 02:23 thd s/available/unassigned/ 02:24 kados -9 => Future use 02:24 kados -8 => Flag 02:24 kados -7 => OPAC !Intranet !Editor Collapsed 02:24 kados -6 => OPAC Intranet !Editor !Collapsed 02:24 kados -5 => OPAC Intranet !Editor Collapsed 02:24 kados -4 => OPAC !Intranet !Editor !Collapsed 02:24 kados -3 => OPAC !Intranet Editor Collapsed 02:24 kados -2 => OPAC !Intranet Editor !Collapsed 02:24 kados -1 => OPAC Intranet Editor Collapsed 02:24 kados 0 => OPAC Intranet Editor !Collapsed 02:24 kados 1 => !OPAC Intranet Editor Collapsed 02:24 kados 2 => !OPAC !Intranet Editor !Collapsed 02:24 kados 3 => !OPAC !Intranet Editor Collapsed 02:24 kados 4 => !OPAC Intranet Editor !Collapsed 02:25 kados 5 => !OPAC !Intranet !Editor Collapsed 02:25 kados 6 => !OPAC Intranet !Editor !Collapsed 02:25 kados 7 => !OPAC Intranet !Editor Collapsed 02:25 kados 8 => !OPAC !Intranet !Editor !Collapsed 02:25 kados 9 => Future use 02:25 kados revised the top portion 02:25 kados hopefully that is the last revision :/ 02:25 kados if only there was a way to represent Intranet easily 02:25 kados hmmm 02:26 thd all are now happily unique again 02:26 kados I'm still irked by Intranet :/ 02:27 kados ahh well, i think that's the best we can do 02:28 thd what does flag do? 02:29 kados it will act identical to -6 02:30 thd kados: why is it called flag? 02:30 kados thd: I thought you agreed we'd use it to 'flag' subfields that didn't fit into the current scheme 02:31 thd I did although I was not certain what that actually meant in practise 02:33 kados it's up to you :-) 02:34 thd kados: so why should -8 be the same as 6 not that it really matters? 02:35 kados thd: what I mean is that the current code will treat -8 the same as it treats -6 02:35 kados thd: future code could treat them differently if need be 02:35 kados thd: current code is: if ((<=-4)||(>=5)) { not in the editor unless exists or is added} 02:36 kados thd: so as long as it's >=5 it's treated the same in the editor (and it's even, so it's !Collapsed) 02:36 kados thd: make sense? 02:36 thd yes 02:37 thd everything makes more sense more quickly when i am fully awake 02:37 kados :-) 02:39 thd so have you discovered any finer display problems? 02:43 thd kados: aside form the fact that it would be great if we could tab key through the editor without having to pass all the left frame navigation links first? 02:44 thd s/frame/table/ 02:58 kados there are display issues with the Intranet 02:59 kados I think I can fix them quite easily though 03:07 thd kados: does collapsed or not collapsed mean anything for not editor? 03:12 kados no 03:12 kados thd: have you started actually implementing the scheme in the frameworks yet? I'm curious which ones are most frequent 03:13 thd kados: good to know that we were thorough enough to include the logically impossible :) 03:14 thd kados: I am staring and the last version of the nice print out to select which ones will be the most prevalent 03:15 thd s/print out/schema design for hidden/ 03:18 kados I'm guessing 0 and -5 03:18 kados followed closely by -1 03:19 kados probably 0, -5 and -1 cover 99% of cases 03:19 kados thd: do you agree? 03:20 thd kados: what does -5 do for us? 03:20 thd except reassure us that we have been thorough 03:20 kados -5 is the key to having a trimmed down editor that doesn't crash the browser 03:20 kados -5 should be used on all 'rare' fields/subfields 03:21 kados (or -6 depending on your preference) 03:21 kados so for purposes of our scheme 03:21 thd kados -5 is not editor so that is not editor unless populated? 03:21 kados it's useful to distinguish between 'common', 'uncommon' and 'rare' 03:21 kados thd: correct 03:22 kados 'common' is 0, 'uncommon' is -1, 'rare' is -5 03:22 kados thd: the assumption is always that if the value exists it will be saved 03:22 kados thd: (even if it is Collapsed) 03:23 thd kados: MARC must be considered mostly rare to avoid JavaScript overload 03:23 kados thd: yep 03:23 kados thd: not javascript overload ... browser overload 03:23 kados it's the sheer size of the page that's the problem 03:24 kados network + browser rendering + javascript parsing 03:24 kados = dead browser :-) 03:24 kados unless (numberof MARC fields is small); 03:24 kados :-) 03:25 kados thd: I will be faster to mark fields as 0, -1, or -5 for now I think 03:26 thd kados: so I will start with everything set to -5 and work from there adding 0 next to the most important fields and then add others mostly under -1 03:26 kados thd: otherwise it might take weeks :-) 03:26 kados thd: sounds great 03:26 thd right 03:27 thd kados: I was confused for a few minutes about what not editor meant, for if populated. 03:28 kados right 03:28 kados it simply means that it won't show up unless it exists or if you create it 03:29 thd kados: do you want to consider the holdings fields or are you still fixing other fields 03:29 kados thd: don't worry about those, I can manually add them when the new scheme is in place 03:29 thd kados: and we have no mechanism for creating it now if it does not exist 03:30 kados thd: that's true, i was going to work on that problem right now 03:30 thd kados: wow 03:30 kados though it may be tricky 03:30 kados I _shouhld_ be able to do it with 'addfield' if I properly construct things 03:30 kados then all we have left is subfield repeatability and re-ordering :-) 03:32 thd kados goes from crashing Koha form opening the editor to a functioning system all in one sleepless night 03:32 kados :-) 03:44 thd kados: -6 is probably a better generic default with -5 for the many non-Koha holdings fields. 03:52 thd kados: make that -6 followed by 5 for non-Koha holdings 04:22 kados k 04:38 kados thd: have a look at the 0XX tab 04:38 kados thd: I've made some stylistic changes 04:39 kados thd: moved the subfield label to be a rollover on the subfield itself 04:39 kados thd: and changed from clicking on a 'up arrow' to clicking on the subfield code to expand hidden subfields 04:40 kados also adjusted the size of the subfield input box 04:40 kados thd: let me know what you think 04:41 kados (page will take forever to load with the last framework you gave me :-)) 04:45 thd kados: you have hidden the labels for the unhidden subfields? :) 04:47 thd record editor still loading 04:48 thd kados: if you hide the labels only professional cataloguer's will be able to use it easily. 04:49 kados thd: roll your mouse over the subfield code 04:49 kados thd: I'm trying to cut down on the clutter of the page 04:50 thd kados: that takes precious cataloguing time which there is never in sufficient supply. 04:50 kados thd: if you roll your mouse over the subfield code the label will appear 04:50 kados well, it should at least be an option 04:51 kados ie turn on/off visible labels 04:51 kados for subfields 04:51 kados how do you like the new method for expanding hidden subfields? 04:51 thd kados: look at the default templates. the editor is very space conservative there although the display could use a background colour. 04:53 kados I wouldn't call that space conservative, but I guess it's a judgement call 04:53 thd my pointer arrow changes to a text insertion tool when I am over the correct location for expanding the subfields. 04:54 kados thd: click on it 04:54 kados thd: it will expand 04:55 thd I saw that it did but the change in pointer prior to clicking was disconcerting as it was contrary to usual behaviour in the world 04:57 thd kados: this difference may be an improvement but my inclination was to try to reposition the arrow pointer rather than click when the arrow disappeared. 04:58 kados well I can change the mouse pointer type on hover over that element 04:59 kados later :-) 04:59 thd kados: I miss the labels 04:59 kados heh 05:00 thd kados: semantic labels in plain view are good 05:00 kados I'll make it a system preference 05:00 kados eventually 05:00 kados right now I'm working on subfield repeatability 05:00 thd kados: it is the codes that we should be hiding except that professional cataloguers need them 05:00 kados hurmph 05:01 kados hard to please everyone 05:02 thd kados:if it was mostly professional cataloguers using the application then they probably may thick that semantic labels is not serious enough 05:03 thd kados: however the pool of potential users is much larger than professional cataloguers who actually seem rather uncommon in your part of the country. 05:05 kados so we make it a system preference "professionalCataloger" :-) 05:05 thd kados: There is scarcely a cataloguing job within 100 miles of NYC that does not require an MLS. It may not require actual competence but does require an MLS. 05:06 thd kados: and the cataloguing jobs anywhere near NYC also require fluency in an important non-English language for the collection. 05:07 kados right 05:08 thd kados: It shocks me to know that places like NPL have paraprofessionals when all I have seen are closed union shops near me. 05:09 kados yea, NPL's catalogers don't even have MLSes :-) 05:10 thd kados: I do know that Westchester county libraries use paraprofessionals but that is very unusual in union country. 05:14 thd kados: an MLS is not really a qualification but merely a union certificate that serves as qualification for both the well qualified and the barely passing but I rant. 05:18 thd naturally I have no certificates. I have only chased knowledge but not certificates. 05:21 thd kados: does null and maybe empty string work like 0 not that I would supply them? 05:21 kados yes 05:21 kados but please use '0' as the default 05:21 kados ok ... I'm off to bed 05:21 kados night all 05:21 thd good because at least null is already there in some cases. 05:21 thd good night kados 05:23 pierrick hello #koha 05:24 thd good morning pierrick 05:24 pierrick morning thd 05:25 thd #koha never sleeps 05:47 pierrick hi Paul 05:47 paul hello 05:48 pierrick I'm answering to Dominique Girod on deleted biblio 05:48 pierrick (prepraring the answer) 05:51 paul great ! 05:58 pierrick in Koha intranet menu, how do you reach maint/catmaintain.pl ? 05:59 pierrick in detail I suppose 06:00 paul catmaintain is somtething I made unreachable with default templates, as it can break a lot MARC datas. It only works when MARC=OFF 06:01 pierrick OK... so undeletion can't work when MARC=OFF ? 06:04 chris it only works when MARC=OFF 06:05 chris the maintenance scripts didnt get ported to MARC 06:05 pierrick oups, of course I read too quickly 06:06 pierrick so, if I understand well, when MARC=ON, deleted biblio are saved to deletedbiblio, but can't be searched (by title) and can't be undeleted 06:06 chris thats right 06:06 pierrick very clear, thanks 06:09 chris im not sure it will work right with MARC=OFF either actually 06:09 chris as the searches search the MARC tables, even with MARC=OFF 06:10 chris so if undelete doesnt rebuild the marc data, the biblio will exist in the biblio table, but wont be searchable 06:10 chris i have to get the undelete working for HLT who use 2.2.5 06:10 chris so ill commit the fix to rel_2 06:11 chris rel_2_2 even :) 06:13 pierrick OK, I said to Koha french informations mailing list it was working with MARC=OFF 06:14 chris ahh, it wont be linked in the templates still, so the wont be able to find it :-) 06:14 chris the=they 07:21 pierrick paul: I keep investigating on UTF-8 problem with HEAD 07:21 paul yes, and ? 07:21 pierrick I've tested to change charset to UTF-8 in 2.2, and it works fine 07:22 pierrick in HEAD, it seems that data in database are correctly stored with "set names 'UTF8';" 07:22 paul thus it's a template problem you think ? 07:23 pierrick without "set names 'UTF8';", french accented characters are correctly displayed but not very special characters (like the ones we were testing yesterday) 07:24 paul doesn't it mean it's considered as iso8859-1 ? 07:24 pierrick when and why Perl would convert UTF-8 data to iso-8859-1 ? 07:25 paul it's just an idea. 07:25 pierrick my Perl version is the same on Koha 2.2 and HEAD 07:25 paul right. 07:58 pierrick paul: I've tested to output the result of biblio_framework to a file instead of browser, it works great... 07:58 paul this confirm the template problem. 07:58 paul ? 07:58 pierrick :-) victory 07:59 pierrick you had done something else about utf-8... 07:59 paul let me know... 07:59 pierrick C4/Interfaces/CGI/Output.pm:109 07:59 pierrick binmode... 07:59 pierrick remove this line, enjoy 08:00 chris wooo good spotting pierrick 08:00 paul yes i've added this line. but someone told me I should add this line. 08:00 paul the question being why ? 08:00 paul i can't remember atm 08:01 pierrick I suppose this was forcing a new useless conversion 08:01 chris perl 5.6 08:01 chris didnt handle utf-8 as nicely 08:01 paul alleluia & applause for pierrick ! 08:01 pierrick :-D 08:02 paul I let you commit this big fix. 08:02 pierrick right 10:50 kados w00t! 10:50 kados great detective work pierrick 10:50 paul in fact kados, i added this like voluntary. To see if pierrick could find it... 10:51 paul ('morning) 10:51 paul (who said i'm a liar ?) 10:53 pierrick hi kados 10:54 pierrick paul: that's what I was thinking whil lunching ;-) 10:54 paul Ihope you had a good lunch even.. 10:54 pierrick of course