If you read back a few posts and find my announcement about going freelance, you’ll find that one of my most coveted reasons for making the transition was to have the opportunity to blog more. When you look at the dates between this entry and the last one, I think we can all see how well that worked out. The truth is, I became a freelance developer to have more time in general, to do a lot more things, and I can definitely say after three months of this gig that just the opposite is true. I’ve never had less free time in my life. I have tons of clients who all have tons of needs, and that’s a great problem to have. It’s stressful, overwhelming, and hard work a lot of the time, but in the end, I wouldn’t trade it for the world.
Kind of like… Parenting. Right?
On that note…
Baby Cheese is here!
On June 13th the world welcomed Gustav “Gus” Nicholas Carlino at 7 lbs, 11 ounces (3.5 kilos, for you foreigners). He’s a beautiful baby boy, and I couldn’t be happier to be a father. He took his time getting here, though. Mom had to battle through a grueling 25 hours of labor! He’s perfectly healthy, and just cute as a button. We’ve been home since last Saturday, somehow drifting through life on only a few hours sleep, but things are slowly starting to stabilize. This is my first week back online after a two-week hiatus. I plan to be back in the office next week.
I already built him his first web app! It’s called “GusPlus2ofUs” — a private blog and social network for our friends and family to find stories and photos of our new baby. The Carlino’s are privacy freaks, so Facebook is off the table. And posting a photo of him on this public blog? Fuggetaboutit.
While beautiful in his own right, The jury is still out on Gus’ SilverStripe skills. I sat him down to build a couple of DataObjects, and his first line of code threw a parse error. I’ll give him another couple weeks, but I think the writing is on the wall. Uncle Cheese’s legacy may only last one generation.
Two New Modules!
I’ve created two new modules for SilverStripe 3, which will each get their own blog entries with screencasts.
The meta_languages module allows you to write meta languages in their raw form, e.g. CoffeeScript, LESS, SASS, and have them compile at run time. To prevent unnecessary overhead, you can set the environments where compiling is allowed to happen, and even set the compiler to only run when a meta language file has been modified. I have grown to love writing CoffeeScript, but something always troubled me about having to compile it. I could never shoehorn it into my workflow, no matter how easy tools like LiveReload make it. To me, nothing beats the old save-and-refresh pattern, and that’s what the meta_languages module allows you to do once and for all!
The bootstrap_forms module is for creating nice looking frontend forms that are compliant with the Twitter Bootstrap CSS framework. Anyone who has tried to apply Bootstrap to standard SilverStripe forms will understand the impetus for this module. The default markup for form fields simply does not adhere to what Bootstrap is looking for. Thanks to the new form field templating system in SilverStripe 3, this is now possible. The markup for individual form fields can be overridden just like anything else that goes through SSViewer.
In addition to just looking nicer, Bootstrap also offers a lot of features that are not available in SilverStripe forms including:
- Append/prepend text
- Help text
- Inline display of checkboxes/radio buttons
- Toggle vertical/horizontal layout of labels and fields
- A wide variety of nice-looking form action buttons
SilverSmith CLI to be open-sourced
There was a long period of time when I did not know what the future held for SilverSmith — whether it would be a licensed product, or donation supported, or just out there in the open as a free and open source tool. With respect to those unknowns, I left the source code minified until I was sure I knew what I wanted. Given everything on my plate and the active climate of open-source developers today, I’ve decided to release it into the wild, where hopefully other developers will be able to get involved and make it great.
In addition, the GUI for SilverSmith, which was never completed, will also be available as an open-source module. It is far behind the development of the CLI version and the two need to be integrated to create some semblance of a unified codebase. I don’t have the cycles for that any time soon, so I’ll throw it up on Github and maybe someone will take ownership of it.
It will take me some time to go through the SilverSmith source code and properly branch it out and push it up to Github. I’ll be sure to announce when it’s up.
SilverSmith CLI training videos coming soon
The website silversmithproject.com will no longer host just an email sign-up form, but also a series of videos on getting started with SilverSmith. Look for those soon!
Bedrock has been released as open-source
Bedrock is the YAML traversal tool I built for SilverSmith. I really enjoy using it, and I think it has potential application outside of the one tool. It is SilverStripe independent and can be used on any YAML file. It even comes with a nice templating language for converting YAML into readable text. Give it a try, and let me know what you think!
Uploadify 3.0 branch is up
It’s fairly inconsequential now that UploadField is here, but for those of you who miss Uploadify or really need uploads on frontend forms (currently not supported by UploadField), you can give Uploadify 3.0 a try. It has only been lightly tested, so keep the pull requests coming.