PBooks has come a long way in the past 6 months. The biggest developments have been in the business processes area, where we've included invoices, deposits, and transfer capabilities. More recently, I've personally been working on the overall code quality of PBooks, trying to make sure that the naming conventions are consistent (so that if one file is named invoiceview.xsl, there is no viewdeposit.xsl file), good code documentation, and a solid data model.
Installation issues!
The community has spoken, and I'm listening. PBooks is too hard to install, no doubt about it. Although I haven't done any explicit work on fixing this yet, I have been doing a lot of thinking about it. My concern was that if beginner developers started using PBooks, they would run into more serious problems with the unstable nature of PBooks, at least more serious than being unable to uninstall the software, and supporting the various installations would become a great burden. Inasmuch, it was "OK" in my mind that PBooks was difficult to install. Besides, there is still plenty of work to do on the application besides the installation process. What good is a crappy program even if it is easy to install?
Anyway, I've come to the conclusion that there are two main issues with the installation: the database and the folder layout. To remedy these issues, I'm planning to create a new database installation script and allow PBooks to be dropped into a web accessible directory and run. While that's not the way I would do install a web application these days, that's how a lot of web applications, like Wordpress, are installed. Along those lines, while I like everything to be modular, not all users have the liberty to install system-wide libraries (like from PEAR, for instance), so having a monolithic (everything incuded) distribution is needed. I'd like to keep everything modular on the development side and use a script to package it all up for distribution.
Oh yes, one more part to installation - an installation checker to inspect the server's capabilities is needed to make sure that PBooks can actually run if it is installed.
The forums have been picking up in activity and I'm hoping that I'm able to help PHP-CODER to get PBooks installed so that there can be more dialogue about the software.
Big Changes
One major change occurred recently with PBooks - it now relies on nexista version 0.2.0 rather than the nexista 0.1.x stable branch. The good news is that version 0.2.0 is more compatible with PEAR coding standards, and will be easily installable via PEAR. For shared hosting folks, I'll include it with the PBooks download.
I have good feelings about the new version of nexista, and as I've been working to improve the quality of PBooks code, I've been working on plugins. While this feature doesn't change how PBooks will work out of the box, it will allow developers to alter the behavour of PBooks drastically while maintaining compatibility with the mainline codebase. At first I was trying to use XSL for plugins, and while that works, I'm now thinking that plugins into Nexista are the better route. The final result will likely be a combination of both, depending on how complex the plugin is.
The Future
The future looks good for PBooks. Development on the installation process and plugin API will occur in tandem, and after that I'm going to work on a stable release. I don't think the stable release will include all that I'd hoped and I'm sure will lack some functionality that people will require, but a stable release is needed to frame the next major steps for the future.
Thanks to everyone who provided feedback on our demo and the code. Please keep it coming! :-)
