Personal tools
7 interessanti prodotti Plone che potresti voler usare

Questo sì che è inaspettato!

Oct 29, 2014

7 interessanti prodotti Plone che potresti voler usare

Ci sono alcuni prodotti Plone che non diventeranno mai noti al pubblico perché non offrono funzionalità visibili all'utente. Rendiamo loro giustizia!

Sapete tutti che cos'è paragon.plone.org?

Se non lo sapete ve lo dico in due parole: è la nuova idea per rivoluzionare la pagina dei prodotti di plone.org che è in via di dismissione.

Il problema di questa sezione del sito (non è la prima volta che affronto la cosa) è che non tutti gli sviluppatori di add-on la tenevano aggiornata con le release recenti dei loro prodotti.
Morale della storia: prodotti eccellenti, qui, non sono sempre disponibili.

L'idea di Plone Paragon è di sostituire questa pagina con una nuova versione dove i contenuti saranno revisionati da umani senzienti, una "commissione d'inchiesta" che si metterà a valutare i prodotti esistenti per trovare "i migliori 50" (Se vi chiedete "perché 50?" la risposta è: "e perché no?!").

Ci sono alcune regole di massima: chiunque può sottomettere il prodotto che preferisce ma la giuria considererà vari fattori, tra cui la documentazione, la compatibilità con Plone 5, l'uso di Dexterity e non ultimo, che sia un prodotto che porti gloria a Plone.

Se non avete ancora nominato il vostro add-on preferito e le nomination sono ancora aperte, vi invito a farlo! Io ne ho sottomessi almeno 5... ma non vi dirò quali (siamo già in par condicio). Sappiate che nessuno di questi è stato fatto da RedTurtle (forse anche con una punta di scaramanzia)!

Visti i criteri, da questa lista saranno quindi probabilmente assenti (o comunque non dovrebbero far parte dei vincitori) i prodotti:

  • instabili
  • con poca/assente documentazione
  • utili solo agli sviluppatori
  • non tradotti e non traducibili.

In pratica Plone Paragon vuole trovare i prodotti "cool", che rendono grande Plone... ma è altrettanto sicuro che altri prodotti "un-po'-meno-cool" non otterranno quindi la giusta visibilità!
Ci sono vari prodotti per sviluppatori o prodotti di nicchia che non ho nominato (e nessun altro lo ha fatto) ma che, a mio parere, vanno tenuti d'occhio e utilizzati.

Ecco la mia lista... chiamatela pure "Plone Anti Paragon"!

collective.auditlog

http://github.com/collective/collective.auditlog

Questo prodotto è in via di sviluppo e non ufficialmente rilasciato ma ricopre un caso molto interessante e spesso ricercato: mantenere un monitoraggio delle attività fatte su Plone.
Potrete tenere traccia di tutte le volte che un documento Plone...

  • è stato creato?
  • è stato modificato?
  • è stato spostato?
  • è stato eliminato?
  • ...

La lista delle operazioni sotto monitoraggio può essere estesa, mentre i dati sono salvati su un database esterno a Plone e c'è il supporto all'uso di plone.app.async (continuate a leggere).

collective.elasticsearch

https://github.com/collective/collective.elasticsearch

Un altro prodotto non rilasciato, ma dalle promesse interessanti.
Tutti noi ci troviamo bene ad usare le funzionalità di ricerca native di Plone, ma in casi particolarmente spinti è bene che la ricerca venga demandata a software che la fanno di mestiere.

L'uso di Solr come sostituto o integrazione della ricerca Plone è cosa nota, ma ultimamente c'è un prodotto che sta prendendo piede per alcune delle sue caratteristiche: Elasticsearch. Non per niente servizi emergenti come searchly.com utilizzano esattamente Elasticsearch e le sue API.

La promessa di collective.elasticsearch è quella di poter sostituire (o mantenere in accoppiata) il catalogo Plone, demandando l'indicizzazione ad un Elasticsearch in ascolto.

Se fosse così semplice, sarebbe un enorme salto in avanti... rimanete sintonizzati!

RedirectionTool

https://github.com/collective/Products.RedirectionTool

Questo è un vecchio prodotto, ma che definirei un "sempreverde".
Fa un lavoro semplice ma efficace: fornisce al redattore un'interfaccia Web sulla funzionalità di Plone nel gestire i collegamenti interrotti (che tecnicamente è gestita da plone.app.redirector).

Se non ve ne siete mai accorti, ecco una delle tante funzionalità di Plone: quando spostate un contenuto da una posizione a un'altra (compresa l'azione "rinomina"), i link alla posizione originale vengono automaticamente rediretti con il corretto HTTP status alla nuova posizione, così utenti (e motori di ricerca) sono felici.

Il RedirectionTool permette di manipolare manualmente questo database interno di Plone.
Se vi state chiedendo dove sia l'utilità, sappiate che può diventare un inseparabile amico del SEO:

  • può aiutare a gestire la migrazione di tecnologia. Avete migrato il vostro sito PHP a Plone? Quale modo più semplice di redirigere la pagina "/contatti.php" alla contact-info di Plone?
  • potete creare alias anche partendo da URL non esistenti. Non usate LinguaPlone nel vostro sito ma decidere che la chiamata a "/en" venga rediretta ad una pagina statica in lingua inglese
  • potete eliminare voci dal database, che altrimenti non è modificabile nemmeno da ZMI.

collective.configviews

https://github.com/collective/collective.configviews

Vi è mai capitato di sviluppare viste che richiedano configurazioni? Ad esempio: una speciale vista per le cartelle dove il numero di elementi per pagina debba essere configurabile.

In questo caso si ricade spesso nelle due seguenti soluzioni:

  • avere una configurazione globale nel sito
  • aggiungere la configurazione ai campi del contenuto su cui la vista va applicata.

Entrambi gli approcci hanno notevoli limiti, ma potete risolvere tutto usando collective.configviews.

Lo scopo del prodotto è semplicemente quello di fornire un form di configurazione per le viste, tramite la definizione di interfacce (attività ben nota ai developer Plone).

Semplice, eppure geniale.

sc.contentrules.groupbydate

https://github.com/collective/sc.contentrules.groupbydate

Plone non ha nessun problema nel mantenere migliaia di elementi all'interno di una cartella... ma così non è per gli utenti che poi devono lavorarci (maledetti umani)!

Questo prodotto aggiunge una nuova regola di contenuto a Plone, che automaticamente archivia i contenuti aggiunti in una cartella in sotto-cartelle (che, se non esistenti, vengono create) organizzandole nella universalmente riconosciuta struttura anno/mese/giorno.

Il prodotto è particolarmente adatto per le redazioni che pubblicano tante news ed eventi, e rende molto semplici le operazioni di pulizia (cancellare tutti i documenti dell'anno 2004 non sarà più un problema!).

plone.app.imagecropping

https://github.com/collective/plone.app.imagecropping

Di prodotti di manipolazione immagini in Plone ne abbiamo parecchi e personalmente li ho sempre guardati dall'alto in basso: io sono di quelli che non vogliono far fare al CMS cose che dovrebbero essere fatte da un programma specifico... se la foto caricata la vuoi "nero di seppia", fattela con Photoshop!

Eppure, quando per esigenze di un nostro cliente Andrea si è imbattuto in questo prodotto, ho fatto un'eccezione alla regola. Non ne avevo mai sentito parlare prima ma è davvero ben fatto!

La bellezza del prodotto non è che permette di fare il ritaglio delle immagini (sua funzionalità principale), ma che permette di fornire immagini diverse, partendo da operazioni di taglio differenti, per tutte le miniature di Plone.

plone.app.imagecropping preview

Non vi è mai successo di volere un'immagine diversa per le vostre news nella miniatura pubblicata in homepage?

plone.app.async

https://pypi.python.org/pypi/plone.app.async

Quando Plone deve fare operazioni estremamente pesanti a seguito di un'azione di un utente, possono sorgere problemi di prestazioni e di User Experience.
Per questo motivo negli ultimi anni vari prodotti hanno iniziato a fornire un supporto opzionale (ma di solito: consigliato) per plone.app.async.

Questo prodotto si occupa di gestire, tramite un'istanza Plone dedicata, le operazioni "lunghe", che vengono messe in coda ed eseguite in seguito.

A parte collective.auditlog citato sopra, un ottimo esempio di questo è dato da wildcard.media (presente nelle selezioni di Plone Paragon!) quando deve occuparsi del pesante lavoro di codifica dei video caricati; l'utente carica il video e se plone.app.aync è presente e configurato, le versioni del video per i vari dispositivi sono fatte in seguito permettendo all'utente di non dover aspettare parecchi minuti in attesa della fine del task.

Alternativa interessante e totalmente in via di sviluppo è quella fornita da collective.celery (ma sono già arrivato a 7, finiamola qui!).

Conclusioni

Se vi state chiedendo "perché 7 prodotti?", la risposta che posso darvi è... "e perché no?!".

Alla prossima!

Filed under: ,
comments powered by Disqus