This is an overview of the tasks that could be performed using Sitefinity. They could be divided into three main activities that overlap in
- Modifying the look and feel of a web site;
- Extending the functionality of a web site when the needed functionality is not provided by the standard Sitefinity installation;
- Making use of Sitefinity API to build a new functionality on top of Sitefinity;
Modifying The Look And Feel Of A Web Site
Sitefinity offers two complementary approaches for setting the look and feel of a web site. There are two aspects to be changed in a page:
To illustrate this idea let's assume there are two blogs on a web site: „Ninja blog“ and „Life of Rich and Beautiful blog“ (see Figure 1). Now, there is a
requirement for both of these blogs to have a header which will hold the title of the blog, left column which will hold the blog posts and right column that will hold navigation,
calendar, RSS buttons. Since both blogs have the same structure there needs to be only one Master page (with header, left column, right column ContentPlaceHolders).
However, there should be two different templates created from that Master page so that they correctly differentiate the specific elements for the
different blogs, such as titles. In the first „Ninja“ template, the title is set to „Ninja blog“ in the header, while in the second „Life of Rich and Beautiful“ the title is
set to „Life of Rich and Beautiful blog“. When bloggers create new page for their blog they choose their respective templates. In this way the title
will already be there even though the two templates are sharing the same Master page.
Furthermore, the Ninja blogger would like a strict look of his blog as opposed to the colorful and shiny look of the „Life of Rich and
Beautiful“ blog. Therefore, two different themes are necessary: one for each blogger. Themes are defined by the CSS file, skin file and the respective graphic files.
Thus, by utilizing themes and skins, two pages with identical structure could look completely different.
Extending the Functionality of a Web Site
There are three options to add some functionality to a web site that is not provided by the default Sitefinity installation:
Creating a lightweight User Control for simple functions or just wrapping more controls into one single control (for example, wrap up a Label control
with a RadRotator control);
Creating an Intra Site Module;
Creating a Custom Pluggable Module;
The Intra Site Module is much simpler to create, but it puts limitations to using it only in one particular installation of Sitefinity. A Custom
Pluggable Module should be created if there are several web sites to use it or if this will be a commercial module that is intended for use by other
Programming With Sitefinity
When creating a new functionality the developer could take advantage of the robust and flexible Sitefinity Application Programming Interface
(API). This enables him/her to build functionality on top of Sitefinity, and not necessarily build something completely new or different from Sitefinity's