IRC log for #koha, 2006-03-16

All times shown according to UTC.

Time S 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-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 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-bi[…]mple/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-bi[…]mple/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

| Channels | #koha index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary