Until recently Clay Framework was unintentionally suppressing PHP errors, which meant I missed a few little coding errors. I figured out why the errors were suppressed, so now that is fixed, it's time to fix the errors. My goal for this next week is to make CF PHP Strict standards compliant, which means there are no notices about coding style. PHP has for a long time been a very non-strict language, but it is transitioning toward strict and that is a good thing. When I enabled E_STRICT error reporting earlier there were only a few things I had been doing that threw the non-compliance notices. Unfortunately those few things were rather prevalent in the code base. I'll chalk that up to learning and adapting. They should be easy fixes, it'll just take some time to replace it throughout the code base. I guess pursuing Strict compliance is at least better than ignoring it.
So I installed Windows 8. The installation was fast and had very few options. I let it run for about 30 minutes and when I came back it was ready to create an account. It gives you the option of signing in with a Windows Live account (email address), but Live.com appears to be down for maintenance so I haven't tried that yet. The metro desktop is, well, I don't like it. It's a pain to multitask and as far as I can tell they just dumbed it down to the point my 3 year could use it. As far as I can tell, from 10 minutes of using Win 8, there's no easy way to close a Metro App. I had to use the Task Manager, which has had a decent upgrade. Everything is full screen, one app at a time. The good thing is there is still a regular desktop, but they aren't tied together and the desktop seems to just be for accessing the file system and things like that. There is no Start menu. So, after 10 minutes, I don't like it, yet. It's free (right now) and I can finally use my 1 TB hard drive for network file sharing, which I could never get to work with Windows 7 Home and Fedora. It's free, I can use it for network storage, and, well, it's free.
The Windows 8 'Beta' was released yesterday. I had been trying Fedora for the past 6 months or so. I was growing tired of Gnome 3 and had considered buying a copy of Windows 7 or going back to Ubuntu. When I saw Tuesday night that Windows 8 preview would likely be released on the 29th Feb, I decided I'd give it a shot. It's free and it doesn't expire until Jan 2013 (estimated).
Since I am finished with my goal for the week, already, I think I'll spend the rest of the week working on the Dashboard and on a new Blocks system. By Dashboard, I mean adding support for the Dashboard to applications, so I can actually manage settings, users, privileges, applications, etc through the Dashboard. The blocks will be an ongoing experiment, but finishing that should be a goal for an upcoming week soon. I'll probably spend a little time working on the CF documentation as well, if I have time.
I've uploaded the newest ClayCMS theme here. It's called simplestyle_4, based an HTML template of the same name. There is a link in the footer to the site that offers the template. I'd like to design a new theme myself, but this is still a huge step up from what I had on here before.
Working on themes always makes me think of Blocks. I think a blocks system will be in an upcoming Goal Week very soon.
I've been working on my new theme for Goal Week. It's based on an open source template, since I don't have time to entirely design one myself. It's looking really nice and already puts this one to shame, which I did design. Of course this theme, named empty, is supposed to be an example theme - simple and to the point. I think I spent all of an hour putting it together and most of that was improving application templates. Anyway, I've spent a few hours adapting the open source template I downloaded and it should be ready in a few days. I'll probably put it on the site once it's finished (which is relative since nothing is ever finished).
So I finally go the site updated, what's next? More updates. There are lots of things left to do. I need to finish my HTML filter, so I don't have to filter all HTML out of my Blog posts. I need to add the Application admin to the Dashboard, as well as some of admin hooks. I also want to get the user profiles finished and allow users to register here. once users can register I will add make it so the Blog app becomes multiuser. I'm trying to decide on how to do a comments system also. I still have to finish writing the docs for Clay Framework and start on the docs for ClayCMS. I still need to add admin components to System, Privileges, and Users application. There are lots of things left to be done...
My goal this week is to make a new theme for this site. It will hopefully be ready by the end of the week. If not it will make it into my (new) regular update schedule 2 weeks from now.
The next version of PHP, which I am running here now, makes PHP a stricter language. That's good, but when you've been writing code for a long time sometimes you do not realize you are doing something wrong if it works. That has been the case here. I noticed some PHP warnings showing up a few weeks ago here. They had upgraded PHP to the latest RC, which I unfortunately run PHP 5.3 on my developer machine (not for long). The code on this site was almost a year old and I checked the code I would be uploading to check for any coding errors. It looked correct in my dev code. Unfortunately I had a class method returning a string, but some code that was using was older and expected an array. This was cauing warnings to show up, as it was being treated as an array, which is wrong.