Blog

8:11 pm
One of the new apps I'm working on is called Assistant, which will be the help center I talked about a while ago. I'm still working out exactly how I want it to work, but the idea is to use plugins from apps that provide help for whatever you are doing on the site. When Assistant is loaded, it pulls whatever info has been registered for the application you are in. I'm also planning on building the Clay docs into it. The coolest thing I've thought of for this app is a way to link to a repo, so the docs can be pulled from one place for a certain app and always be accurate. More on that later.
12:38 pm
I pushed the error handler to Clay's repo yesterday. I left it part of the dashboard for now. The next dashboard will be a little more flexible, so I decided to keep it coupled for now. The error handler is pretty simple. It intercepts error messages and logs them. If a specific error occurs more than once, it increases a counter and keeps the time and date of the original error message. When an admin logs in, a notification shows up on the dashbaord. The admin can then view the errors, along with how many times it occurred and any kind of debugging data is available. The admin can clear a single error or clear the entire log. It doesn't catch exceptions, yet, but I plan to have them log as well. It's actually a nice feature, because the way the template engine works some errors were getting suppressed and only showed up in the server log or in HTML source. Now I don't have to check logs and get a lot more info for debugging. There are a few things I'd like to add, but I'm happy with it for now.
7:09 pm
I pushed the beginning of a new error handler to Clay today. It's meant to catch PHP runtime errors and notify an admin user. Only the API is working. My initial thought was to make it work like the alert messages: when an event occurs, such as a new blog entry, an alert pops up telling you it was created. I think I want to do the errors differently and I may change the alerts as well or make them configurable. Right now the alerts are part of the dashboard app, although the API for them are part of the System app API. I am considering moving that type of thing to a notifications app. I may change the way notifications work, but I'm just trying to get the pieces together for now.
I pushed an update today that fixed the only PHP 7 issue in the master repo of Clay. The sessions module got an upgrade to fix the issue. I will be holding back from adding PHP 7 requirements until the fork over to Clay 2 is published. That won't be for a while...but there is a noticeable performance gain from using PHP 7 on Clay now. Clay should still be compatible with PHP 5.4+, although I've only tested it on PHP 5.6 recently.
7:40 pm
I've been coding away at my new project and learned quite a bit lately. For one thing, Clay's sessions aren't compatible with PHP 7. A fix is coming soon for that, which will be backward compatible with PHP 5.6. Also, did you know you can have symlinks in Windows? I didn't! Apparently it's supported by NTFS, as I've seen for myself. Google it. Github's has a nice editor named Atom (.io) that I've been using and liking. I've also spent some time playing around with some XMPP stuff. Oh, and although I haven't got to try PHP 7 with Clay, I did try it with a hello world app on the Clay Framework. Processing time went from 0.001 seconds to 0.0000 seconds. Apparently it rounded too low for my range. Yeah, 7 is fast. The first time I refreshed the page I didn't think it refreshed. Not even a blink. Anyway, I'm working on some stuff with Clay and am trying to hammer out a fresh framework release and some docs too. Fun stuff :)
I've worked on Clay for a while and it hasnt really taken off, which I can only be blamed for. This post is to explain why I think that has happened and what happens next. When I started building Clay, it wasn't meant to be open source. After working on it a while and changing it several times, I decided to make it more generic than I originally intended (to mak it more widely usable). By doing that, I got off track and never built what I originally set out to build. I have decided to suspend work on Clay as an open source project and build it into what I originally wanted. It's not far from it, but it will take some time to do because I have real world obligations. I have always leaned toward open source and something open source will come out of this, I just don't know what or how much. I can't consider this a failure, because I still have the Clay code base to use from here. My hope, in the very least, is to end up with a project like WordPress that has a community version. Finally, the good news is what I am building is, in my opinion, awesome and could be a big deal. Clay isn't gone, its just changing.
I've migrated this site to the new server. Over the next week or so I'll be building clay-project.com. It may take some time for everything to go live. I'll also be working on a few other sites, more to come.
6:00 pm
This weekend I'll be switching this site over to the new web server. In the process I'll be upgrading Clay. I don't expect any downtime, but there may be a few gaps while the DNS updates.
I'm in the process of moving this site to a new server. It'll probably be a couple of weeks before everything is migrated, but after the move clay-project.com will finally be a separate web site and no longer a mirror for this site. Hopefully I won't break anything :P
I know it's been a while since I posted anything.  It's been a very busy year.  Unfortunately, not a very busy for Clay development, but I'm slowly getting back into it, yet again.  

I plan to finally get Clay-Project.com online first, which currently points to this site.  I have a few security updates to add, then I will put up a really slim site for that. It will be a work in progress, like everything else around here, but I plan to use it to launch the Clay Framework 1.0 release and then the Clay CMS release. I have a lot of changes to merge back into the framework repo, but most of it should just drop in.

I've been really missing development and I have a ton of ideas piling up I can't wait to bring to life.
I've been building a comments system app for Clay. I has been a good test case for plugins/hooks. The comments are threaded and have no hard depth limit. Depth and other options will be configuable per hook, with custom template and controller support. The blog app is getting some big updates and I may split it off into a new app, but I'm not decided there yet. The blog app allows typical blog articles with titles or short posts without. I would like to split those two into different apps or at least at the template level. The updates are mostly presentation, with new views to show for a homepage versus per user and topic. Tag and topic support are being added via separate plugins, with an emphasis on dividing large amounts of posts easily. I'm also in the planning stage for pluggable search and timeline apps. Timelines will create a separate stream view for cherrypicking items into customizable views, such as for a subscription system or a user group. Finally, a lot of those new features will be used to build a lightweight discussion forum that mostly consists of plugins.
4:48 pm
One of the things I am considering doing differently on my social network is allowing screen names instead of real names. I am even considering allowing entirely anonymous users. The focus is more on publishing that interaction, although interaction is a big part of it. There are lines to consider, of course, but who am I to say you shouldn't be able to complain about your job and not get fired? It's a consideration at least and as I get closer to user profiles I'll have to make a choice for relative anonymity or public identity.