Skip to content. | Skip to navigation

Personal tools
Sections
You are here: Home Topics Plone 4
Navigation
 

Plone 4

Jan 25, 2012

Il nuovo portale del Turismo della Provincia di Ferrara (in Plone): coming soon!

by Irene Capatti — last modified Jan 25, 2012 02:15 PM
Filed Under:

Un'anticipazione del corposo progetto di ristrutturazione della comunicazione sul web legata al turismo nel territorio ferrarese.

Venerdì 20 gennaio, ore 10:30.

evento strategie per il turismoFerrara, Sala del Consiglio del Castello Estense… dai ferraresi altrimenti detto "la ca' in tl'acqua" (letteralmente "la casa nell'acqua"). 

In questa suggestiva location abbiamo avuto l'occasione di presentare l'anteprima del nuovo portale del turismo della Provincia di Ferrara, che andrà a sostituire l'attuale www.ferraraterraeacqua.it. 

mac on twitterL'evento, dal titolo "Strategie e Strumenti per il Turismo: dalla nuova piattaforma web alle principali azioni per l'anno 2012", ha richiamato numerosi rappresentanti di Comuni, enti locali, Provincia e operatori del settore, e ha visto alternarsi gli interventi dell'Assessore Provinciale al Turismo, del presidente della Camera di Commercio, del dirigente del Servizio Turismo-Attività produttive e Sviluppo locale e della responsabile alla Promozione Turistica che hanno illustrato numeri e previsioni delle presenze di italiani e stranieri in città e provincia.

Tutti concordano sugli obiettivi da raggiungere: 

  • aumentare l'internazionalizzazione
  • farsi trovare e farsi raggiungere: dal web al progetto Get a Ride (il nuovissimo servizio navetta che congiunge Ferrara all'aeroporto di Bologna)
  • partire dalla città per aumentare la visibilità e la promozione capillare di tutto il territorio ferrarese, fino alla costa
  • strutturare un sistema in grado di dialogare facilmente sia con la Regione che con i singoli Comuni, fino alle realtà più piccole
  • creare partecipazione: degli utenti, degli operatori, degli enti e di tutti i soggetti coinvolti. 
Il progetto del nuovo portale punta a fare centro su tutti i fronti e sceglie Plone come tecnologia

Massimo ha concluso il ciclo di interventi illustrando in dettaglio il percorso di analisi, progettazione, condivisione (tutto è stato pensato e deciso "a quattro mani" con i referenti dello IAT provinciale) e sviluppo che ci sta portando alla realizzazione di un sito totalmente rivisto nella struttura e nei contenuti. 

Nuovo portale del turismo di FerraraNel nuovo portale, infatti:

  • il multilinguismo è d'obbligo: italiano e inglese, ma anche francese, tedesco, olandese, spagnolo e danese
  • verrà realizzato un capillare lavoro di SEO pre e post produzione, per non perdere le posizioni acquisite (l'attuale ferraraterraeacqua.it ha un ottimo posizionamento per chiavi generiche come "Ferrara") e contemporaneamente aumentare la visibilità delle informazioni culturali, enogastronomiche e paesaggistiche del territorio
  • è presente una rete di mappe navigabili: i contenuti sono georeferenziati e i dati aggregati in mappe contestuali (all'interno della mappa sempre presente in testata sarà possibile visualizzare anche streetview di Google)
  • le foto faranno la parte del leone: se un'immagine vale più di mille parole chissà cosa potrà fare un ricco carousel di foto scenografiche!
  • gli eventi sono strettamente connessi ad un'applicazione per iPhone (presto anche su Android) rilasciata alcuni mesi fa ed in continua evoluzione
  • i contenuti, gli eventi in particolare, sono stati strutturati nell'ottica di una condivisione automatica sul portale del turismo regionale www.emiliaromagnaturismo.it (anch'esso realizzato in Plone)
  • l'alberatura rispecchia la tassonomia fornita a livello regionale a tutte le redazioni provinciali
  • ogni Comune ha il suo sottosito con la possibilità di personalizzare testi, foto, elementi in evidenza mantenendo però le linee della struttura tassonomica principale
  • fin dalla homepage c'è una fortissima integrazione con i social media: twitter, facebook, flickr permetteranno agli utenti di condividere momenti, storie, esperienze in tempo reale e di dialogare costantemente con la redazione
  • gli operatori (agenzie, ristoratori, albergatori, …) hanno la possibilità di gestire le proprie informazioni, presentare offerte e migliorare la propria presenza nella rete
  • il web diventa il modello di comunicazione al quale uniformare e integrare tutti gli altri strumenti (la carta, lo sportello informativo, …).

Il successo del progetto richiede il coinvolgimento di tutti: parte dall'esperienza, dalla formazione ed dall'entusiasmo di chi lo ha pensato, voluto e realizzato ma si estende e vive nella trasmissione di questi valori agli utenti, redattori ed operatori che lo useranno e lo faranno crescere. 

La messa online è prevista per fine febbraio… stay tuned! 

Dietro le quinte… 

Massimo presenta il nuovo portale del turismoNonostante l'intervento di Massimo fosse l'ultimo in scaletta, si era creata parecchia attesa nel pubblico: aspettativa o forse paura che l'aspettativa generata fosse poi delusa. 
Io e Stefano, come spie infiltrate, cercavamo di captare qualsiasi rumor potesse indicare vittoria o sconfitta.
E alla fine… gli screenshot svelati in ultima battuta hanno avuto il successo sperato. Molti commenti favorevoli, alcuni proprio entusiasti del lavoro svolto e del cammino seguito, ci hanno ripagato di tutti gli sforzi spesi finora e ci hanno dato la carica necessaria per fare ancora di più :-)

Sulla nostra pagina Facebook abbiamo pubblicato un po' di foto. Enjoy!

Jan 23, 2012

www.giuliobarbieri.it: non solo software

by Cesare Brizio — last modified Jan 23, 2012 05:25 PM
Filed Under:

Un nuovo schema di collaborazione con i Clienti più innovativi segna l'evoluzione dei servizi consulenziali di RedTurtle per le aziende

Una ricerca fortunata

Facendo tesoro delle proprie esperienze di Web marketing e consulenza, già messe in gioco per il turismo ferrarese, RedTurtle dà spessore alle propria offerta 

Mentre si consolida la decennale collaborazione con Volvo Auto Italia e proseguono progetti per multinazionali come Aeterna Water, per il settore bancario e per altre aziende in regione, da tempo aspettavamo l'opportunità di collaborare con un'azienda strettamente legata a Ferrara.
Ma non cercavamo un'azienda qualsiasi: ci serviva qualcuno con una visione abbastanza ampia da capire il valore aggiunto di servizi quali la consulenza sul Web Marketing, e con una forte sensibilità per aspetti comunicativi. Se poi questo ipotetico Cliente avesse avuto uno staff tecnico sveglio e disponibile, ecco che avremmo potuto mettere in gioco anche le nostre capacità formative in ambito SEO e di gestione della grafica di un portale Plone.

Giulio Barbieri, il brand ferrarese rinomato a livello internazionale per le coperture modulari, ci ha offerto esattamente quello che cercavamo. 

Logo Giulio Barbieri

Aiutati, che il ciel t'aiuta!

A caratterizzare questo progetto, il reciproco e deciso investimento in formazione: al di là dei classici aspetti di gestione dei contenuti e di amministrazione del sito, il Cliente è stato disponibile a ricevere formazione di livello sistemistico e di configurazione della piattaforma Plone, compresi gli aspetti legati al tema grafico. Forte di una così solida base di conoscenze, il personale di Giulio Barbieri è stato poi in grado di assumere un pieno controllo della piattaforma tecnologica, di fatto gestendo in autonomia la fase di progettazione comunicativa del portale.

Molto efficace ed apprezzata è stata anche la formazione in ambito SEO e Web marketing, che tra le altre cose ha messo il Cliente in condizione di:

  • svolgere un'analisi SEO
  • svolgere un'analisi dei competitor
  • ottimizzare ai fini SEO i contenuti e la struttura, sia dal punto di vista tecnico sia da quello editoriale
  • svolgere una pianificazione strategica del web marketing

il tutto giovandosi di un servizio di monitoraggio annuale fornito da RedTurtle (Brand, competitor, Incoming Links e altro).

Contenuti tecnici

Autogestendo, grazie alla formazione, la progettazione dell'architettura informativa e degli aspetti grafici (tra cui, per la home page, la scelta di Diazo, tecnologia che consente di applicare a Plone un tema basato su una pagina HTML statica), Giulio Barbieri ha affidato a RedTurtle la parte di sviluppo propriamente detta, con la missione di creare un sito con funzionalità e prestazioni superiori rispetto a quello precedente, e soprattutto con una migliorata capacità di gestione dei contenuti da parte della redazione. Tra gli elementi degni di menzione della soluzione fornita:

  • la ricerca in tempo reale delle sottocategorie di prodotto;
  • l'implementazione intensiva del multilinguismo (a regime, le lingue supportate saranno almeno cinque).

Portale Giulio Barbieri

Volendo, si può!

In RedTurtle, restiamo disponibili a farci carico di tutti gli aspetti delle commesse, per chi desidera soluzioni totalmente chiavi in mano:
tuttavia Giulio Barbieri ci indica un'altra strada, in cui crediamo molto, e che ci piacerebbe proporre ad altre realtà industriali, dentro e fuori regione.
Un Cliente che si forma per divenire più autonomo, e una collaborazione paritetica sugli obiettivi, non sono solo cost-effective, ma, grazie alle dinamiche del software libero, portano il Cliente ad essere protagonista del futuro tecnologico del proprio portale.

Jan 12, 2012

Plone, da Sant'Agostino al CONSIP

by Cesare Brizio — last modified Jan 12, 2012 06:20 PM

Il Comune di Sant'Agostino rilascia al pubblico il suo nuovo portale, caratterizzato da semplicità d'uso, costo contenuto e completezza: RedTurtle distribuisce sul Marketplace della Pubblica Amministrazione soluzioni Plone CONSIP di caratteristiche analoghe.

Esigenze diffuse? Una risposta per tutti!

Una soluzione completa ed integrata con costi d'esercizio contenuti per Comuni piccoli e medi dalle evolute esigenze comunicative...
Più facile a dirsi che a farsi. La risposta di RedTurtle si basa su Plone 4 e su un set di funzionalità standard che, nel caso del Comune di Sant'Agostino, un nostro nuovo Cliente con le idee molto chiare, sono state accompagnate da un layout grafico che unisce semplicità e gradevolezza.

Comune di Sant'Agostino

Il sito soddisfa tutte le esigenze di base: adempiere agli obblighi di Legge, offrire un sito accessibile e completo, e al contempo promuovere il territorio con i suoi eventi. Il tutto, usando software libero, Plone e l'esperienza di RedTurtle nel servire le Pubbliche Amministrazioni Locali.

Ispirandosi a questo concetto di "completezza espandibile", RedTurtle ha recentemente confezionato due soluzioni Plone, dotate dei prodotti aggiuntivi di utilizzo più frequente, ed ha deciso di servirsi del MEPA di CONSIP per la loro distribuzione.

Il vantaggio MEPA

Il Mercato Elettronico della PA: alternativa veloce ed economica ai classici bandi, per un migliore investimento del denaro pubblico.

Il Mercato Elettronico della Pubblica Amministrazione da diversi anni consente alle PA un accesso rapido agli acquisti di beni e servizi: in questo caso, è CONSIP che si fa carico di accertare le caratteristiche di solidità e solvibilità delle aziende, e di incanalarne l'offerta in bandi "sempre aperti" verificando poi la rispondenza di quanto offerto ai requisiti di riferimento. L'Ente viene così sgravato dall'onere delle procedure di gara e di selezione fornitori, e deve semplicemente, per così dire, apporre la sua firma su di un contratto già pronto con prezzo "chiavi in mano", per la fornitura di uno specifico bene. 

Logo Acquiti in rete PA

Come Plone aiuta... tutti!

Plone non si vende, si personalizza: abbiamo predefinito il costo di due livelli di personalizzazione, differenziati nel numero di giornate dedicate a formazione, installazione e adeguamento alle esigenze degli utenti

Proprio la modularità di Plone, con i suoi prodotti aggiuntivi, ha consentito di modulare l'offerta su Plone base più un set preconfigurato di prodotti, ad attivazione opzionale. Dal lato RedTurtle, si è preconfezionata e semplificata una parte delle attività, potendo così proporre agli Enti, quale che sia la loro dimensione, un costo più che abbordabile, per dotarsi di una solida piattaforma, altamente estensibile, ed accedere al riuso di soluzioni in ambito PloneGov Italia.

RedTurtle non intende discostarsi dal suo storico profilo di realizzatore di soluzioni su misura, ma al tempo stesso intende giovarsi della completezza funzionale di Plone, già in versione base, per favorire l'ulteriore diffusione di questo apprezzatissimo software open.

Le due soluzioni CONSIP, simili a quella realizzata appositamente per il Comune di Sant'Agostino, sono cedute a costo differenziato a seconda della complessità e della provincia dell'Ente acquirente. Denominate "Portale Plone versione Base" (qui la descrizione per prima fascia e seconda fascia di Province) e "Portale Plone Versione Plus" (prima fascia e seconda fascia di Province).

Dec 29, 2011

Plone in 10 secondi

by Massimo Azzolini — last modified Dec 29, 2011 06:25 PM

Ho provato per voi il nuovo servizio creato da Alan Runyan per creare al volo il tuo Plone site.

Impiegherò sicuramente più tempo a raccontarti come farlo che quello che ho utilizzato per creare massimoazzolini.ploud.com.

Configura

Il sistema è molto semplice e molto
come-te-lo-aspetti:

  1. vai su ploud.com
  2. iscriviti: email, dominio, lingua
  3. controlla la tua posta: c'è una mail di validazione con un link (devo davvero dirti che fare? :-)
  4. ti chiederà la password che vorrai utilizzare
  5. fatto.

Ci sono 2 tipi di servizi: gratuito e a canone mensile. Fondamentalmente si tratta della stessa soluzione, ma a pagamento ottieni:

  • la possibilità di avere un tuo dominio
  • più banda
  • più spazio
  • indicizzazione di google

Scegli il tema

Ora puoi impostarti il tuo tema tra quelli disponibili.

Il tema sceltoTra gli 11 disponibili, io ho scelto "Earthling two" che avevamo adattato e rilasciato mesi fa su pypi.
E' bello vedere come ancora una volta la comunità funziona.

Tra l'altro l'uso di Diazo facilita molto l'implementazione di questo tipo di servizi: oggi ci sono "solo" 11 temi, ma è possibile aggiungerne altri.

Aggiungi funzionalità 

Ora puoi aggiungere gli add-on, tra cui:

  • Carousel
  • Dropdown menu
  • Autenticazione con OpenID
  • PloneFormGen per creare moduli online
  • Simple Social: vuoi farti mancare Facebook & co?
  • Workflow personalizzati per cartella
  • Copia di lavoro
  • plone.app.caching: cache per siti più veloci

e i due nuovi cavalli di razza di Plone:

  • Dexterity
  • Diazo theme support

Quindi?

Beh, è Plone! Hai tutto quello che puoi fare con Plone, niente di meno. Ci sono alcuni add-on interessanti anche se c'è tutta una serie di ulteriori add-on che vorrei già poter usare.

L'attuale target di mercato è sicuramente molto basico e i temi sono veramente pochi (anche se con Diazo e un po' di olio di gomito puoi fare faville).

Seconde me ha le potenzialità necessarie per crescere. Stay tuned.

Dec 21, 2011

Plone SEO? collective.perseo!

by Federica D'Elia — last modified Dec 21, 2011 10:51 AM
Filed Under:

The package collective.perseo has just been released. collective.perseo is a package for Search Engine Optimization and offers several kind of SEO features

why collective.perseo?

collective.perseo was born during a collaboration with Irene Capatti, Federica D'Elia and SEO Specialist Andrea Pernici. The product quintagroup.seoptimaizer is very useful, but Andrea needed something more.

Features

New package for Search Engine Optimization (SEO)

With collective.perseo you can manage:

  • globally (configurations applied to each page of the site), through “PerSEO” tool under Add-on Configuration:

    • Webmaster Tools (Google Webmaster Tools, Yahoo Site Explorer, Bing Webmaster Tools)

    • tag title, description and keywords meta tags, separately for:

      • Home page

      • Single pagePerSEO title

      • Search page

      • Not Found page

      • Author page

      • Site Map page

      • Contact page

      • Event

      • File

      • Folder

      • Image

      • Link

      • News Item

      • Topic

    • Disable the indexing of resources using noindex and nofollow, separately for:

      • Search page

      • Login and Registration pages

      • Administration pages

      • Single pages

      • Event

      • File

      • Folder

      • Image

      • Link

      • News Item

      • Topic

      • (also handle noodp, noydir, noarchive, nosnippet)

    • Content types included in the sitemap.xml.gzPerSEO site map

    • Ping sites (Google, Bing, Ask) automatically when the Site Map is updated

    • Indexing RSS feeds

    • Add itemscope and itemtype attributes to body tag (if you install the extension collective.perseoschema for Schema.org)

  • one by one, through “SEO” tab on each content of the site (allows you to change SEO settings for that specific content):

    • tag title and description and Keywords meta tags

    • Meta Robots Follow Tag (follow/nofollow)

    • Meta Robots Index Tag (index/noindex)

    • Meta Robots Advanced Tag (noodp, noydir, noarchive, nosnippet)

    • Canonical URL

    • Content included in the sitemap.xml.gz (yes/no).

    • Priority of content in sitemap.xml.gz

    • itemtype attribute (if you install the extension collective.perseoschema for Schema.org)

 PerSEO tab

Useful links

http://pypi.python.org/pypi/collective.perseo

http://pypi.python.org/pypi/collective.perseoschema

http://plone.org/products/collective.perseo

http://plone.org/products/collective.perseoschema

Nov 04, 2011

Image handling personalizzato negli AT

by Luca Bellenghi — last modified Nov 04, 2011 06:30 PM

Un'applicazione mobile e la necessità di usare un certo formato immagine mi hanno spinto a capire come Plone gestisca la creazione delle immagini scalate e come ci si può inserire nel processo per fare delle personalizzazioni

Il caso d'uso

Lo sviluppo di una applicazione mobile che deve mostrare una lista di eventi ha fatto sorgere la necessità di avere un formato di immagine piccolo (facile con Plone), quadrato (mmhm...) e senza distorsioni dell'immagine (ok, non ci siamo): qualora l'immagine non fosse quadrata, la si dovrà "croppare".

Il comportamento standard IN plone

Plone base non fornisce la possibilità di prendere una immagine qualsiasi e restituirla in un formato miniaturizzato e sicuramente quadrato.

Prendiamo, ad esempio, questa immagine:

python_img

Immagine originale di dimensione 200x150

Agendo sulle funzionalità standard di plone, andiamo in ZMI nelle 'portal_properties/image_properties' del nostro sito, e aggiungiamo fra le 'allowed_size' una 'custom_size 100:100'; poi possiamo verificare caricando l'immagine (ha dimensione 200x150) che se chiamiamo sull'oggetto 'image_custom_size', ci viene tornata un'immagine 100x75:

python_img

Immagine ridimensionata con il comportamento standard di Plone

L'immagine è stata scalata in proporzione, non è questo che vogliamo! E quindi?

Studiamo la situazione

La prima domanda che è lecito e doveroso farsi è: 

Cosa succede quando facciamo traversing su un oggetto usando come attributo da "attraversare" uno degli scaling disponibili per le immagini?

Stiamo lavorando su Plone 4 e indagando un poco si scopre che è stato registrato un adattatore per gestire il traversing in caso di immagini dentro a plone.app.imaging:

class ImageTraverser(DefaultPublishTraverse):
    """ traversal adapter for scaled down versions of image content """
    adapts(IBaseObject, IRequest)

    def fallback(self, request, name):
        return super(ImageTraverser, self).publishTraverse(request, name)

    def publishTraverse(self, request, name):
        schema = self.context.Schema()
        if '_' in name:
            fieldname, scale = name.split('_', 1)
        else:
            fieldname, scale = name, None
        field = schema.get(fieldname)
        handler = IImageScaleHandler(field, None)
        if handler is not None:
            image = handler.getScale(self.context, scale)
            if image is not None:
                return image
        return self.fallback(request, name)
   

 

All'interno di questo adapter abbiamo il metodo publishTraverse da cui partire e un metodo che si occupa del fallback al traverser di default nel caso non si stia lavorando allo scaling delle immagini.

Inoltre, se si lavora allo scaling delle immagini, si chiama un altro adapter (IImageScaleHandler) che fornirà i metodi per creare l'oggetto con l'immagine ridimensionata:

handler = IImageScaleHandler(field, None)
if handler is not None:
   image = handler.getScale(self.context, scale)
   if image is not None:
      return image

La soluzione

Ok, è sufficiente. Abbiamo tutto quello che ci serve sapere! Come nella maggior parte dello sviluppo che si fa per Plone/Zope, la Zope Component Architecture permetterà di fare tutto in modo relativamente veloce.

Io sto lavorando con delle immagini in un archetype customizzato, per cui la cosa più semplice da fare per me sarà registrare un adapter più specifico per l'interfaccia del mio tipo, ma possiamo banalmente proseguire l'esempio registrandone uno per IATImage:

class MyImageTraverser(DefaultPublishTraverse):
    """ traversal adapter for scaled down versions of image content """
    adapts(IATImage, IRequest)
    
    def fallback(self, request, name):
        ...
    def publishTraverse(self, request, name):
        ...

 

Ora abbiamo il traverser per gli oggetti che implementano IATImage, e siamo già a metà del lavoro. Il successivo e ultimo passo sarà applicare la trasformazione vera e propria. 

Come abbiamo già avuto modo di vedere, si richiama un handler nel traverser che si occupa di ottenere l'immagine scalata. Quello che possiamo fare è registrare un nostro handler personalizzato per il field che contiene l'immagine; magari chiamare un handler personalizzato in modo condizionato, per gestire soltanto i casi che ci interessano; qualcosa come:

if scale in crop_and_scale:
    handler = ICustomImageScaleHandler(field, None)
else:
    handler = IImageScaleHandler(field, None)

 

L'handler originale si trova in plone.app.image, nello stesso modulo del traverser; analizzando il codice ci si rende conto che se nel sistema è presente plone.app.blob, di default, si userà il BlobImageScaleHandler presente in quest'ultimo pacchetto. 

Noi potremo creare un handler personalizzato come adapter sul field che si usa per contenere l'immagine, e essendo presente plone.app.blob, lo creeremo ereditando dalla classe BlobImageScaleHandler.

All'interno dell'handler, ci sono tutti i metodi per ottenere l'immagine scalata.

Per raggiungre il nostro obiettivo, ereditando dal BlobImageScaleHandler, possiamo scrivere un handler personalizzato che conterrà un unico metodo, createScale: l'unico che ci serve personalizzare. Qui potremo applicare le trasformazioni necessarie. Il metodo originale esegue i seguenti passi:

def createScale(self, instance, scale, width, height, data=None):
    """ create & return a scaled version of the image as retrieved
        from the field or optionally given data """
    field = self.context
    if HAS_PIL and width and height:
        if data is None:
            image = field.getRaw(instance)
            if not image:
                return None
            data = str(image.data)
        if data:
            id = field.getName() + '_' + scale
            try:
                imgdata, format = field.scale(data, width, height)
            except (ConflictError, KeyboardInterrupt):
                raise
            except Exception:
                if not field.swallowResizeExceptions:
                    raise
                else:
                    exception('could not scale ImageField "%s" of %s',
                        field.getName(), instance.absolute_url())
                    return None
            content_type = 'image/%s' % format.lower()
            filename = field.getFilename(instance)
            return dict(id=id, data=imgdata.getvalue(),
                content_type=content_type, filename=filename)
    return None

 

Per fare la modifica, nell'handler personalizzato potremo cambiare questa riga

imgdata, format = field.scale(data, width, height)

 

con quello che fa più comodo, e usando il crop delle PIL potremo trasformare l'immagine come necessario, arrivando a un risultato come questo.

python_quad

Immagine ridimensionata e croppata fino alla dimensione 100x100

Oct 31, 2011

Plone at PyCon UA

by Andrew Mleczko — last modified Oct 31, 2011 01:39 PM

I spent last weekend (22-23 October) in Kiev promoting Plone and Pyramid at PyCon UA. It was an amazing opportunity to spread the latest news about Plone4 and its enhancements. 

 

The Kiev event was fruitful experience from two points of view: the audience was not aware of what has been happening in Plone since 3.x; they were mostly Django developers. I think I did my best to explain what are the key values of using Plone and Pyramid together and what are the benefits comparing to other frameworks like Django. I met several fantastic guys deeply interested in what we are doing in both Plone and Pyramid community. Hope to see you all on another Python event.

Apart of Plone talk there were other invited speakers. Let me mention few of them.

Opening talk done by Tarek was about Packaging. He explained current situation of packaging in Python and the future of it. I hope we will have setup.cfg to rull-them-all in near future and that the community will start to use proper versioning soon.

Then there was Armin with Basket of Random Python Snippets. I don't like the idea of showing ONLY code while doing your presentation but I strongly encourage you to read them online. Some of them are really great tips!

Last talk I attended was done by Alexander and I must admit - I have enjoyed it a lot. He was showing "SQLAlchemy: a better ORM". I was never a big fun of Django ORM but now I'm strongly convinced that Pyramid + SQLAlchemy + pyramid_formalchemy is a way much easier to play with.

Bottom line: I must agree with Yury that it would be more interesting event if all of the speakers present slides in English (like on RuPy2011 last October). Nevertheless I enjoy this weekend a lot. I love the city and the atmosphere. The topics and invited speakers were properly chosen so everybody could find a subject to discuss about. Thanks again and hopefully see you next year.

And tomorrow it is time for Plone Conference 2011 which will end this autumn's conference marathon.

Oct 20, 2011

RuPy 2011 - Strongly Dynamic Conference

by Andrew Mleczko — last modified Oct 20, 2011 09:50 AM

Last weekend (14-16 Oct 2011) I've attended RuPy (Ruby + Python), a strongly dynamic conference held in Poznań (Poland) and organized by GIK Association. I had a great opportunity to share RedTurtle's "Pyramid and Plone" integration use case with wider audience. It was truly an open source event and a great opportunity to meet geeks from the Ruby community. 

Conference venue It was RuPy's 3rd 4th edition and apart it was the biggest (ca. 300 attendees) I must say - it was the best (I was attending all previous editions). The GIK have chosen Poznań International Fairs as the conference venue which was a damn good idea. During 3 days of the conference there was ca. 30 events (talks, workshops and sprints). Most of them was related to Ruby which is a problem each year. Getting more support from Python community is highly appreciated! 

fancy speaker feedback system What I think is notable is the speaker feedback system. Each room had 3 containers marked: :-) :-| and :-(. After each session the speaker was receiving his anonymous feedback from the audience. From the speaker point of view (so also mine) it's surprisingly easy and gives you great opportunity to check if what you've just said wasn't a completely bullshit. What I would suggest is to make bigger effort in promoting it after each talk.


Interesting talks

my subjective list of notable talks

Programmer Anarchy

by Fred George


Writing your own programming language

by José Valim


Tradeoffs and Choices: Why Ruby Isn't Python

by Yehuda Katz

I didn't find the slides but I hope RuPy team will publish them soon. In the mean time - short abstract:

"When a Pythonista first dives into Ruby, he is confronted with a strange and unusual world. Multiple kinds of functions, implicitness everywhere, violations of the Zen of Python galore! In this talk, Yehuda will talk about the tradeoffs in Ruby's language design: why, in many ways, Ruby couldn't be more like Python even if it wanted to."

Summary

Conference venue It was an amazing weekend with some interesting discussions with people from Python and Ruby world. Thanks RuPy, hope to see you next year!

Last but not least the organization committee followed best practices and shared their website source code to wide public.

 

Jun 29, 2011

cciaa.modulistica: da PloneGov Italia al mondo

by Cesare Brizio — last modified Jun 29, 2011 10:45 AM
Filed Under:

Vale la pena di rinnovare gli investimenti su un prodotto di pubblico dominio? Ecco perché noi di RedTurtle e i nostri Clienti pensiamo di si.

Il prodotto

 

Le classifiche possono piacere o meno, ma non si discute: esistono prodotti più utili di altri

Utilità: etimologicamente, attitudine ad essere usato. Come dimostra l'esempio di redturtle.smartlink (che si avvicina ai 7000 download), l'utilità di un oggetto è tanto maggiore, quanto più diffuso è il bisogno che esso soddisfa, ma non solo: perché l'oggetto sia davvero utile, quindi usato spesso e volentieri, deve essere innanzitutto facile da usare. Da tutti questi punti di vista, il prodotto cciaa.modulistica, di cui è stata appena rilasciata al pubblico la versione 2.0.0, è certamente tra le cose più utili che RedTurtle, assieme ai suoi Clienti, abbia sviluppato fino ad oggi. 

cciaa.modulistica base

Una lunga storia

La versione 1 di cciaa.modulistica, sviluppata originariamente per Plone 2.1, ha poi rincorso Plone nelle versioni 2.5 e poi 3.3. In questa sua lunga prima fase di vita il prodotto (cogestito anche dal Comune di Modena che ne aveva reso disponibile una prima versione italiana, nell'ambito di PloneGov Italia) non  era disponibile in versione scaricabile ed installabile. La versione 2, che si è giovata della fusione con il progetto cciaa.c3p.folder nato in ambito Plone 3, nasce per Plone 4.1 ed è la prima ad essere rilasciata al pubblico su Pypi e su Plone.org, previa traduzione completa in inglese.

A cosa serve

cciaa.modulistica dota le normali cartelle Plone di una serie di attributi aggiuntivi: una vista tabellare, in formato descrizione / collegamento al file scaricabile, sui contenuti di una cartella Plone, e un campo tramite il quale si può liberamente impostare l'intestazione delle colonne della tabella. La vista è automaticamente limitata agli oggetti di tipo file, ed ai collegamenti,  contenuti nel folder. Il campo che, per ogni file caricato in Plone, memorizza gli elementi ad esso correlati, viene utilizzato per rilevare l'esistenza di versioni dello stesso file in altri formati, il che provoca l'automatica comparsa di ulteriori colonne nella vista tabellare.

Numerosi esempi pratici sono disponibili nella sezione "Modulistica" del portale della Camera di Commercio di Ferrara.
La sezione "corpo" di eventuali contenuti di tipo "pagina" presenti nella cartella, è intercalata a tutta larghezza nella vista tabellare sopra descritta, consentendo di fornire preziose indicazioni sulla modulistica ed il suo utilizzo. L'ordine delle pagine nella cartella determina la loro collocazione all'interno della vista, consentendo di posizionare il relativo testo nel modo più idoneo.

cciaa.modulistica albi ruoli

Un curriculum esemplare

L'Ente che ha lanciato PloneGov in Italia non ha tradito il suo stile di innovatore e propugnatore della collaborazione, rivendicando orgogliosamente il suo posto nei "credits" del prodotto.

Questa storia non si è solo snodata in un lungo arco di tempo, ma ha coinvolto in modo decisivo almeno due dei nostri Clienti storici, il Comune di Modena ma soprattutto la Camera di Commercio di Ferrara, la cui fedeltà a Plone ed alla sua evoluzione nel tempo è stato il motivo fondamentale del suo costante aggiornamento ai successivi rilasci del CMS libero. L'unico motivo dell'attesa del rilascio pubblico è che si è preferito attendere lo sviluppo di una versione per Plone 4.

Tanto arrosto, poco fumo

Nulla di strano, insomma: niente fuochi d'artificio e una grande concretezza. Spesso, è proprio questo a servire: cciaa.modulistica è stato scaricato una quarantina di volte nei primi tre giorni dal lancio, e a questo ritmo in pochi mesi potrà diventare uno dei maggiori successi tra la cinquantina di prodotti rilasciati fino ad oggi da RedTurtle.

May 06, 2011

Varnish purge after article rate

by Andrew Mleczko — last modified May 06, 2011 10:04 AM

For one of the projects we are using a very aggressive Varnish configuration. We are caching also html (not for long but still) for anonymous users. It could be a problem if you have some dynamical features - like rating. 

But not any more. Using this simple vcl add-on you can purge article view after making a vote:

sub vcl_recv {
...
   if (req.http.Cookie && req.http.Cookie ~ "statusmessages=") { 
       purge("req.url ~ " req.url);
       pass;
   }
...
}

 

It simply checks if you have a statusmessages cookie in request (after rating an article Plone is displaying confirmation status message) and purge current url from cache. Simple, clean and it works!