Planet eZ publish
PHPHacks.com shares some inforamation today on how to quickly and easily create OpenOffice documents with the help of a little PHP.
PHP DocWriter is a set of PHP classes that allows you to create documents in OpenOffice.org XML format (that is, StarOffice/OpenOffice.org documents). You can download the library files from here (http://phpdocwriter.sourceforge.net/download.php?lang=en). Also, you can find installation steps in the mentioned link.
With the library installed, it's a simple matter of creating a new object, defining properties and using methods on it and exporting it from the script. There are several examples included in the tutorial, everything from a simple "Hello World" example out to creating documents with meta-information and tables.
As any developer will tell you, putting a website out on the internet is only half of the equation. The other half is trying to figure out some of the visitors (and how many of them) coming to your site. That's where this new article from DevShed comes in.
If you have a website, especially one that sells products or services, it can be useful to track the visitors to your site. This article explains how to write a program that will do just that.
They offer a database-based suggestion for recording various pieces of visitor information, including: IP address, date/time of the visit, pages viewed, browser type, and the referring page. They give the database structure and the PHP code needed to push the data into it. They also include some simple analysis code/SQL to show the different habits of your visitors and place them into an easy-to-read dynamic HTML page.

The eZ publish 3.8.4 distribution has been updated with new packages. The previous packages had the following problems:
The new packages are available from the eZ publish 3.8.4 download page.
DevShed is starting up another new series today, this time looking at the DirectoryIterator methods out of the Standard PHP Library functionality.
Because this class might be handy to use in projects where handling directories is a must, in this new series I'll be taking a close look at some of its most important methods. We will explore these methods appropriately in conjunction with the corresponding code samples.
They introduce the class, noting why it's handy to use and where's the best place to use it - including an example. They get into a bit more detail, looking at the key() and current() methods as well as using the rewind() method to reset the pointer for the directory.
One can never be too secure when it comes to online applications. PHP has its problems, making it a bit too easy sometimes to write back code that makes for insecure applications, but, thankfully, there are some simple steps to be taken to greatly reduce these risks. This article from PHPHacks.com shares some of the easiest.
Their recommendations are:
Jared White has released the latest Developer Preview of his application framework for PHP 5 - Willowgarden DP2.
I'm so pleased to announce that Developer Preview 2 is ready. This is where the project is really starting to solidify and settle into a cohesive whole that can be used for hands-on development. I've been working on several Web site and applications using the DP2 codebase, and it has made my life as a PHP developer so much more fun than the bad old days of cobbling together scripts nearly from scratch.
A new wiki for the project has also been launched with content already being added - a User Guide and areas for tutorials and howtos. Jared also puts a call out to PHP 5 developers out there looking for something to get involved with to take a good look at the Willowgarden project and send him an email ("remove everything after jared before the @ sign").
Aujourd'hui j'ai eu l'occasion de me connecter en SSH sur une machine tournant sous Solaris (SunOS 5.10) apparement un Sparc quadri-processeur équipé de pas moins de 8 Go de RAM, une belle bête en somme. Le but de la manoeuvre était de tester la configuration de l'hébergement pour un site utilisant eZ publish . Sur cette machine deux choses m'ont particulièrement frappées.
La première est le relatif "bordel" dans le système de fichiers. Habitué depuis quelques années aux systèmes bien rangés et proche du standard LSB de mes machines ou des serveurs que j'administre, j'ai été un peu dérouté. Ce n'est pas pratique du tout quand on découvre la machine et qu'on cherche juste le fichier de configuration d'Apache ou le répertoire de base des sites web. Ça m'a rappelé l'organisation des fichiers sur les serveurs Tru64 que j'utilisais quand j'étais étudiant à l'ENSSAT . C'est vrai qu'en y réfléchissant bien, une machine utilisée par beaucoup d'utilisateurs avec des besoins très différents, se transforme inexorablement en joyeux foutoir au grès des installations, migrations, mises à jour et l'adaptation de l'existant.
La seconde est la prauvreté du shell (tcsh pour ne pas le nommer) et des applications par défaut installés sur la machine. Par exemple le prompt du shell est un spartiate "login@machine repertoire_courant :", un ls n'affiche aucune couleur améliorant la lisibilité, ou tar ne permet pas le désarchivage de tarball compressé avec bzip2 ou gzip en une ligne sans pipe. Bref, toutes ces petits plus offerts par les outils GNU en shell sont absents par défaut.
Cette petite expérience m'a fait prendre (ou plutôt reprendre) conscience du confort apporté par les outils GNU et l'avance de ce point de vue de l'environnement généralement disponible par défaut sous n'importe qu'elle distribution GNU/Linux par rapport aux Unix propriétaires n'offrant pas ces outils.
The Zend Developer Zone has posted a review of Theo Schlossnagle's book from the Developer's Library series "Scalable Internet Architectures".
I had the pleasure of meeting Theo Schlossnagle at OSCON 2006. He gave me 30 minutes to peek inside his brain and do an interview. 30 minutes just was not enough time. So when I received his latest book in the mail I was excited. Finally a chance to get more in-depth on some of the topics we covered. I've taken the time to collect my thoughts for you here so you can decide whether this book is a good one for you.
Cal talks about how he hated the book (from a reviewer's perspective, not a developer), the contents of the book, and his personal favorite section - "Distributed Databases are Easy, Just Read the Fine Print". His only critism is that the book seems to come across in a "demanding" tone (misunderstood by those that don't know Theo's style as just being matter of fact).
