Archivio articoli 'eZ planet'

Inizia una nuova avventura…

Inizia oggi per me e per Jacopo una nuova avventura. Saremo gli autori del nuovo libro dell’ApressPro PHP Refactoring with Test-Driven Design“.

Dopo il mio debutto con “eZ Publish 4: Enterprise Web Sites Step-by-Step“, del quale siamo nella fase di revisione tecnica, molto presto verrà pubblicato, ecco che ho deciso di buttarmi in una nuova sfida.

Credo che oggi come non mai ci sia interesse verso il valore del software. Io e Jacopo con questo libro cercheremo di spiegarvi come è possibile far crescere il vostro software php senza fallire e perderne valore.

Pro PHP Refactoring with Test-Driven Design

Many businesses and organizations depend on older high-value PHP software that risks abandonment because it is impossible to maintain. The reasons for this may be that the software is not well designed; there is only one developer (the one who created the system) who can develop it because he didn’t use common design patterns and documentation; or the code is procedural, not object oriented. With this book, you’ll learn to identify problem code and refactor it to create more effective applications using test-driven design.

What you’ll learn

  • What refactoring is and why you need to refactor code
  • What test-driven design is and why you need to test your code
  • How to write unit and functional tests with PHPUnit and Selenium Remote Control (RC)
  • How to detect “bad smells” in PHP code, and refactor them using test-driven design
  • How to refactor a large procedural application affected by many bad smells

Who is this book for?

This book is for PHP developers, businesses, and developers relying on legacy PHP apps.

Test funzionale con eZ Publish – eZ Test Browser 0.1 stable

Ho rilasciato la versione 0.1 stabile della libreria eZ Test Browser che permette di eseguire test funzionali con eZ Publish.

Insieme alla versione stabile è stata rilasciata anche la documentazione che insegna come installare ed usare l’estensione.

L’estensione è rilasciata con licenza GNU GPL 2.

Ringrazio i miei due compagni di viaggio Jacopo e Michele che hanno sviluppato con me l’estensione, ed ideato per aver finanziato questo progetto che sarù utile a tutta la comunità.

Pubblicato il video della eZ Conference 2009

Ecco il video riassunto della eZ Conference 2009. Al minuto 6:00 ci sono le immagini della mia premiazione!!

Test funzionali su eZ Publish con phpunit e sfWebBrowser

Da molto tempo aspettavo questo momento, la possibilità di effettuare test funzionali su eZ Publish.

Non vi voglio annoiare spiegandovi l’importanza dei test automatici unitari e funzionali, ma lavorando con symfony e scoprendone le gioie ormai da più di due anni, la mancanza di questa feature su eZ Publish mi rendeva veramente nervoso.

Questa settimana ho lavorato con Jacopo su una nuova estensione che ora offre la possibilità di eseguire test funzionali con phpunit e sfWebBrowser sul famoso cms eZ Publish, dandoci il controllo completo sullo sviluppo.

L’implementazione è stata possibile grazie all’integrazione di phpunit in eZ Publish. Si finalmente anche loro hanno capito che devono testare le loro classi per poter far evolvere il CMS e fare refactoring. Però lo script integrato dà solo la possibilità di eseguire test unitari e non test funzionali.

Per questo motivo abbiamo realizzato una classe phpunit eZBrowserTestCase che è in grado di caricare classi, oggetti e nodi eZ Publish da un file YAML su database ed offre metodi proxy verso la classe sfWebBrowser per poter navigare un sito web da console proprio come se fosse un browser. Inoltre implementa metodi per testare la presenza di elementi sul dom attraverso i selettori CSS.
go on reading »

Lucene, il potente motore di ricerca java installato su eZ publish.

eZ publish, è un gran CMS, ma come tutte i software ha anche i suoi punti di debolezza, il motore di ricerca. Allo stato dell’arte il motore di default installato su eZ publish supporta solo query full text in AND, cioè è in grado di cercare solo oggetti dove sono presenti tutte le parole che l’utente vuole cercare. Questa è una grande limitazione, per tanto, ho deciso di provare l’estensione Lucene che sostituisce il motore standard di eZ cone Apache Lucene:

Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.

L’installazione è stata piuttosto semplice, anche se è richiesto il controllo completo sul server, in quanto bisogna ricompilare il pacchetto php-java-bridge. Tutte le informazioni per l’installazione si trovano all’interno dell’estensione leggendo il file README.

Una volta configurato il tutto (installato jvm sul server ed installato il php-java-bridge) basta attivare l’estensione, svuotare la cache e il tutto è operativo.

Ora si possono effettuare ricerche in AND, OR, con wildcard e con caratteri speciali.

Veramente un gran bel lavoro e molto bello anche la percentuale di score presente nei risultati che rappresenta la vicinanza all’obiettivo cercato.

Il motore è in grado di indicizzare tutti documenti collegati al CMS, pagine web, pdf, multimediali, doc e molti altri

Pagina successiva »