solr
Nov 10, 2011
PloneConference 2011: novità e conferme
Di ritorno da San Francisco, ecco le anticipazioni e le conferme di cui abbiamo discusso durante una delle ultime best conference ever
Tre track parallele, numerosi openspace, meeting in e out la conference, social party(!) ogni sera e per finire l'usuale sprint
Le 3D, ma molto altro
Il leitmotif di quest'anno è stato senz'altro il tris di Diazo, Deco e Dexterity. E' già un po' di tempo che se ne parla e non vi nascondo un po' di delusione nel vedere che sono ancora temi importanti.
Il punto cruciale sta nel fatto che negli anni passati è stata tentata una rivoluzione, che avrebbe però avuto un impatto troppo importante su tutto l'ecosistema Plone. Questo ha portato a una serie di complicazioni e di refactoring.
Ora si sta ragionando in termini di add-on per Plone che ne migliorino l'esperienza, senza introdurre stravolgimenti.
Diazo & CMSUI
E' ormai un sistema maturo utilizzato in produzione da molto tempo.
L'idea è di:
- semplificare la fase di skinning di Plone limitandola al frontend, più facilmente gestibile da Diazo,
- demandare a CMSUI tutta la fase di gestione del backend mantenendo il tutto contestuale, ma indipendente dal layout.
Direi che questi due video da soli sono sufficientemente esplicativi.
Deco
Sta raggiungendo anche lui la maturazione e si sta lavorando sulla user experience. L'idea in questo caso è quella di sostituire prodotti come PortletPage
o Collage. Questa una preview realizzata dai colleghi di FourDigits.
Dexterity
Sugli scudi infine anche Dexterity, di cui parlammo ancora due anni fa come promessa e che ora sta raggiungendo il suo compimento. Sull'interfaccia c'è ancora da lavorare e non è uno strumento per tutte le stagioni, ma è sicuramente estremamente interessante.
Gli altri temi caldi
I miei talk preferiti sono stati:
- Clone to Plone
- Multiplayer Plone
- Make plone search work like Google
Il primo racconta l'utilizzo di FunnelWeb per migrare portali da un altro sistema a Plone.
Nota mentale: ogni migrazione è un'isola, ogni migrazione è "painful"
Il secondo è stato tenuto da Geir Baekholt su istigazione di Yiorgis Gozadinos e permette di utilizzare Plone un po' alla GoogleDocs con tanto di chat e status:
Infine l'uso di Solr al fine di ottimizzare gli indici permette anche di aumentare le funzionalità "googlesche" di Plone:
Pyramid
La track "Related Tech" è stata fortemente monopolizzata da Pyramid. E' la tecnologia "sorella" di Plone che abbiamo sposato da tempo. Ne abbiamo parlato qui, qui e anche qui. Senza contare il talk di Andrew che ormai è un bestseller alle varie conferenze.
Il Keynote
Quest'anno l'usuale keynote è stato tenuto da P.J. Onori. Personalmente l'ho trovato di particolare ispirazione: è un inno alla crescita professionale, al capire l'usabilità delle cose, alla condivisione di esperienze tra developer e designer.
Più volte mi sono ritrovato a dire "si! si! si!".
I nostri talk
- Bootstrap your app in 45 seconds (slideshare)
- Plone in the Public Sector: Business and Sustainability Models (slideshare)
Document Actions
Mar 26, 2010
"Future is bright, future is Plone"
Sometimes when you are doing a lot of Plone development and integrations you could miss the big picture: Plone is not just a CMS. It's a damn good CMS with almost unlimited possibilities of integration. However its 'unlimity' has started to be one of its biggest limitations.
I'm working right now on a project that uses ore.contentmirror to serialize Plone content data to postgresql which can be later reused in repoze.bfg. I have found several similar deployments in the Plone community which were quite inspiring.
The scenario is almost always the same:
- to use Plone as a CMS (backend)
- to have fast framework (frontend) to serve my backend data
- to include in frontend layer Web2.0 functionality and some other dynamic stuff
- to make benefit of external indexing server for full text search, for both frontend and backend
You can of course use solr with collective.solr for search engine but thanks to tsearch2 some of the search/ranking functionalities can be taken directly from postgresql (making the whole stack much smaller and easier to maintain).
Serializing Plone data to SQL opens many possibilities. But with Plone you can do much more.

You can integrate other CMS's like Alfresco or Sharepoint using CMIS. You can connect your Plone instance to Salesforce. Instead of using tsearch2 or solr as an indexing engine - you can use Google Search Appliance inside your Plone instance. If you want to start online document collaboration you can even connect it to Google Docs.
External services and applications are not the end of the story. There is of course WSGI with collective.xdv and Deliverance and bunch of other interesting middlewares and we shouldn't forget about PAS plugins.
It's possible that I missed something interesting. Plone community is very creative, thought. It's hard to be always up to date. That's why I'm sure that I miss a place where integrators and developers can share they successful stories and discuss potential use cases. A place which will make Plone future bright.
Document Actions
Sep 07, 2009
Solr explanations in collective.solr search results
If you are using Solr score boost configuration, sometimes you need to know how certain document has been scored. Now you can see Solr explanation in Plone search results.
I'm still working on collective.solr branch. To help our customer to understand how certain documents has been scored, I've included in Plone search results an configurable option - debug query.

Using it you can check directly in Plone, Solr score explanation (it's toggled by jQuery).
hidden:

and unfold:

Document Actions
Sep 03, 2009
Solr score in collective.solr
I've recently created a branch merging rt.solr with collective.solr. You can now boost search results' relevancy directly from Plone configuration
For one of our customer we have been developing Solr score configuration in Plone. After a short discussion with witsch we have decided to contribute our efforts and merge everything to collective.solr branch. This is just a simple configuration panel with additional score query builder. Every score-boost entry has 3 fields: index, value and score. In current implementation if you leave value empty - it will be populated with SearchableText index value - when building the query. This approach allows flexibility our customer needs.
Let's assume you want to sort results as follow:
- Description has a query boost 10.0
- portal_type=Document has a query boost 15.0
- review_state=published has a query boost 20.0
In this way you can boost Description index (for which the value will be taken from SearchableText) and portal_type index (for which you can define the value manualy) at the same time.
to-do: we would like to add as an option Solr score explanation in search results (for users who want to know why certain document has certain score).
We have found also some problems with Lucene proximity algorithm which can give some problems (it should be configurable in Solr 1.4.0).
Document Actions
Aug 26, 2009
How to use Solr score's in plone search
For one of our customers we need to implement more sophisticated search, then the default plone one. Using collective.solr and rt.solr it's quite easy.

Description:%(searchterm)s^10 Title:%(searchterm)s^20 portal_type:Folder^10 portal_type:Document^30 review_state:published^100
