Contemplate™ Web Templating System


 

Latest release

Contemplate 1.2.3
01 Mar 2007
download now!


Featured site


Association for Multimedia Communications



How does Contemplate compare to similar products?

Many software developers have offered solutions for separating website content from code. We like Contemplate because it can work seamlessly with just about any development tool or technology. However, its functionality is focused on assembling, rather than managing, dynamic websites. Here are a few pros and cons to consider when evaluating Contemplate:

Pros

Use your favorite tools: Content and templates are standard HTML and can be edited in any text or HTML editor. You're not limited to editing content in a browser-based form or in a proprietary application.

Edit content in human-sized pieces: Contemplate doesn't force you to split content into paragraph-sized or smaller pieces, so content editors can do their work naturally without the burden of an arbitrary delineation between pieces.

Create any layout you like: Contemplate is not based on predefined layouts such as "press release," "news," etc. You can use any HTML file as a Contemplate template and embed as many pieces of content as you need.

Re-use the same content in multiple pages: A "page" is a non-exclusive collection of content pieces, so you can easily display content on multiple pages without duplication.

Deploy on a variety of servers: Contemplate is compatible with any web server that can run either PHP, ASP, or Perl, and no database is required.

Cons

No approval workflow: Contemplate does not include functionality for managing the editing and approval workflow in your team. If you need to create different access levels for different users or enforce a policy of content review, you'll need to use a content management system instead of or in conjunction with Contemplate.

No version histories: Contemplate does not include functionality for saving previous versions of content files. However, it works very well in conjunction with third-party version control tools like Visual SourceSafe or CVS.

What about Macromedia Contribute?

Macromedia has developed a web templating system that allows you to create templates with Dreamweaver, generate HTML pages from the template, then edit the pages with Contribute. Dreamweaver templates are actually very similar to Contemplate templates in syntax and capability, so both systems are viable for many projects. Here are some questions to help you decide which system would work better for you:

Consider Contribute if…

You need the easiest possible method to update your content: Contemplate relies on the traditional web workflow of editing local files in an HTML editor, then uploading them to the web server via FTP. Anyone can learn this workflow, but Contribute is even easier: browse a site, click Edit, then click Save.

You want to initiate a review process before posting changes: Contribute includes functionality for sending proposed changes to a third party for approval before posting. You can set up a similar workflow with Contemplate, but it's not built in.

You're not experienced with server-side scripting: While operations in the Macromedia tools involve clicking buttons and selecting from menus, operations in Contemplate involve running web scripts in your browser. The web scripts are generally faster than the Macromedia tools, but can be confusing if you don't have a good sense of how web scripts work.

Consider Contemplate if...

You'll be changing your template frequently: Contemplate can compile your content and templates into static HTML pages, but it can also perform this assembly at run-time. The Macromedia system only works with pre-compiled files. This means whenever you change a template, you have to recompile and re-upload all child pages. For large sites, these extra steps slow down even simple tasks. Also, you won't be able to change your templates while any users are editing the pages.

You'll be updating the content on several pages at a time: Contemplate stores content for multiple pages in a smaller set of physical files, grouped according to your own organizational needs. With your content stored in this way, you might be able to update a dozen web pages by editing and uploading just one or two content files. In Contribute, you would have to navigate to a page, open it for editing, make your changes, and save it, and repeat that workflow for each page.

You want to display the same content on multiple pages: Since Contemplate stores content independently of the final HTML pages, and retrieves content from these files at run-time or compile-time, you can display the same content on multiple pages while maintaining just one source for that content. If you want to include your contact information, for example, in the sidebar of several pages, Contemplate lets you do that without creating multiple instances of the content. This feature also allows you to store repeated content like a site footer in an editable area rather than embedded within your templates.

You'll be changing page attributes globally: Contemplate stores a description of each page, including what template it uses, what content it displays, and any other parameters that you create, in a single text file. The Macromedia tools store page attributes within the compiled HTML pages. If you need to make any global changes, such as adding a new parameter to each page, you would need to edit every page of a Contribute site, but you would only need to edit one file in a Contemplate site.

Your site will include a lot of scripting: The Macromedia system is intended for separating design from content, but isn't as good at separating functionality from content. Contemplate provides the capability of keeping all three components separate until run-time or compile-time. If you want to edit a script without touching the design or content, or if you want to share functionality across multiple pages, Contemplate provides more options for creating a powerful site architecture.

You don't want to be tied to specific development tools: You can actually create Dreamweaver templates without Dreamweaver if you know the syntax, but you'll need Dreamweaver to compile pages from your templates, and you'll need Contribute to let others edit your pages pages after they're published. You can create Contemplate sites with any HTML editors, including Dreamweaver, other WYSIWYG editors, or text editors.

Contemplate is a product of Type A Learning Agency.