Web template system

Web template system

A Web template system describes the software and methodologies used to produce web pages and for deployment on websites and delivery over the internet. Such systems process web templates, using a template engine. It is a web publishing tool present in content management systems, software frameworks, HTML editors, and many other contexts.

Overview

A "web template system" is comprised of:

* A Template engine: the primary processing element of the system;
* "Content resource": any of various kinds of input data streams, such as from a relational database, XML files, LDAP directory, and other kinds of local or networked data;
* "Template resource": "web template"s specified according to a Template language;

The template and content resources are processed and combined by the template engine to mass-produce web documents. For purposes of this article, web documents include any of various output formats for transmission over the web via HTTP, or another internet protocol.

Motivations and typical uses

Mass-production

Various agencies and organizations use web template systems for mass-production of content when slower production alternatives prove unfeasible.

For an introductory overview, a news website is used as example. Suppose a "static website", where all web pages are static, and built by a web designer, that need to add and update pages every day. A typical strategy to automate the web-designer's "repetitive work" is:
# choose a "web template system" to maintain the website;
# group "news items" with different presentation needs;
# specify the "presentation standards" through web templates, for each group of news;
# specify a "content resource" to generate or update the content of each "news item".

Style standardization

Separation of concerns

For the web designer, when each web page comes from a web template, he/she can think about a modular web page structured with components that can be modified independently of each other. These components may include a header, footer, global navigation bar, local navigation bar, and content well.

For programmers the template language offer a more restricted logic, only for "presentation" adaptations and decisions and not for doing complex (business model) algorithms.

For other members of the "site team", a "template system" frees webmasters to focus on technical maintenance, content suppliers to focus on content, and for all of them more reliability.

Moreover, it has the following advantages to its use:
* "Ease of design change": presentation variations on templates are "content invariant", web designer can update presentation without another preoccupations.
* "Ease of interface localization": menus and other presentation standards are ease to uniformize, for users browsing on the site.
* "Possibility to work separately" on design and code by different people at one and the same time.


=Formal characterization=

:"See the on Formal treatment supplement. Here a resume."

Kinds of template systems

There are many public software and commercial packages promoted as being web templates and template engines, but there are a high diversity of disperse kinds of solutions. To select and group them in a systematic way, the first step is to characterize them as "template systems".

A second step is to group and identify main properties of each characterized system:
* The architecture of these systems, into a client-server reference model, is the main division criteria for group then -- although the use of diverse modern web cache strategies, architectures can be characterized. There are, as illustrated, three groups: Outside server systems, Server-side systems, and Distributed systems.
* Main attributes:
** Template languages may be:
*** "Embedded" or "Event-driven".
*** "Simple", "Iterable", "Programmable", or "Complex".
*** Specification possession: the standards of the language are controlled by a "public" or not-public. The possession strategy and the ownership indicate the stability and credibility of the specification. Note that in most jurisdictions language specification cannot be copyrighted, so the possession is not absolute.
** "Template engine possession": it is "public" or not (ownership rights), indicating if source codes of the "template engine" are open, or not.

Outside server systems

"Web templates" in this context produce only static web pages, and can be viewed as a ready-made web design, used to mass-produce "cookie-cutter" websites for rapid deployment.

HTML editors are the typical systems using "outside server subsystems". They also commonly include themes in place of CSS styles. In general the template language is to be used only with the editor's software.

FrontPage and Dreamweaver are the most popular editors with template sub-system. On Dreamweaver the template tool may also include a graphical template making it easy to edit or customise graphics and images. A Flash web template uses Macromedia Flash to create visually appealing sites.

There are also preprocessors used as server-side template engines. Examples:

Distributed systems


thumb|right|300px|Distributed (decentralized) template system.

The more simple form are transclusions (HTML frames). In other cases it need Dynamic web pages to run.

Examples:
* Ajax (programming)
* Rich Internet application.

=See also=
*Template (disambiguation)
* Template system
* Web template
* Web template engine
* XSLT


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Template system (disambiguation) — Template system can refer to: * Any system that uses templates in its process including automated or manual labor methods. **A system that uses mechanical templates as the case in manufacturing. **A computerized template system such as a web… …   Wikipedia

  • Template system formalism — can have several meanings:Web template system (formalism).Template system formalism/FAQ …   Wikipedia

  • Web template — A web template is a tool used to separate content from presentation in web design, and for mass production of web documents. It is a basic component of a web template system. Web templates can be used to set up any type of website. In its… …   Wikipedia

  • Web template hook styles — This article is a supplement to the Delimiting and embedding strategies. On web templates the separation of concerns (content from presentation) require a low level separation strategy to isolate template language from output language. Template… …   Wikipedia

  • Mustache (template system) — Mustache is a simple web template system with language bindings available for ActionScript, C++, Clojure, CoffeeScript, ColdFusion, D, Erlang, Fantom, Go, Java, JavaScript, Lua, .NET, Objective C, Perl, PHP, Python, Ruby and Scala. Syntax… …   Wikipedia

  • Web-Template — Ein Webtemplate (auch Web Template) ist eine Designvorlage für die Erstellung von Webseiten. Webtemplates können meist mit Bildbearbeitungsprogrammen und HTML Editoren bearbeitet und den eigenen Bedürfnissen angepasst werden. Solche… …   Deutsch Wikipedia

  • Template — may mean:*a stencil, pattern or overlay used in graphic arts (drawing, painting, etc) and sewing to replicate letters, shapes or designs *a pre developed page layout in electronic or paper media used to create new pages from the same design,… …   Wikipedia

  • Web document — is a similar concept to web page, except it is a broader term with the following distinctions: Example A PDF document requested from SFTP or SMTP protocols, for example, is a web document , but not a web page. Motivations The web document… …   Wikipedia

  • Template engine — may refer to any of the following:* For all uses in generating output from templates, see template processor * For use exclusively in a web template system, see template engine (web) * For use exclusively in word processing applications, see mail …   Wikipedia

  • Template processor — A template processor (also known as a template engine or a template parser )is software or a software component that is designed to combine one or more templates with a data model to produceone or more result documents.cite book last = Niemeyer… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”