The core of the LifeType 1.2 is feature complete, so nothing else is going to be developed. The next 4-8 weeks will be spent collecting feedback from users and fix any issue that might appear during that time. At its current status, LifeType 1.2 can be installed and run in any site and it is already possible to ugprade from a LifeType 1.1.x instance (wizard.php already includes all the code to make this possible)
However please bear in mind that only a handful of plugins have been updated to work with LT 1.2 (and they're only available from subversion as they have not been thoroughly tested yet) Templates from LT 1.1.x will work although they will be missing some features such as paged comments.
The development team will be generating installable builds on a daily basis. You can get the latest snapshot from here:
As soon as more plugins and templates are updated, we will also generate packages with them.
How can you help?
Right now we're interested in getting people to install this (it doesn't have to be a production server) and play around with it. If you come accross any issue, please report it via our bug tracking system. If there is anything you would like with the development team regarding LifeType 1.2, or send us some feedback, please use the LifeType 1.2 Development forum.
Another area that needs some work is localization. Right now LifeType 1.2 is only available in English, so we're still missing a lot of translations from LifeType 1.1. You don't have to be a developer to update a locale file, please see our instructions in the wiki for more information.
New features in LifeType 1.2
The following is a description of the new features in LifeType 1.2.
Fine-grained user permission framework
LifeType 1.2 implements support for a more fine-grained and granular permission level, as opposed to the pre-1.2 system based on site administrators, blog owners and blog users. Now it is for example possible to have users who are only allowed to post and update their own articles, but not to update or delete anybody else's. The same level of granularity can be achieved with administrative tasks.
Additionally, the extensibility of the framework allows plugins and custom code to create, manipulate and use new permissions as required.
Bad-behavior integrated in the core
Spam is one of the biggest concerns nowadays when hosting a blogging service, and the LifeType development team is committed to help users alleviate this pain.
As a result, one of the most effective anti-spam libraries, Bad Behavior, has been integrated into LifeType's core as the first layer of defense against spammers. The advantage of Bad Behavior against LifeType's own plugins and anti-spam mechanisms is that it does not depend on LifeType's framework to work, so it's a much lighter library. Additionally, all checks are performed before any LifeType code has been loaded so it will help save some memory and processor time in those busy community sites.
Global plugin settings framework
One of the most requested feature in the history of the project was the possibility of controlling plugin settings globally, so that only one checkbox would activate a plugin globally for all blogs in the site instead of doing it blog by blog.
Plugins have to be modified to "expose" their configuration settings to the LifeType core, and the changes will be documented accordingly.
The template layer in LifeType 1.2 has been modified so that it is possible to use the so-called "partial" templates, where only part of the required .template files are available in the package/set and all other files are pulled from a different location. The way this feature has been implemented allows for two modes of operation:
- Load user template always first and if a template file is not available in the user template, attempt load it from the default location. This mode allows for partial templates, or to have default template files as a "fallback" plan in case users are missing some files from their template sets.
- Load the default template files always first and the file is not available, then load the user files. This would allow for things like a site-wide .template files that cannot be overridden by custom user templates.
This feature should provide blogging communities with greater flexibility regarding templates and customizations.
Improved serving of resource files
resserver.php was proven to be one of the most resource-consuming (both in terms of memory and CPU time) of LifeType. As of LifeType 1.2, resource files are being served directly by the web server instead of another script. This has greatly improved performace and it will hopefully help increase overall performance and stability in bigger blogging communities.
This feature also brings a new URL format for the links to resource files in the form of "http://www.server.com/gallery/X/file.jpg", where "X" is the blog id and "file.jpg" is the name of the file. Compatibility with old URLs is achieved via an HTTP 302 redirect from the old URL to the new one. This process happens internally without the need for complex mod_rewrite rules, and it will ensure that no link will be missed by clients.
Support for paged comment pages
Now when viewing permalinks with hundreds or thousands of comments, LifeType will generate a paged display of the comments in the page. This will not only reduce the load on the database but also generate smaller pages that your readers will appreciate.
Support for authenticated comments
LifeType will recognize that the user posting a comment is logged in and will not require users to type their any identification anymore. Comments posted by authenticated users will appear marked as such.
Improved administration and summary interface
The administration interface and the summary page have been modified to use a more flexible layout instead of the fixed layout used up to LifeType 1.1.
- New type of custom field: drop-down list.
- Feature in the "clean up" section to allow to reset the contents of the tmp/ folder.
- Memcache is now supported as a cache backend, in addition to the current disk-based one. Configuration is controlled via the config/cache.properties.php file and support for memcached needs to be built into PHP.