IRC log for #koha, 2006-03-16

← Previous day | Today | Next day → | Search | Index

All times shown according to UTC.

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 Difficile de dire cela correspond à des caractères. Tout dépend du système dans lequel tu te bases ;)
11:01 En utf-8, les accents iso8859-1 sont représentés par des  ?
11:01 En iso8859-1, les caractères accentués par deux caractères accolés.
11:02 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 latin-1 et unicode sont des charsets
11:03 (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 $dbh->do("set NAMES 'utf8'");
11:03 $dbh->do("SET character_set_client= utf8"); # mysql should READ utf8 FROM us
11:03 $dbh->do("SET character_set_connection= utf8");# Mysql should speak utf8 TO us
11:03 $dbh->do("SET character_set_results= utf8");# Mysql should speak utf8 TO us
11:04 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 je récupère pas mon coeur
11:04 pierrick via formulaire web, ça ne marche pas ?
11:04 paul mais : â??
11:04 yep
11:05 pierrick ta page s'affiche bien en UTF-8 ?
11:05 paul firefox >> affichage >> encodage des caractères >> utf8
11:06 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 select length(branchname) from branches;
11:08 select charset(branchnam) from branches;
11:10 paul pierrick : pas compris
11:11 pierrick <form action="..." method="..." accept-charset="utf-8">
11:12 en plus du <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11:14 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 (en utf8 à la même place qu'en win252 ou en EDBIC)
11:20 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 hi kados
11:21 paul: j'ai fait mon test et l'insertion d'UTF-8 via formulaire marche impec
11:21 paul grr...
11:21 et pourquoi chez moi ca marche po...
11:22 what is select length(branchname) from branches; ?
11:22 select charset(branchnam) from branches; ?
11:22 pierrick paul: you didn't show me the result of this query
11:23 length calculates the... length of your data
11:23 if it is stored as latin1, the length will be different than if it was stored in utf-8
11:23 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 (just HEAVY BLACK HEART)
11:24 it's what is expected isn't it ?
11:26 pierrick sorry but I also have the problem with branch form
11:26 but not with marc biblio categories
11:26 (biblio framework)
11:27 why on earth do we reach the "add a branch" form after a form submission ?
11:27 paul updating cvs head.
11:28 I have the problem with biblio_framework.pl as well
11:28 pierrick :-/
11:28 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 this is PHP code, I don't know the Perl equivalent
11:32 paul head/C4/Interface/CGI/Output.pm
11:32 line 97
11:32 i've added
11:33 -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 (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 I had read case was important for "set names"
11:39 I made it work on 2.2, not on HEAD, maybe it doesn't work for me neither
11:40 (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 In my 2.2, the exact line is...
11:45 $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 paul: yes, I know why I use \
11:46 but the difference is the ";"
11:46 paul no change
11:49 pierrick mysql> show create table biblio_framework;
12:04 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 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 I'm going to modify it to InnoDB on my 2.2
12:10 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 pierrick : what is your prefered mailbox now ?
12:30 pierrick koha related or INEO related ?
12:34 paul anyone
12:34 your preffered one.
12:36 pierrick pierrick^koha-fr.org
12:36 s{\^}{@}
12:46 paul: with HEAD, I also have problems, that I don't have with 2.2
12:48 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 I have to find what changed from 2.2 to HEAD
12:51 paul (yep.
12:54 pierrick :
12:54 if I'm not missing something, here is what I magde on head
12:56 * change start of templates to add utf-8 (includes directory, XXX-top)
12:56 * add set names=utf8 in Context.pm, when opening the database
12:56 * move the database to unicode_ci (updater/updatedatabase)
12:56 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 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 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 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 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 s/to/too/
13:35 paul kados / thd : for long frameworks, I think we could add a new minor feature :
13:35 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 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 too bad :/
13:37 maybe it could be a binary number?
13:38 1 => hide in OPAC 11 => hide in OPAC AND hide in MARC Editor
13:38 paul: what do you think?
13:38 paul why not. But it would be less clear
13:38 (+ 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 sorry thd, I'm really overbooked this month
13:39 (and next month won't be better...)
13:39 kados ok, so maybe 1 & 2 is our solution for now
13:40 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 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 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 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 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-bi[…]mple/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 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 paul: not yet :-)
13:58 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 try it out on the leader
14:30 it will be hidden, but if you click on the up arrow it will appear
14:30 thd: http://koha.liblime.com/cgi-bi[…]mple/addbiblio.pl
14:31 (obviously it needs some refinement, but it's a start :-))
14:32 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 yea, I think I can swing that
14:33 thd: but currently, the value will not be lost
14:34 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 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 no I don't think so
14:41 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 for 013
14:44 kados right now I can only hide subfields within a tag
14:44 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 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 INSERT INTO `marc_subfield_structure` VALUES ('013', 'a', 'Number', 'Number', 0, 0, '', 0, '', '', '', 0, 0, '', '', '');
14:46 INSERT INTO `marc_subfield_structure` VALUES ('013', 'b', 'Country', 'Country', 0, 0, '', 0, '', '', '', 0, 0, '', '', '');
14:46 INSERT INTO `marc_subfield_structure` VALUES ('013', 'c', 'Type of number', 'Type of number', 0, 0, '', 0, '', '', '', 0, 0, '', '', '');
14:46 INSERT INTO `marc_subfield_structure` VALUES ('013', 'd', 'Date', 'Date', 1, 0, '', 0, '', '', '', 0, 0, '', '', '');
14:46 INSERT INTO `marc_subfield_structure` VALUES ('013', 'e', 'Status', 'Status', 1, 0, '', 0, '', '', '', 0, 0, '', '', '');
14:46 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 kados: change the last 0 in each to 2
14:49 INSERT INTO `marc_tag_structure` VALUES ('013', 'PATENT CONTROL INFORMATION', 'PATENT CONTROL INFORMATION', 1, 0, '', '');
14:52 kados done
14:52 hehe
14:52 well, it's a start at least :-)
14:54 thd: whatdya think?
14:55 I bet owen could make it look real nice :-)
14:55 owen Hunh? Wha?
14:55 kados owen: http://koha.liblime.com/cgi-bi[…]mple/addbiblio.pl
14:55 owen: scroll down to the 013 tag
14:56 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 thd: good :-)
14:56 thd: if you're happy, I'm happy :-)
14:56 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 thd: we need a way to flag those
14:59 thd: how about this
14:59 if it is empty and should be hidden we set it to '3'
14:59 wait ...
14:59 scratch that
14:59 thd kados: hidden 3 yes
15:00 kados so how many cases are we talking about here?
15:01 sometimes a subfield should always be hidden
15:01 sometimes it should only be hidden if it's empty
15:01 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 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 owen: if you have any other ideas for making it look nicer feel free to hack on it :-)
15:04 thd: is it safe to say that we can use '2' in the MARC framework you're working on currently?
15:05 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 unless you disagree
15:06 (are you happpy? ) :-)
15:06 thd kados: we can use 2 all over the framework :)
15:06 kados great!
15:06 thd: how about this
15:06 just for clarity, you can set '2' for hidden
15:07 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 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 for now
15:09 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 thd: ie, it comes out as invisible
15:10 thd: javascript just makes it visible again
15:11 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 s/cataloguer\x{015b}/cataloguer's/
15:16 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 thd: subfield repeatability and reordering is more important
15:17 thd: so first I'll do those, then the obsolete fields stuff
15:18 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 kados: My system would be totally unacceptable for cataloguing but other systems would be likely to seem slow.
15:21 kados sends thd more RAM and the problem goes away :)
15:21 kados hehe
15:22 yea, I can definitely see that being a problem
15:22 the form is potentially HUGE
15:22 :-)
15:22 (the editor form I mean
15:23 thd about 3,600 subfields
15:23 about 300 fields
15:25 some like 880 are just all the possible subfields so that you can use whatever is needed from the referenced field
15:26 closer to 350 fields
15:30 kados wow
15:30 that's a lot of fields :-)
15:31 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 thd: can you send me what you have currently?
15:33 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 thd: i didn't get an attachment :-)
15:57 thd kados: you did this time
15:57 kados right, got it
15:57 thd: what's the proper way to import this?
15:58 ENGINE=MyISAM DEFAULT CHARSET=utf8;
15:58 not sure that's gonna work for me ...
15:58 (I'm nervous about it at least :-))
15:58 thd kados: just pass it through MySQL
15:59 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 kados: look for APPLY ME
16:02 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 also, I get an 'unresponsive script' message
16:04 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 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 I see some very strange tags
16:07 u02 for instance
16:07 and 95r
16:07 thd kados: those are from RLIN
16:08 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 but it's not in the LOC data I just downloaded :-)
16:09 thd kados: that is a mistake
16:10 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 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 yea, we may need to do that for most things
16:12 it literally took 2 minutes to save the record :-)
16:12 it's not only RAM, it's also network overhead
16:12 thd :)
16:13 kados: we need a better model for handling the potential size of MARC.
16:20 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 thd: wait
16:22 thd: we don't want fields set to -1 in the default editor
16:22 thd: we want to do that in the trimmed down editors, right?
16:23 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 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 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 kados: no -1 preserves data.
16:27 kados I'm not sure that -1 will load any faster
16:27 we need to do a test
16:28 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 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 kados: then you should have speedy performance.
16:32 kados thd: let's try it
16:32 thd: is it the tags or subfields that are assigned to tab -1?
16:32 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 let's try it
16:34 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 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 kados: now we are ready for a test.
16:58 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 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 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 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 morning russ
17:16 russ morning
17:18 thd kados: sent
17:21 kados too bad
17:21 it loses all the extra data
17:22 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 I'm pretty sure that -1 is only useful for hiding fields that are auto-set by Koha
17:23 wait
17:23 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 morning chris
17:23 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 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 yes
17:26 kados hmmm
17:26 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 I _do_ know that the first one is just hiding the data
17:28 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 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 kados: unhide 040: That should have even been set to mandatory I think
17:32 kados as I feared
17:32 the first record has a value for 040 visible now
17:32 the second doesn't
17:32 so we _are_ losing fields when they are sent to -1
17:33 set to I mean
17:33 perhaps we need to examine how to check for a value before discarding the field
17:33 (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 kados: it is sometimes difficult to have your MARC and eat it too.
17:38 kados heh
17:46 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 s/hat/what
17:51 kados thd: that's exactly what's happening
17:51 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 but it might take a while
17:54 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 wait
17:55 even better
17:56 thd: we set all subfields that we don't want to display by default to '3'
17:56 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 if there's a value, we'll preserve it
17:56 otherwise, it won't be included in the list
17:57 if hidden is '2' it will be included but will be hidden from view and can be un-hidden by javascript
17:57 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 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 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 thd: at least we won't be losing any data
18:04 thd: but I agree long-term we need a solution for that
18:04 thd: in fact, one may have just presented itself
18:04 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 albeit it fetches them in javascript :-)
18:06 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 should be pretty easy to add that function
18:16 thd: i think I've got something that will work
18:16 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 inconsistent data I only matched 670 lines the first go I have to change the regex a little
18:51 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 thd: my fix I mean
18:52 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 let me know when it's ready, I'll continue to test on my end
18:59 hmmm
18:59 something else to think about
19:00 if 'hidden' is set to '3'
19:00 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 I don't want to commit it until I'm sure it works
19:02 thd: could you send me the sql?
19:03 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 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 oops
19:05 mailx -s 'MARC Framework' jmf at liblime.com < marc21framework.sql
19:05 (obviously use my real mail address with the @
19:05 mailx -s 'MARC Framework' jmf@liblime.com < marc21framework.sql
19:06 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 thrashing now stopped
19:18 kados now has the hidden framework
19:24 kados thx
19:31 hmmm, not working the way I want
19:31 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 thd: check your 100 tag
19:52 thd: is everything set to '3' except for $a?
19:52 thd: shouldn't everything be set to '2'?
19:52 thd: unless I'm mistaken, everything is set to '3'
19:52 thd: there is no distinction between '3' and '2' ... could you confirm this?
19:55 thd: other than that, I think we're in business
19:55 thd: I've committed my addbiblio.pl
19:55 thd: try it out
19:56 thd kados: this is not an intelligent selection
19:56 kados: it was selected by script
19:56 kados ok, just checking
19:56 I think we're in business
19:57 now we just need an intelligently selected MARC Framework
19:57 and it should work exactly as we expect
19:57 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 so maybe '3' is not obsolete
19:59 '3' means 'don't show it in the editor unless I ask for it or it already has a value'
20:00 should '3' show up in the display in that case?
20:00 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 2 => hide in the OPAC and in the editor (but display with javascript)
20:02 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 4 => hide in the OPAC and don't include in the editor unless it's there or I've asked for it'
20:02 there's also a question of 'hide in the intranet?'
20:02 as I understand it, there are cases where certain MARC fields are required to be hidden based on certain criteria
20:03 so we need to think about that as well
20:03 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 hmmm ... I think 1 can serve as 'hide in the OPAC and in the editor'
20:05 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 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 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 so maybe for now, come up with a scheme that only has 5-6 hiding scenerios
20:08 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 kados: those were the 3 preexisting values  had to match for in my regex.
20:12 kados: empty string should not have been there and maybe it was not.  Empty string should not have passed the data constrains.
20:13 kados: It may have been the confusion over null and empty strings elsewhere on the line that delayed  a successful regex.
20:15 kados: 1 hide in the OPAC and hide only in the OPAC.
20:18 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 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 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 0 is always visible to everyone unless other code overrides such as code for tab -1.
20:27 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 but, based on what paul stated this morning
20:28 he only intended 'hidden' to apply to the OPAC view
20:28 so 1 => hidden only in OPAC
20:28 and 0 => not hidden at all
20:28 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 thd: based on what paul said
20:30 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 thd: one problem I have is that i have a client going live tomorrow :-)
20:31 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 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 thd: it works fine
20:35 thd: good thinking
20:35 thd: still gonna be tricky though :-)
20:36 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 thd: I think the first step is to identify the possible settings that we will need
20:38 thd: given the current time constraings
20:38 thd: constraints even
20:39 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 kados puts thd on the spot when half-awake
20:41 kados thd: how's this:
20:41 1 visible everywhere
20:41 2 !OPAC Intranet Editor
20:41 3 !OPAC !Intranet Editor
20:41 4 !OPAC !Intranet !Editor (but can be created)
20:41 5 OPAC Intranet !Editor (but can be created)
20:41 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 0 => visible everywhere
20:42 1 => !OPAC Intranet Editor
20:42 2 => !OPAC !Intranet Editor
20:42 3 => !OPAC !Intranet !Editor (but can be created)
20:42 4 => OPAC Intranet !Editor (but can be created)
20:42 5 => !OPAC Intranet !Editor (but can be created)
20:42 (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 thd: the revised one is how it would be represented
20:43 I can't think of any other cases, can you?
20:43 (well, for 2.2.6 I mean)
20:44 in that scheme, most will be 0 or 4
20:44 some will be 1 (like $9 for authorities linking maybe)
20:45 (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 I don't have time to code something like that
20:47 right now anyway ...
20:47 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 thd: in 3.0 we can change to a binary encoded value
20:48 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 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 and I'm running out of time :-)
20:52 0 => visible everywhere
20:52 1 => !OPAC Intranet Editor
20:52 2 => !OPAC !Intranet Editor
20:52 3 => !OPAC !Intranet !Editor (but can be created)
20:52 4 => !OPAC !Intranet Editor (but hidden)
20:52 5 => OPAC Intranet !Editor (but can be created)
20:52 6 => OPAC Intranet Editor (but hidden)
20:52 7 => !OPAC Intranet !Editor (but can be created)
20:52 i bet we can trim that down considerably
20:53 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 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 thd: yes, but very rare
20:56 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 thd: I'm going to implement 0, 1, 5 and 6
21:00 as I think those are the most immediately relevant
21:00 5 is the most important IMO
21:00 as it will de-bloat the editor
21:00 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 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 thd: any chance in hell you'll be done adding the visibility flags tonight? :-)
21:04 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 unless chris can think of a way
21:05 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 8 => obsolete
21:06 or is obsolete the same as3?
21:06 same as 3
21:06 ?
21:07 thd kados: obsolete has a certain behaviour needed that might fall into what we already have
21:07 kados cool
21:07 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 0 => visible everywhere
21:09 1 => !OPAC Intranet Editor
21:09 2 => !OPAC !Intranet Editor
21:09 3 => !OPAC !Intranet !Editor (unless it exists; it can also be created)
21:09 4 => !OPAC !Intranet Editor (but hidden)
21:09 5 => OPAC Intranet !Editor (unless it exists; it can also be created)
21:09 6 => OPAC Intranet Editor (but hidden)
21:09 7 => !OPAC Intranet !Editor (unless it exists; it can also be created)
21:09 hey chris
21:10 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 thd: see the above scheme
21:11 thd: ahh ... I see what you mean
21:11 thd: yea, that's tricky
21:12 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 chris: because there are so many fields
21:13 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 chris: which completely solves the problem
21:14 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 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 with you so far
21:15 kados so ... we're stuck with the legacy stuff:
21:15 0 => visible everywhere
21:15 1 => !OPAC Intranet Editor
21:16 (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 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 we've got three cases that we _need_ in 2.2
21:20 visible everywhere
21:20 !OPAC Intranet Editor
21:21 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 no
21:23 kados: we need collapsed in the editor even if it does not exist
21:24 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 s/implanting/implementing/
21:29 kados * 0 => visible everywhere
21:29 * 1 => !OPAC Intranet Editor
21:29  2 => !OPAC !Intranet Editor
21:29  3 => !OPAC !Intranet !Editor (unless it exists; it can also be created)
21:29  4 => !OPAC !Intranet Editor (but hidden)
21:29 * 5 => OPAC Intranet !Editor (unless it exists; it can also be created)
21:29 * 6 => OPAC Intranet Editor (but hidden)
21:29  7 => !OPAC Intranet !Editor (unless it exists; it can also be created)
21:29 * means we implement now
21:30 hmmm ... might be better as:
21:30 * 0 => visible everywhere
21:30 * 1 => !OPAC Intranet Editor
21:30  2 => !OPAC !Intranet Editor
21:30  3 => !OPAC !Intranet !Editor (unless it exists; it can also be created)
21:30  4 => !OPAC !Intranet Editor (but hidden)
21:30  5 => !OPAC Intranet !Editor (unless it exists; it can also be created)
21:30 * 6 => OPAC Intranet !Editor (unless it exists; it can also be created)
21:30 * 7 => OPAC Intranet Editor (but hidden)
21:31 that way we group all the opac-invvisible stuff together
21:31 chris right
21:31 that sounds good, and extensible
21:32 then its just a matter of writing a subroutine
21:32 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 show tag;
21:33 }
21:33 kados thd: everything in () applies only to the Editor
21:33 chris or show_me($tag,$subfield,'intranet'))
21:33 etc
21:33 is that what you were thinking?
21:33 kados not quite
21:33 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 thd: exactly
21:35 thd: that's 7
21:35 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 thd: it will be hidden but the value won't be lost
21:37 thd: if expanded it will be visible
21:37 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 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 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 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 thd: and we only have two more values :-)
21:42 thd kados: yes I appreciate that
21:42 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 1000 = hidden only in the opac
21:44 1100 means hidden in the opac and the intranet but not in the editor
21:44 chris hmm
21:44 kados etc
21:44 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 thd: thats certainly not the easiest to code
21:45 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 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 but we've digressed I think
21:47 chris yep
21:47 kados into talking about 3.0 :-)
21:48 so ... notes to selves ... keep talking about this idea
21:48 in the meantime ... can we agree on the scheme we've devised thd?
21:48 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 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 thd: I can't imagine when you'd need them
21:50 OPAC Intranet Editor (but hidden) covers those cases
21:50 (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 thd: hang on
21:52 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 * -1 OPAC Intranet Editor (but hidden)
21:53 * 0 => visible everywhere
21:53 * 1 => !OPAC Intranet Editor
21:53  2 => !OPAC !Intranet Editor
21:53  3 => !OPAC !Intranet !Editor (unless it exists; it can also be created)
21:53  4 => !OPAC !Intranet Editor (but hidden)
21:53  5 => !OPAC Intranet !Editor (unless it exists; it can also be created)
21:53 that's the best so far
21:53 with that scheme we can do things like:
21:53 if (<=-2) {not in the editor}
21:54 if (<=0) {visible in the OPAC}
21:54 if (>0) { invisible in the OPAC }
21:55 thd kados: why do we have fewer cases now?
21:56 kados fewer cases?
21:56 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 it might actually be 6 extra cases :-)
21:58 thd we are not out of numbers yet
21:58 kados heh
21:59 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 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 if we need it
22:04 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 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 thd: are you really going to want to have to keep 16 possible values in your head while you edit the framework?
22:15 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 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 -8 =>  OPAC  Intranet  Editor  Collapsed
22:19 -7 =>  OPAC  Intranet  Editor !Collapsed
22:19 -6 =>  OPAC  Intranet !Editor  Collapsed
22:19 -5 =>  OPAC  Intranet !Editor !Collapsed
22:19 -4 =>  OPAC !Intranet  Editor  Collapsed
22:19 -3 =>  OPAC !Intranet  Editor !Collapsed
22:20 -2 =>  OPAC !Intranet !Editor  Collapsed
22:20 -1 =>  OPAC !Intranet !Editor !Collapsed
22:20 -0 => !OPAC  Intranet  Editor  Collapsed
22:20 1 => !OPAC  Intranet  Editor !Collapsed
22:20 2 => !OPAC  Intranet !Editor  Collapsed
22:20 3 => !OPAC  Intranet !Editor !Collapsed
22:20 4 => !OPAC !Intranet  Editor  Collapsed
22:20 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 7 => !OPAC !Intranet !Editor !Collapsed
22:20 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 give me a sec
22:23 thd kados: what happened to INT(2) for the natural parameter variations that you found
22:23 ?
22:24 kados I don't know how that would be helpfu
22:24 l
22:25 thd: we need to eliminate 4 cases from the above scheme
22:25 thd: to maximize organization
22:26 when would this happen:
22:26 !OPAC !Intranet  Editor !Collapsed
22:26 ever?
22:28 thd these a private value for use in the editor with certain privileges
22:30 examples might include notes relating to acquisitions information that were held in confidence to protect a relationship with a funder or vendor
22:31 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  -8 =>  OPAC  Intranet !Editor  Collapsed
22:33  -7 =>  OPAC  Intranet !Editor !Collapsed
22:33  -6 =>  OPAC !Intranet !Editor  Collapsed
22:33  -5 =>  OPAC !Intranet !Editor !Collapsed
22:33  -4 =>  OPAC !Intranet  Editor  Collapsed
22:33  -3 =>  OPAC !Intranet  Editor !Collapsed
22:33  -2 =>  OPAC  Intranet  Editor  Collapsed
22:34  -1 =>  OPAC  Intranet  Editor !Collapsed
22:34  -0 => !OPAC  Intranet  Editor  Collapsed
22:34   1 => !OPAC  Intranet  Editor !Collapsed
22:34   2 => !OPAC !Intranet  Editor  Collapsed
22:34   3 => !OPAC !Intranet  Editor !Collapsed
22:34   4 => !OPAC !Intranet !Editor  Collapsed
22:34   5 => !OPAC !Intranet !Editor !Collapsed
22:34   6 => !OPAC  Intranet !Editor  Collapsed
22:34   7 => !OPAC  Intranet !Editor !Collapsed
22:34 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 ie:
22:35 if (even) { collapsed }
22:35 if (odd) { !collapsed }
22:35 if (>=0) { hidden in OPAC }
22:35 if ((<=-5)||(>=4)) { not in the editor }
22:35 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 0 isn't right ... hang on
22:36 thd thats what happens when you assign a signed value to 0
22:37 +
22:37 kados here we go:
22:37  -8 =>  OPAC  Intranet !Editor !Collapsed
22:37  -7 =>  OPAC  Intranet !Editor  Collapsed
22:37  -6 =>  OPAC !Intranet !Editor !Collapsed
22:37  -5 =>  OPAC !Intranet !Editor  Collapsed
22:37  -4 =>  OPAC !Intranet  Editor !Collapsed
22:37  -3 =>  OPAC !Intranet  Editor  Collapsed
22:37  -2 =>  OPAC  Intranet  Editor !Collapsed
22:37  -1 =>  OPAC  Intranet  Editor  Collapsed
22:37  -0 => !OPAC  Intranet  Editor !Collapsed
22:37   1 => !OPAC  Intranet  Editor  Collapsed
22:37   2 => !OPAC !Intranet  Editor !Collapsed
22:37   3 => !OPAC !Intranet  Editor  Collapsed
22:37   4 => !OPAC !Intranet !Editor !Collapsed
22:37   5 => !OPAC !Intranet !Editor  Collapsed
22:37   6 => !OPAC  Intranet !Editor !Collapsed
22:37   7 => !OPAC  Intranet !Editor  Collapsed
22:37 if (odd) { collapsed }
22:37 if (even) { !collapsed }
22:37 if (>=0) { hidden in OPAC }
22:37 if ((<=-5)||(>=4)) { not in the editor }
22:38 hmmm, that might not be right either :/
22:39 missing one:
22:39  -9 =>  OPAC  Intranet !Editor  Collapsed
22:40 no, that -7 ... grrr
22:41 yea, they are all there
22:41 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 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 I see
22:47 thd it would be protected retrievable, present expanded, present collapsed for the editor only
22:47 actually retrievable would not apply unless you could manually create it
22:48 kados: so we still have one value left for applicable if some other external factor is true
22:49 kados: there, we have now filled all the places
22:49 kados  -9 =>  OPAC  Intranet !Editor  Collapsed Can't edit
22:49  -8 =>  OPAC  Intranet !Editor !Collapsed
22:49  -7 =>  OPAC  Intranet !Editor  Collapsed
22:49  -6 =>  OPAC !Intranet !Editor !Collapsed
22:49  -5 =>  OPAC !Intranet !Editor  Collapsed
22:49  -4 =>  OPAC !Intranet  Editor !Collapsed
22:49  -3 =>  OPAC !Intranet  Editor  Collapsed
22:49  -2 =>  OPAC  Intranet  Editor !Collapsed
22:49  -1 =>  OPAC  Intranet  Editor  Collapsed
22:49  -0 => !OPAC  Intranet  Editor !Collapsed
22:49   1 => !OPAC  Intranet  Editor  Collapsed
22:49   2 => !OPAC !Intranet  Editor !Collapsed
22:49   3 => !OPAC !Intranet  Editor  Collapsed
22:49   4 => !OPAC !Intranet !Editor !Collapsed
22:49   5 => !OPAC !Intranet !Editor  Collapsed
22:49   6 => !OPAC  Intranet !Editor !Collapsed
22:49   7 => !OPAC  Intranet !Editor  Collapsed
22:49   8 => !OPAC  Intranet  Editor !Collapsed Can't edit
22:49   9 => !OPAc  Intranet  Editor  Collapsed Can't edit
22:49 thd: like that?
22:50 thd kados: we only need 2 cannot edit options
22:50 kados yea
22:50 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 we wait for 3.0 to do that
22:51 thd: can you live with that?
22:52 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 even easy function
22:53 kados wait ... before we go there
22:53 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 (ordered by frequency of use I think)
22:57 0 if you want it everywhere
22:57 -7 only present if exists and expanded if exists
22:57 -2 always present and always expanded
22:57 I think that should cover most cases
22:58 unless you want to also implement '3' (invisible everywhere but the editor and collapsed in the editor)
22:58 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 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 s/hat/what/
23:05 kados which three are those?
23:05 thd -9, 8, and 9
23:06 kados I see
23:06 let's flag all of those as -9
23:06 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 yes, for now they will
23:08 ie, I don't plan to implement the protected scheme
23:08 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 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 if (odd) { collapsed }
23:10 if (even) { !collapsed }
23:10 if (>=0) { hidden in OPAC }
23:10 if ((<=-5)||(>=4)) { not in the editor unless exists or is added}
23:10 oops, typo there
23:11 no, it's right
23:11 those four rules are the only ones I'm implementing
23:11 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 my implementation will preserve that distinction
23:15 I determined that OPAC, Editor and Collapsed were the most important distinctions
23:15 for now, I'm ignoring Intranet
23:16 meaning that probably I'll just make Intranet always visible until I have more time to properly handle it
23:16 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 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 ok ... I'm ready to get to work on this
23:19 thd wait just one moment
23:19 kados ok
23:43 just found a type:
23:43 typo even
23:43 here's the revised version:
23:43  -9 =>  Flag
23:43  -8 =>  OPAC  Intranet !Editor !Collapsed
23:43  -7 =>  OPAC  Intranet !Editor  Collapsed
23:43  -6 =>  OPAC !Intranet !Editor !Collapsed
23:43  -5 =>  OPAC !Intranet !Editor  Collapsed
23:43  -4 =>  OPAC !Intranet  Editor !Collapsed
23:43  -3 =>  OPAC !Intranet  Editor  Collapsed
23:43  -2 =>  OPAC  Intranet  Editor !Collapsed
23:43  -1 =>  OPAC  Intranet  Editor  Collapsed
23:43   0 =>  OPAC  Intranet  Editor !Collapsed
23:43   1 => !OPAC  Intranet  Editor  Collapsed
23:43   2 => !OPAC !Intranet  Editor !Collapsed
23:43   3 => !OPAC !Intranet  Editor  Collapsed
23:43   6 => !OPAC !Intranet !Editor !Collapsed
23:43   5 => !OPAC !Intranet !Editor  Collapsed
23:44   6 => !OPAC  Intranet !Editor !Collapsed
23:44   7 => !OPAC  Intranet !Editor  Collapsed
23:44   8 => !OPAC  Intranet  Editor !Collapsed
23:45 so are we ready to get working?
23:45 thd yes ready
23:46 kados   9 => Future use
23:46 (btw)
23:46  -9 => Future use
23:46 (too)
23:46 :-)
23:46 woops ... -9 already taken
23:46 so just 9 then
01:01 yay logbot
01:02 thd kados: so I had asked about what values you would expect to be assigning to 952
01:04 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 kados: the current assignment for 952 for ARLIN users is 95r.
01:07 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 \d\d[cor] finds them in the SQL file
01:13 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 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 chris: check this out:
01:30 $subfield_data{visibility} = "display:none" unless ($tagslib->{$tag}->{$subfield}->{hidden}%2==0); #check parity
01:30 even works for '0' :-)
01:30 w00t
01:38 thd even works for negative nothing :)
01:38 kados thd: ok ... got our basic cases working
01:38 thd: with the new scheme
01:39 thd: so as soon as that new framework's ready we'll be good to go
01:39 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 ?
01:41 kados don't know yet, need to run some test
01:41 s
01:50 now the OPAC will display anything with a 'hidden' value less than or equal to 0
01:58 thd: are you working on the MARC framework?
01:58 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 printed sign
02:01 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  -9 =>  Flag
02:06  -8 =>  OPAC  Intranet !Editor !Collapsed
02:06  -7 =>  OPAC  Intranet !Editor  Collapsed
02:06  -6 =>  OPAC !Intranet !Editor !Collapsed
02:06  -5 =>  OPAC !Intranet !Editor  Collapsed
02:06  -4 =>  OPAC !Intranet  Editor !Collapsed
02:06  -3 =>  OPAC !Intranet  Editor  Collapsed
02:06  -2 =>  OPAC  Intranet  Editor !Collapsed
02:06  -1 =>  OPAC  Intranet  Editor  Collapsed
02:07   0 =>  OPAC  Intranet  Editor !Collapsed
02:07   1 => !OPAC  Intranet  Editor  Collapsed
02:07   2 => !OPAC !Intranet  Editor !Collapsed
02:07   3 => !OPAC !Intranet  Editor  Collapsed
02:07   4 => !OPAC  Intranet  Editor !Collapsed
02:07   5 => !OPAC !Intranet !Editor  Collapsed
02:07   6 => !OPAC  Intranet !Editor !Collapsed
02:07   7 => !OPAC  Intranet !Editor  Collapsed
02:07   8 => !OPAC !Intranet !Editor !Collapsed
02:07   9 => Future use
02:18 eep
02:18 found another problem
02:18 -2 == 0
02:18 :/
02:18 thd: sotp
02:18 thd: stop even
02:20 thd kados: ok stopped
02:20 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 ?
02:21 kados nothing is missing unfortunately
02:22 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 s/available/unassigned/
02:24 kados  -9 => Future use
02:24  -8 =>  Flag
02:24  -7 =>  OPAC !Intranet !Editor  Collapsed
02:24  -6 =>  OPAC  Intranet !Editor !Collapsed
02:24  -5 =>  OPAC  Intranet !Editor  Collapsed
02:24  -4 =>  OPAC !Intranet !Editor !Collapsed
02:24  -3 =>  OPAC !Intranet  Editor  Collapsed
02:24  -2 =>  OPAC !Intranet  Editor !Collapsed
02:24  -1 =>  OPAC  Intranet  Editor  Collapsed
02:24   0 =>  OPAC  Intranet  Editor !Collapsed
02:24   1 => !OPAC  Intranet  Editor  Collapsed
02:24   2 => !OPAC !Intranet  Editor !Collapsed
02:24   3 => !OPAC !Intranet  Editor  Collapsed
02:24   4 => !OPAC  Intranet  Editor !Collapsed
02:25   5 => !OPAC !Intranet !Editor  Collapsed
02:25   6 => !OPAC  Intranet !Editor !Collapsed
02:25   7 => !OPAC  Intranet !Editor  Collapsed
02:25   8 => !OPAC !Intranet !Editor !Collapsed
02:25   9 => Future use
02:25 revised the top portion
02:25 hopefully that is the last revision :/
02:25 if only there was a way to represent Intranet easily
02:25 hmmm
02:26 thd all are now happily unique again
02:26 kados I'm still irked by Intranet :/
02:27 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 thd: future code could treat them differently if need be
02:35 thd: current code is: if ((<=-4)||(>=5)) { not in the editor unless exists or is added}
02:36 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 thd: make sense?
02:36 thd yes
02:37 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 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 s/frame/table/
02:58 kados there are display issues with the Intranet
02:59 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 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 kados: I am staring and the last version of the nice print out to select which ones will be the most prevalent
03:15 s/print out/schema design for hidden/
03:18 kados I'm guessing 0 and -5
03:18 followed closely by -1
03:19 probably 0, -5 and -1 cover 99% of cases
03:19 thd: do you agree?
03:20 thd kados: what does -5 do for us?
03:20 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 -5 should be used on all 'rare' fields/subfields
03:21 (or -6 depending on your preference)
03:21 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 thd: correct
03:22 'common' is 0, 'uncommon' is -1, 'rare' is -5
03:22 thd: the assumption is always that if the value exists it will be saved
03:22 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 thd: not javascript overload ... browser overload
03:23 it's the sheer size of the page that's the problem
03:24 network + browser rendering + javascript parsing
03:24 = dead browser :-)
03:24 unless (numberof MARC fields is small);
03:24 :-)
03:25 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 thd: sounds great
03:26 thd right
03:27 kados: I was confused for a few minutes about what not editor meant, for if populated.
03:28 kados right
03:28 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 I _shouhld_ be able to do it with 'addfield' if I properly construct things
03:30 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 kados: make that -6 followed by 5 for non-Koha holdings
04:22 kados k
04:38 thd: have a look at the 0XX tab
04:38 thd: I've made some stylistic changes
04:39 thd: moved the subfield label to be a rollover on the subfield itself
04:39 thd: and changed from clicking on a 'up arrow' to clicking on the subfield code to expand hidden subfields
04:40 also adjusted the size of the subfield input box
04:40 thd: let me know what you think
04:41 (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 record editor still loading
04:48 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 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 well, it should at least be an option
04:51 ie turn on/off visible labels
04:51 for subfields
04:51 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 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 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 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 eventually
05:00 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 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 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 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 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 naturally I have no certificates.  I have only chased knowledge but not certificates.
05:21 kados: does null and maybe empty string work like 0 not that I would supply them?
05:21 kados yes
05:21 but please use '0' as the default
05:21 ok ... I'm off to bed
05:21 night all
05:21 thd good because at least null is already there in some cases.
05:21 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 (prepraring the answer)
05:51 paul great !
05:58 pierrick in Koha intranet menu, how do you reach maint/catmaintain.pl ?
05:59 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 the maintenance scripts didnt get ported to MARC
06:05 pierrick oups, of course I read too quickly
06:06 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 as the searches search the MARC tables, even with MARC=OFF
06:10 so if undelete doesnt rebuild the marc data, the biblio will exist in the biblio table, but wont be searchable
06:10 i have to get the undelete working for HLT who use 2.2.5
06:10 so ill commit the fix to rel_2
06:11 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 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 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 ?
07:58 pierrick :-) victory
07:59 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 binmode...
07:59 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 the question being why ?
08:00 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 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 great detective work pierrick
10:50 paul in fact kados, i added this like voluntary. To see if pierrick could find it...
10:51 ('morning)
10:51 (who said i'm a liar ?)
10:53 pierrick hi kados
10:54 paul: that's what I was thinking whil lunching ;-)
10:54 paul Ihope you had a good lunch even..
10:54 pierrick of course

← Previous day | Today | Next day → | Search | Index

koha1