• Search:

Top menu



Planet eZ publish




ez projects

› Release 0.4 of eZ SNMPd is available

Highlights:

- added 2 template fetch functions to allow usage of snmpget and nmpwalk operations in templates
- fix: the mib generated via the graphical interface had a stray 'END' tag
- fix: snmpwalk called on the root OID would not work

24/01/2010 11:50 pm (UTC)   eZ Projects   View entry   Digg!  digg it!   del.icio.us  del.icio.us

gilles guirand

› My gandbox.fr's slides talk from the 2010 eZ Community Day in Geneva

On 2010 January 21, for the eZ Community Day in Geneva, i tried to tanslate in english language some of my "french" blog posts i write on http://www.gandbox.fr. There is my "english" slides from this talk :

List of the french blog post i used for my talk

Working with Google Maps :

Building an UWA Widget (Netvibes / iGoogle) :

Building a custom RSS :

Slideshare presentation

24/01/2010 10:08 pm (UTC)   Gilles Guirand   View entry   Digg!  digg it!   del.icio.us  del.icio.us

ez projects

› eZ Lightbox 0.7.6 has been released

Release 0.7.6 of the eZ Lightbox extension has just been released. The new release is available as a new package in the download area of the project.

23/01/2010 3:40 pm (UTC)   eZ Projects   View entry   Digg!  digg it!   del.icio.us  del.icio.us

ez projects

› First release of eZCopy

eZCopy is a small, stand-alone application (not an eZ Publish extension) making it easier to copy/move entire/parts of an eZ Publish based web site. eZCopy's main purpose is to copy an eZ installation from a live or production environment, to a local environment for testing, bug fixing or development of new functionality.

19/01/2010 2:31 pm (UTC)   eZ Projects   View entry   Digg!  digg it!   del.icio.us  del.icio.us

sandro groganz

› Survey Identifying Business Needs for Semantic CMS

Please shell out a few minutes to help the IKS Project identify business needs for semantic CMS by participating in a survey. The results will help the EU-funded project to work towards an Open Source interactive knowledge stack. There are two different sets of questions, depending on your background: IT Executives of CMS Vendors IT Executives of CMS [...]
18/01/2010 4:19 pm (UTC)   Sandro Groganz   View entry   Digg!  digg it!   del.icio.us  del.icio.us

damien pobel

› Nouveau serveur

Après les déboires récents de mon premier serveur Dedibox et j'ai reçu courant décembre un mail m'annonçant la fin du support de ma Dedibox V1 fin janvier 2010 et l'obligation de migrer vers une autre machine. J'envisageais depuis un bon moment de changer de serveur, cela n'a fait que précipiter les choses. Et j'ai finalement choisi un serveur Kimsufi 750G qui semble mieux fourni que les Dedibox XL pour le même prix (aux frais d'installation près si on paie pas à l'année).

La migration à l'identique est quasiment terminée mais je compte bien exploiter au mieux les 4Go de RAM (quel changement en comparaison du Go que j'avais avant). Je vais m'intéresser de plus près à la configuration de MySQL pour exploiter ces nouvelles ressources et je vais enfin pouvoir installer l'extension eZ Find sur mes différents sites eZ Publish.

En attendant un rapide benchmark sur pwet.fr avec siege sur les 200 pages les plus vues m'a montré que cette machine est capable de servir quelque chose comme 40 pages / seconde sans broncher là ou l'ancienne machine était capable de servir péniblement 7 pages / secondes. Il y a de la place pour quelques nouveaux projets !

17/01/2010 11:42 pm (UTC)   Damien Pobel   View entry   Digg!  digg it!   del.icio.us  del.icio.us

ez projects

› eZ Tika 1.2 released ( binary file indexing)

eZ Tika 1.2, based on Apache Tika 0.6-dev, carries a lot of under the hood improvements and is capable of converting most binary file types to plain text for sub-sequent indexing by any search plugin, most notably eZ Find.

17/01/2010 11:28 pm (UTC)   eZ Projects   View entry   Digg!  digg it!   del.icio.us  del.icio.us

ez projects

› Update of google sitemap functionallity

We have done a bigger update of the google sitemap creation. Now you can add items to your google sitemap which doesn't have a xrowmetadatatype included. Moreover you can add items by ini file and gzip the sitemap to reduce traffic.

17/01/2010 6:11 pm (UTC)   eZ Projects   View entry   Digg!  digg it!   del.icio.us  del.icio.us

ez projects

› Release 0.3 of eZSNMPd availabe

Highlights:

  • two new module views, 'walk' and 'set' bringing http access on par with cli and snmp access
  • bugfixes to the 'status' monitoring handler, including getting correct answers when database is down and correct number of files in some cache directories
16/01/2010 12:34 am (UTC)   eZ Projects   View entry   Digg!  digg it!   del.icio.us  del.icio.us

gilles guirand

› eZ Find et la gestion des datatypes

J'ai publié une "mini" contribution sur la gestion des relations d'objet(s) dans eZ Find. Cette contribution est relativement confidentielle (exploitation marginale), mais constitue une bonne occasion pour présenter le fonctionnement d'eZ Find et sa relation avec les datatypes. eZ Find est une extension encore sous exploitée, alors qu'elle constitue une avancée majeure d'eZ Publish sur la cible "système d'information professionnel", au côté des extensions EZSI ou encore CMIS.

Voir la page du projet ezfsolrdocumentfieldobjectrelation

eZ Find en quelques mots "faciles à comprendre"

  • eZ Find est une "interface" entre eZ Publish (le CMS) et Solr (le moteur de recherche)
  • Solr est un moteur de recherche autonome, qui s'exécute comme un service JAVA, et qui fonctionne en mode REST, à savoir :
    • Lors d'une publication, eZ Find prépare le contenu dans une URL et le "pousse" vers Solr (HTTP)
    • Lors d'une recherche (full text, filtres, facettes), eZ Find prépare la question dans une URL et demande à eZ Find la réponse

Toutes ces opérations complexes sont "masqués" pour le développeur, qui doit uniquement se soucier de bien formuler ses requêtes dans son habituel langage de templates : fecth( ezfind, search, params...). La puissance d'eZ Find réside dans cette simplicité d'exploitation, au profit de le puissance fonctionnelle de Solr est des "questions" que l'on peut formuler, notamment sur la pertinence (façon google) ou sur les classification à facettes.

eZ Find est les datatypes

eZ Publish fonctionne sur le concept de "datatype", à savoir des types de données "riches" permettant de représenter des lignes de textes, des numériques, des dates, mais aussi des types de données plus complexes ou exotiques comme des images, des vidéos, des relations de contenus ou des géolocalisations. eZ Publish permet également de définir ses propres datatypes, et on peut donc comprendre que les correspondances entre les types de données eZ Publish et les types de données Solr nécessite quelques paramétrages, selon 2 cas de figures :

  • Les correspondances de données parfaitement symétriques : ligne de texte = string
  • Les correspondances de données "sur mesure" : relations d'objets (et gestion des sous attributs)

Pour définir ces correspondances eZ Find propose un fichier de paramétrage extension/ezfind/settings/ezfind.ini

Fonctionnement de la classe ezfSolrDocumentFieldObjectRelation

L'aspect "sur mesure" de la correspondance entre les datatypes eZ Publish et les types de données eZ Find implique un point de vue du développeur dans sa façon de gérer les cas particuliers et complexes. L'indexation des relations d'objets multiples est une bonne illustration de l'éternel dilemme du développeur : "jusqu'où faut-il aller ?"

Comportement natif de ezfSolrDocumentFieldObjectRelation

Tous les objets en relations permettent de générer une unique champs "text" par concaténation de tous les attributs de tous les objets. On obtient ainsi un contenu indexé de type "objet1/attribut1 objet1/attribut2 objet2/attribut1 objet2/attribut2". Cette logique est tout à fait adaptée à la recherche "full text", mais inadaptée à l'exploitation de facette. Pour un objet en relation dont le "name" est "mon objet en relation", on obtient les facettes suivantes sur "myclass/myattribute" :

  • "mon" (10 résultats)
  • "objet" (3 résultats)
  • "en" (30 résultats)
  • "relation" (5 résultats)

Comportement de l'évolution ezfSolrDocumentFieldObjectRelation

La gestion des facettes devient possible, en spécifiant un attribut en particulier ou alors en invoquant le "name". La page du projet montre quelques exemples de code basiques. En exploitant l'exemple précédent, on obtient alors l'unique facette suivante :

  • "mon objet en relation" (3 résultats)

Gestion des filtres de type string

Un fois les facettes générées, il est nécessaire de construire le lien permettant de filtrer les résultats par "mon objet en relation". eZ Find (ou plutôt Solr) exige logiquement que les chaînes de caractères (string) soient encapsulées par des "doubles côtes".

Cet extrait de code (un peu complexe) montre comment étendre le search.tpl pour générer des filtres pour les chaines de caractères : filtres par "text line", "keywords" ou "relation d'objet(s)"

{foreach $search_extras.facet_fields[$index].nameList as $facetID => $name}
  {if $name|trim|count_chars|gt(0)}
    <li>
      {if $search_extras.facet_fields[$index].field|compare('facet_fields')}
       {def $url_link = concat($search_extras.facet_fields[$index].queryLimit[$facetID]|explode(':').0,':"',$name|urlencode,'"')}
      {else}
       {def $url_link = $search_extras.facet_fields[$index].queryLimit[$facetID]|wash}
      {/if}
      <a title="{$search_extras.facet_fields[$index].countList[$facetID]} Réponse(s) trouvée(s) dans les '{$name|wash}' // " href={concat( $baseURI, '&facet_field=', $facetField|wash, '&filter[]=', $url_link )|ezurl}>{$name|wash}</a> ({$search_extras.facet_fields[$index].countList[$facetID]})
      {undef $url_link}
    </li>
  {/if}
{/foreach}
 
 

A noter : L'opérateur urlencode n'est pas natif et doit etre déclaré dans template.ini.append.php :

  • PHPOperatorList[urlencode]=urlencode
13/01/2010 10:33 pm (UTC)   Gilles Guirand   View entry   Digg!  digg it!   del.icio.us  del.icio.us