An Interview with Matt Hornsby.
As a member of our newly
created Board of Directors, Matt's profile has raised among the CMSMS
Community. We thought you might like to get to know him a little
better. We'll be interviewing the other board members in future
newsletters. Matt has also kindly provided us with an article this
month. You can read it after his interview.
When and how did you first find CMS Made Simple?
Roughly
5 years ago, via a Google search. A developer had made a site for me in
Drupal, and I wasn't happy with it. CMSMS was the first alternative
that I tried, and it was perfect for my needs.
What was it that made you choose it as your development tool of choice?
I
was proficient in HTML and CSS, and wanted to be able to control
everything. Between this, and the community (mostly IRC) where I met a
few developers in which I have formed working relationships and long
term friendships, it filled my needs perfectly.
When did you get involved with the development team?
A
couple of years ago, Robert (Calguy) approached me as, at the time, the
Dev Team was investigating forming a board of sorts in Canada. That
didn't pan out, but I stayed on the Dev Team.
What's your role?
My
main tasks in the past few years have been mostly as an editor. I
proofread the newsletters, press releases, and documentation, as well as
try to help maintain the current documentation site. Over time, I have
also been vocal in Dev meetings, and larger decision making. Recently,
when there were some problems with the structure of the Dev Team, I
stepped into an acting leadership role and facilitated a restructuring.
The Dev Team rewarded my efforts by voting me in to the newly created
Board of Directors, where I have been taking on more leadership roles as
time allows.
CMSMS has a new Board of Directors. Tell us about it.
We're
still working this out. The goal is to take some of the decision making
tasks away from the Dev Team as a whole, and let the teams work instead
of manage. We had an election last quarter, and myself, Anne-Mieke
Bovelett (Compufairy) and Kevin Danezis (Bess) have now formed
the Board. Being from different continents, we've been struggling with
time management and task sharing, but the idea is strong and I think
we'll get there.
What are you most excited about in CMSMS's future?
I'm
excited about how the Board will contribute to the stability of the Dev
Team. My personal long term goals are to grow the programming group,
and try to spread some of the work away from having "all our eggs in one
basket". I'm also looking forward to 2.0, and some features it will add
and/or enable.
When you are not wearing your work hat, what do you like to do to relax?
I
enjoy woodworking and hiking/backpacking. I also have a small hobby
farm in urban Vancouver Island, where I spend my time chasing chickens,
my 4 year old daughter, and occasionally my wife.
And to follow that, Matt has written us a guest article:
Where are the site templates?
CMS Made Simple is different than most other Content Management Systems.
In some situations, this makes it less ideal for certain projects, but
in many cases it makes it the best and most powerful choice. One of the
key differences is how CMSMS handles site templates or themes.
The
v8 engine rumbling beneath CMSMS's hood is the Smarty Templating
Engine. If you are new to CMSMS, Smarty may seem daunting, overpowered,
or even unnecessary. Once you've started to create your first somewhat
complex site, however, you'll wonder how you ever worked without its
simplicity and power. The elegance of Smarty is also why you don't see
thousands of commercially available site templates or themes available
for CMSMS: they're simply not necessary. ANY site template, or static
web site's HTML, can easily be used in CMS Made Simple with the addition
of a few simple tags. Even advanced templating becomes simple (there's
that word again).
In its most basic form, you just paste your
HTML into a new Template in CMSMS, and add a {content} tag. Link the CSS
and upload any images, and you have a site ready to populate with
content. Obviously, this is just scratching the surface of CMSMS's
abilities, but it illustrates how simple (yep) it really is. Once you
have the basics mastered, you will discover more of Smarty's default
tags, as well as how to program advanced functionality without knowing
any PHP.
CMS Made Simple is aimed at the experienced Web
Developer, so it assumes you already have the HTML and CSS bits down.
Once you add a basic familiarity with Smarty, you'll be building your
own templates, and converting existing ones with ease.
So where
are the site templates? They're everywhere! Commercial templates for
other content management systems, generic HTML templates, or even live
sites you want to "borrow" from, are all potential template sources.
Matt Hornsby
DIGI3
Some essential tips to have you creating templates like a boss
Following on from Matt's article above, I thought I'd remind you of some
of the ways you can really make site templates work for you. With a
few simple tricks you can make your template a breeze to handle as your
site develops. Here are three (well two and a mash-up, if I am honest!)
Assigning.
I've
mentioned this before, but it is worth mentioning again with particular
regard to templates. Assigning moves your item into a Smarty
variable. In templates, this is extremely useful for content. Take
the {content} Tag Matt mentions above. In the tag help, you'll find
you could also use {content block="second_column" assign="mycontent"}.
Why? Now you can check it exists. E.G. {if $mycontent
!=""}{$mycontent}{/if}. This is great to create optional second columns
in a template that only appear if the site editor has filled in the
box. By assigning and testing for existence, you can reduce the amount
of templates you need to build.
Global Gontent Blocks
Do you
have a header in your page? Do you have a footer? How about a
consistent sidebar? Move that code out of the template and into a
global content block. Now call the GCB into the template. Why? If you
do end up needing more than one template, you only have to edit the
header and footer in one place to have it change across the site. You
see they are content blocks, but they're global! Get it?
Now combine them!
By
combining the two methods above you can really make your templates
think! For example, set a content block for a side panel and assign it
to a variable. Now check if that variable exists. If it does, show it,
if not, show a default GCB.
I use this in many of my templates. I
create default sidebars, default content sections and so on. I use it
to create default GCB meta descriptions that can be overridden in the
page.
There are plenty of other tricks. Another favorite of
mine is to import and customise the menu manager template, assigning
each menu item an id by using id="{$page_alias}". In fact,
{$page_alias} is a great way to give yourself the occasional individual
page variance in an otherwise consistent GCB.
The beauty of the
system, as Matt said above, is that any HTML can be converted into a
template for your site. And, when you really get your head under the
hood, CMSMS will go so much further for you.
Written by John Scotcher
@jbookguy