Well, after having my one user hassle me incessantly (aren't users wonderful to have?), the PHP-based calibre server is getting there. The user is now using it 'in production' successfully. It has been used on a nook, on Opera on my WM6.5 phone, and on Firefox & IE. Some screen shots are attached. Note that the library I was using is my test library, so the metadata for the books has been 'messed with'.
I have at least three things left to do before I will release source. First, one cannot yet view books for formats or user-defined categories. Second, I want to add some level of control over the fields that are displayed (a configuration option). Third, the configuration parameters need some explanation. I expect to do these this weekend.
The system requirements are:
- PHP 5.3 w/GD image processing & SQLite3 support.
- A web server supporting PHP modules. I use Apache 2.2, but there is no Apache-specific code in it.
- Smarty templates, either installed system-wide or in a private folder. I use Smarty 2.6.25. Smarty caching is not (yet) used.
- Access to a calibre library (metadata.db, format, & cover files).
The library is opened read-only, so there are no particular locking issues to deal with. It is re-opened on every request, so change synchronization is automatic. The generated URLs are relative; I have tested it as the root of a virtual host and in a subdirectory. Authentication is done using the web server's facilities.
It is worth noting that this implementation is not as functional as calibre's content server, nor will it ever be.