Posts in category “Software Development”

Project & Work Status Report

Wondering how things are going on your favorite PolarLava project?  Yeah, me too.

MyClient is on hiatus at this time.  I know of no issues with it at this time so I don't have a need to do anything with it at this time.  The next thing on deck for this project will likely be the addition of PostgreSQL support.  That will require me to clone my current MySQL DB class.  At the time I do that I will likely evaluate the situation and extract things out further because there will be some parts that they both share.  Thus at that point there will be a base class and two inherited DB specific classes.  This will need to be done as the first step towards PolarBlog supporting PostgreSQL.  I'd like to think this will create some "buzz" as I don't know of any DB tools that support multiple simultaneous connections to different types of databases.

PolarBlog is in slow mode.  I've written about 95% of the RBL class.  I need to complete the keyword blocking and then integrate it.  That's going to take a reasonable amount of work to complete before the next release is ready.  I've got some odds and ends to clean up also which always take longer than expected.  I've been seeing an increase in spam on this blog and personally I'm really looking forward to getting this working here.

The newest project here, Yapter is in ultra-slow mode.  Again I know of no problems with it at this time.  I have gone through and did some code cleanup, but it has not been commited.  I'd also like to changed the error reporting to something more manageable, but that's not a burning issue.

The major downside to my project work is that in the past several weeks my job has eaten my life.  We continue to go through what we've termed "catastrophic success".  In short things are going so well it's hard to keep up!  This is really good news, but at the moment my department is woefully understaffed.  As such this has led to a lot of long hours of late.  The situation is currently being addressed and my role will be evolving as I will be taking on the management of additional staff.  I absolutely love my job, but I look forward to things settling down a bit.  I have lots of things I want or need to do that are currently on hold until things stabilize.

So as you've probably already figured out, this means I want work on my projects, but at this time I have very, very little time to do so.  I wish I had more time, but having a good stable job is something that I'm very happy to have once again.  Thus at this time I can't put any sort of timelines on when you will see anything new released from any of my projects.  Sorry.

PolarBlog RSS Feed Issue

Yesterday I was informed of a RSS encoding problem when you set your encoding to anything other than ISO-8859-1.  This appears to be being caused by the third-party FeedCreator class ignoring the user setting and always using the default setting.  Additionally I believe I've found a minor content type problem, but that's a much lesser concern.

That's the bad news.  The good news it that I believe I've solved the problem.  This may go out a bug fix release this coming week, but at the moment I know of only one use that was having an issue with this so my inclination is to sit on it and instead work on the next release.  I know there are other international users, so if you use RSS and are having feed encoding problems contact me (kevinp AT polarlava.com) and I can send you the fix directly.  As I write this I've sent this to the user who was having the problem, but he has not confirmed that this fixes this issue —I believe it does.

If there are enough request for it I will package up a release and send it out.

Takeover Yapter?

Update: I have come to agreement on this with the now previous maintainer.  I'm now heading up the Yaper project.  As such, this will be the templating engine that will be used for PolarBlog in the future.   You can learn more about that here.

—-

Contemplate, contemplate, contemplate…

For the past couple of years I've user the Yapter templating engine to drive my site.  Development on this project has been slow as it was released in a reasonable state, but then development quickly tailed off.  I've had to hack most version to get them to work properly and was considering abandoning it entirely.  But I don't have the time or the motivation to do that because, "If it ain't broke, why fix it?".

Just this week a new version was released to address some issue with PHP5.  And once again I found myself hacking on it to work out some bugs.  This latest release was simply put out by the original developer, but was actually someone else's work.  I've been corresponding with him regarding the problems I've encountered and he's indicated that he would like to basically be rid of the project as he no longer want to maintain it.  He's done so only out of a sense of guilt to those who are using…which he's indicated is a significant number of people.

He had offered to turn control of the project over to me, but I initially declined.  I'm already running a largely one-man operation supporting both MyClient and PolarBlog.  I'm not sure I really have the time to dedicate to yet another project.  But I've been considering templating engines for PolarBlog, and Yapter would work nicely as it is lightweight and efficient.  And that is major consideration for PolarBlog, as I've written what I believe to be a very fast application and intend to keep it that way.

After doing some more hacking on it this morning, I've now got the latest version running on my site.  (So if you see a problem, please report it!) I've also replied to the current developer about one of the first problems I ran into earlier this week —a problem I've solved along with a couple of others.  Since this conversation started, he has sent a message to the announcement list seeking someone to assume the project.  In my reply today I indicated that I might consider assuming it if he doesn't find any other takers.

I'm unsure whether I should or will take this over or not.  I can't and won't guarantee that I will be any more responsive to others problems than he has become.  I'd like to think that as long as I'm using it, I would keep it functional though as I depend upon it for my site.  So those that want to keep using it also would have some level of support, but I can't see really pushing it's development a whole lot more.  Any additions would largely be to fulfill my needs for this site and PolarBlog should I choose to go this route.  I figure at this point I don't have a lot to lose and at best I might gain some other developers to help out.

PolarBlog: The Road Ahead

I figured it was about time to sort of layout the road ahead for PolarBlog as it's been a very long time since I last did this

From the "Future Development" list on that very old entry, there are three things that still haven't been completed!

  1. Pingback functionality
  2. Trackback functionality
  3. Entry print view
And two pretty big additions that did get added…
  1. A commenting system
  2. Posting entries via email
Of the three items that didn't get done, Pingback seems that it has sort of faded from the scene so I'd have to say that it's unlikely that will ever be added.

So in a mostly/roughly chronological order, here's what the future should bring to PolarBlog.

  • Entry Topic Image Position Control  Change to default displaying on the right.  This has already been done in the development version as well as on my blog.  This should also allow you to more easily use larger icons.  (Mine here have been bumped from 32x32 to 40x40, with the intent to eventually to to 48x48.)
  • Right Navigation Panel display adjustments.  This has already been done in the development version.  (As well here if you look to the right.)
  • Add support for MySQLi extension (requires PHP5 & MySQL >= 4.1).  This has already been done in the development version.  This (and the next item) were both under taken somewhat as "engineering exercises" for both PolarBlog and MyClient.  This should improve the database performance for those who are running PHP5 and MySQL >= 4.1.
  • Add automatic detection and support for PHP5 SPL.  This has already been done in the development version.  At this time I'm only utilizing some basic things, but this should yield a minor of a performance improvement for those of us who are running PHP5.
  • Comment Realtime Blacklisting (RBL).  This will add another layer of protection against comment spamming in addition to the basic IP blocking that is currently provided.
  • Trackback Support.  I know I've been talking about this one for quite a while now, and it's been put off many times to pursue other features that have been requested, but I think it's time has finally come.  This will likely be subject to more spam abuse than comments, thus why RBL will be implemented first.
  • User Self Management.  This will allow non-admin users to change their password, email address and such.
  • Documentation Restructuring.  The current single page documentation has grown rather cumbersome to manage.  The documentation needs to be restructured in to smaller chunks/multiple files to ease the maintenance burden this has become.
  • Component Caching.  This will allow various components (mostly entries) to be built and cached instead of being generated every time.  This should yield a performance improvement by drastically reducing the number of database hit it takes to render a page…particularly the default/main page.
  • Templating Engine.  This is something I probably should have done at the very beginning.  'Tis water under the bridge now…in any case this will allow more control over the layout of your blog.  Currently you have a good amount of control via CSS, but this would allow you have total control and remove or add things without digging deep into the code base.  I have not made a final decision on what templating engine I am going to use yet, so this is still something you can voice an opinion on.  No promise though.
  • PostgreSQL Database Support.  That pretty much says it all.  This would allow the use of the PostgreSQL database instead of MySQL.  This another "engineering exercise" for both PolarBlog and MyClient.
  • Plugin Support.  This will add the ability for users to create components to display on their blog.  Some of the defaults I have in mind would be a weather component, a Gallery "latest photo" (or other) picture, etc.  This would be framework that anyone could use to create plugins to share with others or custom features just for their site.  An example would be me creating cycling "Latest Ride" component that would pull data from my CycleLog.
  • RSS Feed Limiting.  This option will allow you to truncate your RSS entries to X characters instead of the default of sending the full entry.
So those are what I have at this time.  Please feel free to comment below, enter a bug, or send me an email (kevinp ~AT~ polarlava.com) if there is something you'd like to see added or changed.

And even better would be if there is something here (or another unlisted feature) that you feel you could develop, then volunteering to help out would be even better for everyone.  Without any assistance, it's going to take quite sometime before a lot of this sees the light of day.