Personal tools

Luca Fabbri

Jul 16, 2013

Estendere l'invio mail dalle regole di contenuto Plone

Una content rule per dominarle tutte!

Estendere l'invio mail dalle regole di contenuto Plone

Filed Under:

Con le regole di contenuto di Plone possiamo inviare e-mail, ma con poche righe di Python è possibile estendere questa funzionalità con sostituzioni aggiuntive!

Le regole di contenuto di Plone sono uno strumento molto potente e amato del CMS. In passato erano penalizzate da un'interfaccia non troppo intuitiva ma, finalmente, ci sono stati grossi passi avanti relativamente all'usabilità in Plone 4.3.

La logica è semplice: l'amministratore del sito definisce le condizioni e le azioni da intraprendere selezionandole da un insieme di scelte (entrambi gli insiemi facilmente estendibili tramite prodotti aggiuntivi).
Le regole vengono poi attivate in tutto il sito, oppure solo in esplicite sotto-sezioni di questo.

Una delle azioni di base più utilizzate è l'invio di e-mail: è estremamente comune voler segnalare con un messaggio che qualcosa è successo nel sito, e Plone permette di farlo senza problemi e con un testo personalizzato.

Ed è proprio la personalizzazione del messaggio della mail l'argomento di questo articolo.

read more

May 07, 2013

Analisi (e modifica) di come Plone genera link ai File - seconda parte

La rete è fatta di URL: meglio se leggibili!

Analisi (e modifica) di come Plone genera link ai File - seconda parte

Continua il viaggio e l'analisi dei prodotti per rendere Plone compatibile con software di statistiche

Nella prima parte dell'articolo abbiamo risolto solo una parte del problema per rendere gli URL di Plone più "parlanti".

Vediamo ora come affrontare i problemi restanti.

Fase 2: come trattare il pregresso

Infatti è solo ora che le cose si fanno interessanti...

Ci siamo trovati di fronte a un grosso problema: come "bonificare" la situazione creatasi negli anni precedenti alle modifiche sopra descritte?

Sarebbe stato possibile scrivere una procedura automatica che sistemasse automaticamente tutti i link generati tramite TinyMCE dalla forma canonica alla forma di download modificata?
La risposta per noi è stata "forse... ma meglio di no". Si parlava di centinaia (migliaia) di link, per decine di siti Plone.

L'eventualità di eseguire qualcosa senza un intervento umano era a dir poco terrificante, col rischio di trovare contenuti rovinati dall'operazione dopo mesi.
Molto meglio aiutare l'utente a sistemare il problema, cercando per lui i potenziali link da sistemare ma chiedendo conferma dell'operazione: un lavoro di certo più lungo ma che dà la sicurezza del risultato.

read more

May 03, 2013

Analisi (e modifica) di come Plone genera link ai File: una storia vera (parte 1)

La rete è fatta di URL: meglio se leggibili!

Analisi (e modifica) di come Plone genera link ai File: una storia vera (parte 1)

L'esigenza: rendere i link ai file generati in Plone compatibili con software di statistiche e come una serie di prodotti riutilizzabili abbiamo risolto il problema

C'era una volta il File in Plone

Questa Storia parte da un Cliente non molto contento del modo in cui Plone gestisce i file.
Nel caso non lo sappiate, c'è una certa confusione a riguardo.

Se nel vostro sito Plone vi collegate all'indirizzo diretto a un file, nella forma...

http://vostro-host.com/percorso/al/file.pdf

...il file in questione viene "aperto direttamente": gli header inviati da Plone scatenano l'apertura del file "inline", quindi sfruttando eventuali plugin del browser, se presenti.
Questo tipo di comportamento ha problemi di usabilità: utenti che non capiscono di essere ancora "dentro al browser" potrebbero chiudere il browser pensando che si tratti di un programma esterno. Se l'utente poi vuole scaricare il file dal plugin, deve trovarne la funzione all'interno dello stesso.

Eppure se arrivate allo stesso file dall'interfaccia Plone (dal navigatore del sito, da una delle viste, ...) vi troverete a un URL diverso:

http://vostro-host.com/percorso/al/file.pdf/view

Questo è l'indirizzo della vista del contenuto file (file_view) da cui potete vedere alcune informazioni sul file e da dove viene mostrato il link per scaricarlo, che assume invece questa forma:

http://vostro-host.com/percorso/al/file.pdf/at_download/file

read more

Mar 12, 2013

Quando la sicurezza in Plone è importante: reindexObjectSecurity

Plone e la sicurezza via catalogo

Quando la sicurezza in Plone è importante: reindexObjectSecurity

Quando gli indici introdotti da prodotti aggiuntivi hanno a che fare con la sicurezza del sito, è meglio prendere alcune precauzioni per evitare problemi

Per chiunque sviluppi con Plone, diventa presto chiara l'importanza del catalogo e, contemporaneamente, la necessità di mantenere il catalogo del sito aggiornato.

L'API principale a cui si fa riferimento per aggiornare lo stato di un contenuto nel catalogo Plone è la chiamata a reindexObject:

>>> context.setTitle('Nuovo titolo')
>>> context.reindexObject()
>>> context.title()
'Nuovo titolo'

Fin qui, nulla di nuovo.

read more

Feb 08, 2013

Come gestire e distribuire i vostri prodotti Plone?

Gestire il proprio codice in... relax!

Come gestire e distribuire i vostri prodotti Plone?

Un'esplorazione di tutti i (bizzarri) metodi con cui ho visto gestire il codice Plone (ma non solo), alla ricerca di una soluzione per ogni problema

Come gestire e distribuire i vostri prodotti Plone?

Sarà perché nella mia esperienza ho affrontato vari corsi di formazione per sviluppatori Plone, sarà perché non tutto il codice è sempre pronto per essere rilasciato, una cosa è certa: il rapporto tra il neofita e il codice da lui sviluppato è piuttosto combattuto.

Partiamo con una carrellata di quello che potete fare (ma in gran parte non dovete) fino ad arrivare alla soluzione dei casi più delicati.

read more