// post · 615

Bluetrait 2 development update

·

Just a quick development update.


The following is a list of the major changes that have happened since Code Example 1:


  • Commenting Support

  • Future Posting Support (via cron)

  • Cron Support

  • Basic Adding Post Support (with Categories)

  • RSS Comments on Posts (with user detail support)

  • Database Session Support (all sessions are stored in the database)

  • Jquery

  • SQLite database support now mostly works

  • Contact Form (will be a default plugin) + Mailer Class

  • Improvements to custom content

There are a couple of things that need doing before I can upgrade this site to Bluetrait 2:


  • Spam Filtering

  • Search

  • Content Support (for my projects page etc)

  • Admin Page (yes I haven't started on it yet!)

  • Migration Script (to upgrade database)

The cron support is pretty cool and really easy to use. It will be used in future to handle update notifications, session garbage collection and "monthly database maintenance".


On another note this site is now accessible via IPv6 (2001:388:c021::20), which has already seen traffic!


 

// post · 609

Bluetrait 2 development update

·

I've been doing a fair bit of Bluetrait 2 coding since my last post about it, so I thought I'd post an update of where I am up to.


Category support is now working. Which is awesome, because it includes full breadcrumb support:


Bluetrait 2 categories support


I will expand this to include browsing through the full breadcrumb. This will improve navigation throughout the site.


Other features that I have been working on include:


  • Full 404 handling support with custom styles

  • Plugin support that can add custom content types

  • Customizable peramlink formats

  • Overriding site details with a settings file (i.e. domain name etc)

  • Pluggable functions

  • MySQL and SQLite support

  • RSS support

  • Templating Tags

  • UTF-8 support

  • Theme support

  • Graceful error handling (i.e on database failure generate an email to the site admin)

  • Event Logging

So there is a stack of stuff that has been done. I can't wait until enough has been done so that I can upgrade this site!


Subversion access can be found here (please note it isn't ready to be used on any website yet).

// post · 605

Bluetrait 2

·

I've decided to rewrite Bluetrait.


It's had a good run.


Getnews (the blog script that I wrote before Bluetrait) was aimed at providing a very basic blog with commenting support. It did this well, but a lot of it was hardcoded to my domain/style so it wasn't really useful for anyone else.


I wrote Bluetrait 1 as to allow others to easily use/install it. It had/has a very basic template type system. Over the revisions it has been slowly upgraded and now includes:


  • Good spam filtering. I think I'll finally got to a stage where I'm happy with it.

  • Awesome looking admin panel thanks to Stuart.

  • Event Viewer (which I really like having)

  • Basic RSS support

  • User management.

It has worked well on my site for almost 3 years! But it has some limitations that are starting to annoy me. The biggest problem I currently have with it is the way the CMS side works.


There is no way to categories pages and as my project page grows it is becoming an issue.


So I'm going to take what I've learnt with Bluetrait 1 and rewrite it.


I'm aiming to make Bluetrait 2 able to cope with all kinds of content for example:


  • RSS

  • Atom

  • Content/CMS

  • Blog

The idea is that the core of Bluetrait will have a section that allows people to design their own plugins which allows the system to handle any kind of data output.


Bluetrait 2 will also require PHP 5 as I'm using the PDO database class to allow for almost any kind of database (mysql, sql lite etc).


So the coding has started. Plugin support is almost done. I don't expect to have anything finished this year, hopefully early next year.

// post · 602

Dashboard Lite - WordPress 2.2 Plugin

·

Josh created a custom index.php way back in WordPress 1.5 days that removed the RSS feeds on the WordPress dashboard.


Up until now it wasn't really possible to this with a plugin nicely. WordPress 2.2 has added an API hook that although not relevant to the Dashboard it is in the right place!


So I've created a simple plugin, which you can download here, that removes the RSS feeds. Please note it requires WordPress 2.2.

// post · 601

What data is being sent to Akismet?

·

I just read an interesting post here about what data is sent to the Akismet servers. A surprising amount, including the whole $_SERVER array!


I wouldn't be too happy with that myself. Bluetrait's implementation of the Akismet client sends the following information:


Comment Author

Comment Author Email Address

Comment Author Website Address

Content of Comment

Author's IP Address

Type of Comment (i.e Trackback, Comment etc)


Bluetrait's implementation sends the following information:


Comment Author

Comment Author Email Address

Comment Author Website Address

Content of Comment

Author's IP Address

Type of Comment (i.e Trackback, Comment etc)


Plus the $_SERVER array with the following information removed:


'HTTP_COOKIE',

'HTTP_X_FORWARDED_FOR',

'HTTP_X_FORWARDED_HOST',

'HTTP_MAX_FORWARDS',

'HTTP_X_FORWARDED_SERVER',

'REDIRECT_STATUS',

'SERVER_PORT',

'PATH',

'DOCUMENT_ROOT',

'SERVER_ADMIN',

'QUERY_STRING',

'PHP_SELF' ;


Unfortunately this is more than I first stated, I'm going to review the data being sent. It shouldn't contain any extra data that is personal.


EDIT: Some more info here. Looks like Akismet sends the all cookies that are from that domain. i.e anything the client (the person posting the comment) is logged into. The post is a bit old (2005) so this behavior may have changed.


EDIT2: I just checked the source code from WordPress 2.1.2 it looks like cookies are no longer sent, everything else still is.

// post · 596

BTEV 0.3

·

Version 0.3 of Bluetrait Event Viewer for Wordpress is now out.


You can download it here.


This version tracks more events (and allows you to override wp_login to track failed logins too).


Tested on Wordpress 2.0.9 and 2.1.2