LibX

Da sia.
Vai alla navigazione Vai alla ricerca

Cos'è?

LibX 2.0

LibX incorpora numerosi cataloghi nel browser sia come barra degli strumenti sia come funzionalità integrate nella navigazione.
Si tratta di un elemento che verrà installato localmente sul PC che si sta utilizzando o sul profilo virtuale personale (nel caso di utilizzo di PC virtualizzati).

  • Tipologia: componente aggiuntivo/estensione per browser
  • Requisti tecnici:
    • Sistema operativo: Windows XP o successivi, Linux, Mac OS-X
    • Browsers: Firefox 4 e successivi, Google Chrome, Internet Explorer 7 e 8 con .NET Framework 2.0 (esclusivamente LibX versione 1.5.x)
  • Sviluppatore: Virginia Tech University
  • Licenza: Mozilla Public Licence
  • Website e pubblicazioni: http://libx.org
  • Manutenzione per le BU Unimore: Michele Pola

Dal gennaio 2012 LibX 2.0 è stato ufficialmente rilasciato, pertanto la nuova interfaccia sostituirà al primo aggiornamento quella della versione 1.5.XXX su Mozilla Firefox.

Note tecniche dell'upgrade

L'upgrade da LibX 1.5 a 2.0 ha comportato le seguenti novità:

  • interfaccia in italiano
  • riduzione da barra degli strumenti a pulsante con interfaccia a scomparsa
  • possibilità di caricare un'edizione esistente (cioè una personalizzazione) al volo
  • supporto browsers:
    • Mozilla Firefox
    • Google Chrome
    • Internet Explorer non viene più supportato. È comunque possibile continuare ad usare la versione 1.5, che peraltro da problemi di compatibilità con Windows 7, Explorer 9 e altre versioni di Windows a 64 bit.

NOTA BENE: eventuali modifiche nelle personalizzazioni di LibX 2.0 (aggiunta, rimozione o modifica di cataloghi, link e grafica) non verranno trasposte nella 1.5.x per Internet Explorer. L'attuale versione 1.5.x disponibile per le BBUU è quella definitiva.

Scaricare, installare e diffondere: link per le BBUU

Proporre LibX agli utenti è molto facile: basta mettere i link corrispondenti alla propria biblioteca in una pagina del proprio sito web:

Biblioteca Link inseriti in LibX Loghi
BU Umanistica

BU Reggio

BU Medica

BU Economia

BSI

BU Giuridica

BUST

Funzionalità standard di LibX

Video tutorial qui (per LibX 1.5.x): http://www.youtube.com/watch?v=5Kq4xroyK_Y
Istruzioni complete di LibX

Installazione, disinstallazione, aggiornamento

  • Mozilla Firefox
    • Installazione: cliccare il link indicato sul sito relativo. Il blocco di sicurezza di Firefox avviserà del tentativo di installazione di un componente aggiuntivo. Cliccate in alto a destra PERMETTI per completare il processo e, se richiesto, riavviate il browser.
    • Disinstallazione: nel menu STRUMENTI--COMPONENTI AGGIUNTIVI; dalla finestra risultante cercate LibX nella sezione ESTENSIONI e cliccate il pulsante disinstalla. Riavviate il browser.
    • Aggiornamento: Firefox vi segnala in automatico la presenza di una nuova versione. Oppure nel menu STRUMENTI--COMPONENTI AGGIUNTIVI; dalla finestra risultante cliccate cerca aggiornamenti.
  • Internet Explorer (solo LibX 1.5.x)
    • Installazione: cliccare il link indicato sul sito relativo, scaricare l'eseguibile e lanciarlo, scegliendo la cartella di destinazione dell'installazione.
    • Disinstallazione: dal Pannello di controllo di Windows, cliccate Installazione applicazioni e scegliete LibX dall'elenco.
    • Aggiornamento: all'interno di Internet Explorer, nel pannello di controllo attivabile cliccando su "LibX preferences" scegliete la scheda "Updates"; "Check for updates" lancia un controllo sull'esistenza di nuove versioni. Nel caso vengano trovate, cliccate il pulsante "Download updates" che apparirà. Riavviate IE quando richiesto per vederne gli effetti.

LibX può essere nascosto e richiamato con F9 o cliccando in basso a destra sull'icona che compare nella barra di stato del browser sulla funzione "Show toolbar".

  • Google Chrome
    • Installazione: cliccare il link indicato sul sito relativo. Il blocco di sicurezza di Chrome avviserà che l'estensione ha accesso ad alcuni dati della navigazione dell'utente. Cliccate PERMETTI per completare il processo.
    • Disinstallazione: dal menu "Strumenti" scegliete ""Opzioni--->Estensioni"", "LibX" e disinstalla. Oppure cliccate con il testo destro sull'icona di LibX e scegliete "Disinstalla".
    • Aggiornamento: l'aggiornamento è automatico in background.

Preferenze

Le impostazioni di LibX si aprono cliccando su Preferenze
È possibile decidere come il browser debba comportarsi al lancio di una ricerca (nuova scheda, nuova finestra, ecc.), attivare/disattivare la funzione di autolinking e le opzioni per CiteULike, abilitare, disabilitare e modificare le funzioni implementate nel tasto destro del mouse, decidere se LibX debba interrogare in automatico (per SFX e l'autolinking) determinate fonti esterne, aggiornare i CUES senza necessità di aggiornare tutto LibX.

Maschera di ricerca con cataloghi integrati

La maschera di ricerca a scomparsa è lo spazio da compilare con le parole chiave per lanciare le ricerche nei cataloghi. A sinistra si trova l'etichetta che indica il campo di ricerca. Cliccandoci, se disponibili altre opzioni a seconda del catalogo, può essere variato (parola chiave, titolo, autore ecc.). Se il catalogo selezionato offre almeno 2 possibilità, è possibile lanciare una ricerca incrociata. Cliccando sull'icona in fondo a destra (freccia in basso) appare un secondo campo di ricerca (eliminabile con l'icona X). Cliccando sul nome del catalogo (sopra il primo campo) è possibile sceglierne un altro in cui lanciare la ricerca. Il pulsante adiacente CLEAR pulisce i campi. Al momento sono stati inseriti, nelle varie versioni personalizzate, i seguenti cataloghi e ogni BBUU può suggerirne dei nuovi e diversi che saranno resi disponibili se tecnicamente possibile:

CATALOGO autore titolo ricerca libera editore ISBN-ISSN Edizioni
Sebina no Bust, Eco, Umanist., Reggio, BSI, Giur., Medica
SBN no Bust, Eco, Umanist., Reggio, Giur.
ACNP no no no no Eco, Umanist., Reggio, BSI, Giur., Medica
ACNP Mo012 no no no no Giur.
Essper no no no no Eco, Reggio, Giur.
Azalai metaopac no no no no Eco, Reggio
Riviste elettroniche (AZ list SFX) no no no Bust, Eco, Umanist., Reggio, BSI, Medica
Internet Bookshop no no Eco, Reggio, Giur.
Google libri no no no no Eco, Reggio
Amazon Books Eco, Reggio, BSI, Medica
Libreria Universitaria no no Reggio
Licosa no no no no Reggio
Tesi di laurea BUST no no no no BUST

Link utili

I link utili ai servizi della Biblioteca vengono visualizzati cliccando la voce di sinistra e funzionano come dei normali segnalibri.

Magic Buttons e pulsante Scholar (solo LibX 1.5.x)

Nota bene: solo LibX 1.5.x.
Con i "magic buttons" è possibile lanciare al volo una ricerca in Google Scholar o in uno dei cataloghi selezionati. Il pulsante Scholar funziona con il sistema "drag and drop": all'interno di una pagina web o anche di un documento aperto esternamente al browser, trovata una parola o una frase di interesse, basta selezionarla con il mouse e poi (tenendo cliccato il tasto sinistro) trascinare la selezione sul pulsante. La stessa procedura funziona anche facendo "drag and drop" sul pulsante del catalogo selezionato.

Scholar (solo LibX 2.0)

Nota bene: solo LibX 2.0.
Google Scholar è presente tra le opzioni di ricerca contestuale (tasto destro.) Selezionate del testo da una pagina web, cliccate con il destro e nel menu appare "LibX per Chrome-->Cerca per XXXX in Scholar" (Chrome) e "Cerca in Scholar" (Firefox).
Può essere abilitato/disabilitato nelle impostazioni del menu contestuale.

Cues

I CUES sono script integrati in LibX per collegare alle risorse bibliotecarie siti commerciali. Ad esempio su Amazon compare il logo di LibX di fianco ai titoli dei libri: cliccandolo si lancia una ricerca nel catalogo Sebina in automatico.
I CUES fanno una scansione della pagina HTML e quando trovano il punto programmato (ad es. su Amazon l'intestazione titolo\autore del libro) posizionano appunto l'icona della versione di LibX installata. Nota bene: i CUES modificano solo la versione della pagina caricata sul browser che stiamo usando, non modificano la pagina alla fonte, dal momento che è un programma installato localmente sul PC.
I CUES possono essere soggetti a falsi positivi, dal momento che i siti commerciali cambiano spesso il layout delle loro pagine e questi script devono dunque essere aggiornati di conseguenza. Si possono aggiornare solo i CUES, invece che tutto LibX, dall'apposita funzione del pannello di controllo.
Al momento i siti supportati sono: abebooks.com, alibris.com, Barnes & Noble, Amazon.com, Amazon UK e Amazon CA, google.com, google.ca, ecampus.com, powells.com, chapters.ca, Yahoo.com, Booklistonline.com.

Autolinking

Ogni volta che in una pagina web compare un ISBN, un ISSN, un PubmedId o un DOI, LibX lo trasforma automaticamente in un link. Cliccandolo lancia una ricerca nel catalogo preposto (a seconda del tipo di materiale). Aspettando qualche attimo e posizionando il mouse sul link senza cliccare comparirà l'etichetta con i dettagli. LibX infatti interroga xISBN e OCLC in "sottofondo" e recupera i dati dei numeri standard scansionati nella pagina web caricata.
Al momento l'autolinking di default punta a:

Numero standard Catalogo interrogato
ISBN Sebina
ISSN SFX unimore
Pubmed SFX unimore
DOI SFX unimore (al momento non ancora funzionante)

Search for integrato

Il metodo più comodo per lanciare una ricerca trovando un titolo di un libro in una bibliografia in una pagina web è selezionarlo, cliccare la selezione con il tasto destro e selezionare la voce "LibX-->Search Sebina for Parola Chiave "testo selezionato".
Tutti i cataloghi e tutte le opzioni di ricerca possono essere abilitate nel tasto destro, oltre a quella di default "Sebina ricerca libera", agendo sulle preferenze. Scegliendo di aggiungere un "Search for" di tipo AUTORE, la ricerca sarà euristica: selezionando un autore NOME COGNOME, LibX lo normalizzerà COGNOME, NOME automaticamente.

SFX

L'integrazione di SFX Unimore in LibX permette di estendere la fonte di SFX (source) a tutto il web. Attualmente le sources di SFX impostate a monte sono Google Scholar e le Banche dati di Ateneo: in queste comparirà sempre un'opzione "Servizi SFX Unimore" se collegati dalla rete di Ateneo.
Con SFX integrato in LibX, il pulsante comparirà in qualunque pagina del web (blog, bibliografie, altri motori di ricerca oltre a Google) venga intercettato un OpenUrl ed esso verrà risolto (target di SFX) verso le risorse elettroniche di Ateneo. LibX è anche compatibile con Coins, convenzione del codice HTML per creare OpenUrl in maniera più facile (provate a fare una ricerca nel catalogo tesi della BUST.

Supporto per CiteULike

CiteULike è un servizio della Springer per collezionare, formattare, condividere e gestire le citazioni bibliografiche. CiteULike, previa installazione di alcuni componenti, permette la cattura automatica da un certo numero di siti predefiniti (solitamente banche dati e editori di periodici elettronici scientifici) dei dati bibliografici in maniera corretta (senza bisogno di copia-incolla o di compilare schede bibliografiche manualmente).
LibX incorpora gli elementi necessari per fare comparire alla fine della barra dell'indirizzo (per i siti supportati) l'icona blu che permette di salvare su CiteULike senza installare ulteriori componenti.

Statistiche di download (26/01/2012)

last 7 days --> downloads, all time -->
Edition ID Description update.rdf (unique) update.rdf (total) Firefox (unique) MS IE (unique) Both (unique) Both (total)
42923AF9 BU Reggio Unimore (IT) 39 93 68 43 111 1379
DFA63EC6 BU Area Giuridica Unimore (IT) 31 42 52 32 84 460
71231233 BUST Enzo Ferrari Unimore (IT) 20 53 121 76 197 1950
DA61C895 BSI Unimore (IT) 15 39 39 29 68 430
94656DE1 BU Economia S. Brusco Unimore (IT) 4 10 28 39 67 1020
737EF5FD BU Medica Unimore (IT) 2 10 6 7 13 73
5E8AFB48 BU Umanistica Unimore (IT) 2 9 17 57 74 243

Per chi volesse pubblicarle sul proprio sito in maniera automatica e autoaggiornante:

  • Copiare il codice Javascript di cui sotto (nella sezione <head> della pagina o richiamandolo da un file esterno con le modalità consuete)
  • Copiare il codice xhtml seguente nella posizione in cui si vuole che compaia il numero dei download; per personalizzare il codice inserire nel campo edition_id="" il numero identificativo della propria edizione. Per conoscerlo, leggete il link (es.: per Economia http://libx.org/editions/94/65/94656DE1/libx-94656DE1.exe il numero è 94656DE1), oppure andate nel Pannello di controllo del vostro LibX in "about" alla voce Version.
<span class="libxstats" edition_id="00000000" field="total_downloads"></span>

Codice Javascript

<!--statistiche automatiche di LibX -->
<script type="text/javascript">
//<![CDATA[
libxstats = (function () {

var url = "http://libx.org/stats/makejson.php";
var isReady = false;
var requests = 0;
var editionsCache = { };
var pending = [ ];

var userAgent = navigator.userAgent.toLowerCase();
browser = {
	version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
	safari:  /webkit/.test(userAgent),
	opera:   /opera/.test(userAgent),
	msie:    /msie/.test(userAgent) && !/opera/.test(userAgent),
	mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
};

// check the cache to see if we've already requested data for this edition
function editionIsInCache (edition_id) {
    return (editionsCache[edition_id] !== undefined);
}
/*
 * find all div and span tags, and check each of them to see if they are in
 * the class "libxstats"
 */
function findAllLibXTags () {
    var span = document.getElementsByTagName("span");
    var div =  document.getElementsByTagName("div");
    var alltags = [ ];
    var libxtags = [ ];
    for (var i = 0; i < span.length; i++) {
        alltags.push(span[i]);
    }
    for (var i = 0; i < div.length; i++) {
        alltags.push(div[i]);
    }
    for (var i = alltags.length - 1; i >= 0; i--) {
        if (alltags[i].className == "libxstats" && alltags[i].hasAttribute("field")
            && alltags[i].hasAttribute("edition_id")) {
            libxtags.push(alltags[i]);
        }
    }
    return libxtags;
}
function processLibXTags (libxtags) {
    for (var i = 0; libxtags.length > 0; i++) {
        var elem = libxtags.pop();
        pending.push(elem);
        var edition_id = elem.getAttribute("edition_id");
        if (editionIsInCache(edition_id)) {
            libxstats.processResults(editionsCache[edition_id], false);
        }
        else {
            loadJSONFunction(edition_id);
            window.setTimeout(function () {
                processLibXTags(libxtags);
            }, 40);
            return;
        }
    }
}
function buildTable (elem, json) {
    var table = document.createElement("table");
    for (var i in json.descriptions) {
        var row = document.createElement("tr");
        var desc = document.createElement("td");
        desc.innerHTML = i;
        var data = document.createElement("td");
        data.innerHTML = json.statistics[json.descriptions[i]];
        row.appendChild(desc);
        row.appendChild(data);
        table.appendChild(row);
    }
    elem.appendChild(table)
}

function addEvent( obj, type, fn ) {
    if (obj.addEventListener) {
            obj.addEventListener( type, fn, false );
            EventCache.add(obj, type, fn);
    }
    else if (obj.attachEvent) {
            obj["e"+type+fn] = fn;
            obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
            obj.attachEvent( "on"+type, obj[type+fn] );
            EventCache.add(obj, type, fn);
    }
    else {
            obj["on"+type] = obj["e"+type+fn];
    }
}
var EventCache = function(){
    var listEvents = [];
    return {
        listEvents : listEvents,
        add : function(node, sEventName, fHandler){
            listEvents.push(arguments);
        },
        flush : function(){
            var item;
            for(var i = listEvents.length - 1; i >= 0; i--){
                item = listEvents[i];
                if(item[0].removeEventListener){
                    item[0].removeEventListener(item[1], item[2], item[3]);
                };
                if(item[1].substring(0, 2) != "on"){
                    item[1] = "on" + item[1];
                };
                if(item[0].detachEvent){
                    item[0].detachEvent(item[1], item[2]);
                };
                item[0][item[1]] = null;
            };
        }
    };
}();
addEvent(window,'unload',EventCache.flush);

function bindReady() {
	// Mozilla, Opera (see further below for it) and webkit nightlies currently support this event
	if ( document.addEventListener && !browser.opera) {
		// Use the handy event callback
		document.addEventListener( "DOMContentLoaded", function () { ready(); }, false );
    }
	
	// If IE is used and is not in a frame
	// Continually check to see if the document is ready
	if ( browser.msie && window == top ) (function(){
		if (isReady) return;
		try {
			// If IE is used, use the trick by Diego Perini
			// http://javascript.nwbox.com/IEContentLoaded/
			document.documentElement.doScroll("left");
		} catch( error ) {
			setTimeout( arguments.callee, 0 );
			return;
		}
		// and execute any waiting functions
		ready();
	})();

	if ( browser.opera )
		document.addEventListener( "DOMContentLoaded", function () {
			if (isReady) return;
			for (var i = 0; i < document.styleSheets.length; i++)
				if (document.styleSheets[i].disabled) {
					setTimeout( arguments.callee, 0 );
					return;
				}
			// and execute any waiting functions
			ready();
		}, false);

	if ( browser.safari ) {
		//var numStyles;
		(function(){
			if (isReady) return;
			if ( document.readyState != "loaded" && document.readyState != "complete" ) {
				setTimeout( arguments.callee, 0 );
				return;
			}
			// and execute any waiting functions
			ready();
		})();
	}

	// A fallback to window.onload, that will always work
    addEvent(window, "load", function () { ready(); });
}
function loadJSONFunction (edition_id) {
    var s = document.createElement("script");
    s.setAttribute("type", "text/javascript");
    var src = url +"?id="+ edition_id;
    src +="&cb=libxstats.processResults";
    s.setAttribute("src", src);
    document.documentElement.firstChild.appendChild(s);
}
function ready() {
    if (isReady) {
        return;
    }
    isReady = true;
    var libxtags = findAllLibXTags();
    processLibXTags(libxtags);
}

// when the page is loaded, load the widget
bindReady();

return {
    processResults : function (json, miss, table) {
        if (miss == true) {
            editionsCache[json.edition_id] = json;
        }
        var i = pending.length - 1;
        for (; i >= 0; i--) {
            if (pending[i].getAttribute("edition_id") == json.edition_id) {
                break;
            }
        }
        var fieldName = pending[i].getAttribute("field");
        if (fieldName == "all") {
            buildTable(pending[i], json);
        }
        else {
            pending[i].innerHTML = json.statistics[fieldName];
        }
        pending.splice(i, 1);       
    },
}

}
)();
//]]>
</script>

  • Personalizzazioni:

è possibile vedere non solo i download totali, ma anche quelli parziali, utilizzando una, più o tutte delle seguenti variabili nel campo "field":

LibX è stato scaricato in totale <span class="libxstats" edition_id="00000000" field="total_downloads"></span> volte
LibX è stato aggiornato dai singoli utenti (per indirizzo IP) negli ultimi 7 giorni <span class="libxstats" edition_id="00000000" field="unique_updates"></span> volte
LibX è stato aggiornato in totale <span class="libxstats" edition_id="00000000" field="total_updates"></span> volte
LibX per Mozilla Firefox è stato scaricato in totale dai singoli utenti (per indirizzo IP) <span class="libxstats" edition_id="00000000" field="unique_ff_downloads"></span> volte
LibX per Internet Explorer è stato scaricato in totale dai singoli utenti (per indirizzo IP) <span class="libxstats" edition_id="00000000" field="unique_ie_downloads"></span> volte
LibX è stato scaricato in totale dai singoli utenti (per indirizzo IP) <span class="libxstats" edition_id="00000000" field="unique_total_downloads"></span> volte
Tabella completa dei download: <span class="libxstats" edition_id="00000000" field="all"></span> volte