[picklist] unresponsive list of authority

Home Forums Error reporting [picklist] unresponsive list of authority

This forum is for reporting errors, bugs and malfunctions in the system.
  • Creator
    Topic
  • #5019
    peter
    Participant
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    Hello,
    abcd works decently on Slackware15.0 with php-7.4.33 and httpd-2.4.55, both already installed by default on this linux distribution.

    However, on our databases, when browsing a pick-list, via the button “javascript:Continuar()”, the navigation panel freezes and we have to close the pick-list window before re-opening it to be able to use it again.
    This pick lists contains approximately 700 items.
    We cannot replicate the issue on the Marc database included in ABCD v2.2.0-beta-1 + 2023-02-09.

    Where should we start looking to understand the issue ? is this java-script or configuration related ?
    There are no obvious error messages on the screen or in the httpd log files.
    This is with ISO-8859-1 encoding.

    Thanks,

    the file autoridades.pft is here below for three fields :
    select e3
    case 710: “^a”v710^a” “‘$$$’v710
    case 711: “^a”v711^a,|. |v711^b,| (|v711^c|) |, if a(v711^c) then | (|v711^p|)| fi’$$$’v711
    case 712: “^a”v712^a,|. |v712^b,| (|v712^c|) |, if a(v712^c) then | (|v712^p|)| fi’$$$’v712
    endsel

Viewing 13 replies - 1 through 13 (of 13 total)
  • Author
    Replies
  • #5021
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    Dear Peter,

    I tested your lines and it worked perfectly. Obviously I adjusted the quote characters to the acceptable standard, as the forum did an improper conversion.

     

    select e3
    case 700: "^a"v710^a" "'$$$'v710
    case 700: "^a"v711^a,|. |v711^b,| (|v711^c|) |, if a(v711^c) then | (|v711^p|)| fi'$$$'v711
    case 712: "^a"v712^a,|. |v712^b,| (|v712^c|) |, if a(v712^c) then | (|v712^p|)| fi'$$$'v712
    endsel
    
    
    

    I could not reproduce the error in any way.

    My question is:

    – Do the buttons freeze after the window is opened or does it freeze after a certain amount of clicks?

    One suggestion I can give is to inspect the window using F12 from the browser and then click Console. JavaScript errors show up in the browser debuggers.

     

    If you get more information, please post it here so we can try to figure out what’s going on.

    #5026
    peter
    Participant
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    Dear Roger,
    it freezes after a certain amount of clicks.
    yes the javascript console reports three(?) errors: the unexpectedtoken, favicon.ico and the referenceerror
    thanks for the pointer.

    #5027
    peter
    Participant
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    when working with our base,
    is it the function AbrirIndice() line 361 column 54 that is the initial issue ? or something else in our installation ?
    capturaclaves.php

    document.Lista.base.value='".$arrHttp["base"]."'
    
    
    function Continuar(){
      i=document.Lista.autoridades.length-1
      a=' '
      if (i>1) {
         i--
         a=document.Lista.autoridades.text
      }
      AbrirIndice(a)
    }
    
    
    #5030
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    Dear Peter,

    Forgive me for asking so many questions, but due to distance and the static dynamics of the forum one has to check several points to locate the cause of this error.

    Based on your last message, I remembered that there have been errors in the dictionary caused by the data itself. Characters like apostrophe, double quotes, single quotes in the middle of data end up breaking scripts.

    So let’s go to the questions:
    – Does this error occur in only 1 field?
    – The amount of clicks that causes the error is always the same?
    – Did you notice if the freezing happens from a specific point?

    As I said, I could not reproduce the error, which leads me to believe that the problem is in the data.

    I await your confirmations.

    Best regards.

    #5031
    peter
    Participant
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    – Does this error occur in only 1 field?
    – The amount of clicks that causes the error is always the same?
    – Did you notice if the freezing happens from a specific point?

    Dear Roger
    -no three fields at least, 710, 711, 712 as listed in our autoridades.pft file
    -probably four clicks on the down button, but not sure
    -after we click approximately four times on the up-down buttons OR the letters in the picklist form.

    You are right on the presence of characters.
    Yes there are many characters like dot(.) comma(,) dash(-) apostrophe(‘) parenthesis () etc… in the data as you can see some of them in the screenshots.

    Are parenthesis, comma, dot and apostrophe allowed in the picklist’s data ?

    Thanks,

    #5033
    peter
    Participant
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    correcting some of the above :
    -the amount of clicks is systematically three (3) (not four) on the button fa-chevron-circle-down before the first javaScript error shows up in the browser F12 console.
    -it doesn’t seem to be happening at a specific point, just three clicks on the picklist of any of three fields 710,711,112. A copy of our autoridades.pft file with lines number is below.

    Uncaught ReferenceError: Continuar is not defined    <anonymous> javascript:Continuar():1
    Uncaught ReferenceError: AbrirIndice is not defined    <anonymous> javascript:AbrirIndice(' '):1
    Uncaught ReferenceError: Continuar is not defined    <anonymous> javascript:Continuar():1
    
    
      1 select e3                                                                                                        
     2                                                                                                                  
     3 case 101: "^b"v101^b" "v101^x'$$$'v101                                                                           
     4 case 210: "^a"v210^a" : "v210^c'$$$'"^a"v210^a"^c"v210^c                                                         
     5 case 225: "^a"v225^a"  "v225^e'$$$'"^a"v225^a,"^e"v225^e,"^x"v225^x                                              
     6 case 461: "^a"v461^a,"^e"v461^e,"^h"v461^h,"^i"v461^i,"^f"v461^f,"^x"v461^x                                      
     7 case 464: "^a"v464^a,"^e"v464^e,"^h"v464^h,"^i"v464^i,"^f"v464^f,"^x"v464^x,"^c"v464^c                           
     8 case 500: "^a"v500^a,"^i"v500^i,"^k"v500^k                                                                       
     9 case 500: "^a"v605^a,"^i"v605^i,"^k"v605^k                                                                       
    10 case 606: "^a"v606^a                                                                                             
    11 case 607: "^a"v607^a,"^h"v607^h,"^r"v607^r,"^o"v607^o,"^c"v607^c,"^s"v607^s,"^v"v607^v                           
    12 case 607: "^a"v807^a,"^h"v807^h,"^r"v807^r,"^o"v807^o,"^c"v807^c,"^s"v807^s,"^v"v807^v                           
    13 case 700: "^a"v700^a", "v700^b'$$$'v700                                                                          
    14 case 701: "^a"v701^a|, |v701^b'$$$'v701                                                                          
    15 case 702: "^a"v702^a|, |v702^b'$$$'v702                                                                          
    16 case 700: "^a"v870^a,"^b"v870^b,"^r"v870^r,"^c"v870^c,"^f"v870^f,"^p"v870^p,"^v"v870^v                           
    17 case 600: "^a"v600^a|, |v600^b'$$$'v600                                                                          
    18 case 700: "^a"v800^a,"^b"v800^b,"^r"v800^r,"^c"v800^c,"^f"v800^f,"^p"v800^p,"^v"v800^v                           
    19 case 710: "^a"v710^a" "'$$$'v710                                                                                 
    20 case 711: "^a"v711^a,|. |v711^b,| (|v711^c|) |, if a(v711^c) then | (|v711^p|)| fi'$$$'v711                      
    21 case 712: "^a"v712^a,|. |v712^b,| (|v712^c|) |, if a(v712^c) then | (|v712^p|)| fi'$$$'v712                      
    22 case 601: "^a"v601^a,|. |v601^b,| (|v601^c|) |, if a(v601^c) then | (|v601^p|)| fi'$$$'v601                      
    23 case 871: "^a"v871^a,"^b"v871^c,"^p"v871^p,"^c"v871^b,"^o"v871^o,"^s"v871^s,"^v"v871^v                           
    24 case 801: "^a"v801^a,"^b"v801^c,"^p"v801^p,"^c"v801^b,"^o"v801^i,"^s"v801^s,"^v"v801^v                           
    25                                                                                                                  
    26 endsel 
    
    
    

     

     

     

    #5034
    Egbert de Smet
    Keymaster
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    I also fail to re-construct the problem on my installation (Linux Mint) : I can continue browse index-terms until after the 3rd click without problems.

    If the problem is with the data we will need (a subset of) your data for further testing. E.g. an ISO2709 export of a larger set of records (to obtain sufficient index-terms to be browsed and make getting the weird characters more likely).

    To me it seems likely indeed that strings containing single apostrophes ‘ or similar create problems as the scripts themselves also quote the strings. A possible solution would be to use the replace()-function of the ISIS Formatting Language to remove them before ‘producing’ them in the interface (or in the authority list).

    #5036
    peter
    Participant
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    Dear Egbert, Dear Roger
    Yes the data in any fields can corrupt the browsing of the authority list.
    The freeze&error will happen as soon as the authority list encounters something out of the ordinary
    So i am wrong, it can be any number of clicks until we reach something unusual in the authority list.

    Example below for a co-author field # 701, it can be any other field.

    ^aAltora Colonna de Stigliano^bFerdinand-Joseph d'^cprince^f1871-1939
    ^aAltora Colonna de Stigliano^bFerdinand-Joseph^cprince d'^f1871-1939

    the issue freeze disappear when we edit the field to make it uniform as below.

    ^aAltora Colonna de Stigliano^bFerdinand-Joseph^cprince d'^f1871-1939

    Why a chain of basic ascii characters letters-number-apostrophe-parenthesis-dot-comma is impacting the javascript Continuar() so much ? It will be hard for us to verify the data integrity on large base.

    Thanks,

    #5037
    Egbert de Smet
    Keymaster
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    Did you try with a replace() function in the autoridades.pft ? In principle you can use that to omit (meaning : to replace a character by nothing) the weird characters like the single apostrophe or double quotes. I remember having done that for other purposes (e.g. a cleaner Inverted File) and it worked fine.

    #5039
    peter
    Participant
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    No not yet.
    Give me time to understand where is located and how is used the replace() function.

    However, afraid the apostrophe is part of the typographic methodology here and there.
    Example here : sudoc.abes.fr
    search for Altora and the apostrophe seems to be in the author’s authority-list.

     

     

     

    d'
    
    

     

     

    Thanks

    #5042
    Egbert de Smet
    Keymaster
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    example use of the ‘nested’ replace() function I used in an application to avoid double quotes ” and a slash / to appear in the index for titles (v245^a in MARC) :

    replace(replace(v245^a,’/’,”),'”‘,”)

    If you put this in the FST, you won’t change anything in the data themselves, only in the search keys. Same if you put this in the autoridades.pft : it will only change the way how the names are formatted in the picklists.

    #5045
    peter
    Participant
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    Ok thank you both. The topic can be closed.
    Removing the apostrophe from the displayed field enables us to unroll the authority list without any JavaScript errors from letter A to letter C then letter D to letter Z. For some reason the “Continuar()” button stops at the letter C.
    A Modified autoridades.pft file below.

    initial
    case 712: "^a"v712^a,|. |v712^b,| (|v712^c|) |, if a(v712^c) then | (|v712^p|)| fi'$$$'v712

    modified (cannot use the formatting with back-quote & apostrophe)

     

    #5038
    peter
    Participant
    Helpful
    Up
    0
    Down
    Not Helpful
    ::

    Did you try with a replace() function in the autoridades.pft ?

    No not yet.
    Give me time to understand where is and how work the replace() function.

    However, afraid we actually need the apostrophe based on the typographic methodology here and there.
    example here: sudoc.abes.fr
    search for Altora, you will see a

    d'

    Thanks,

Viewing 13 replies - 1 through 13 (of 13 total)
  • The topic ‘[picklist] unresponsive list of authority’ is closed to new replies.