Problema:
- Abbiamo una group library condivisa. Vorrei creare un feed per tenerci aggiornati mutuamente e semplicemente delle aggiunte fatte da ognuno di noi (articoli, note).
- Se la group library fosse leggibile a chiunque, avrebbe già un feed generato automaticamente da Zotero.
- Non possiamo rendere la group library leggibile a chiunque, in quanto contiene anche pdf ottenuti da biblioteche alle quali l'ateneo è abbonato, pertanto non possiamo diffonderli.
- Ho creato un feed che notifica di tutte le aggiunte (ho messo l'URL in manymoon).
- Le notifiche puntano all'oggetto nella libreria web. Il link è quindi accessibile solo previa basic authentication su Zotero (o su Google, vedi anche questo post)
- Le notifiche di note ed attachment puntano all'oggetto che li contiene (esempio: se una nota è attaccata ad un articolo, il post punta all'articolo, non alla nota). Questa caratteristica è importantissima, in quanto note/attachment non hanno un link all'oggetto che le contiene.
Realizzazione della soluzione (il perché della soluzione è spiegato più sotto):
- Ho creato due feed tramite Feed43:
- uno per la notifica di tutti gli elementi della group library. Contiene titolo dell'item e link all'oggetto nella libreria web.
- uno per la notifica dei soli elementi che sono note o attachment. Contiene link all'oggetto che contiene la nota o attachment.
- I feed sono dati in pasto a FeedRinse. Questo elimina i post del primo feed che sono di tipo attachment o note, e fa un merge dei due feed.
Ho scoperto che Zotero ha una API REST alla quale si accede via https. Ciò esclude automaticamente strumenti come Yahoo Pipes, feedity ed altri (permettono solo l'uso di http). Prova e riprova, ho trovato la giusta combinazione di URL. Ho fatto molte prove con dapper, ma lo strumento è inaffidabile. Alla fine ho usato feed43: semplice e limitato ma affidabile, fa ciò che promette e supporta https.
Le limitazioni principali di feed43 sono:
- se cambia qualcosa nel formato della risposta REST occorre modificare lo script feed43
- non permette la descrizione di field opzionali. Ciò spiega perché:
- ho dovuto fare due feed separati per "tutto, compreso note/attachment" e "solo note/attachment";
- il feed per "solo note/attachment" non contiene il titolo dell'oggetto (vedi più sotto);
Il pattern per "tutto" è questo (il primo % è il titolo, il secondo è il link all'oggetto, il terzo è il tipo):
Il pattern per "solo note/attachment" è questo (il primo % è l'identificatore dell'oggetto che contiene questa entry; il secondo % è il tipo di questa entry):
Ho tentato di mettere in quest'ultimo pattern anche l'elemento title ma non funziona; infatti quando trova una entry che non è di tipo note/attachment, e quindi non contiene un elemento link rel="up" , non è in grado di individuare correttamente la fine entry; usa la fine della prima entry successiva che è di tipo note/attachment (inizia alla entry N e termina alla entry N+1, oppure N+K).


2 commenti:
Temo di essere confuso...
1) Io sono già sottoscritto ad un feed di Zotero per la nostra libreria; il problema è che non mi ricordo assolutamente come avessi fatto. CREDO che la group library sia semplicemente ancora pubblica?
2) L'unica operazione che dobbiamo fare noi è aggiungere al reader il nuovo feed presente in manymoon, giusto?
1) quel feed valeva quando la library era pubblica; non dovrebbe funzionare più da molto, molto tempo; è possibile che nei giorni scorsi tu abbia ricevuto qualche post perché, nelle varie sperimentazioni fatte, avevo reso temporaneamente pubblica la library
2) si
Posta un commento