Awesome. Not a word I use too often, not out loud anyway, but it's the first word that comes to mind when I think about
Fogcreek's CityDesk program.
CityDesk is a great way to easily maintain: 1) A family Web site 2) A blog 3) A news site 4) A FAQ... heck, just about any Web site where content increases and changes rapidly. With its powerful scripting utility and template based page creation you will be able to make a very organized looking site in a minimal amount of time.
I've always been a collector of content update programs...just look at some of my other reviews:
While each of these products has it's own specific function within a web site's ongoing maintenance plan all are considered content managers. CityDesk is a little different.
For one, CityDesk runs on the client PC. There is no software to upload to a hosting server. There are no compatibility issues with your hosting company. CityDesk even comes with its own FTP client enabling you to simply click a button and send your new stuff right to the server. CityDesk maintains all your content in a nice little Access database. It's powerful, quick and it works.
Templates, Variables and Scripting....
CityDesk's most powerful features are templates, variables and scripting. Upon launching CityDesk you are presented with a Windows explorer type metaphor displaying the folders, files and images of your site. The top menu allows you to quickly create a new article or an html page. You can also create a new folder, a sub-folder, a new template, variables, various publish locations and loads of other goodies.
Creating a new article is easy as clicking and providing a name. You then reach a screen like the following. See the Normal View and the HTML View at the bottom. Switching between the two provides a WYSIWYG screen where you enter text images and links by typing, selecting and clicking vs an html screen where you are able to fine tune the html that CityDesk has created for you. Or, you can get right down to business in the html view and do it all yourself.
Moving onto the Extras tab shows the potential CityDesk provides for an article/news site. Besides adding text and html codes into the article you can define cool stuff that lends well to news articles like: 1) Teasers 2) Sidebars 3) and Extras. The content you add in these boxes can be placed into your document simply by placing variables into your predefined template anywhere you'd like. When CityDesk publishes the document the variables expand into the content you've defined.
Templates....hmmm, what'r those?
In my opinion, templates are one of the most powerful features of CityDesk and one of the main reasons I use the program.
Templates are html pages, designed YOUR way.
When you hit the publish button in CD it looks at each article you created, checks to see if a template was assigned to the article, and fills the template with the article's content. And, yes, you have control over WHERE the content goes. That's where variables come in. But first a little more on templates. Like I said, you can define your own templates. Each article you create can be assigned its own template.
In effect, you could have a 10 page Web site where each page displays an entirely different theme. Maybe some kind of a POP culture cult site aggrandizing Andy Warhol would want such an eclectic site such as this, and that's the point - you can do it all with templates.
A more reasonable, and practical, use of templates is to give your existing site the same look and feel if you are using CityDesk to add on to it. Or, if starting a site from scratch, you can keep it's pages consistent. Within the templates you may use variables. More on that will follow.
A basic html template might look like this:
<html> <head> <title>
[$.title$] </title>
</head><body>
[$.mainnavmenu$]
<table>
<tr><td>
[$.body$]
</td>
<td>
[$.sidebar$] </td>
</tr>
</table>
[$.footer$] </body>
</html>
Note: CityDesk uses {} not [] to delimit variables.
This gives you a basic idea of the template structure. Of course, the design constraints are limitless.
Variables....
There are two different types of variables. I'll call them CD built in variables and user defined variables.
The built in variables are the ones that contain the content you add into the article screen, the information in the Extras screen we just looked at like the teaser, the sidebar, and the extra1 and extra2 fields. These variables are referenced by placing them in the template like this:[$.teaser$] [$.sidebar$] [$.extra1$]. The main variable is called [$.body$].
Let's look at the basic template above. See the mainnavmenu variable...that's a userdefined variable. It would contain your entire main navigation menu including a nice table, links and colors. Whatever page you place this variable in, is where your main navigation menu will appear. So, if your site contains 100 pages, and you decide to modify the main navigation menu (i.e., maybe add to it, change, or remove a page link) you only need to change the mainnavmenu variable and republish the site! All the pages that contain the mainnavmenu variable will reflect this change instantly. Same idea applies to the footer variable. Now, it's easy to change your copyright information or contact information in one fell swoop. No more SSI includes or dynamic pages required.
Ok, what about Scripting?
While most good content managers allow for templates and variables not all, not even most, provide a scripting language. In its most minimal usage scripting allows you to tell CityDesk what pages you want to include when publishing (there are other ways to do this in CityDesk as well) and in what format to display them. For example a picture tells a thousand words. Here's a general example of what you can tell CityDesk to do with your files using the scripting capability.
And here is the scripting quick reference from the CityDesk help file. As you can see scripting provides some powerful syntax you can use to manipulate the files in your Web site.
A few more features....
Before I leave the decision up to you and point you to your
FREE copy of CityDesk let me briefly brush over a few other features. The Publish function allows you to define as many publish locations as you need. These are FTP sites as well as folders on your current server or Intranet. Individual pages may be published on or after a defined date. You have the option of publishing all files or only changed files. Each page may have its own template page and each page may have a target audience.
CityDesk ideas for Audiences are:
- To create regional editions of your web site. Most articles appear in every regional edition. But articles that are only of interest to one region only appear in that region.
- To create editions of your web site for different populations. For example, a hotel site might have an edition for guests, one for staff, and one for everybody else.
- To create an Intranet version of your web site, visible only inside the company, which contains more articles than the Internet version, visible to everyone. Sensitive articles and boring stuff about company picnics could be limited to the Intranet.
Basically, only those pages defined for a particular audience will get published to a specific location!
CityDesk is perfect for a blog (gaining popularity on the Internet), an article site, a FAQ, a journal, home sites, any thing that is super content oriented. After you setup your basic structure (i.e., templates, variables) you simply add content and publish.
A loyal following....
CityDesk has a loyal following of users as you can see by visiting the CityDesk discussion forum. There is always someone there more than willing to help out.
CityDesk is a fantastic tool for the get-it-done-quick-without-the-hassles crowd. That's me. I use CityDesk to publish my family Web site (we all know how much time we can find for that one). I also use it to publish a FAQ for our ColdFusion hosting company as well as for article content. I find CityDesk to be quite powerful and a great time saver.
One more thing before I go....
Before I go let me say that one of the most enticing reasons to try CityDesk is that FogCreek offers a FREE version! That's correct. For the minimalist, FogCreek offers a FREE version that lets you publish up to 50 pages. The next two levels of product: The Home Edition and The Professional Edition, are reasonably priced. If you're like me, and can't find the time to churn through html code every time you want to add a simple page of text, images, or, make quick changes to your site, then CityDesk is for you.