Changeset 32307

Show
Ignore:
Timestamp:
30.07.2018 11:10:57 (13 months ago)
Author:
kjdon
Message:

I have changed the way metadata is stored in java for berry basket items, to make it easier to customise for teh user without modifying java code. This means the metadata names will match what is in greenstone now, eg Title instead of the old title. updated names and tidied up code a bit, and handling extra custom metadata.

Location:
main/trunk/greenstone3/web/interfaces/default/js/berrybasket
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/js/berrybasket/berrybasket.js

    r30772 r32307  
    199199        var berryElement = document.createElement('li'); 
    200200        list.appendChild(berryElement); 
    201         var title = berryItem.getAttribute('title'); 
    202         var root_title = berryItem.getAttribute('root_title'); 
     201        var title = berryItem.getAttribute('Title'); 
     202        var root_title = berryItem.getAttribute('root_Title'); 
    203203        //var id = berryItem.getAttribute('collection')+":"+berryItem.getAttribute('name'); 
    204204 
    205         if (root_title != ""){ 
    206             root_title +=":"; 
    207         } 
    208  
    209         title = root_title+title; 
    210         title += " ("+berryItem.getAttribute('collection')+")"; 
     205        if (root_title != null){ 
     206            title = root_title+":"+title; 
     207        } 
     208            title += " ("+berryItem.getAttribute('collection')+")"; 
    211209        if (title.length > 76){ 
    212210            title = title.substring(0,30)+" ... "+title.substr(title.length-45,45); 
     
    351349 
    352350                        if (id == tid){ 
    353                             var title = berryItem.getAttribute('title'); 
    354                             var root_title = berryItem.getAttribute('root_title'); 
    355                             if (root_title != ""){ 
    356                                 root_title +=":"; 
     351                            var title = berryItem.getAttribute('Title'); 
     352                            var root_title = berryItem.getAttribute('root_Title'); 
     353                            if (root_title != null){ 
     354                             
     355                                title = root_title+":"+title; 
    357356                            } 
    358  
    359                             title = root_title+title; 
    360357                            if (title.length > 50){ 
    361358                                title = title.substring(0,20)+" ... "+title.substr(title.length-35,35); 
  • main/trunk/greenstone3/web/interfaces/default/js/berrybasket/berrycheckout.js

    r32300 r32307  
    44var source_link_collections = new Array(); // or add list of collections like ["pdfberry", "mgppdemo"]; 
    55var document_link_collections = new Array(); // or add list of collections as above. 
     6//these are the default metadata items used by  berry baskets. 
     7var default_metas = ["Title", "root_Title", "root_assocfilepath", "root_srclinkFile", "name", "collection", "Date"]; 
    68 
    79var docList = new Array(); 
     
    153155 
    154156            a.href=generateURL(doc); 
    155         a.appendChild(document.createTextNode(doc['title']));  
    156         if (doc['root_title'] != ""){ 
    157             li.appendChild(document.createTextNode(doc['root_title']+": "));  
     157        a.appendChild(document.createTextNode(doc['Title']));  
     158        if (doc['root_Title']){ 
     159            li.appendChild(document.createTextNode(doc['root_Title']+": "));  
    158160        } 
    159161        li.appendChild(a); 
    160162        li.appendChild(document.createTextNode(" ("+doc['collection']+")")); 
    161163        var metadata = ""; 
    162         for (var metaItem in doc && metaItem != 'title'){ 
    163             metadata = "\n"+metaItem+": "+ doc[metaItem]+"\n"; 
    164         } 
    165         text +=metadata+"\n"; 
     164            for (var metaItem in doc) { 
     165            if ( !default_metas.includes(metaItem)){ 
     166                metadata += " "+metaItem+": "+ doc[metaItem]+" "; 
     167            } 
     168            } 
     169        text +=metadata; 
    166170        li.appendChild(document.createTextNode(text)); 
    167171        li.className = 'berrydoc'; 
     
    169173        new ygDDPlayer(img.id,'trash',docList); 
    170174    } 
    171  
    172     /** 
    173     var extra = document.createElement('div'); 
    174     var textview = document.createElement('span'); 
    175     textview.id = 'extextview'; 
    176     textview.className = 'extralink'; 
    177     textview.appendChild(document.createTextNode("plain text version")); 
    178     var email = document.createElement('span'); 
    179     email.appendChild(document.createTextNode("email to a friend")); 
    180     email.id = 'exemail'; 
    181     email.className = 'extralink'; 
    182     extra.appendChild(textview); 
    183     extra.appendChild(email); 
    184     content.appendChild(extra); 
    185     **/ 
    186     //alert('x'); 
    187175 
    188176} 
     
    387375    // remove library 
    388376    root_url = root_url.substring(0, root_url.lastIndexOf('/')); 
    389     url = root_url+"/sites/"+gs.xsltParams.site_name+"/collect/"+doc['collection']+"/index/assoc/"+doc["assocfilepath"]+"/"+doc["srclinkFile"]; 
     377    url = root_url+"/sites/"+gs.xsltParams.site_name+"/collect/"+doc['collection']+"/index/assoc/"+doc["root_assocfilepath"]+"/"+doc["root_srclinkFile"]; 
    390378    } 
    391379    return url; 
     
    408396 
    409397    var fulltext=""; 
    410  
    411398    for (var i in docList){ 
    412399        var doc = docList[i]; 
     
    414401 
    415402        var metadata = ""; 
    416         if (doc['title']) { 
    417         metadata += gs.text.berry.doc_title+": "+doc['title']+"\n"; 
    418         } 
    419         if (doc['root_title']) { 
    420         metadata += gs.text.berry.doc_root_title+": "+doc['root_title']+"\n"; 
     403        if (doc['Title']) { 
     404        metadata += gs.text.berry.doc_title+": "+doc['Title']+"\n"; 
     405        } 
     406        if (doc['root_Title']) { 
     407        metadata += gs.text.berry.doc_root_title+": "+doc['root_Title']+"\n"; 
    421408 
    422409        } 
     
    427414        metadata += gs.text.berry.doc_collection+": "+doc['collection']+"\n"; 
    428415        } 
    429         if (doc['date']) { 
    430         metadata += gs.text.berry.doc_date+": "+doc['date']+"\n"; 
    431         } 
    432         fulltext +=url+metadata+"\n"; 
     416        if (doc['Date']) { 
     417        metadata += gs.text.berry.doc_date+": "+doc['Date']+"\n"; 
     418        } 
     419        // allow for inclusion of custom metadata 
     420        for (var m in doc) { 
     421        if (!default_metas.includes(m)) { 
     422            metadata += m +":" + doc[m]+"\n"; 
     423        } 
     424        } 
     425        fulltext +=url+metadata+"\n"; 
    433426    } 
    434427