Release of LifeFlow Version 0.90
Today marks the 0.90 release of LifeFlow, the Django blogging solution that I have been steadily working on for about ten months. It has grown from very simple blog software into a fairly hearty tool that doesn't rely on the Django Admin, and is pleasant enough for daily use.
Changes in 0.90
I first introduced the [LifeFlow Editor] in February, but it isn't until now that it has finally become a comprehensive editor. There are a ton of changes to list, so I'll just hit some of them.
Development has moved from my private SVN hosting to GitHub, where it is much easier for others to contribute. It also has issue and bug tracking on LightHouse. I'm always open to having more contributors, and would be more than glad to speak with anyone about designs, plans or ideas about LifeFlow.
Can assign and manage multiple translations and authors per article within LFE.
Visual confirmation when LFE saves. This is a nice improvement since LFE saves 'on demand' (perhaps a better way to describe this is it saves when you implicitly ask it to--by changing something--rather than when you explicitly tell it to, by pressing a save button) whenever you change something, but it previously wasn't clear whether or not it had actually pushed out your changes or not. Equally important, LFE also is vocal about telling you when it has failed to save, so you won't lose your work.
You can now edit the blogroll, author profile, projects, comments and files inside the LFE. Of course the three article buckets (for rough drafts, edited drafts, and published articles) is still there for organizational purposes.
You can now specify publishing dates for articles while they are still in draft state. Since a blog article isn't visible until it hits its publishing date, you once again have the fine-grained control over the timing of content release that was previously available using the Django Admin.
All title fields have had a helpful "title case" button which applies the JavaScript titlecasing script written by John Resig, and inspired by John Gruber's script.
Numerous bugs have been repaired. In particular the file uploader is no longer willing to overwrite existing files. Also, the sluggifying function is much more rebust about escaping invalid characters, which was the #1 cause of my resorting to the Django Admin for a while.
In-lined MarkDown and Dynamic Blog Context in the body editing window. Even I forget the DBC tags sometimes, so having a helpful in-lined help system was a simple but very helpful addition. The MarkDown help is a bit minimal at the moment, but I'll work at updating it in the near future.
Works with the current Django trunk.
The Future
I have been planning a number of exciting features for upcoming versions of LifeFlow.
The 0.91 release is focused on code cleanup and making the code and various parts of LifeFlow more managable. Lots of refactoring, reorganization and documentation.
The 0.92 release is focused on facilitating what I am calling text wizardry. This will include the pre and post processors for blog article's text, allowing for as many neat features as your mind can imagine. For example, this would facilitate more helpful links (replace all references to Luke Hatcher with Luke Hatcher, locating and building links to Amazon for referenced products, fixing words you simply can't capitalize correctly (JavaScript, anyone?).
0.94 (what happened to 0.93??) will focus on turning LifeFlow into a sandboxed joint collaboration environment. Another way to say that, is LifeFlow will have various roles with their particular permissions. Someone might be a Writer, who can create drafts, but can't advanced them to the editing bucket. It would take an Editor to do that, and an Administrator to actually publish the entry. This would make guest blogging vastly more pleasant, as well as making LifeFlow into a robust collaboration tool for those writing joint blogs.
And thats the state of the project. This blog is run by the trunk version of LifeFlow, and I usually update its checked out version to head once a week or so. Its been more than stable enough for me, and I put together a static rendering module (using StaticGenerator that is included with the source for those whose hosting doesn't reliably serve Django projects.
Let me know if there are any questions or anyone needs help.