2:30 amRoll Tide!!!!

Alabama 26 - Georgia 23

3:15 am

The fan on my aging laptop is dying, so I ordered a new fan and decided to do some upgrades. I've installed SSDs for several people, including my wife's laptop, but I was running an OEM HDD, mainly because the thing just won't die. Well, one of the upgrades is SSD. It's amazing how much faster it is. I'm also doubling my RAM (to 16gb), but it hasn't arrived yet. I'm kind of questioning the need for it now, but I have ran at 80% usage before, somehow. Maybe the upgrades will breathe some new life into some otherwise aging hardware. I should have switched to an SSD a long time ago. I used to always switch out OEM RAM, but when I bought the laptop it was the fastest computer I'd ever owned.

This is the first time in almost a decade I haven't had dual boot with Windows and Linux. I rarely boot to Windows, but I like to have it if I need it. I may just run a virtual machine with Win10 if I need it now.

I bought an external enclosure for my old HDD, mostly intended for backups. No use wasting a drive. If you haven't made the jump to SSD, it's definitely worth it.

12:50 pm

Documenting Clay has me thinking about improvements beyond 2.0. I have a while before I get to 2.0, but I like to look ahead; I like to know what I'm writing will eventually look like. Originally 2.0 was supposed to just be front-end updates. I shifted some of the 2.x updates to 1.x because I finished what I had originally wanted to call 2.0 so quickly.

While that all means 2.0 will take a little longer, it gives me an opportunity to make 3.0 even better. For 2.x I will be rewriting a lot of the base classes that make up applications and themes, using their object models more effectively, and recreating a debug layer that will give a developer a better understanding of what is going on behind the scenes. The debug layer hasn't been updated in years and is now only helpful if there is an error. My plan is to give developers a visual demonstration of the data flow and a profiler that gives them insight in how things are working behind the scene.

This will all be possible by moving the data flow out of the current array system and into a central template data object. That move will also shrink the application object and the amount of logic required to determine output. Finally, it aligns better with the features I'm building into 1.x for 2.0 and simplifies template data overall.

I have to finish these docs and 2.0 before I can move on to that, but I should have a good plan when the time comes.

3:01 am

I've been adding documentation to Clay, it's way over due. My goal is to have a readme file in every folder and then a readme file for at least all of the files in the Clay core. I dug up some of my old docs to see if I could use any of them, unfortunately I've rewritten Clay so many times most of them were obsolete.

While documenting Clay I'm also updating code comments and running a generator to document that way as well. I prefer inline comments, which generators don't pick up, so unfortunately it won't replace the need for readme files. It does however give a more verbose view of how Clay works, so I see an advantage to having both.

My goal is to document all of Clay, which will take some time. It'll also give me a thorough code review, so as always, docs are worth the trouble.

Here's to a great year ahead!

4:02 pm

I updated ClaySS to use iotaCSS 1.5. I'll probably update to the latest version of iotaplate soon, but that's a little more work so not sure when I'll get to it.

3:59 pm

I've converted the Vision theme to ClaySS as Vision2, it looks a little different, but mostly the same. I also updated the ClaySS repo to 1.1, but I then identified an issue because the iotacss enabler flag variables are not included (you can add them or wait for 1.2 next week).

I am pushing Clay 1.4 to a later date, so I can spend some time rounding out 1.3 some more. I want to add some blocks, apps, themes, and work on docs in Clay and ClaySS before I move on to the changes in 1.4. That means I'll probably have some minor 1.3.x builds popping up here. 

I also have help working on Clay now so I want them to have a little time working with a stable version before we start changing it too much. The even numbered 1.x versions are unstable builds, so 1.4 won't be live here anyway. I'll declare 1.3 in January, then the next few months I'll have 1.3.x versions here. Clay 1.4 will introduce a new REST API and some features that make applications more powerful, similar to how 1.2-1.3 have been about improvements to the front-end.

3:26 am

I merged the Clay Installer updates into my 1.3 dev branch tonight. That was the last major merge for 1.3, I hope. I have some minor fixes here and there, but 1.3 is almost finished. I'm going to spend some build themes and working in small improvements, but I don't have very much more planned as far as major changes.

I'm very happy with the way this version has turned it. I now have a new CSS framework, written specifically for Clay, and supported by both Clay (the CMS)  and Clay Installer; a unified theme system across Clay and Clay Installer; Vue.js support; and built in Markdown support. Not bad for a couple of months of work.

I've decided I'm keeping the 2 new themes I've made, one will be the default in the Installer, but I'm building a new theme for here.

11:56 pm

The Clay Installer uses only ClaySS for styling now and supports Clay themes, instead of having its own. JQuery is no longer used in Clay, tonight I began transitioning the installer to Vue.js. It used very little jQuery, but even less vue.js. So far I haven't found anything I used jQuery for that I can't do with Vue and normally it's way less code. There is definitely a performance boost as well.

12:44 am

I upgraded most of the templates in the installer today, it still uses jQuery, but nearly all of the templates now use ClaySS. It's really easy to make a clay theme now, so it shouldn't take long to finish the ctx-2 theme.

I will be adding a few ClaySS components based on things in the installer. I haven't decided if I'll use all of them in Clay, but if I'll try to just extend current components if I can.

One feature I will be adding to Clay as part of this update are base page templates that will go in the Common app. I've noticed ClaySS has kinda standardized page templates, so they will likely be the same across most themes. This will prevent every theme from having a requirement to have the base templates, such as dashboard and app page templates.

Overall I think I'm on the way to a solid 2.0 and a good segway into the planned changes for 3.0.

1:50 am

The final step to complete Clay 1.3 is to revamp the Clay Installer. The installer is it's own CMS within Clay, generally only used to install or upgrade a package (such as Clay itself). Currently it has its own themes and styling, because I never transitioned it to Bootstrap. The revamp will move all of the installer's styling to support ClaySS and it will use the same themes as Clay.

I had considered just changing all of the installer's packages' to use ClaySS styling and make the new Potter theme the default for the Installer. I like the installer's theme though :) so instead I'm upgrading the CTX-1 theme as CTX-2 with ClaySS support so it can be used by both Clay and the Installer.

There are some architectural changes I'd like to make within the Clay Installer, other than themes, but I don't know if they'll all make it into this update. Some of those may affect Clay's framework and thus Clay overall. That is beyond the scope of the roadmap for the 2.0 branch, so those may be saved for an incremental change beyond 2.0.

3:09 am

Vue.js continues to impress me. For the new version of Clay I removed jQuery and replaced it with Vue. It was scary at first, but it is amazing how compact the JavaScript in Clay has become. The script for the dashboard is a single Vue instance with just a few methods, but it can do ajax submits, toggle edit/save buttons, and add input fields dynamically. The awesome part is the same script works with every app on the dashboard, without a lot of confusing variables to try to decipher. I'm sure it helps that I've gotten better at JavaScript, but Vue makes it really easy to do what used to be complicated tasks. I'm liking it. Next on my list is to add previews when adding items...but I'm not scared anymore.