Personal tools

Archetypes

Oct 16, 2013

Portale con sezioni in lingue diverse: una possibile soluzione

it, en, fr, de. ogni sezione ha la sua lingua!

Portale con sezioni in lingue diverse: una possibile soluzione

Filed Under:

Un esempio pratico di come avere delle parti di un sito con l'interfaccia Plone in una lingua differente dal resto del portale

Ultimamente mi è capitato un problema interessante: un cliente ha chiesto la possibilità di avere un sito in una lingua (italiano) e solo alcune sezioni in un'altra (inglese).

Queste sezioni, oltre al testo inserito nei contenuti, dovevano anche avere tutta l'interfaccia di Plone in inglese, ovviamente.
Come prima idea mi è venuto in mente di utilizzare LinguaPlone o plone.app.multilingual, ma non avevo bisogno di tutto il meccanismo per le traduzioni e il cambio di lingua che forniscono.

Mi sono allora messo a cercare un'alternativa, sfruttando magari quello che Plone offre già.
Innanzitutto, ho provato a giocare con le impostazioni del tool Portal Languages e ho notato che tra esse si poteva determinare la lingua dell'interfaccia in base alla lingua del contenuto corrente.

translation tool

Era praticamente tutto ciò di cui avevo bisogno! Con questo settaggio, infatti, una volta creato un contenuto in inglese, quando ci si entra in visualizzazione o modifica tutta l'interfaccia è in quella lingua.

read more

Mar 20, 2013

rt.atmigrator: pensioniamo i vecchi tipi con un click

Come dare un degno congedo a dei valorosi archetype

rt.atmigrator: pensioniamo i vecchi tipi con un click

Filed Under:

Archetype che non servono più e contenuti da migrare in un altro tipo? Un prodotto ci può aiutare a concedere loro il meritato riposo in modo facile ed intuitivo

Di cosa potrei parlare? Cosa ho fatto ultimamente di interessante da poter condividere?

Quando sto per scrivere un nuovo post per il blog, il problema è sempre il solito: trovare un argomento interessante da proporre.

Sfortunatamente per voi, la risposta è sempre la stessa: migrazioni!

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

Nov 05, 2012

Trasformiamo i nostri content-type in modo semplice con Products.contentmigration

Cambiare forma non è mai stato così facile

Trasformiamo i nostri content-type in modo semplice con Products.contentmigration

Breve guida pratica su come utilizzare Products.contentmigration per migrare i contenuti di un sito da un content-type a un altro senza diventare matti

Negli ultimi mesi abbiamo dovuto migrare una serie di portali dal vecchio Plone 3.3.5 alla nuova release 4.2.
Questa operazione è anche stata l'occasione per fare un po' di rifattorizzazione dei prodotti (necessaria in alcuni casi, per farli funzionare anche su Plone 4) e di pulizia generale dei contenuti.

"Quei content-type sono vecchi... cambiamoli!"

Su alcuni portali avevamo una serie di content-type creati ad hoc per esigenze passate, poi diventati obsoleti o perché le funzionalità sono state implementate (meglio) in altri prodotti, o perché non abbiamo più bisogno di loro.
Per esempio, avevamo creato diversi content-type che aggiungevano funzionalità a quelli base di Plone (al tempo non conoscevamo ancora la potenza di archetypes.schemaextender) sovrascrivendoli, e ora dovevamo tornare indietro per poter ricominciare a utilizzare le versioni base.

shape boxTornare a utilizzare le versioni standard è semplice, basta disinstallare il nostro prodotto.
Cosa fare però con i contenuti già creati? Come torniamo a una situazione "standard" senza rompere niente?
E' come avere tra le mani una serie di cubi avendo a disposizione solo buchi tondi: non funzioneranno più, ma non li possiamo perdere. Vanno sostituiti.

La soluzione è facile: li migriamo!

 

read more

Sep 27, 2012

Te lo do io il DB! (aka "Come pubblicare query SQL su Plone")

Vi hanno mai chiesto di pubblicare dati da un database relazionale su Plone? E di modificare al volo le query? Con redturtle.sqlcontents diventa semplice!

Non di rado capita che mi venga richiesto di pubblicare su un sito Plone dati provenienti da un database relazionale o di fornire uno strumento che consenta questa operazione.

La richiesta tipica è quella di pubblicare con Plone il risultato di una query SQL che il cliente desidera gestire in autonomia.

Per questo scopo nasce redturtle.sqlcontents, un prodotto per Plone 3 e Plone 4 che aggiunge due nuovi tipi di contenuto (archetype) per la gestione di questo caso d'uso.

read more