Customization
By default, Concrete5 comes with a couple of very basic templates
(or what Concrete5 calls themes): Plain Yogurt and Green Salad. These
are nice-looking but very basic templates that strongly resemble your
typical run-of-the-mill Wordpress site. But they're enough to get you
going if that's all you're looking for.
Initially, a new Concrete5 site comes with several pre-built pages
(such as an About page and a Contact page) that can function either as
starting points for other pages or at least examples.
I was able to quickly get up to speed on customizing a site with
Concrete5. What's kind of cool is the software includes a pretty nice
WYSIWYG editor that lets you edit existing pages on the fly. (They call
this "in-context" editing.) If you're not logged in, you just see the
page as any visitor to your Website would. But if you're logged in, the
page has an additional toolbar across the top, which lets you access
administrative features, including the WYSIWYG editor. Then you can
simply edit the page, fixing or changing the text.
The only catch is you're limited to the fixed overall layout as
determined by the template. But even then, you can modify various parts
of a page, adding and changing text and various items known as Blocks.
Blocks are basically components such as sections of HTML, a survey or a
YouTube video. Concrete5 comes with about 20 different types of Blocks
that you can drop onto your page, and, if you're a PHP developer, you
can pretty easily create more.
But that brings me to a major question: Do you need to be a PHP developer to create a site with Concrete5?
The answer is both yes and no. If you're not a PHP developer, you
can still create a site. But you'll be limited to the basic layouts
that the templates offer.
You can add Blocks to pre-existing column definitions, such as a
two-column layout with a narrow column on the left and a wide column on
the right. But if you want to fully customize a site, you'll need to
either find somebody who has created a template with the layout (or can
create one for you) or write PHP code yourself.
That said, the amount of PHP needed to customize Concrete5 is
actually minimal. A company using Concrete5 would want to either find a
nicely designed theme that fits their needs or hire somebody to create
one for them. But from there, the programmer wouldn't be needed--a
business person would have an easy time adding new content to the site
without the need for the PHP programmer's help, thanks to the simple
WYSIWYG editor and the ease with which you can create new pages.
But the PHP programming aspect is actually where Concrete5 really
shines. The API is full-featured, robust and extremely easy to use.
Looking at the PHP code for existing Blocks, for example, I can see
they're very straightforward. You don't need to bend over backward to
get the code to do what you want.
But the big thing competitors have that Concrete5 doesn't yet is a
massive following with huge numbers of free and premium templates. In
the CMS world, templates rule. A good, unique template is what makes a
site shine, and template availablity and quality is a major criterion
when a company is selecting a CMS. Concrete5 does have its fair share
of templates (Google found a lot for me), but not as many as systems
such as WordPress.
I predict that this will change over time. Concrete5's size of
user-provided templates will grow, in part thanks to its nice API for
PHP programmers. As a result, the number of Concrete5 installations
will grow as well.
Page Creation
Creating new pages is easy (and no PHP knowledge is required). Once
you're logged in and you have the toolbar across the top of your pages,
you simply click Add Page.
You create a new page by specifying its name, its alias name (for
simple or "vanity" URLs) and some metadata information-but not the
actual content yet. Then you click Create, and you're brought to the
full WYSIWYG editor, showing your page just as it will look in the end
with the columns and images based on the template (but without any text
yet). This is where you add your text and other Blocks. It's a pretty
clever approach.
Then you click on an area and the Add New Block form opens. You
choose the type of Block you want, based on what's available in the
system (such as HTML, Form and Flash Content). You can also add from
the Concrete5 Marketplace, where you'll be connected to the main
Concrete5 site, letting you add other types of Blocks. Depending on the
type of Block you choose, you'll get a screen where you customize the
Block. Click Add, and the Block will appear on the page.
Click Publish, and you're done. The page automatically appears in
your site, and even appears automatically in a navigation bar (which,
again, is customizable).









