← 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' jmfliblime.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