I released a new revision of Solar today; we’re at 0.0.4 now. (UPDATE (2004-03-07): I failed to put the tarball on the Solar website earlier; it is now in place. Thanks to Jens for pointing it out.)
Solar is still in development and as such is unstable. However, I am continuing work on the first proof-of-concept application, a simple bug tracker, which combines the generic commenting application component (called a “Cell” in Solar parlance, in this case “Solar_Cell_Talk”) with the specific data maintained by the Solar_Cell_Bugs component. All it lacks is edit restrictions based on user name and user role.
The change notes for this revision are:
* This is a public development release, and is not yet stable. * Added Solar_Form class (Solar/Form.php) for form element collation and input validation (not for output or rendering) * Added Solar_Locale class (Solar/Locale.php) * Solar.php: * Modified locale() method signature * Added public static $locale object * Removed Solar::setLocale() * Properties $config and $shared are now public * Solar_Base: modified to use new locale structure * Solar_Sql: * dropped support for Oracle (30-char limit on names is just too strict) * max table name is now 30 chars, max col/idx name is now 27 chars * double underscores not allowed in table, index, or column names (to prevent name collisions) * indexes now suffixed with '__idx', sequences with '__seq' * in index names, the table/index separator is now '__' * Converted fetch(), fetchNum(), and free() methods to static (now there's no need to pass a reference to the driver into the result class) * Solar_Sql_Result: modified to make static calls to Solar_Sql for free(), fetch(), and fetchNum() * Various modifications to the Solar_Cell classes for Bugs and Talk to go with Solar_Sql changes * Various schema changes to the Solar_Cell classes for Bugs and Talk
Solar is a “simple object library and application repository” for PHP5. It is designed for developers who wnat to publish their code worldwide in heterogenous environments.
For example, the database drivers are highly abstracted and are intended to work identically on all supported RDBMS backends (including date and time representations). In addition, localization is built in from the start, so it is a simple matter to create translated strings and formats for your applications.
Above all, I am striving to make the Solar codebase comprehensible and intelligble for all adoptive developers, whether new or experienced, with as little “tricky stuff” as possible and verbose commenting throughout.