I have wrapped up the new, refactored version and released it as 0.99.0 alpha1. Lots of changes, expect a bit more documentation soon.
update this release contains an old rss2 template that does not work, the fix is in 0.99.0 alpha2.
Refactored and Released 4 comments
ludo, Friday 11 February 2005Progressing 2 comments
ludo, Thursday 10 February 2005I have almost finished refactoring WPFF according to the outline detailed in my last post. The speed loss is minimal (around 10%, still 5-7x faster than a stock WP 1.3 installation) and the code is cleaner, has more features, and is much more developer-friendly.
The new release is already powering our medium-traffic commercial blogs (Mobileblog, etc.), and after the usual first-hour bugfixes everything seems to be running smoothly. I still have to finish converting the default template from the old version, and package everything before releasing the new code to the public. Stay tuned!
What the next unstable release will look like 2 comments
ludo, Friday 17 December 2004I am working on the next release, which will be heavily refactored thanks also to Jerome's input. The current unstable of WPFF is little more than a proof of concept, it works and powers a few sites, but is difficult to customize and not flexible at all. It's impossible or very hard to do things like adding a page with custom logic, which displays the main sidebar or uses a posts list in a non-standard way. And code or template upgrades on an existing site are a pain.
So in the next release I am sacrificing some speed in favour of code encapsulation, and flexibility. I am writing a new class (surprisingly named Frontend) which will encapsulate most operations in easily accessible methods. Apart from the class constructor which just stores the config options, there are: a bootstrap() method which encapsulates all the setup stuff (localization, locale, db and templating class instances); a series of get() methods for categories, archives, and posts which (get, cache, and) return ready-made structures with all the contained entities (categories, posts, etc.) having all the needed attributes (formatted dates, number of comments, number of posts, etc.); a series of parse() methods which will parse and output the main page components (header, content, sidebar, footer), calling the appropriate get() methods where needed. The class will be used by different pages (index, feeds, archives, post, etc.), which will contain the few lines of code needed to instantiate it and call its methods with the appropriate parameters.
WPFF will be a bit slower than it is now, but much more flexible. You could use it in totally different ways than the ones I built it for with little coding. Or you could add useful extensions and new pages that I haven't thought of. I expect to have something usable in two or three days.
0.1 Release Candidate 2 0 comments
ludo, Thursday 16 December 2004I expect this to be the final candidate before 0.1, which will hopefully be a bugfix release only. Right after 0.1 I will release the next unstable release, where I will refactor following two of Jerome's suggestions.
This release fixes a few bugs related to mail notifications, and adds a simple mechanism to avoid duplicate comments insertion. It is available for download in the usual place.
A few bugs, a review, and a hosting offer from Matt 1 comment
ludo, Thursday 16 December 2004I should have learned by now never to release something after a full day of coding. The last release had a few bugs, which Jerome spotted at once (I even mistyped the release version in the announcement, it's 0.1 not 1.0). I have fixed the bugs, and will release rc2 in a few hours. Rc2 will also include duplicates detection on comment insertion.
Just a few hours after rc1 was released Jerome wrote a nice review of WPFF, suggesting a few features that I will implement in the next few days. And Matt offered to host WPFF on the new Subversion repository system they're moving WP to. Thank you Matt, I will probably accept your offer if I can work out how to connect to the subversion repository from behind my very strict office proxies (maybe a ssh tunnel to one of my home systems).
0.1 Release Candidate 8 comments
ludo, Wednesday 15 December 2004As promised in the previous post, I have put together a new release. It's a Release Candidate, as I won't change anything major before the first stable release, and I will add only one more feature (duplicate detection for comments) before declaring 0.1 stable.
The new features in this release are:
-
streamlining of the post loop and the single post actions
-
"send to a friend" for posts
-
sidebarlets
-
general bug fixing
The new release is available for download.
Getting ready for a new release 5 comments
ludo, Wednesday 08 December 2004I am slowly getting ready for a new beta release, which will feature a few bugfixes, email sending to all blog admins on comment submission, and an .htaccess rule for previous/next pages so that they too are search-engine friendly.
After this release there will be one more beta, since as the codebase grows I am starting to feel the need to encapsulate all accessory functions (eg comment posting, "top posts" and other sidebar queries, etc.) to separate files. I am still a bit undecided on how to do this without losing too much in terms of performance and code readability, but I want to move along and start working on the backend so it should happen pretty soon.
As always, stay tuned.
Beta release, including pagination 7 comments
ludo, Wednesday 01 December 2004As promised in the previous entry's comments I have just packaged a new release which integrates the new features I had already made to our custom branch:
-
pagination (previous page, next page) in the index, archives, and categories pages
-
a simpler entries loop (the number of posts displayed is now always the same as the
posts_per_pageoptions)
-
fixed templates which are now validating
-
other small fixes
I have moved the release from alpha to beta status, as I have fixed the few bugs left and I see no new ones. More details in the ChangeLog.
On a side note, I have got different reactions to WPFF, some like its cleanness and simplicity, others find it messy. Whatever rocks your boat..... :)
Second alpha release, including a port of spaminator 6 comments
ludo, Sunday 28 November 2004Nothing as the prospect of releasing to the general public to make you work harder. I've just finished porting the excellent Kitten's Spaminator to WPFF. I did not test very thoroughly (it's a 0.1 alpha release after all), but it seems to work. I also fixed a few minor things and released wpff-0.1a2.tar.gz, if you try it let me know.
First alpha release 1 comment
ludo, Saturday 27 November 2004I have put up an alpha release tarball for download. No documentation and lots of stuff still missing, but if you want to see what it's like you can get a pretty good idea. This release contains the same code running this site.
As for performance, there's a hidden counter at the bottom of this page. It's now showing total rendering times for the home page of 0.03 seconds, not bad for an overworked old Celeron 900 running tons of other sites and stuff (some of which pretty heavy like spam filtering). And there's no caching anywhere in the app yet. Contrast with 0.28 seconds using the WP frontend files against the same DB, after having removed calendar generation.