1
USER MANUAL
2
USER MANUAL
3
USER MANUAL
4
USER MANUAL
5
USER MANUAL
1. Welcome to Sitefinity
Welcome to Sitefinity, Telerik’s powerful ASP.NET based Content Management System whose:
simple-to-use graphical interface runs on any recent Web browser, allowing for intuitive
interaction with data.
pluggable modules enhance Web site development and functionality. Users can conveniently
set up and manage blogs and polls, create and post news.
flexibility and fully exposed API allows easy integration, customization and reuse of external
applications and modules.
rich template library, compliant with XHTML and web accessibility standards, enables users to
build Web applications that comply with W3C requirements.
6
USER MANUAL
This manual is designed to be a guide to the functionality of Sitefinity CMS and to give a firm
understanding of its principles. It is divided into the following main sections:
7
USER MANUAL
Intended Readership
Web site administrators and users with basic programming knowledge responsible for the
installation and setup of new Web site projects, configuration and management of users, roles,
permissions and migration of Web site projects from development to production server.
Web designers responsible for the graphic design, page layout and structure of the Web site
project.
Web developers who will mainly use the default Sitefinity functionality.
For the latest Sitefinity documentation, please visit our documentation page.
8
USER MANUAL
License Agreement
By downloading and installing the product identified above and/or its related materials, you are
accepting the following License Agreement. Check the box "I have read and agree to the License
Agreement" if you agree.
IMPORTANT – READ CAREFULLY: This license agreement (“LICENSE”) is a legal agreement between you
(either an individual or a single entity, also referred to as "LICENSEE", "YOU") and Telerik Corp.,
("Telerik"), for the product "Telerik Sitefinity" which includes computer software, associated media,
printed materials, and "online" or electronic documentation (collectively referred to as “SOFTWARE”).
By installing, copying, downloading, accessing, or otherwise using the SOFTWARE, you agree to be
bound by the terms of this LICENSE. If you do not agree to the terms of this LICENSE, do not buy, install
or use the SOFTWARE.
Any earlier LICENSE we may have granted to you for the use of earlier versions of the SOFTWARE is
replaced by this LICENSE.
DEFINITIONS
• CMS User/User seat - an individual user who has access to the administrative (content management)
capabilities of the SOFTWARE through a unique username and password.
• Site visitor - an individual who can access only the public (published) part of web-sites, created with
the SOFTWARE. Such users do not have username and password for access to the administrative
capabilities of the SOFTWARE. None of the Sitefinity LICENSES impose any limitation on the number of
Site visitors.
• Support Incident - A support incident is defined as a single support issue with the SOFTWARE and the
reasonable effort required for resolving it. A single support incident is a support problem, which cannot
be broken down into secondary issues. A single support incident may involve several e-mails and offline
work in order to be resolved. The Customer needs to provide Telerik with detailed information about
the problem encountered. Even though Telerik Support Engineers will make reasonable efforts to
resolve the issue, Telerik does not guarantee that all problems will be resolved. All bug reports and
product feature suggestions are not considered support incidents.
• Development Machine - a computer used for custom development, staging, or testing of the
SOFTWARE, before it is deployed on the Production Server.
• Production Server – a computer used for the final deployment of the SOFTWARE.
The SOFTWARE is protected by copyright laws and international copyright treaties, as well as other
intellectual property laws and treaties and contains confidential information and trade secrets. The
9
USER MANUAL
SOFTWARE is licensed to you, not sold. Telerik retains ownership of the copy of the SOFTWARE in your
possession, and all copies you may be licensed to make. Telerik also retains all rights not expressly
granted to you in this LICENSE.
1. GRANT OF LICENSE
Telerik hereby grants to you, and you accept, a LICENSE to install, copy, and use the SOFTWARE only as
authorized below.
• The Sitefinity Standard LICENSE allows you to use the SOFTWARE for 1 (one) top level domain name
(or server name). There is no limitation to the number of subdomains (i.e. by registering a key for
mysite.com, you will be able to use it for all subdomains - www.mysite.com, http://support.mysite.com,
http://mysite.com, etc.).
• To facilitate the development process, Telerik allows you to deploy the SOFTWARE on your testing and
development servers and access your applications via the IP address(es).
• There is no limitation to the number of CMS User accounts.
• Included Support: Telerik guarantees response within 48 hours to your support inquiries. As part of
your LICENSE you are entitled to receive unlimited number of support incidents.
• You are granted a LICENSE for evaluation purposes only. You are authorized to install, copy, and use
the SOFTWARE for the sole purpose of testing its functionality. You are not allowed to use it for any
commercial purpose.
• The Sitefinity Trial LICENSE is perpetual and works without license keys. The Trial LICENSE displays a
random trial message that will be disabled once you purchase a license for the Standard Edition
Commercial License and create a license key for your domain.
• There is no limitation to the number of CMS User accounts.
• Included Support: Telerik guarantees response within 72 hours to your support inquiries. As part of
your LICENSE you are entitled to receive technical support for up to 5 support incidents.
• The Sitefinity Community LICENSE allows you to use the SOFTWARE for 1 (one) top level domain
name (or server name). There is no limitation to the number of subdomains (i.e. by registering a key for
mysite.com, you will be able to use it for all subdomains - www.mysite.com, http://support.mysite.com,
http://mysite.com, etc.).
• Telerik allows you to deploy the SOFTWARE on any testing, development or production server.
• Included Support: This LICENSE entitles you to Community support only. You can submit inquiries via
the Sitefinity Forums where other members of the community will be able to provide answers. The
Forum is available to all Client.net account holders. Even though we actively monitor and answer posts,
the Forum's main purpose is to offer convenient peer-to-peer assistance and we do not guarantee a
reply to all threads.
• Telerik requires the display of the “Powered by Sitefinity” logo on all pages that use the Sitefinity
Community version.
• The Sitefinity Community LICENSE can be used for both personal and commercial websites.
10
USER MANUAL
(a) You are not allowed to use the SOFTWARE as a whole, or any of its comprising elements, as a basis
for creation of another software product.
(b) You are not allowed to use individually the software components comprising the SOFTWARE, but
only as an integral part of the SOFTWARE.
(c) You are not allowed to disassemble, decompile or "unlock", decode or otherwise reverse translate or
engineer, or attempt in any manner to reconstruct or discover any source code or underlying algorithms
of the SOFTWARE provided in object code form only.
(d) You are not allowed to use, copy, modify, or merge copies of the SOFTWARE or any accompanying
documents except as permitted in this LICENSE.
(e) You may not use the Telerik product names, logos or trademarks to market your SERVICES or
IMPLEMENTATIONS related to the SOFTWARE without the express prior consent of Telerik.
(f) You agree to indemnify, hold harmless, and defend Telerik and its resellers from and against any and
all claims or lawsuits including attorney's fees that arise or result from the use or distribution of your
software product.
(g) Independent software vendors involved in the development, maintenance and publication of .NET
components are not allowed to use the SOFTWARE without the express permission of Telerik.
3. DELIVERY
Telerik shall deliver to LICENSEE a master copy of the SOFTWARE licensed hereunder in compiled C#
code in electronic files only. Documentation shall also be provided in electronic format.
4. UPGRADES
The Standard Edition Commercial LICENSE entitles the LICENSEE to receive all version updates,
patches, and bug-fixes released for a period of 1 (one) year after the day of purchase. SOFTWARE
labeled as an upgrade replaces and/or supplements (and may disable) the product that formed the basis
for your eligibility for the upgrade. You may use the resulting upgraded product only in accordance with
the terms of this LICENSE.
5. TERMINATION
This LICENSE shall last as long as you use the SOFTWARE in compliance with this LICENSE. Telerik may
terminate this LICENSE if you fail to comply with any of the terms and conditions herein. In such event
you agree to cease using and destroy all copies of the SOFTWARE, which you have been licensed to use
and distribute.
6. COPYRIGHT
11
USER MANUAL
All title and copyrights in and to the SOFTWARE (excluding the Sitefinity software modules listed
below), the accompanying materials, and any copies of the SOFTWARE, and any trademarks or service
marks of Telerik are owned by Telerik. All title and intellectual property rights in and to the content that
may be accessed through use of the SOFTWARE is the property of the respective content owner and may
be protected by applicable copyright or other intellectual property laws and treaties. All error
corrections, bug fixes, patches, updates or other modifications shall be the sole property of Telerik.
The SOFTWARE includes derivate works based on the software products listed below. Telerik has rights
to redistribute these modules; however the intellectual property for these products remains with their
respective publishers:
(a) “Lucene.net” – search engine software developed by “The Apache Software Foundation”
7. LIMITED WARRANTY
Telerik warrants solely that the SOFTWARE will perform substantially in accordance with the
accompanying written materials for a period of ninety (90) days. Telerik does not warrant the use of the
SOFTWARE will be uninterrupted or error free at all times and in all circumstances, nor that program
errors will be corrected. This limited warranty shall not apply to any error or failure resulting from (i)
machine error, (ii) LICENSEE's failure to follow operating instructions, (iii) negligence or accident, or
(iv) modifications to the SOFTWARE by any person or entity other than Telerik. In the event of a breach
of warranty, LICENSEE 's sole and exclusive remedy, is repair of all or any portion of the SOFTWARE. If
such remedy fails of its essential purpose, LICENSEE 's sole remedy and Telerik's maximum liability shall
be a refund of the paid purchase price for the defective SOFTWARE only. This limited warranty is only
valid if Telerik receives written notice of breach of warranty within thirty days after the warranty period
expires.
8. LIMITATION OF LIABILITY
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL Telerik BE LIABLE
FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
OF OR INABILITY TO USE THE PRODUCT, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
COMMERCIAL DAMAGES OR LOSSES, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND
REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON
WHICH THE CLAIM IS BASED. IN ANY CASE, Telerik'S ENTIRE LIABILITY UNDER ANY PROVISION OF
THIS AGREEMENT SHALL NOT EXCEED IN THE AGGREGATE THE SUM OF THE LICENSE FEES
LICENSEE PAID TO Telerik FOR THE PRODUCT GIVING RISE TO SUCH DAMAGES, NOTWITHSTANDING
ANY FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. SOME JURISDICTIONS DO NOT
ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS
EXCLUSION AND LIMITATION MAY NOT BE APPLICABLE. Telerik IS NOT RESPONSIBLE FOR ANY
LIABILITY ARISING OUT OF CONTENT PROVIDED BY LICENSEE OR A THIRD PARTY THAT IS ACCESSED
THROUGH THE PRODUCT AND/OR ANY MATERIAL LINKED THROUGH SUCH CONTENT. ANY DATA
INCLUDED IN A PRODUCT UPON SHIPMENT FROM Telerik IS FOR TESTING USE ONLY AND Telerik
HEREBY DISCLAIMS ANY AND ALL LIABILITY ARISING THEREFROM. THE EXTENT OF Telerik'S
12
USER MANUAL
LIABILITY FOR THE LIMITED WARRANTY SECTION SHALL BE AS SET FORTH THEREIN.
9. MISCELLANEOUS
This LICENSE will be governed by the law of the State of Massachusetts, U.S.A. If any provision of this
LICENSE is to be held unenforceable, such holding will not affect the validity of the other provisions
hereof. Failure of a party to enforce any provision of this LICENSE shall not constitute or be construed as
a waiver of such provision or of the right to enforce such provision. This LICENSE represents the entire
understanding between the parties with respect to its subject matter.
YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, THAT YOU UNDERSTAND THIS
AGREEMENT, AND UNDERSTAND THAT BY CONTINUING THE INSTALLATION OF THE SOFTWARE
PRODUCT, BY LOADING OR RUNNING THE SOFTWARE PRODUCT, OR BY PLACING OR COPYING THE
SOFTWARE ONTO YOUR COMPUTER HARD DRIVE, YOU AGREE TO BE BOUND BY THIS AGREEMENT'S
TERMS AND CONDITIONS. YOU FURTHER AGREE THAT, EXCEPT FOR WRITTEN SEPARATE
AGREEMENTS BETWEEN Telerik AND YOU, THIS AGREEMENT IS A COMPLETE AND EXCLUSIVE
STATEMENT OF THE RIGHTS AND LIABILITIES OF THE PARTIES.
13
USER MANUAL
Term Definition
Add external pages to You can add external pages to Sitefinity through the GUI. They can be
navigation shown in the site navigation but cannot be edited within Sitefinity.
Automatic Site Navigation The structure of a Web site automatically binds to its navigation
controls. Sitefinity includes four navigational controls : SiteTreeView,
SiteMenu, SitePanelBar, and SiteTabStrip.
Content Any information, data, images, files, text, graphics and media files
contained on or accessible from the Web site.
Content Item The basic unit of content in Sitefinity. This may be any chunk of data
stored in the CMS repository/database tables.
14
USER MANUAL
Summarizes the current state of the Web site and gives quick
Dashboard
access to the administrative functions the user can view.
Dynamic Content Dynamic content is independent of the page. Content items that you
create and edit in the different modules are dynamic content. They can
either be published on a page or not. If you delete a page where such
items are published, the items remain in the module’s content
repository. Dynamic content takes care of its presentation on the site.
For example, when you write a new blog post, it is automatically
displayed on the live site if you have blogs enabled.
Exposed API Sitefinity exposes a comprehensive set of methods and events that
allow developers to handle and customize almost every aspect of the
application: programmatically create users and set permissions, build
templates and pages, detect and set content, etc.
History Sitefinity supports content history. Each time a user modifies content,
a copy is created in the database. The old version is stored in the
database together with the new version in a list, so the newest version
is on top of the oldest version. This helps the site administrator track
all content modifications together with the user identity and the time
of the modifications.
Intra-site Modules A module class and a collection of .ascx files within an existing
Sitefinity installation. These modules are compiled on demand. You do
not need to register Intra-site modules in the project’s web.config file
as they are automatically detected. For more information, see Module,
and Pluggable Modules below.
Locked page If you close the browser while editing, the page stays locked but you
15
USER MANUAL
Administrators cannot edit the locked page but they have the options
to Save or Cancel the changes you have made. Both of these actions
will unlock the page.
Master Page Enables developers to define common areas that every page will
share, such as headers, footers, navigation and so on. A master page
allows you to put the common code in a single file and have it visually
inherited by content pages, creating a consistent appearance and
behavior in your application.
Membership Services Enables the administrator to validate and manage user information
for the Web application. It provides functionality for validating user
credentials, creating and modifying membership users, and managing
user settings such as passwords and e-mail addresses.
Menu Label Determines the link name of the page that appears in the navigation
controls, for example menu.
Page Inherits the appearance of a master page and template and places its
own content where the master page has defined a ContentPlaceHolder
control.
16
USER MANUAL
Page Name The name which this page uses for its URL, for example if the page
name is History and it is a subpage of About, the URL looks like this:
http://domain.com/About/History.aspx
Page Navigation Specifies whether this page should be shown in the site map by
navigation controls such as a SiteMenu and SiteTabStrip.
Page Template In Sitefinity, an abstraction for the master page. Defines the common
layout and content that is used for several pages. The Template is
based on the master page markup together with the theme, and the
controls added to its placeholders. Any changes made to a template
will affect all the pages associated with it.
Page Title The page title is displayed in the browser title bar.
Pluggable Modules Developed by Telerik and shipped with Sitefinity, these are
precompiled .dll files that are put in the project’s bin folder. Pluggable
modules can be customized by adding additional fields and providers. .
For more information, see Intra-site Modules and Module.
RSS RSS stands for Really Simple Syndication and it’s used to describe the
technology used in creating feeds. RSS is an XML-based format that
commonly syndicates news and blog posts, along with other forms of
information,and the RSS helps viewers decide whether they want to
follow the link.
17
USER MANUAL
RSS Feed Feeds, also known as RSS feeds, XML feeds, syndicated content, or web
feeds, contain frequently updated content published by a Web site.
They are usually used for news and blogs.
Section Handler Section handlers are responsible for reading the configuration settings
from the web.config file and converting it into a configuration object.
Shared Content Content that is used repeatedly among pages on your Web site.
Content sharing is a convenient way to save time with updates and
changes. See also Dynamic Content.
Static Content This is content placed through controls on Web pages, such as text and
images inserted directly in the Generic Content controls.
Tags Words or labels attached to some content and used to describe and
categorize it.
Tag Cloud One of the display modes for tags. The more frequently a tag has been
used, the larger it appears in the tag cloud. By default, tag clouds are
sorted alphabetically. but you can also sort them by popularity. When
you click a tag in the tag cloud, the tagged content for the particular
provider (for example only blogs or only news) is displayed.
18
USER MANUAL
URL Acronym for Uniform Resource Locator. The Web address you use to
access a specific Web page.
URL Rewriter A rewrite engine that modifies URLs before fetching the requested
item. This is a useful SEO tool as you can create user and search engine
friendly Web site URLs.
User Control A group of one or more server controls or static HTML elements that
encapsulate a piece of functionality. A user control typically resides on
a page with other elements but the .NET framework treats it as a
standalone object. By exposing properties of the control through the
code-behind (or in the HTML), other elements can easily interact with
the user control programmatically. It has an interface that can be
completely edited and changed. It can be manipulated at design-time
and runtime through properties.
User Role A role defines a group of users associated with the same permissions.
Roles determine which parts of Sitefinity are accessible to users.
Web.config The web.config file in ASP.NET is the central location for your Web
application configuration. When you want to change some setting, you
just edit this XML file and do not need to modify the code. It is
formatted in XML and can be opened in Notepad or Visual Studio.
Many properties for controls, such as a true or false value for enabling
workflow, is set in this file.
Web Farm A Web farm is a setup of a single Web site across multiple servers,
which handle various web requests. This type of setup is commonly
required for larger sites that generate large amount of traffic. The user
19
USER MANUAL
Workflow * Defined series of tasks that occur between content origination and its
publication on the live site. At each stage of the workflow, an
individual or group is responsible for a specific task, such as saving or
publishing a page. Once the task is complete, the workflow ensures
that the individuals responsible for the next task are notified. There is
page and content workflow in Sitefinity and they are both disabled by
default.
20
USER MANUAL
4. Login
All of Sitefinity’s content, such as pages, images, documents and videos, are stored in the
database by default. So users can edit the website, they must login to Sitefinity. This, in turn, will
update the database. There are two ways you can log into Sitefinity:
Start Menu > All Programs > telerik > Sitefinity3.x > Sitefinity3.x.
Go to this URL: http://localhost/telerik/Sitefinity3.x/Default.aspx
Once you access the Sitefinity Project Manager, click Edit next to a website. This will bring you to the
administrative back-end of an existing project. The default login page opens in a new browser window.
• Log in directly:
Once you see the login page, type in your username and password. Then, click login or press the enter
key. After successful login, by default, you will see the Sitefinity Dashboard. This provides access to the
administrative tools, such as the user interface for editing pages, if you have appropriate permissions.
21
USER MANUAL
The Dashboard is where you enter once you log in. This is your log of recent activities. It is meant to
help you keep track of the latest changes to the Web site. It also provides quick access to the most
commonly used administrative tools.
The Pages area allows you to create, edit and delete pages and page templates. You can easily check the
pages status and manage page and site map permissions.
The Modules area allows you to create, edit and delete various content items. It is divided into the
following modules: Generic Content, News, Blogs, Lists, Polls, Forums, Images & Documents, Events and
Newsletters. You can also manage the permissions for these modules here.
The Files area allows you to manage the file structure of the Web site administered by Sitefinity. You can
create and upload files and folders here.
The Administration area allows you to manage services, permissions, users and roles, and tools.
The Live Site tab leads you to the published copy of the Web site. It contains the current published
version of the content. This is what the general site visitors see without logging in. If the project has
been deployed on a live Web server, the Live Site tab allows you to preview the published content
without opening a new browser window and typing the URL.
22
USER MANUAL
My Preferences
Sitefinity allows you to change some of the default settings of the GUI according to your preferences
from here:
General Settings
1. Language
This option is displayed when you have enabled site localization. In the example below, the site
languages set in the <localization> section of the application web.config are English, Spanish, French,
German and Bulgarian. Even if no different language versions of the web pages are available, this
option allows you to set the localization of the CMS. If you select Spanish from the dropdown and
save your setting, when you go to Pages > Site Map, you will see the Spanish versions of the pages
first. Please note that the language bar is only available is localization is turned on in the CMS.
23
USER MANUAL
2. Start screen
By default, after a successful login, you are redirected to the Dashboard screen. Here you can set a
different start screen.
The contents of the dropdown list changes according to the permissions granted to the currently
logged user. A user with CMS access and Page Permissions, for example will be able to see
Dashboard, Pages > Sitemap and Live Site only.
For details about permissions, refer to Page Permissions.
24
USER MANUAL
Dashboard Settings
1. It is easy to hide this area of the Dashboard:
2. Customize your Dashboard further by selecting which items to show in the What’s been up lately
area:
25
USER MANUAL
The list changes according to the View permissions granted to the currently logged user.
If page workflow is enabled, there will be an option to show pages in every workflow status
available, such as last published pages and last pages submitted for approval.
26
USER MANUAL
For more information about personalization, please refer to Personalization in our Developer Manual.
27
USER MANUAL
My Profile
1. Log in Sitefinity.
3. The user profile form opens. Apply your changes. You cannot change your username.
28
USER MANUAL
29
USER MANUAL
Sitefinity pages are based on page templates, which in turn are generated from Master pages. Master
pages and page templates reduce the work involved in creating numerous pages with the same layout
and behavior. For example, you can use a master page to standardize the headers and footers of the Web
pages in a particular site.
Sitefinity page templates relate a master page to Web pages. Sitefinity users can choose from the
predefined templates, such as those used in the TIU sample site, or software developers can upload
master pages created by external applications such as Visual Studio® or Dreamweaver®.
Many templates can use one master page and one template can be used by many Web pages. Based on
the master page markup together with the controls added to its placeholders, the template defines the
structure and organization of a Web page. For example, the template for the page shown below defines
three content areas.
The developer or end user can choose what controls to place in each content area on any given page, so
that two pages using the same template can actually have a very different appearance.
30
USER MANUAL
To access the Sitefinity Page Templates Manager, go to the Pages tab and then click Templates.
In the left pane is the list of all templates currently available for this project. Click a template in the list to
view and edit it.
On the right is a grid view of all templates. This view is displayed when you click All Templates.
When you click on a template, you will see tabs on the right. Click on properties and use it to check the
following details about each template:
31
USER MANUAL
Template Name
The template name should be unique. It will appear in the Templates dropdown list in edit
page mode and in the All Templates grid.
Head tags
Inserts link and meta elements in the head section of your page template. Click the link
buttons to set the properties for the tags.
Editing a Template
4. Expand the Add Controls toolbox and drag controls to the placeholders defined by the
corresponding master page.
Template changes do not pass through workflow and are immediately effected on the live site.
32
USER MANUAL
Templates Versioning*
This feature is not available in the Sitefinity Community Edition.Each time you modify a template, the
changes are saved as a new version of the template. You can view template history as well as the user
identity and the time of the changes. To disable templates versioning, set the allowPageHistory
attribute to false in the application web.config:
<add connectionStringName="DefaultConnection"
allowPageHistory="false"
allowPageWorkflow="false" name="Sitefinity"
type="Telerik.Cms.Data.DefaultProvider, Telerik.Cms.Data" />
33
USER MANUAL
Duplicating a Template
The copy of the selected template uses the same master page as the original one and is added to All
Templates. You can rename the template and edit it later similarly to the way you edit pages.
Deleting a Template
To delete a template, click the trashcan icon in the All Templates grid.
A warning is displayed if there are published pages using the template you want to delete:
To view which pages are using it, click the link under Pages assigned in the grid.
The .master file will also be deleted if you delete the last template using it!
When you go to a page whose template has been deleted, the following message is displayed:
“No template has been selected.” In Page Edit Mode, you should choose a new template from the
dropdown list in the top right of the screen. Also, you can upload the old .master file to generate a
similar template. To do this, go to Templates > Upload master page.
34
USER MANUAL
When you first go to Pages >Site Map, you will see a message stating that there are no pages available
for this project. You can either create a new page or add an existing external page.
1. Go to Pages >Site Map and click Create a page in the left navigation pane.
Page name
The actual file name (system name) of the page. Visitors of the page will reference this name,
along with the entire URL. The page name cannot contain spaces or special characters. The
name of the page cannot be “Default”.
Menu label
Determines the link name of the page that appears in the navigation controls, for example
menu.
Page navigation
Specifies whether this page should be shown by navigation controls like menu, treeview,
panelbar, etc.
If Show in navigation is set to No for a page that has subpages, the subpages will still be
shown in the site navigation. This setting is not inherited.
Page type
Normal page: displays its own content, editable within Sitefinity.
Page group: redirects to its first sub-page.
External page: a link to a page created outside Sitefinity.
35
USER MANUAL
3. In the Head Content section, set the head settings of the page:
Page Title
This title is displayed in the title bar of any browser viewing the page.
Description
A short summary of the page content.
Keywords
Metadata keywords are used by browsers or search engines to find and categorize your page.
Use commas to separate keywords.
Security
Anonymous access
Check "Deny" to restrict all access for anonymous visitors and require authentication. Check
"Allow" to enable anonymous access the web page without password verification.
If you set Anonymous access to Deny for a page that has subpages, all subpages will be
inaccessible by unregistered users and will require authentication. The option is disabled at
the Properties tab for the subpage.
Require SSL
Specifies whether this page will require a secure socket layer (https connection). SSL should
be installed on the server.
Performance
Caching
Check to allow the application to cache this page, otherwise leave unchecked
ViewState
Check to disable viewstate on the page, otherwise leave unchecked
When this option is set to “Yes”, the rendered output of the page is cached depending on the page
cache settings made in the application web.config file, section telerik/cms. For more details on how to
enable caching for pages, please, refer to Page Caching.
When the page is requested again, instead of creating new instances of the page and its controls, the
rendered HTML is retrieved from the cache and written directly to the output stream. In other words,
no additional database calls are made, no control instances, no events are fired. The response time to
serve a cached page is equal to the time needed to serve a static .HTML file.
The output cache is cleared when a page is published. That ensures that all changes made to a cached
page are effected immediately on the live site.
Search Indexing
Mark yes to enable this page to be searched by an index. If marked to no, this page cannot be
searched anywhere in the system
36
USER MANUAL
Page URLs
Enter in additional URLs for a page. These URLs can redirect to any other one in the list
5. When you complete the required fields, click Create this page.
You can add any page created outside Sitefinity to your Web application. For example, you have an .aspx
file ready and you do not need to edit its content within Sitefinity. You just need to have a link to this file
in the dynamically created navigation of Sitefinity.
Follow the instructions below to add an existing file, for example FAQ.html, to the Web site. Although
you can edit an external page’s properties, such as its location within the project, you cannot edit
content on the page within Sitefinity. Please note that workflow is disabled for adding external pages, so
the page goes live immediately.
37
USER MANUAL
38
USER MANUAL
39
USER MANUAL
3. From the dropdown list, select the role for which you want to set the permissions:
For more details about setting page permissions, please refer to Page Permissions.
40
USER MANUAL
When you are at the Site Map tab and click the All Pages link, a grid view with all Web pages available
for this project is displayed.
Here you can filter pages to show only those with a given status (Draft, For Approval, Declined,
Approved and Published) and perform a group operation, for example mass approval or mass
publication. For more details about managing the page workflow *, please refer to Page Workflow.
You can also sort pages in the grid by last modified, last modified by a certain user or status
(alphabetically).
When you go to the Permissions tab, you can set the permissions for all pages. If you do that, by default
all the pages will have the same permissions. For more details about setting sitemap permissions, please
refer to Site Map Permissions.
41
USER MANUAL
3. On the More Options section, you can now add other URLs and/or change the default URL.
We do not recommend setting optional URLs to Default.aspx. Sitefinity uses a URL rewriter and when it
comes across Default.aspx in the application root, it will actually load the page that has been set as home
page and displayed bold in the site map.
There are two edit page modes available: Overlay and Classic.
42
USER MANUAL
To change the default edit page mode to Classic, go to My Preferences > Page editor settings or:
<cms defaultProvider="Sitefinity"
pageExtension=".aspx"
pageEditorUIMode="Classic"
disabled="false">
2. Click Set home page. The default page is displayed in bold type in the site map.
43
USER MANUAL
Reordering Pages
Sitefinity allows users with sufficient permissions to reorder pages. Once you move a page, all navigation
controls will reflect its new location.
The action of page reordering does not pass through the workflow and will be effected immediately on
the staged copy of the site.
Moving Pages
To move one page from a given section (parent page) to another section:
44
USER MANUAL
Ordering Pages
To change the order of pages within their own section (parent Page), you need to do the following:
Duplicating a Page
When you need to have a page similar to an existing page, instead of starting from scratch, you can
duplicate a page. You need to select the page you want to duplicate in the site map first and then click
Duplicate page.
If page workflow is enabled, in order to show the duplicated page on the live site navigation, you need to
publish it first. When page workflow is disabled, the duplicated page is published immediately.
45
USER MANUAL
Page Workflow
Please note that this feature is not available in the Sitefinity Community Edition.
The main purpose of every Content Management System is to provide an easily managed workflow
process ensuring that the correct content appears at the right place and at the right time. A series of pre-
defined workflow tasks allows for tracking Web pages through the entire process from authoring,
review, and approval to publication. In addition, workflow facilitates the movement of work to the
individuals responsible for the various tasks. Every user gets real-time status of where work is in the
workflow process, which tasks are complete or pending, etc.
We define workflow as the cycle of steps that occur between the content origination and its final
appearance on the live site. Those steps are the particular actions that the users perform with the
content in order to change its status and move it further along the workflow cycle. Telerik Sitefinity CMS
uses a linear workflow cycle facilitating expedient processing of content modifications, while at the same
time provides adequate levels of control and administration. During one workflow cycle, the content
passes through three distinct stages:
Work in Progress
Staged Content
Live Content
The diagram below illustrates these three stages along with the respective user activities that change the
content status.
46
USER MANUAL
All Sitefinity pages pass through a series of states in a fixed workflow. A page can be in one of the
following pre-defined states:
Draft
For Approval
Declined
Approved
Published
Create a new page or start to edit a new one. Save the changes to the page as a draft, or cancel
the changes and leave it as it is.
Send the draft page for approval to an administrator or user with approval permission granted.
The draft page can be declined and sent back to the user for more changes.
The draft page can be approved for publishing to the live site.
The page can be edited at any of the stages in the workflow. Cancelling an edit causes the page to remain
at the same stage in the workflow. Saving changes to the page reassigns its status as a draft. Changes to
the page are not seen in the live site until the page is approved and published. The page remains in the
staging site until the workflow process has been completed.
All page workflow actions are done within the Pages area. Upon navigating to the Pages area and
clicking All Pages, you will see a complete list of all the pages in the site and their current workflow
status.
The following options are given at each stage in the Page Manager work area:
Draft a page.
You can send the draft page for approval or re-edit the page.
47
USER MANUAL
Page is declined.
If the changes to the page have been declined, the only choice available is to re-edit the page
again and re-submit for approval.
Page is approved.
If the changes to the page have been approved, the users with the appropriate permissions may
then publish it to the live site.
Page is published:
If a page has been published to the live site, it may be edited as necessary.
48
USER MANUAL
Page Localization
The localization at page level assures that your site will have localized versions of each page. Each
language version is a separate instance, the following properties of which can be localized:
menu label
title
description
keywords
There is a Language Selector control that you can use on the public side to allow users to switch between
the languages.
This dropdown list will populate with a list of languages available in the Sitefinity system.
49
USER MANUAL
50
USER MANUAL
3. Set the localizable properties such as menu label, title, etc. and click Create this version.
51
USER MANUAL
4. The page is now displayed in Edit mode. Here you have two options: edit it from scratch or copy
the template, theme and controls from the English language version as shown below:
5. The page template, theme and all controls are copied from the English version and there is no
relation between the controls in the English and German versions of this page.
6. Drag and drop a language selector onto the page for the English and German versions, so users
can navigate between the English and German versions of the page.
52
USER MANUAL
Sitefinity allows users to add tools from the toolbox, which is located on the right hand side of the edit a
page screen. To edit a page, click the Edit this page button if localization is turned off. If it’s turned on,
click Edit this language version button. The demos instructions below assume that localization has been
turned off in Sitefinity.
53
USER MANUAL
3. From the dropdown list, choose a container to add the control to or drag and drop the control
into a placeholder.
Deleting Controls
To delete a control:
The Control Properties Grid is a powerful tool that allows developers and end-users to configure
controls placed in a particular page directly from within the browser and eliminates the need for offline
configuration and upload of the control files. The property modifications are reflected immediately.
3. Click Edit in the control header to access the Control Properties grid.
54
USER MANUAL
Some controls use content view designers, such as the Images and Documents module’s download list
shown below, which allow end users to check off boxes and use other UI controls to adjust properties:
Some of the controls, such as a tags list, use just have a properties tab instead:
55
USER MANUAL
The following images represent the Basic and Advanced tabs of the Image control.
56
USER MANUAL
1. User controls: Developed by the user and easily integrated in the Sitefinity Modules section as
an assembly.
2. Pluggable modules: A set of pre-built pluggable modules offering the common functionality
that comes with Sitefinity:
57
USER MANUAL
Generic Content: Allows users to create, manage and reuse separate content items.
News Module: Allows users to manage features and articles on a Web site.
Lists Module: Allows users to create and manage all kinds of lists.
Polls Module: Allows users to quickly create and publish online polls on a Web site.
Forums Module: Allows users to create and moderate forums on a Web site.
Images & Documents: Allows users to upload shareable images and documents, stored in
libraries
Events: Provides users with ability to schedule and announce events through their website
Each module has an administrative and public side. The administrative side is seen by clicking on the
Modules tab in Sitefinity. The public side consists of the controls that users should insert on the page,
such as the Blog Posts control, to show the module’s data on the page.
ContentView Controls
The News, Blogs, Images and Documents, and Events modules use ContentView controls to display data
on the public side. These controls allow end users to display content within certain categories, change
the display mode, if applicable, remove fields, change date format and assign labels next to fields. To
demonstrate this functionality, here are some screenshots of the ContentView for the News module:
58
USER MANUAL
59
USER MANUAL
Generic Content
This is where you create, store and manage content items most comfortably.
Each time a user creates a content item in the Generic Content module, it is added to the shared content
items list. When in edit page mode, other CMS users can select shared items from that list and add new
items to it. Whenever one instance of shared content is updated, all pages where the same item appears
are updated simultaneously. This feature is especially convenient when there are users responsible for
content authoring/editing only and others responsible for adding that content to the Web pages. The
site is updated automatically when the content contributor makes changes to a shared item.
You need to be granted the proper Module permissions to be able to manage shared content.
When you want to edit just one instance of the content item, you need to remove it from the shared
content items list first, that is, branch the content. After branching, the item is independent, and
changes made to it are not reflected elsewhere. Similarly, changes made in the previously shared item
are not reflected in the branched item.
Each item of shared content is represented by a unique content ID and meta information such as name
(required), description and author. The content ID is used when requesting the content data. If
description and author are not specified, the default text is displayed in the list of items.
When content workflow is switched off, an item can be in one of the following states:
Locked by user: The item is open for editing and the changes are not saved or cancelled.
60
USER MANUAL
Administrative End
To access the Generic Content module, go to Modules > Generic Content.
To create shared content and edit your own items, you need to be granted the View and Create
permissions for the Generic Content module as shown below:
61
USER MANUAL
Even if you do not have any Page permissions, you can still contribute shared content. You can create
shared content in either of the following ways.
3. Type the name of the content item. It is advisable to give unique names. This field is required.
62
USER MANUAL
9. Click Create this item. The item is then shown in the All Content Items list.
63
USER MANUAL
64
USER MANUAL
6. When the dialog opens, type the name of the content item. It is advisable to give unique names.
This field is required.
9. Click Share this item. Click I’m done to close the Generic Content Properties grid.
2. Search for the item you want to edit and click Edit next to it.
65
USER MANUAL
3. Modify the content item and click Save changes. If you are using this item across many pages,
your changes will affect all pages and will be visible on the live site after publishing.
2. Search for the item you want to delete and click the trashcan icon next to it. When you go the
page(s) using a content item that has been deleted, you will see the following message: This
content has been deleted.
Click the Permissions link in the left pane. Select a role from the dropdown list and select the necessary
checkboxes to grant permissions for that role. When you are done, click Save Changes. For more details
about permissions, please refer to Module Permissions.
66
USER MANUAL
Localization
This topic outlines the steps you need to follow to create different language versions of content items.
Please read the localizing modules section for more info.
1. Create an item in the default site language, which is English in the example below, and enter
content in the form:
4. Create the new language version by entering the language specific content in the content area.
67
USER MANUAL
In this example, the Name field is not set as localizable, that is why it is the same for all language
versions of the item.
Refer to section Multilingual Content Management > Module Localization for more details about
localization of meta fields.
To view all items created for a particular site language, go to All Content Items and select the language
in the dropdown list.
If you click Edit, you are redirected to edit item mode for the respective language.
If you click the trashcan icon, all language versions of the content item are deleted.
Public End
2. In the site map, click to select the page where you want to insert content.
68
USER MANUAL
8. Click the Select shared content link to view all available items.
69
USER MANUAL
In the Select Shared Content Dialog, you can filter items by name and author.
9. In the grid, click Select next to the item you want to insert.
70
USER MANUAL
71
USER MANUAL
B. To branch shared content and create an item that will be stored only with the page (static content),
do the following:
3. Find the Generic Content control with the content you want to branch.
72
USER MANUAL
News
The News module is based on the Generic Content module, so it shares a common user interface with it.
The News module provides a comfortable way to incorporate news articles and display them on your
web site.
Administrative End
To access the News module, go to Modules > News:
Create news
4. Schedule when the news article should go public and its expiry date with the integrated calendar
as shown below:
73
USER MANUAL
Edit news
2. Find the news article you want to edit in the list of news and click Edit next to it.
Delete news
2. Find the news article you want to delete in the list of news and click the trashcan icon next to it.
74
USER MANUAL
Search News
Select the search criteria from the dropdown list and click Search:
To set permissions on the news module, click the Permissions link in the left pane. When you are done,
click Save Changes. For more details about permissions, please refer to Module Permissions.
75
USER MANUAL
Localization
Localizing news content is almost identical to localizing content in the Generic Content module. This
topic outlines the steps you need to follow to create different language versions of news.
76
USER MANUAL
4. Create the new language version by entering the language specific content in the content area.
To view all news items created for a particular site language, go to All news items and select the
language in the dropdown list in the upper right corner of the screen.
77
USER MANUAL
By clicking Edit, you open the German version of the news article for editing.
If you click the trashcan icon, all language versions of the news item are deleted.
78
USER MANUAL
Public End
The news module uses a single control to display news stories called the NewsView:
2. In the site map, click to select the page where you want to insert the full text of the news articles.
9. On the top left of the screen, click save if workflow is turned on. If it’s off, click publish to save
your changes
79
USER MANUAL
4. On the top left of the screen, click save if workflow is turned on. If it’s off, click publish to save
your changes
Blogs
A blog is an online journal where you post entries and make them publicly accessible. The entries are
organized in reverse chronological order, that is, the newest post is always at the top. Blog posts
typically consist of:
title (headline)
body (main content)
post comments
permalink (URL of the full, individual article)
post date (the date and time the post was published)
Administrative End
To access the Blogs module, go to Modules > Blogs.
Create a blog
3. Click Create this blog. Now you can create the first post in this blog.
80
USER MANUAL
The blog page field must be filled in with the page with the Blog Posts control, which will be discussed
later. This will enable features such as Windows Live Writer Support.
Create a post
2. Find the blog where you want to create a post and click it.
Edit a post
2. Find the blog containing the post you want to modify and click it.
81
USER MANUAL
3. Find the post in the All Posts list, and click Edit. The rich text editor opens.
Make your changes to the blog post, as outlined in Edit a post above
2. Find the blog whose settings you want to edit and click it.
82
USER MANUAL
Delete a blog
In All blogs, find the blog you want to delete and click the trashcan icon next to it.
Localization
Localizing blogs content is almost identical to localizing content in the Generic Content module. This
topic outlines the steps you need to follow to create different language versions of blog posts.
83
USER MANUAL
4. Create the new language version by entering the language specific content in the content area.
Public End
A single control called Blog Posts must be inserted on the page to show content. There are also three
other controls to add functionality to the blog and here is a complete list of all controls:
These controls are accessible in the page’s toolbox by expanding the blogs section:
1. Go to Pages->Site Map
2. In the Site Map, click to select the page where you want to insert the BlogPosts control
3. Click Edit This Page (or Edit this Language Version if localization has been turned on)
4. Expand Add Controls-> Blogs:
5. Drag and drop the BlogPosts control where you want it
6. Hover the mouse over it, and click edit Edit
7. Follow the Step-By-Step wizard to configure the look and behavior
84
USER MANUAL
Lists
The Lists module provides a simple and efficient way of organizing FAQs, contacts, interviews,
testimonials, instructions, tasks, to-do lists, links, dictionaries, etc. It allows you to create logically
related list items, each of which has a headline and content. You create these items using the Lists
module and then display the list on the Web page by dragging a Lists control.
85
USER MANUAL
The provided public control ensures the relation between the separate elements. In FAQ, for instance,
where each item consists of a question and answer, each question can be an anchor taking you to the
answer further down the page; the answer can be expanded when a question is clicked; all the questions
can be on a single page and each answer can be on a separate page, etc.
The main advantage of the Lists module is that it eliminates the need to format items while writing
content. All formatting comes from the css files and themes and content contributors do not have to
worry about bullet styles, separators between the items, different css classes for each item, etc.
Administrative End
To access the Lists module, go to Modules > Lists.
86
USER MANUAL
Create a list
4. Type the headline and content of the first list item and click Add this item.
87
USER MANUAL
1. Click All Lists in the left pane to display all existing lists.
4. Type the headline and content for the new list item and click Add this item.
88
USER MANUAL
Click the Permissions link in the left pane. When you are done, click Save Changes.
For more details about setting permissions for Lists, please refer to Module Permissions.
89
USER MANUAL
Public End
To display content created in the Lists module on a Web page, do the following:
2. In the site map, click to select the page where you want to insert a list.
6. Drag and drop the Lists control to the desired page area.
7. Click Edit in the control header to display the Basic Properties tab.
8. From all existing lists, select the list(s) you want the control to display.
9. In the Selected lists grid, you can define the order in which the lists are displayed by clicking Up
or Down.
90
USER MANUAL
10. The default list display mode is Simple list. To customize the appearance of your lists, select one
of the predefined display modes. In the dropdown list, select among more predefined modes.
To see the examples of different types of lists, go to the TIU sample site. You will find:
91
USER MANUAL
Polls
A Poll is an excellent way to get feedback from users. You use the Polls module to construct the poll, then
you place the poll on as many pages in your site as you like through the Poll Box control.
Through its intuitive user interface, the Sitefinity Polls module allows you to:
Administrative End
To access the Polls module, go to Modules > Polls.
92
USER MANUAL
Create a poll
3. Enter the poll questions. Click the Add new question button to append more questions.
4. Select the type of answers for each question in the dropdown list. If you select checkboxes, you
will allow multiple selections.
93
USER MANUAL
Click the Permissions link in the left pane. When you are done, click Save Changes.
For more details about setting permissions, please refer to Module Permissions.
Public End
To display content created in the Polls module on a Web page, do the following:
2. In the site map, click to select the page where you want to insert a poll.
7. Click Edit in the control header to display the Control Properties grid and click Select.
94
USER MANUAL
8. Select the poll you want to insert and click I’m done.
95
USER MANUAL
Forums
This module enables you to run multiple forums on your Web site form a single management interface.
Users can create forums, start threads of questions and responses and organize the forums into
categories. Each forum can belong to one category only.
Administrative End
To access the Forums module, go to Modules > Forums.
Create a forum
5. Click Create this forum. Now you can create the first thread in this forum. You can edit these
settings later.
96
USER MANUAL
Create a thread
1. Go to All Forums.
2. Find the forum where you want to start a thread and click its name.
Delete a thread
1. Go to All Threads.
1. Go to All Threads.
97
USER MANUAL
2. In the list of threads, click the name of the thread you want to view.
The Quote section displays the whole original post. You can edit or delete the quote altogether.
98
USER MANUAL
1. In All Forums, click Settings next to the forum whose settings you want to edit.
2. Make your modifications and click Save changes when you are done.
99
USER MANUAL
Manage categories
2. To create a new category, fill in the text field and click Create:
3. To rename a category, click Rename in the list of categories, enter a unique category name and
click Rename:
100
USER MANUAL
4. To delete a category, click the trashcan icon next to the category in the grid (see above). If there
are forums assigned to the deleted category, they are moved to Uncategorized. Sample forum
below belongs to the Music category which has been deleted.
Go to All Forums and click the Permissions link in the left pane. When you are done, click Save
Changes.
For more details about setting permissions, please refer to Module Permissions.
101
USER MANUAL
Public End
There are five public controls that you can use if you want to have forums on your Web site:
To display the forums created in the module on a Web page, it is usually enough to insert the Forums
control on the Web page. If you have restricted the anonymous access (“Deny anonymous authors”
property is set to true in the forum settings), you should set the LoginPage property to redirect to the
registration page. If you need to customize the appearance of forums, you can make various
combinations of the forums public controls listed above.
For details about using the public controls for Forums, please refer to this KB article:
Using the different Forums module controls.
For details about creating and adding your own Forums provider, please look at the Developer manual:
Sitefinity Modules > Forums > Forums Provider Customization.
If you are using the Forums public controls in your site, make sure you add a script manager in your
.master file as shown below:
102
USER MANUAL
This module provides a shared storage medium for images, documents, videos and other types of media.
This module ensure that this content is stored in one place, so it can be easily reused and shared. The
module’s goal is to provide end users with an easy-to-use option to create, edit and share content and
select it for use in public controls. The benefits for web site administrators are automatic handling of
permissions and automatic storage and retrieval from and to the project database. When migrating the
project, for example, it is much easier to transfer the whole project database, instead of transferring and
managing the image and documents files separately. Moreover, you don’t have to take care of the image
or documents paths when creating/migrating your site.
103
USER MANUAL
Administrative End
Create a library
When you first go to the Modules > Images & Documents tab, you are prompted to create your first
library. The library is the main unit of this module; each library is a container of different types of
content items.
To create a library:
1. Click Create your first library (or Create a library at the All libraries screen):
2. In the Name field, type the name that you want to appear in the user interface. See the image
below.
104
USER MANUAL
• Document Library: can contain items with file extensions .doc, .docx, .rtf, .txt, .pdf, .ppt,
.pptx, .html, .xls, .xlsx.
• Custom Library: can contain items with all file extensions.
• Video Library: can contain items with file extensions .wmv.
You can change the allowed file types and create custom library types from the application
web.config file.
105
USER MANUAL
This content will be cached until the content has been changed. If you re-upload a document, for
example, or it expires, then the cache expires.
To set any of the above to unlimited, leave the corresponding field empty.
Upload items
After you create a library, you need to upload content items to it. There are different kinds of items:
images, documents, videos, etc. Every item has associated metadata, depending on the type of the library
it belongs to. These are the properties of each library item; some of them are kept as metadata:
• Name: the name of the item appearing in the user interface; by default, it is the same as the
filename; if a file with the same name is uploaded, a number is appended to the name
• Size: the size of the file on the disk/the original size of the item
• Author: the name of the user who created the item
• Description: an explanatory note about the item
3. Browse to select the item to upload. A message is displayed if the maximum number of items to
upload in the library is reached.
Click Add to select more items. This button is disabled when the maximum number of items for
the library is reached.
106
USER MANUAL
107
USER MANUAL
Manage libraries
There are two view modes available for libraries: boxes and list.
Boxes:
List:
The operations that can be performed from the All Libraries screen are described below.
108
USER MANUAL
1. Delete a library: click the trashcan icon to delete the library; the items are also deleted from the
database.
2. View all items in a library: click the name of a library in the list.
3. Check how many items are currently uploaded in a library. Clicking the number displays all the
items in the library in a list.
4. Change library settings: click Change Settings to open the key properties of the library. For more
details, refer to section Create a library above.
109
USER MANUAL
Manage items
You can view the uploaded items in an image library either as thumbnails or list.
Thumbnails
List
110
USER MANUAL
The operations that can be performed from the All Items screen are described below.
1. Batch edit
Click the Batch edit link to if you want to open all library items and edit their key properties at once
or attach the same tags to all items.
111
USER MANUAL
For an image library, you can edit the Title and Alternative text properties.
For a document library, you can edit the Title, Author and Description properties.
112
USER MANUAL
• edit the item’s Author, Alternative text, Width and Height properties and associate a
category or tags to the item.
113
USER MANUAL
3. Edit a file
You can perform the following actions at this screen:
• edit the name of the item
• download the original file
• reupload the file to replace the library item (metadata stays the same)
• edit the item’s Author and Description properties, associate tags and category to the item
114
USER MANUAL
4. Delete an item
Click the trashcan icon to delete the item:
5. Sort items by file extension, download items and view links to items.
Public End
The Images&Documents module provides three public controls that serve to display content from a set
of libraries on a public Sitefinity page:
The Download List displays a list of files uploaded in document or custom libraries. This control
has two view modes: list and table.
The Image Gallery displays images from libraries. A typical scenario in which it may be used is
creating a public picture gallery on a web site.
The Video control is based on Telerik’s RadMediaPlayer for Silverlight and is used to display
videos uploaded in video or custom libraries. It can be used to create a vide section on a web site.
Note: The Video control is available in the Sitefinity for .NET 3.5 only.
Since most of the items from the module are used in public pages, there should be easy ways to select
which item to include in a page. When an item has to be inserted in a Generic Content item for example,
this will be done through the rich text editor. The module provides its own implementations of dialogs,
which retrieve items from the module and include them in the Generic Content.
115
USER MANUAL
Events
Based on the Generic Content module, the Events module provides users with ability to schedule and
announce events through their web site. Its basic features are the following:
The module also provides geomapping feature for the location of events. This feature provides built-in
functionality for location geocoding (retrieving geo-latitude and geo-longitude values) based on the
street, city, country and state (state - in case event is taking place in United States).
You have the option to display maps of events’ location from three leading map services:
• Google Maps
• Yahoo! Maps
• Live Maps
116
USER MANUAL
Administrative end
The administrative end of the module is largely similar to that of the other Generic Content based
modules, with standard abilities to manipulate events (create, view, update, delete), panels for managing
tags, categories and comments, and, of course ability to define module specific permissions.
The module introduces a new specific panel for working with Geomapping settings, which allows users
to provide necessary data (such as API key) for working with third party APIs.
A peculiarity of the Events module is the ability to display the events both as a list and a calendar. When
you are more interested in the event’s content (like Title or Category to which it belongs), the list view is
more convenient. On the other hand, if you are more interested in the actual date and time when an
event starts or ends, the calendar view would be more convenient.
The calendar view provides a familiar interface similar to Google Calendar or Outlook Calendar and
provides users with the following options:
• View events in a graphical calendar view, with ability to observe day, week or month
• Create a new event by clicking in an empty slot of time
• Edit an event by double-clicking it
• Reschedule an event by dragging it from one location to another
• Reschedule the length of an event by dragging the bottom handle of an event box
Create events
9. Schedule when the event should go public and its expiry date with the integrated calendar as
shown below:
117
USER MANUAL
Edit event
5. Find the news article you want to edit in the list of news and click Edit next to it.
Delete events
4. Find the Event that you want to delete in the list of news and click the trashcan icon next to it.
118
USER MANUAL
Localization
Localizing Events content is almost identical to localizing content in the Generic Content module. To give
you a high level overview of creating language specific event content, follow these steps:
4. Create the new language version by entering the language specific content in the content area.
Public end
The Events module offers two out-of-the-box controls:
• Events View
This control is based on the Content View control and is used for displaying a list of events as
well as a single event. It offers three modes of display: List, Single and Auto. Here is a picture of
the EventsView control:
119
USER MANUAL
Newsletters
This module provides basic functionality for creating newsletters and management of emails and
subscriber groups.
Administrative End
The module’s administrative end provides an interface for administrators to be able to:
In order to use the Newsletters module you need to enter the settings of your SMTP server. This is
how to do it:
120
USER MANUAL
121
USER MANUAL
Create subscribers
The first thing you need to do is define the potential mail recipients and group them. For testing
purposes you can use the provided sample subscriber group, Demo, and just add an email to it.
5. Enter the email address, first and last name of the newsletter recipient.
Alternatively, you may choose to add from already registered CMS users to this subscriber
group. To do so, click add registered CMS users and select the users to add as subscribers.
6. Click Add (selected).
122
USER MANUAL
Manage subscribers
The Manage subscriber groups link provides a more advanced option for creating subscriber groups.
Here you can select from existing Sitefinity roles and create groups of subscribers based on the
registered CMS users assigned to the roles; thus you will not have to add the email addresses of the
recipients manually, one by one.
123
USER MANUAL
In the Subscriber Groups grid, you can perform the following operations:
124
USER MANUAL
Create a newsletter
When you first go to the Modules > Newsletters tab, you are prompted to create your first newsletter.
To create a newsletter:
125
USER MANUAL
Public End
The Newsletter module offers a newsletter sign up form for public users:
This form can ask for an e-mail or an e-mail and the user’s name.
126
USER MANUAL
Sitefinity supports tags and categories for content from the Generic Content, News, Forums and Events
modules. Tags and categories are very similar; they are both used to describe and organize content
items and allow you to easily search for or browse related content within the CMS.
Tags
These are very much like keywords you attach to content items. The author of the content item can
specify as many tags as they need.
1. At the All Items screen, click the Tags link in the left pane:
2. By default all existing tags are displayed alphabetically. The number of items assigned to a given
tag is shown in brackets.
3. To create a new tag, type a name for the tag and click Add.
127
USER MANUAL
4. Click the tag link to open a screen with the tagged filtered items.
5. Point the mouse over to view the rename and delete links.
7. To view a tag cloud, click Tag cloud. The more frequently a tag has been used, the larger the font
size in the tag cloud view.
128
USER MANUAL
Users have the ability to tag content in three different ways while creating/editing the content item:
1. Click the Add a new tag link button to expand the dialog.
2. Start typing in the tag name field. A suggested word can appear from the existing tags. If you
click it, it will be displayed in the input field.
129
USER MANUAL
3. Click Add to attach the tag. When the new tag is added, it is displayed in yellow and it then fades
to the default background.
4. You can also choose from existing tags. Click My tags/All tags to display a list of tags. Click an
existing tag to add it to the list above.
5. To unassign an item from a tag, click the trashcan icon next to the tag in the list.
130
USER MANUAL
Display tags
To display tags on the web site, you need to insert the Tags List control on a page and then edit its
properties as described below:
2. Expand the Behavior section and for the TaggedContentURL field, select the page to which the
user will be redirected after opening a tag link. Usually, this is the page where the respective list
control has been inserted (Post List, News Lists).
3. Expand the Data section and in the ProviderName field, type the name of the provider from
which tags are displayed. If you leave this field empty, the default provider for cmsEngine will be
used, which is Generic_Content.
Make sure that the Behavior > TagItemKey property matches up to the Category Key for the module
([ModuleName]TagID). For the news module, this property should be NewsTagID as shown below:
131
USER MANUAL
Categories
Sitefinity supports categories for content from the Generic Content, News, Blogs, Forums, and Events
modules. Categories help you classify and organize related content items. The basic difference between
tags and categories is that an item can belong to only one category, whereas tagged with many tags.
2. A list of all categories for this module will be displayed. Each category is a link which opens all
module items associated to this category.
132
USER MANUAL
3. To create a new category, type a unique name in the Add a category text field, select a category
under which it belongs (if needed) in the subcategory of drop down list, and click Add.
Note: you cannot enter a category with a name which already exists.
4. To edit a category name or its position in the categories hierarchy, click Edit in the list of
categories, enter a unique category name, select a parent category, and click Update:
5. To add a subcategory under an existing category, click on the Add a subcategory link, enter a
unique name for Subcategory name, and click Add subcategory.
6. To delete a category, click the trashcan icon next to the category in the grid (see above).
If there are items assigned to the deleted category, they will be moved to Uncategorized.
133
USER MANUAL
Categorize content
To categorize content while creating/editing a content item, simply select an existing category from the
Category dropdown list:
134
USER MANUAL
Display categories
To display categories on the web site, you can use two controls: Categories List and Categories Tree.
To use any of the two controls, drop the control on a page and then edit its properties as described
below:
1. Expand the Behavior section and for the CategoryContentUrl field, select the page to which the
user will be redirected after opening a category link. Usually, this is the page where the
respective view or list control has been inserted (News View, News Lists).
2. In the Behavior section set the values of the fields CategoryKey and CategoryKeyType to be
the same as those of the View or List control on the page selected in the previous step. To see the
values of the Content View or List control, expand its Query String Keys section.
3. Expand the Data section and in the ProviderName field, type the name of the provider from
which categories are displayed. If you leave this field empty, the default provider for cmsEngine
will be used, which is Generic_Content.
The Categories Tree control is based in the Telerik’s RadTreeView for ASP.NET AJAX and allows
enhanced capabilities in terms of visualizing categories:
4. To hide the count number of the items associated to each category from the tree view, expand
section Behavior, and select False for ShowContentCount.
5. To set the root category to show in the tree view, expand section Behavior, and select True for
ShowRootCategory.
6. To set a filter for categories, expand section Filters, and enter a category for which you want to
filter the tree view in the field RootCategory.
135
USER MANUAL
c. The values in the MaxDataBindDepth field allow you to set the maximum number of
hierarchical levels to display. The default is -1, which binds all the levels in the data
source to the control.
For both display types, make sure that the Behavior > CategoryKey property matches up to the
Category Key for the module ([ModuleName]CatID). For the news module, this property should be
NewsCatID as shown below:
Wiki
Created through a public control, a Wiki consists of Wiki contents that are articles. The Wikis can be
created and managed in the Wiki module or they can be created through the same Wiki control. A Wiki
has a name, a short description, an owner, or the author who created it, and the Wiki’s creation date.
Wiki content has a name, a user-friendly title, an author, html content, and the Wiki content can be
categorized or tagged. Below is an image of the module’s WikiView control:
Administrative Side
Wiki List View
To manage the Wikis, the user has to go to the Wiki module by going to Modules > Wiki. To view a list of
the existing Wikis, go to the initial screen for the Wiki module. The list can be sorted by name,
description, owner (author) or the date the wiki was created. Below is a screenshot if this view:
136
USER MANUAL
Wiki Preview
To view an existing Wiki, the user has to go to initial screen (Modules > Wiki) and select the desired
Wiki. Then, the user goes to the preview screen to display Wiki details. These details are the name, the
description, the owner, the creation date and the count of wiki contents for the specified wiki.
137
USER MANUAL
138
USER MANUAL
Categories View
To manage the categories of the Wiki contents, the user has to go to the module’s categories screen. This
categories screen is identical to the categories views of the other Generic Content based modules:
Generic Content, News, Blogs, Images and Documents, and Events.
139
USER MANUAL
On the next screen, the user completes information about the Wiki as shown below this sentence:
140
USER MANUAL
Public Side
141
USER MANUAL
To add the WikiView control the user has to drop it onto a container. To set the control properties, the
user has to open the edit dialog. This can be done by hovering over the control, then left clicking the edit
button as shown below this sentence:
The WikiView control can be used to display a list of Wiki contents and a single Wiki article. To change
the display mode, the user must go to Behavior > BehaviorMode and select Master to show a list articles
or detail to show a single article. By default, the display mode is auto and the control itself decides how
to show the content. Here is a screenshot of the property:
142
USER MANUAL
To set one of the properties related to the Wiki content, expand the “Wiki” category as shown below this
sentence:
To set a default Wiki that will be displayed, when no Wiki is provided, the user has to fill the WikiName
property. To set a default Wiki content that will be displayed when no content is provided the user has
to fill the WikiPage property. If this field is left empty and no wiki content is specified, then the first
content created for the specified Wiki will be displayed (usually the home content). To set the search
index for the search controls the user has to fill the IndexCatalogue property. To set a default display
mode for the specified Wiki, the user has to use the WikiMode property. By default this property is set to
show the Content screen.
Wiki View
Several controls can be used to display and to search Wiki contents. The WikiView is the main control
that can be used to list Wiki contents or to visualize a single Wiki. The WikiView control is based on the
ContentView control with some enhancements. In detail mode, the control has several screens divided
by tabs. There is a section for viewing content, editing the information, reviewing comments, listing
previous versions of the content and there is a search screen. The Content Screen displays the Wiki
Content Title (or its name when a title is absent), the content, the category and the tags of the content.
When the user clicks the tag or category, the user sees content related to those identifiers; a
functionality deriving from the ContentView control.
The Edit Screen contains an input for the content title, a RadEditor, similar to the editors in Sitefinity
with a new tool for managing the wiki links. Below is an image of this screen:
143
USER MANUAL
144
USER MANUAL
This tool can be used to modify existing Wiki links or to create new ones. To modify an existing link,
select the link with the mouse or the keyboard by highlighting it. When properly selected, the tool has its
input fields set to the corresponding parts of the wiki link. To create a new link from a word, highlight
the word and launch the tool. To create a brand new link, click on the link manager without highlighting
any content.
The link manager has three inputs. One is for the Wiki name and the field contains a combo box that lists
the existing Wikis. The user may enter a non-existent Wiki into this field. When no Wiki name is
provided, the current Wiki will be used. The second field is for the Wiki content name, which uses a
combo box, that lists the available Wiki contents for the selected Wiki. The third input is a text box for
the inner text that will appear for the anchor tag representing the Wiki link. When a Wiki content name
is selected (by selecting an existing from the list or by typing a new one) the Insert button is enabled and
the link can be inserted.
The edit section controls editing your existing Wiki content, so the users can select a category, manage
tags and make other changes. If the edited Wiki content does not exist then clicking the “Save” button
creates it. It also creates a Wiki if the edited content does not belong to an existing Wiki. If the edited
content already exists and the editing user has the right permissions, then she can delete the Wiki
content by pressing the Delete button.
The Comments Section contains the Sitefinity control for listing and adding comments.
The History Section contains a version control, extending the Sitefinity VersionList control, by adding
functionality for comparing revisions. Below is an image of the history tab:
145
USER MANUAL
The two versions are compared by checking the checkboxes on their rows and pressing the compare
button, circled above this paragraph. Two additional areas are included in the screen. One area is for the
differences in the Wiki content title and the other is for the differences of the Wiki content itself.
The Search Section contains Sitefinity based controls for filtering Wiki contents by several criteria:
keyword, name, title, name, tag and category.
146
USER MANUAL
When searching for Wiki contents, based on a tag or a category, the text box changes to a combo box.
The results of the search are displayed in different controls according to the filter criterion. The search
by keyword uses the standard Sitefinity SearchResult control and is based on indexed Wiki contents.
The searches by tag and category use the master mode of the ContentView control. The rest types of
searches uses a wiki search result control based on the Sitefinity SearchResult control.
In order to view and use the different screens the user must have the corresponding permissions. To
view the Content, Comments, History and Search screens the user must have View rights for the current
Wiki. To create non-existing Wiki content, the user must have Create rights. To create a non-existing
wiki, the user must have Create rights for the whole Wiki module. In order to edit the Wiki content the
user must have the Modify rights and in order to delete the wiki content or rollback to a previous
revision the user must have the Delete rights for the current wiki.
147
USER MANUAL
10. Services
Search
The search service provides a solid and efficient way to search in your published web site pages (both
normal and external), news, blogs or any other searchable module. It is composed of several search
Indexing Clients. The Indexing Clients provide URLs to the Indexing Services. Indexing Clients (such as
Blogs, News, Pages, etc.) are classes which implement the IndexingClient interface. The most important
members are:
the event Index which is fired along with new URLs to index (say a news item added, a new blog
created , etc.)
Indexing Services are services that take the URLs from the IndexingClient and do the real indexing.
The last part is the Indexing Service Instances. These are the ones you can see in the Admin screen.
Basically, the user creates a new index (this means Indexing Service instance but we will use index for
the sake of simplicity), adds some details about it (name, description, search patterns) then chooses
which indexing clients will be used to “feed” this service with URLs to index.
The index can have multiple indexing clients; it can even have multiple indexing clients instances of the
same type (say 2 blogs clients but with different settings).
All data related to the Indexing Services and Clients is stored in the Sitefinity database. However, the
actual indexed URLs could be stored in a separate database. Currently, we have only one indexing
service, which uses Lucene.net engine. Lucene.net stores its indexes in the ~/App_Data/Search folder.
148
USER MANUAL
Administrative End
To access the Search service, go to Administration > Services > Search.
In order to start searching your Web site, you should first specify the indexing services that will index its
pages. To create an indexing service, you need to create a search index first, following the steps below:
3. In the Search Patterns field, specify the types of pages you want the index to look into:
149
USER MANUAL
In each created search index, you should specify which index sources the index will look into.
To add an index source:
1. Click PageIndex.
2. In the What to index part, set the properties for each client according to the client type:
Starting node to index: set the path to the parent page from which to start indexing
Index non-public pages: select if you want to index pages for which anonymous access is
denied.
Auto Index: select if you want to reindex a page automatically when the page is published.
When you create the new index, it is displayed in the All Indexes list. You should click the Start
indexing link button so that the pages are indexed for the first time and Search public controls can work
properly. Click again to force reindexing.
150
USER MANUAL
3. You can modify the index details (name, description and search patterns) and add/delete
indexing sources.
Public End
There are two controls that should be placed on the page to enable the search feature for your Web site.
The Search Box control is used to enable the site users to enter their keywords and search for
them in the site index. It contains the search box and search button
The Search Results control displays the results retrieved for the keywords entered by the user
in the search box. It does the actual searching.
2. Choose a page where you would like users to search for content
3. Click Edit this Page if localization is turned off or Edit this Language Version is localization is
turned on in Sitefinity
4. From the right hand side of the page, drag and drop a search box onto the page
7. Select the search index you’d like for this search box
151
USER MANUAL
10. Click Edit this Page if localization is turned off or Edit this Language Version is localization is
turned on in Sitefinity
11. From the toolbox on the right, drag and drop a search results control
152
USER MANUAL
RSS Feeds
With the Sitefinity RSS service you can easily feed content as RSS data. Sitefinity supports RSS feeds for
content created in Pages, Forums, Events, Blogs and News modules. Through RSS feeds, your blogs and
news articles can become available to other sites or individual subscribers, letting people view the latest
updates. The syndication settings determine whether or not XML syndication feeds will be available for
the content posted to a blog.
To have RSS 2.0 syndication for content in your site, there must be an RSS Provider implemented for
that specific content. Currently, there are two RSS providers that allow syndicating the blogs and news
you create with Sitefinity.
If you need to implement RSS channel providers for your own modules, look at the Developer Manual:
Services > RSS Implementation.
Administrative End
To access the RSS service, go to Administration > Services > RSS Feeds.
153
USER MANUAL
154
USER MANUAL
3. Type a phrase or sentence to describe the feed in the Feed description field.
4. In the Feed URL field, type the path to the .rss file that the procedure creates. The path can be
either absolute (for example http://mydomain/MyBlogs.rss) or relative (for example
~/MyBlogs.rss).
5. For the Channel page field, select the page you want the user to be redirected to when s/he
clicks the RSS feed title in an RSS reader. This is usually the page containing the Post List or
News List control.
6. At the next step, you need to specify the content to syndicate by configuring at least one channel.
155
USER MANUAL
Article page – select the page in which the news article will open when the RSS
item title is clicked. This is usually the page containing the Single News control.
Items count – type the number of news articles to display in the channel
Item structure – select the type of feed to display: Full Article, Title and Summary
or Title only.
156
USER MANUAL
Post page – select the page where the post will open when the RSS item title is
clicked. This is usually the page containing the Single Post control.
Items count – type the number of items (posts) to display in the channel
Item structure – select the type of feed to display: Full post, Title and Summary
or Title only.
157
USER MANUAL
Click Edit this feed in the list of feeds to modify feed properties.
Public End
In order to provide RSS syndication for content in your site, you need to put an RSS Feed control on a
Web page. It is very similar to the Hyper Link control but apart from creating the link, it also inserts a
link tag in the head section which shows that the page is in an RSS feed.
2. In the site map, click to select the page where you want to insert the control.
4. Expand the Add Controls toolbox and then the RSS Feeds section.
8. For the NavigateURL field, select the RSS feed. The path to the .rss file will appear in the text
field.
158
USER MANUAL
Tools
Sitefinity offers site export tool, so your website can easily be reused. For more information, please read
Exporting Web Sites as Templates.
Sitefinity users (also referred to as CMS Users) are users who can conduct content management and/or
administrative tasks with a given Web site project. Such users can be managed by any user who is
granted the Manage Users permission.
A user role is a group of users associated with a set of user privileges. Roles are an efficient way to
manage permissions for groups of users as they classify users with similar characteristics and
responsibilities. Roles also determine which portions of CMS a user can view.
There is one role that is automatically created with each new Sitefinity project: the Administrators role.
The admin user is assigned to it by default and granted full global, modules and site map permissions.
You cannot:
You can define the set of privileges for each role and assign users to roles. All users assigned to a given
role inherit the permissions defined for that role. A user can be assigned zero, one, or many roles.
For example, Josh belongs to the Editors role that allows him to edit pages. However, the administrator
decides to allow Josh to edit post comments, too. So, the administrator should choose between:
creating a new role where this particular permission is allowed and adding Josh to it.
or
modifying the Editors role and granting all users assigned to it this additional permission.
159
USER MANUAL
160
USER MANUAL
Follow the steps below to create a new user. We assume that the currently logged user belongs to the
Administrators role.
1. Go to the Administration > Users. You will see a list of all available users.
5. Assign the user to role(s) by checking the role(s) in the checkbox list. You can also do that later.
161
USER MANUAL
162
USER MANUAL
You can extend the user profile with additional fields from the application web.config file. Follow the
steps below to add the field Nickname.
1. Open the application web.config file. Find this section and add the new profile property:
<profile defaultProvider="Sitefinity">
<providers>
<clear/>
<add name="Sitefinity" connectionStringName="DefaultConnection"
applicationName="/"
type="Telerik.DataAccess.AspnetProviders.TelerikProfileProvider,
Telerik.DataAccess"/>
</providers>
<properties>
<add name="FirstName"/>
<add name="LastName"/>
<add name="Nickname"/>
</properties>
</profile>
2. To display the field at the Administration > Create/Edit User screens, open the
~/Sitefinity/Admin/CmsAdmin/Users.aspx file add the lines in red:
A.
<cc1:ManageUsers runat="server" ID="manageUsers">
...
<InsertTemplate>
...
<div class="workArea">
<div class="mainForm">
...
<fieldset class="userinfo set">
<cc1:ManageProfile ID="manageProfile" runat="server"
Mode="Insert">
<InsertTemplate>
<ol class="setIn">
<!-- Add the new profile field HERE. For example:
<li>
<cc2:FieldLabel ID="lblNickname" runat="server"
Text="Nickname"
TargetID="Nickname"></cc2:FieldLabel><asp:TextBox
ID="Nickname"
runat="server"></asp:TextBox>
</li>
-->
163
USER MANUAL
B.
<cc1:ManageUsers runat="server" ID="manageUsers">
...
<EditTemplate>
...
<div class="workArea">
<div class="mainForm">
...
<fieldset class="userinfo set">
<cc1:ManageProfile ID="manageProfile" runat="server"
Mode="Insert">
<EditTemplate>
<ol class="setIn">
<!-- Add the new profile field HERE. For example:
<li>
<cc2:FieldLabel ID="lblNickname" runat="server"
Text="Nickname"
TargetID="Nickname"></cc2:FieldLabel><asp:TextBox
ID="Nickname"
runat="server"></asp:TextBox>
</li>
-->
164
USER MANUAL
2. The user profile form opens. Apply your changes. You cannot change the Username and
Password. When you are done, click Save user info.
165
USER MANUAL
Click a role in the left pane and all users assigned to it will be displayed:
166
USER MANUAL
Deleting a User
To delete a user, click the trashcan icon in the list of users. Any content modifications made by the user,
even not yet approved will be saved.
You can perform group deletion by selecting and clicking the Delete link or trashcan icon above the list.
167
USER MANUAL
5. Log in Sitefinity.
7. The user profile form opens. Apply your changes. You cannot change your username.
168
USER MANUAL
169
USER MANUAL
Creating a Role
Follow the steps below to create a new Sitefinity user role. We assume the currently logged user is
assigned to the Administrators role.
4. Click Create.
170
USER MANUAL
Deleting a Role
Follow the steps below to delete a user role. We assume the currently logged user is assigned to the
Administrators role.
4. Click the trashcan icon next to the role you want to delete.
You cannot delete a role to which there are users assigned. You can use the View Users link to
temporarily remove users from the role you want to delete.
171
USER MANUAL
12. Permissions
Permissions are rights that define the type of actions a given user can perform. If a Sitefinity user does
not have any permission, they can only navigate through the public part of the site.
There are two explicit permission settings in Sitefinity: Allow and Deny.
Deny
Denies authorization for the user role to perform the action stated. Deny is the most powerful
permission setting in Sitefinity. If a user belongs to a role that has a specific permission set to
Deny, that user cannot perform that function, even if he or she belongs to another role that has
the same permission set to Allow.
Allow
Grants authorization for the user role to perform the action stated. Allow is the second-most
powerful permission setting in Sitefinity and the one most frequently set.
Unset
By default, most permissions in Sitefinity are not set to either Deny or Allow. The permissions
are left unset, which implicitly denies user roles authorization to perform the action specified.
However, because the permission is neither explicitly set to Deny nor explicitly set to Allow,
authorization for that permission can be inherited from other roles to which the user is assigned.
Inheritance
Permissions in Sitefinity are inheritable. This is why if a permission is Unset for a given user in
one role and explicitly set for another role the user is assigned to, the user inherits the Allow or
Deny for that permission.
When certain permissions are set for the site map, the permissions for the pages are the same
(inherited) by default.
Global Permissions
Module Permissions
172
USER MANUAL
Global Permissions
These are privileges to manage users, roles, permissions and files. By default there is one administrator
user who is granted full global permissions, that is, his permissions are set to “unrestricted”.
173
USER MANUAL
174
USER MANUAL
Module Permissions
These allow the site administrators to control the management of third party controls that support this
functionality. These permissions apply to all content items and not to a single item as in pages.
To set the permissions for a whole module, go to the respective module tab and click the Permissions
link in the left pane. Select a role in the dropdown list and define the permissions for the users assigned
to it.
175
USER MANUAL
1. View allows you to see the module tab and all content items.
2. Create allows you to add new content items and edit your own items.
5. Change Permissions allows you to set the user permissions for the whole module.
176
USER MANUAL
To set the permissions for all the pages, go to the Pages > Site Map tab. Select All Pages and click the
Permissions tab on the right. Select a role in the dropdown list and define the permissions for the users
assigned to it.
177
USER MANUAL
9. ModifyLayout allows you to change page Template and Theme. Modify must also be granted.
178
USER MANUAL
Page Permissions
Permissions given for a page to control the management of the page content and controls content. All
permissions set for the site map are inherited as page permissions. To change this, click the Break
inheritance link.
To set the permissions for a page, go to the Pages > Site Map tab. Select the page in the site map and
click the Permissions tab on the right. Select a role in the dropdown list and define the permissions for
the users assigned to it.
179
USER MANUAL
9. ModifyLayout allows you to change page Template and Theme. Modify must also be granted.
If you want to secure a page and restrict the access to it, you can use the Anonymous access property:
5. Select Deny to restrict anonymous user access to the page and require authentication.
6. Set the View page permission for the role whose access you want to restrict.
180
USER MANUAL
Only users who are granted proper permissions will be able to access the File Manager.
You need to add impersonation for the ASPNET account in the project web.config file to enable the File
Manager and to access the application file system. The granted access will be in accordance with the
permissions of the impersonated user.
To create a folder, such as the ViewTemplates folder, right-click to select an existing folder and
click New Folder from the context menu. The new folder is displayed with the default name New
Folder. The File Manager automatically appends a number in brackets to the end of the name if
a folder with name already exists.
To copy a folder, right-click to select it and from the context menu, select Copy.
To move a file or folder, first select it and then drag it to an existing folder.
181
USER MANUAL
To rename a file or folder, right-click the folder or the whole row with the file you want to
rename and select Rename from the context menu. Type the name and press Enter or click
outside the textbox.
To delete a file/folder, click to select the entire file/folder row and then select Delete from the
context menu.
To upload files, first select an existing folder and click Upload files. In the Upload file dialog,
browse to select a file and click the Upload button. If you need to upload more than one file, click
the Add button and select another file. To exit the Upload file dialog, click Cancel.
182
USER MANUAL
1. The Application root folder contains the login and registration pages and the web.config file
that control the overall configuration of your Sitefinity installation.
2. The App_Browsers folder contains the browser definition file where we have inserted an
HtmlForm adapter.
3. The App_Data folder contains the database where Sitefinity stores the pages and controls used
by the sites that it manages. By default, this is a SQL Server 2005 or 2008 database named
Sitefinity.mdf.
4. The App_Master folder contains the master pages that are available for use by pages in your
Sitefinity-managed Web sites. Each master page in the folder corresponds to one or more page
template choices when you are creating a new page in Sitefinity. You can add your own master
pages to this folder to create additional master page types within Sitefinity, which in turn map to
page templates. You must not delete the Dummy.master file as it is required for the proper
functioning of the system.
5. The App_Themes folder contains the themes that are available for use by pages in your
Sitefinity-managed Web sites. Each theme in the folder corresponds to a choice when you are
creating a new page in Sitefinity. You can add your own themes to this folder to create additional
themes within Sitefinity.
7. The Files folder is created automatically by Sitefinity. This is where all your files will be
uploaded if you use the Document, Media or Flash managers in the RadEditor.
183
USER MANUAL
8. The Images folder is created automatically by Sitefinity. This is where all your images will be
uploaded if you use the Image manager in the RadEditor.
9. The Sitefinity folder contains the files that make up the Sitefinity public controls’ interfaces, as
well as these subfolders:
The Admin folder contains all files that make up the administrative part of Sitefinity. It will
allow only authenticated users to request files from this folder.
The App_LocalResources folder contains local resources which are mapped to the upper
level files.
The Common folder contains image files used by the Web pages for the public user interface.
The ControlTemplates folder contains the templates used by the public controls. To change
the markup or static data for a public control, modify the respective template.
The User Controls folder contains the site navigation user controls and their VB versions.
Using the Images and Documents module, files are uploaded as binary data to the database. You can
upload files as static files, which will not be inserted in the Images and Documents module, and display
them. To upload the files, follow these steps:
1. Login to Sitefinity
2. On the top navigation, click Files
3. Click on a folder
1. Login to Sitefinity
2. On the top navigation, click on Pages > Sitemap
3. Click on a page
4. If localization is turned on, click Edit this Language Version or Edit if localization is turned off
5. From the right hand side of the screen, drag and drop a Generic Content module:
184
USER MANUAL
Sitefinity will display a link to the file, when these steps are finished.
185
USER MANUAL
14. Caching
Sitefinity comes with inbuilt caching capabilities. There is a section in the web.config file which lists the
caching providers and their settings. There is one caching provider currently available:
<caching defaultProvider="memoryCache">
<providers>
<add name="memoryCache"
type="Telerik.Caching.MemoryCachingProvider,
Telerik.Framework" />
</providers>
<cacheDependency mode="InMemory"/>
</caching>
Page Caching
To enable caching for at the CMS level you need to apply the following settings:
2. Add value “pageCacheProvider” and set its attribute to one of the caching providers listed
in the caching section of web.config, for example “memoryCache”:
3. If you want to apply ASP.NET caching to pages, set the value of “pageCacheProvider” to
“*ASPNET*”.
4. If you want to turn off caching for pages, set the value of “pageCacheProvider” to
“*NO*CACHE*”.
186
USER MANUAL
3. Click More Options and check off the box for enable caching:
187
USER MANUAL
Many aspects of the application can be configured through its web.config file.
The web.config is an XML file that resides in the Web site’s root directory. This file contains
configuration settings and application-wide data, such as database connection strings, custom error
messages and culture settings. When you need to change any of these settings, you only need to edit the
web.config file, you do not need to modify the code or recompile your application.
For more information on the Web.config file, please review this article.
Site Localization
Sitefinity allows end users to pick the site’s language:
Users can also choose which version of a page to edit by following these steps:
1. Login to Sitefinity
2. Click on Pages
3. Choose the appropriate language:
188
USER MANUAL
<localization defaultProvider="Sitefinity"
persistenceMode="PathPrefix"
defaultCulture="en" cultures="en, fr">
Notice that the default culture is set to English. If you would like to have another default language, set
the default culture property to the language’s two letter prefix:
<localization defaultProvider="Sitefinity"
persistenceMode="PathPrefix"
defaultCulture="es" cultures="en, fr, es, de, bg">
3. Save the web.config file and you will see the language selector in the top right corner of the
screen. The order of languages in the dropdown is the same as set for the value of the cultures
attribute.
In the above example, setting the defaultCulture attribute to es does not ensure that the
selected language in the dropdown (and hence the language version of the page that opens) is
always Spanish. This depends on the browser settings: the default language set in the client
browser definition overrides the defaultCulture definition in the application web.config.
To force a specific culture, independent from the client browser settings and locale, do the
following:
<localization defaultProvider="Sitefinity"
autoSetClientLanguage="False"
persistenceMode="PathPrefix"
3. Create a new section which contains the domains and the cultures to which they are mapped,
surround it with opening and closing tags: “<cultureMappings>”,
</cultureMappings>”.
4. Insert a line for each domain you want to map, for example:
<add key="www.mydomain.com" culture="en" />,
where “key” is the domain name you want to map, and “culture” is the culture to which
you want to map it.
To illustrate, this is what the web.config file will contain after the update:
<localization defaultProvider="Sitefinity"
189
USER MANUAL
3. Create a new section which contains the domains and the cultures to which they are mapped,
surround it with opening and closing tags:“<cultureMappings>”,
</cultureMappings>”.
4. For each domain you want to map insert a line, for example:
<add key="com" culture="en" />,
where “key” is the domain extension you want to map, and “culture” is the culture to
which you want to map it.
To illustrate, this is what the web.config file will contain after the update:
<localization defaultProvider="Sitefinity"
persistenceMode="DomainExtension" defaultCulture="en" cultures="en,
fr, de, bg">
<providers>
<clear/>
<add name="Sitefinity"
type="Telerik.Localization.Data.DefaultProvider,
Telerik.Localization.Data"
connectionStringName="DefaultConnection"/>
</providers>
<cultureMappings>
<add key="com" culture="en" />
<add key="co.uk" culture="en" />
<add key="fr" culture="fr" />
</cultureMappings>
190
USER MANUAL
</localization>
Please, note that Sitefinity maps automatically a domain extension to a culture when there is a
match between the two. You do not need to set the mapping explicitly in such cases.
Module Localization
You can localize the following modules:
Generic Content
News
Blogs
Events
To create different language versions of a module, follow these steps:
6. Find the <cmsEngine> section in the application web.config file and set the allowLocalization
attribute to true.
<cmsEngine defaultProvider="MODULE_NAME">
<providers>
<clear/>
<add name="Generic_Content"
visible="True"
defaultMetaField="Name"
securityProviderName=""
allowLocalization="True"
...
Setting this enables you to create versions of the content items for all the site cultures and
display them by switching the languages in the selector on the live web site.
7. Find the <metaFields> section and set the localizable attribute to true for all fields that you
want to localize.
To make the Description field of the Generic Content module localizable, for example, add the
text in red:
<add key="Generic_Content.Description" valueType="LongText"
visible="True" searchable="False"
localizable="True"
sortable="True"
defaultValue="Add description here"/>
191
USER MANUAL
By localizing fields, you ensure that field can have a foreign language equivalent. In the example above,
the content’s title is not localizable, so when you change to the French version, for example, the title will
still say language. The content’s description field, however, will have a French language equivalent.
The fields that are used to create the URL, for example Name for the Generic Content module, should not
be localized:
<add providerName="Blogs"
publicationDateField="Publication_Date"
urlRewriteFormat="[Publication_Date]/[Title].aspx"
If you need to make these kinds of fields localizable, you can do either of the following:
urlRewriteFormat="[Publication_Date]/{ID}.aspx"
urlRewriteFormat="[Publication_Date]/{GUID}.aspx"
192
USER MANUAL
Page Level
To enable workflow on the page level, follow these steps:
<add connectionStringName="DefaultConnection"
allowPageHistory="true"
allowPageWorkflow="true" cachingProviderName="ASPNET"
name="Sitefinity"
type="Telerik.Cms.Data.DefaultProvider, Telerik.Cms.Data"
/>
Module Level
To configure workflow at the module level, follow these steps:
<cmsEngine defaultProvider="Generic_Content">
2. Find the module’s provider (The Generic Content module is given as an example):
<add name="Generic_Content"
urlRewriteFormat="[Publication_Date]/[Name].aspx"
urlDateTimeFormat="yy-MM-dd" urlWhitespaceChar="_" visible="True"
defaultMetaField="Name" securityProviderName=""
allowLocalization="True" allowVersioning="True" allowWorkflow="True"
allowComments="false" commentsModeration="true"
versioningProviderName=""
connectionStringName="GenericContentConnection"
type="Telerik.Cms.Engine.Data.Providers.DefaultProvider,
Telerik.Cms.Engine.Data" />
Page History
This feature is not available in the Sitefinity Community Edition.
Sitefinity stores the history of content modifications. The site administrator can easily track the
modifications, the user identity and the time of the changes. Each time some content is modified, the
changes are saved as a new version of the original content. The original content is saved in the database
and can easily be restored.
193
USER MANUAL
By default, page history is enabled. To disable it, open the project web.config file, find this line and set
the allowPageHistory attribute to false:
<add connectionStringName="DefaultConnection"
allowPageHistory="false"
allowPageWorkflow="false" name="Sitefinity"
type="Telerik.Cms.Data.DefaultProvider, Telerik.Cms.Data" />
To preview and roll back to previous versions of a page:
1. Go to Pages >Site Map.
2. Click to select the page in the site map and go to the History tab.
Module History
Sitefinity stores all versions of items created within the Generic Content, News and Blogs modules. Each
time some content is modified, the changes are saved as a new version of the original content. The
original content is saved in the database and can easily be restored. The site administrator can easily
track those modifications, the user identity and the time of the changes.
By default, module history is enabled. To disable it, open the application web.config file and find this
section:
<cmsEngine defaultProvider="Generic_Content">.
In the <add> element for the respective module, find the allowVersioning attribute and set it to False.
This is what it should look like for the News module:
<add name="News"
defaultMetaField="Title"
visible="False"
securityProviderName=""
allowVersioning="False"
...
194
USER MANUAL
URL Rewriting
By default, the URL Rewriter is switched off. To switch it on, you need to do the following changes in the
web.config file:
<configuration>
…
<configSections>
<sectionGroup name="telerik">
…
<section name="urlrewrites"
type="Telerik.Cms.Web.AdvancedUrlRewriter, Telerik.Cms"/>
</sectionGroup>
</configSections>
<httpModules>
<add name="Cms" type="Telerik.Cms.Web.CmsHttpModuleUrlRewrite,
Telerik.Cms"/>
</httpModules>
<configuration>
<telerik>
…
<urlrewrites>
<!-- Add your rule elements here -->
<rule>
<url>[input URL pattern]</url>
<rewrite>[replaced URL]</rewrite>
</rule>
</urlrewrites>
This section above sets the rules for rewriting the URLs and you can add one or more rules here. These
rewrite rules are evaluated from top to bottom. If a match is found, the URL is rewritten and the search
through the rewriting rules terminates.
Rewriting is based on the regular expressions technology and it’s similar to using the RegEx.Replace()
method in .NET. The <url> is a pattern expression and <rewrite> is a replacement string.
Please refer to Regular Expressions as a Language for more information about Regular Expressions.
195
USER MANUAL
Example:
If you have a products page (products.aspx) that will manage each product, requesting a Product Id
(ProdId) in the query string, and you want to access each product without using a query string, you may
have the following rule in <urlrewrites>:
<urlrewrites>
<rule>
<url> product(.*)\.aspx </url>
<rewrite> Products.aspx?ProdId=$1</rewrite>
</rule>
</urlrewrites>
Apart from the advanced method described above, Sitefinity provides one more way to rewrite URLs,
which does not require changes to be made in the application web.config file. You can specify more than
one URL for a page from the Page Properties tab. For more information, please refer to 7. Working with
Web Pages.
Note also that it is not possible to use the URL rewriter to create pages without file extension. You can do
that by setting wildcard application mappings in IIS or by configuring 404 redirection. For details about
each approach, please refer to Wildcard Application Mappings and Extensionless URLs topics.
Custom error pages are created so that end users, primarily, don’t see ASP.NET exception messages.
Instead, they can be brought to a user friendly static page informing them of an error and that a software
developer shall fix it.
There are several ways to implement custom error pages. When you first download Sitefinity, you will
see a <customErrors> section in the application web.config file, which looks like this:
<customErrors mode="RemoteOnly"/>
On: error details are not shown to anybody, even local (logged in) users. If you specify a custom
error page, it will always be used.
196
USER MANUAL
Off: error details are shown to everyone, both local and remote users. If you specify a custom
error page, it will not be used.
RemoteOnly: local users will see detailed error pages with a stack trace and compilation details,
while remote users will be presented with a concise page notifying them that an error has
occurred. If a custom error page is available, it will be shown to the remote users only.
The optional defaultRedirect attribute specifies the default URL to direct a browser to if any error
occurs. The URL to a custom error page may be relative (~/Error/PageNotFound.aspx) or absolute
(http://www.yoursite.com/errors/PageNotFound.aspx).
The <customErrors> tag may also contain several <error> subtags for more granular error
handling. Each <error> tag allows you to set a custom condition based upon an HTTP status code. For
example, you may display a custom 404 for missing pages and a general error page for all other
exceptions:
<customErrors mode="RemoteOnly"
<error statusCode="404" redirect="~/Errors/PageNotFound.aspx" />
<customErrors>
PageNotFound.aspx can be a page managed by Sitefinity or a static page. For more info on custom
errors, please read this MSDN article.
197
USER MANUAL
When users enter special symbols in the Search Box, Sitefinity replaces them with symbols recognized
by the Search or prompts the users with a warning message.
There are special symbols replace and escape rules set by default. To add a new replace or escape rule,
follow these steps:
The same logic can be applied when modifying the existing rules.
Searching in Metafields
When a user is searching for a news story, you might want certain fields to be unsearchable including
the thumbnail field. To define which fields are searchable, follow these steps:
2. For each meatafield set the value of the attribute “searchable” to true or false
198
USER MANUAL
There are a couple of things you need to do to so Sitefinity CMS could work in medium trust.
In our next major version, the workflow will be available for medium trust as well.
Extensionless URLs
This topic describes an approach that handles HTTP 404 errors which you get if you request an
extensionless URL like http://localhost/YourWebSite/home where home is set as a Page Group in
Sitefinity.
The first thing you need to do is to set pageExtension property to empty in the web.config file:
When you request an extensionless URL, you get HTTP 404. This means IIS receives the request but it
serves the page configured for HTTP 404. It does not send the request to ASP.NET ISAPI. So, if you can
forward all HTTP 404 to ASP.NET, you can serve extensionless URLs. In order to forward HTTP to
ASP.NET ISAPI, you need to configure IIS to redirect to some .aspx extension on HTTP 404. Follow the
steps below to make Sitefinity handle the request to sf404.aspx page and rewrite the path to the
required URL.
IIS 5.x
1. Click All Programs > Administrative Tools > Internet Information Services (IIS) Manager.
2. Expand the tree on the left until you see Web Sites > Default Web Site.
3. Expand the Default Web Site folder.
4. Right-click your project virtual folder and select Properties.
5. On the Custom Errors tab, select HTTP error 404.
6. Click Edit Properties.
7. From the Message Type list, choose URL.
8. In the URL field, type the path to sf404.aspx in your project:
199
USER MANUAL
9. Click OK.
IIS 6.x
1. Click All Programs > Administrative Tools > Internet Information Services (IIS) Manager.
2. Expand the tree on the left until you see Web Sites > Default Web Site.
3. Expand the Default Web Site folder.
4. Right-click your project virtual folder and select Properties.
5. On the Custom Errors tab, select HTTP error 404.
6. Click Edit.
7. From the Message Type list, choose URL.
8. In the URL field, type the path to sf404.aspx in your project:
9. Click OK.
200
USER MANUAL
1. Expand the tree on the left until you see Web Sites > Default Web Site.
2. Expand the Default Web Site folder.
3. Select your Web site and in the right pane, IIS section, select Error Pages.
4. In the right pane, click Edit.
5. Change the Path Type to Execute URL and type the path to sf404.aspx in your project:
201
USER MANUAL
8. Click OK.
202
USER MANUAL
Apart from setting wildcard application mappings, Sitefinity supports a better approach for URLs with
no extensions. As wildcard mapping makes each and every request go through ASP.NET 2.0 ISAPI
handler (including URLs with .gif, .css, .js, .html, etc.) and this inevitably worsens the performance, we
would recommend the approach described in the Extensionless URLs topic.
1. Click All Programs > Administrative Tools > Internet Information Services (IIS) Manager.
2. Expand the tree on the left until you see Web Sites > Default Web Site.
3. Expand the Default Web Site folder.
4. Right-click your project virtual folder and select Properties.
5. On the Virtual Directory tab, click Configuration to open the Application Configuration dialog.
6. Click Add to open the Add/Edit Application Extension Mapping dialog.
7. Browse to select the c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
file for the value of the Executable field.
8. In the Extension field, type “ .* ” to specify all kinds of extensions.
9. Select the All verbs checkbox.
10. Clear the Check that file exists checkbox.
203
USER MANUAL
IIS 6.x
1. Click All Programs > Administrative Tools > Internet Information Services (IIS) Manager.
2. Expand the tree on the left until you see Web Sites.
3. Expand the Web Sites folder.
4. Right-click your Web site to select Properties.
5. Click Configuration.
6. Click Insert… to open the Add/Edit Application Extension Mapping dialog.
7. Browse to select the c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
file for the value of the Executable field.
8. Clear the Verify that file exists checkbox.
204
USER MANUAL
1. Click All Programs > Control Panel > Administrative Tools >Internet Information Services
(IIS) Manager.
1. Expand the sites folder on the left until you see Web Sites > Default Web Site.
2. Then, expand the Default Web Site folder
3. Select your website.
If you are using Windows Server 2008, expand the folders as shown below:
Please note that the W2008SQL32Bit icon shall be named differently on your machine, but the idea is the
same.
3. On the right hand side of the screen, click Add Wildcard Script Map:
205
USER MANUAL
6. Click OK
7. On the next dialog, click yes
206
USER MANUAL
<cms defaultProvider="Sitefinity"
pageExtension=".aspx"
additionalExtensions="html, do, asp"
disabled="true"
pageEditorUIMode="Overlay">
In this case, Sitefinity will accept *.html, *.do and *.asp request, as well as the default ones - *.aspx
request.
207
USER MANUAL
16. Deployment
After the migration, all CMS functionality will continue to operate as the process is a mere physical
relocation of the application.
If you do not want users to be able to modify anything in the administration, disable the administration
on the production server by deleting this folder:
C:\Program Files\telerik\Sitefinity3.x\WebSites\YourProject\Sitefinity\Admin
1. Copy or upload with FTP the project folder to the destination machine (usually in the
\Inetpub\wwwroot folder).
208
USER MANUAL
2. If your Web site project uses Microsoft SQL Server database, you need to migrate the SQL
database to the new location as well.
5. Give full permissions to the ASPNET user for the ~/App_Data folder:
209
USER MANUAL
6. (Required in Sitefinity v.3.2. Only) Add mappings for .sflb, .tmb, .template, .rss to the script maps,
following these steps:
Right-click the newly created virtual folder My Site and select Properties.
Click Configuration >Mappings >Add.
210
USER MANUAL
<configuration>
...
<telerik>
...
<framework>
<caching defaultProvider="memoryCache">
<providers>
<add name="memoryCache" type="Telerik.Caching.MemoryCachingProvider, Telerik.Framework" />
<add name="ASPNET" type="Telerik.Caching.AspNetCachingProvider, Telerik.Framework"
duration="120" slidingExpiration="true" />
</providers>
<cacheDependency mode="InDatabase" />
</caching>
...
</telerik>
/<configuration>
When you set the mode to InDatabase, the changes you make on one of the sites will be reflected on the
other sites.
Furthermore, if you experience any problems with the Dynamic Service Assemblies, you should move
the assembly located in [YourProject]\Sitefinity\ServiceAssemblies to the bin directory -
[YourProject]\bin.
Synchronizing images and other files between servers in the Web farm is the responsibility of your load
balancing software.
211
USER MANUAL
Overview
Sitefinity’s pluggable modules can be customized in a variety of ways. Additional fields can be added,
removed or even renamed. Modules can also share content with other Sitefinity websites. To customize
a module, you must edit its control template.
Control Templates
To display content, Sitefinity uses a series of user controls called control templates. Inside of these
control templates are many common ASP.NET UI controls, such as literals, labels and textboxes. By
default, these control templates are embedded inside assembles. To make changes to these control
templates, you must extract them from the assemblies and then work with the code inside the controls.
That is the template that you need. Sitefinity navigates to different templates by routes and these
routes are hierarchical. Using the blogs module as an example, here is the hierarchy:
212
USER MANUAL
To navigate to the PostNewView, the blogs module must go to the BlogsControlPanel, then the
PostsView, then the PostNewView. This is represented by dots as you see in the route query
string above.
213
USER MANUAL
\Sitefinity\Admin\ControlTemplates\Blogs\PostNewView.ascx
\Sitefinity\Admin\ControlTemplates\Blogs\App_LocalResources\PostNewView.ascx.resx
PostNewView.ascx - \Sitefinity\Admin\ControlTemplates\Blogs
PostNewView.ascx.resx - \Sitefinity\Admin\ControlTemplates\Blogs\App_LocalResources
The project must be compiled (Ctrl + F5 in Visual Studio) before any changes will take effect. These
changes can include adding custom fields.
Overview
You can add custom fields to the Generic Content, News, Events, Images and Documents, and Blogs
modules. You can also set field properties such as visible, searchable, and sortable.
• Key: This is the name of your module and it’s followed by a period and the name of the field.
• ValueType: Defines the data type for the field. It could be set to shortText, which is a string less
than 256 characters, longText, which is a string longer than 256 characters, integer, Guid and
DateTime.
• Visible: Defines whether the field is visible to the user
• Searchable: Defines whether the field is searchable in the admin, when the user clicks on the
module
• Sortable: Defines whether the field is sortable in the admin, when the user clicks on the module
• DefaultValue: Automatically populates the field with a string, if the field has no value
When you add or remove metadata, you need to reflect the changes in the respective templates located
in the ~/Sitefinity/Admin/ControlTemplates folder, so that they can take effect. For more info, please
read the Control Templates section of this guide.
214
USER MANUAL
When adding a custom field, ensure that the value of the AssociatedControlID attribute is the ID of the
textbox the label is associated with. The ID of the textbox (in this case) must be the same as the name of
the field. For example:
The Images and Documents module uses a slightly different approach for adding these fields, which is
outlined in Adding Custom Fields to the Images & Documents Module.
\Sitefinity\Admin\ControlTemplates\News\NewsItemEdit.ascx
\Sitefinity\Admin\ControlTemplates\News\App_LocalResources\NewsItemEdit.ascx.resx
NewsItemEdit.ascx - \Sitefinity\Admin\ControlTemplates\News
NewsItemEdit.ascx.resx - \Sitefinity\Admin\ControlTemplates\News\App_LocalResources
3. Open the project web.config file and in the <metaFields> collection, add this code:
215
USER MANUAL
Now you need to take care of the screen where you edit news. This is what it looks like:
To insert the Subtitle field between the Summary and Author fields, follow these steps:
<li>
<asp:Label ID="Label3" AssociatedControlID="Author" Text=""
runat="server">
<asp:Literal ID="Literal21" runat="server" Text="<%$Resources:Author
%>"></asp:Literal>
<em id="AuthorLabel" runat="server"></em></asp:Label>
<asp:TextBox ID="Author" Text="<%$Resources:Author %>"
runat="server" MaxLength="250"></asp:TextBox>
<p class="example">
<asp:Literal ID="Literal22" runat="server"
Text="<%$Resources:AuthorNote %>"></asp:Literal></p>
</li>
<li>
<asp:Label ID="Label8" AssociatedControlID="Subtitle"
Text="Subtitle" runat="server"></asp:Label>
<asp:TextBox ID="Subtitle" Text="" runat="server"></asp:TextBox>
</li>
216
USER MANUAL
The changes above will only appear when editing the news because edit news and create news
templates are in two different files. To update the template that creates the news, follow these steps:
<!--Provides user interface for adding new news items in the News
module.-->
<viewSettings hostType="Telerik.News.WebControls.Admin.NewsItemNew"
layoutTemplatePath="~/Sitefinity/Admin/ControlTemplates/News/NewsItemNew.a
scx" />
<li>
<asp:Label ID="Label3" AssociatedControlID="Author" Text=""
runat="server">
<asp:Literal ID="Literal21" runat="server" Text="<%$Resources:Author
%>"></asp:Literal>
<em id="AuthorLabel" runat="server"></em></asp:Label>
217
USER MANUAL
<li>
<asp:Label ID="Label8" AssociatedControlID="Subtitle"
Text="Subtitle" runat="server"></asp:Label>
<asp:TextBox ID="Subtitle" Text="" runat="server"></asp:TextBox>
</li>
To add the Category column in the All Items list for the News module for example, follow these steps:
\Sitefinity\Admin\ControlTemplates\News\NewsItemList.ascx
\Sitefinity\Admin\ControlTemplates\News\App_LocalResources\NewsItemList.ascx.resx
218
USER MANUAL
NewsItemPreview.ascx - \Sitefinity\Admin\ControlTemplates\News
NewsItemPreview.ascx.resx - \Sitefinity\Admin\ControlTemplates\News\App_LocalResources
<telerik:GridTemplateColumn
UniqueName="Category"
SortExpression="Category"
HeaderText="Category">
</telerik:GridTemplateColumn>
b. Find the function called DataBindGrid, and change the requiredMetaFields variable to
include ‘Category’. It should look something like this:
The order of the fields is unimportant, since this method requests information for all the news items
from a web service.
NOTE: when you make such changes (e.g. to templates), they might not take effect immediately. A
change in the web.config, or a server restart, or application pool restart, will force the new changes to be
taken into account.
219
USER MANUAL
If you’d like to bind another property to the Text attribute, you’d need to make a user control with that
UI component, implement the ITextControl interface and assign its text property accordingly.
In this example, the News module’s summary textbox, in edit mode, will be replaced with a RadEditor:
To be better acquainted with the field adding process, please refer to the Control Templates section. To
use the RadEditor as opposed to a regular textbox as a meta field, follow these steps:
<%--<li>
<asp:Label ID="Label4"
AssociatedControlID="Summary" Text="<%$Resources:Summary %>"
runat="server">
<asp:Literal ID="Literal19"
runat="server" Text="<%$Resources:Summary %>"></asp:Literal>
<em id="SummaryLabel"
runat="server"></em></asp:Label>
<asp:TextBox ID="Summary"
TextMode="MultiLine" Text="" runat="server"></asp:TextBox>
<p class="example">
220
USER MANUAL
<asp:Literal ID="Literal20"
runat="server" Text="<%$Resources:SummaryNote %>"></asp:Literal></p>
</li>--%>
ASPX:
<telerik:RadEditor ID="RadEditor1"
runat="server"></telerik:RadEditor>
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
#endregion
}
5. Above the commented summary code in the NewsItemEdit.ascx file, add this code:
<li>
<uc1:RadEditorNewsSummary ID="RadEditorNewsSummary1" Text="Summary"
runat="server" />
221
USER MANUAL
</li>
You’ll notice that the text property is the same name as the field. This will ensure that data will be
read, inserted and updated.
Although the DropDownList and the Checkbox each have a text property, you might want to bind the
selected value property to the text property, so that value goes into the database. In this example, we
shall replace the News module’s summary textbox with a RadComboBox. This process is almost identical
to the steps for Using RadEditor as a Custom Field.
ASPX:
Note that the value and the text property the same. The user will see the text property, but the value
property, as highlighted above, is what goes into the database.
C# - Bind the Text property to the selected value property of the RadComboBox
222
USER MANUAL
return SummaryDropDown.SelectedValue;
}
set
{
SummaryDropDown.SelectedValue = value;
}
}
4. Above the commented summary code in the NewsItemEdit.ascx file, add this code:
<li>
<uc1: RadComboBoxSummary ID="RadComboBoxSummary1 " Text="Summary"
runat="server" />
</li>
You’ll notice that the text property is the same name as the field. This will ensure that data will be
read, inserted and updated.
Keep in mind that if you have another user control on the page with a tag prefix of uc1, you will need to
change its tag prefix. If you wanted to use a checkbox, as opposed to the RadComboBox, you’d just
replace the code in the .ascx file with a checkbox, since both controls have a selected value property.
Adding Thumbnails from Image and Documents Module to the News Module
These instructions will show you how to add a thumbnail selector, from the Images and Documents
module, when you’re editing the News module in the admin. Here is the end result:
To be better acquainted with the field adding process, please refer to the Control Templates section.
Here are the steps to add the field:
1. Between the <metaFields> tags of your Web.config, ensure that this code has been added:
223
USER MANUAL
2. To your XML File, add this code in between the <viewMode> tags:
<viewSettings hostType="Telerik.News.WebControls.Admin.NewsItemEdit"
layoutTemplatePath="~/Sitefinity/Admin/ControlTemplates/News/NewsItemEdit.a
scx" />
~/Sitefinity/Admin/ControlTemplates/Generic_Content/NewsItemEdit.ascx
~/Sitefinity/Admin/ControlTemplates/Generic_Content/App_LocalResources/NewsItemEdit.ascx.resx
<li class="selector">
<asp:Label ID="Label5" AssociatedControlID="Thumbnail" runat="server">
<asp:Literal ID="Literal18" runat="server" Text="Thumbnail"></asp:Literal>
<em id="ThumbnailLabel" runat="server"></em></asp:Label>
<asp:TextBox ID="Thumbnail" Text="" runat="server"
MaxLength="250"></asp:TextBox>
<sfLib:ButtonSelector runat="server" AssociatedControls="Thumbnail" />
<p class="example">
<asp:Literal ID="Literal21" runat="server" Text="Thumbnail
Note"></asp:Literal></p></li>
224
USER MANUAL
Adding Providers
Adding a provider can come in very handy if you want your Sitefinity modules to display items from
some other data source, or if you want to implement some functionality that is different from the default.
For instance, if you have several sites and need to display the same news articles across those sites, you
need to store these items in a common database. To achieve this, you need to:
set the connectionStringName attribute for each news provider to point to a connection string
to the same database;
set the applicationName attribute for each news provider to the same value.
Follow the steps below to add your own news provider, for example “Breaking News” provider.
225
USER MANUAL
3. Set the applicationName attribute to /BreakingNews. The new provider should look like this:
<add name="Breaking_News"
defaultMetaField="Title"
visible="False"
securityProviderName=""
allowVersioning="True"
applicationName="/BreakingNews"
versioningProviderName=""
connectionStringName="GenericContentConnection"
type="Telerik.Cms.Engine.Data.Providers.DefaultProvider,
Telerik.Cms.Engine.Data"
......
/>
4. From the <metaFields> collection in the <cmsEngine> section, copy all elements whose
keys start with “News”.
5. Paste the elements below the last element so the new ones are added to the collection.
7. Find the <news> section and from the <genericContentProviders> collection, copy the
first element and paste below it.
226
USER MANUAL
<add providerName="Breaking_News"
publicationDateField="Publication_Date"
expirationDateField="Expiration_Date"
thumbnailUrlField="Thumbnail"
urlRewriteFormat="[Publication_Date]/[Title].aspx"
urlDateTimeFormat="yy-MM-dd"
urlWhitespaceChar="_" />
Although steps 9 and 10 are optional, since templates are now embedded in Sitefinity 3.6, we
recommend copying the folders in case you need to adjust templates.
You will see a drop down list in the upper left corner when you go to Modules > News
227
USER MANUAL
You can also set different user permissions for the new provider, since you have a duplicate of the news
module in this example. When you put a NewsView control on a page, you need to specify the provider
name for the control. If no provider is specified, the default one is used. The ProviderName attribute is
located in the Advanced > Data section of the NewsView.
Please note that the connection string name is coming from the data access section of the Web.config:
<dataAccess defaultConnection="DefaultConnection">
<connections>
<add name="DefaultConnection"
driver="Nolics.ORMapper.DataProviders.SqlServer2005Provider"
connectionStringName="Sitefinity"/>
<add name="GenericContentConnection"
driver="Telerik.Cms.Engine.Data.Providers.GCSql2005Provider,
Telerik.Cms.Engine.Data" connectionStringName="Sitefinity"/>
</connections>
</dataAccess>
Here, the connection string name is coming from the connection string section:
228
USER MANUAL
Since the News, Blogs, Images and Documents and Events Module inherit features from the Generic
Content module, you must use the highlighted Generic Content Connection’s driver. So, if you’d like to
share content from two sites using two separate databases, follow these steps:
<add name="GenericContentConnection2"
driver="Telerik.Cms.Engine.Data.Providers.GCSql2005Provider,
Telerik.Cms.Engine.Data" connectionStringName="Sitefinity2"/>
If you do not want two web sites to share the same content, you need to change the applicationName
attribute for each provider. To do so, follow these steps:
<add name="Breaking_News"
defaultMetaField="Title"
visible="False"
securityProviderName=""
allowVersioning="True"
applicationName="Site1/BreakingNews"
...
229
USER MANUAL
This file contains all of the buttons available for the Generic Content module.
2. Copy the tag for the horizontal rule: <tool name="InsertHorizontalRule" />
3. Paste that line of code into this file: ~/Sitefinity/Admin/EditorToolsFile.xml
This file controls which buttons are visible in all instances of the RadEditor, which include the ones in
the News and Blogs modules. Any changes made here will affect the admin’s version Generic Content
module, such as when users edit news or create events, or when users are creating or editing pages.
After pasting that line, your code could look possibly like this:
<tools dockable="false">
<tool name="Bold" shortcut="CTRL+B"/>
<tool name="Italic" shortcut="CTRL+I"/>
<tool name="JustifyLeft" />
<tool name="JustifyCenter" />
<tool name="JustifyRight" />
<tool name="JustifyFull" />
<tool name="InsertOrderedList" />
<tool name="InsertUnorderedList" />
<tool name="InsertHorizontalRule" />
For more info on adding and removing buttons, please review this article.
The Generic Content Module allows you to populate a drop down list with CSS options by editing its
corresponding template. To get more familiar with the process, please read the Control Templates
section of this guide. To populate the drop down, follow these steps:
1. Between the <viewMap> tags of your XML file, add this code:
<viewSettings
hostType="Telerik.Cms.Engine.WebControls.Design.GenericContentDesign
er"
230
USER MANUAL
layoutTemplatePath="~/Sitefinity/Admin/ControlTemplates/Generic_Cont
ent/GenericContentDesigner.ascx" />
3. Add a CSSClasses element and the location of your external CSS file:
<telerik:RadEditor
runat="server"
ID="textEditor"
ContentAreaCssFile="~/Sitefinity/Admin/Themes/Default/AjaxControlsSk
ins/Sitefinity/EditorContentArea.css"
ToolsFile="~/Sitefinity/Admin/ControlTemplates/EditorToolsFile.xml"
Skin="WebBlue"
NewLineBr="False"
Height="360px"
Width="98%">
<ImageManager ViewPaths="~/Images" UploadPaths="~/Images"
DeletePaths="~/Images" />
<MediaManager ViewPaths="~/Files" UploadPaths="~/Files"
DeletePaths="~/Files" />
<FlashManager ViewPaths="~/Files" UploadPaths="~/Files"
DeletePaths="~/Files" />
<DocumentManager ViewPaths="~/Files" UploadPaths="~/Files"
DeletePaths="~/Files" />
<CssFiles>
<telerik:EditorCssFile
Value="~/Sitefinity/Admin/Themes/Default/AjaxControlsSkins/Sitefinit
y/EditorCssFile.css"/>
<telerik:EditorCssFile Value="~/Sitefinity/Admin/CSSFile1.Css" />
</CssFiles>
<CssClasses>
<telerik:EditorCssClass Name="Clear Class" Value="" />
<telerik:EditorCssClass Name="link" Value="a.link" />
<telerik:EditorCssClass Name="img" Value=".img" />
<telerik:EditorCssClass Name="redtext" Value=".redtext" />
</CssClasses>
</telerik:RadEditor>
a.link
{
color: #0000ff;
231
USER MANUAL
font-weight: normal;
font-style: italic;
}
.img
{
border: none;
}
.redtext
{
color: red;
}
Notice how the class class a.link is the value of <telerik:EditorCssClass above.
This dropdown can also be populated using inline styles. For more information, please read this article.
232
USER MANUAL
Disabling the Sitefinity Link Manager and Using the RadEditor Link Manager
Sitefinity uses a custom link manager:
//Telerik.Web.UI.Editor.CommandList["LinkManager"] =
function(commandName, editor, args) {
233
USER MANUAL
// var editorArgs =
editor.getSelectedElement();
// if (!editorArgs.nodeName || typeof
(editorArgs.nodeName) == "undefined" || editorArgs.nodeName != "A")
{
// var sel =
editor.getSelection();
// editorArgs = sel;
// editorArgs.Html =
sel.getHtml();
// editorArgs.Text =
sel.getText();
// }
234
USER MANUAL
5. Use the Link Manager of any RadEditor instance, for the exception of your own custom modules,
to see the Link Manager change
Amazon S3 Support
The Images and Documents module allows you store media on the Amazon S3. The instructions below
will show you how to add media to the Amazon S3 cloud using Sitefinity.
235
USER MANUAL
<!--<add name="Libraries"
urlRewriteFormat="~/{Provider}/{LibraryName}/[Name].sflb.ashx"
urlDateTimeFormat="yy-MM-dd" urlWhitespaceChar="_" visible="False"
defaultMetaField="Name" applicationName="/Libraries"
allowVersioning="False" allowLocalization="False"
localizationProviderName="" allowWorkflow="False"
securityProviderName="" versioningProviderName=""
connectionStringName="GenericContentConnection"
type="Telerik.Libraries.Data.DefaultProvider,
Telerik.Libraries.Data"
tagEditorTemplate="~/Sitefinity/Admin/ControlTemplates/Libraries/Bat
chTagsEditor.ascx" />-->
<storageSetting defaultProvider="Amazon">
<providers>
<add name="Amazon"
type="Telerik.Libraries.AmazonStorage.AmazonStorageProvider,
Telerik.Libraries"
downloadUrlPrefix="http://s3.amazonaws.com"
accessKey="YOUR ACCESS KEY"
secretAccessKey="YOUR SECRECT KEY"
bucketName="Sitefinity" />
</providers>
</storageSetting>
7. Add your Secret API key from Amazon to the secretAccessKey property:
236
USER MANUAL
The above picture is a blog post using Live Writer, though using the admin will also work appropriately.
To test this feature, you can monitor your site using Firebug and your list will look like this:
Down in the bottom there are two requests for images posted by Live Writer which are directly
forwarded to S3 server.
Viddler Support
Viddler allows users to share videos with other users. To enable Viddler support in Sitefinity, follow
these steps:
<sectionGroup name="telerik">
237
USER MANUAL
5. Add new section for our media provider, if it does not exist
<section name="mediaProvider"
type="Telerik.Libraries.MediaProvider.Configuration.MediaProviderSec
tion, Telerik.Libraries" requirePermission="false"/>
6. Under toolboxControls section register a new control that will display our videos.
<toolboxControls>
<!-- Viddler-->
<add name="Viddler Videos" section="VIDDLER"
type="Telerik.Libraries.WebControls.ViddlerVideo, Telerik.Libraries"
description="Viddler video content control" />
<add name="Viddler"
urlRewriteFormat="~/{LibraryName}/[Name].sflb.ashx"
thumbnailExtension=".tmb" urlDateTimeFormat="yy-MM-dd"
urlWhitespaceChar="_" visible="False" defaultMetaField="Name"
applicationName="/Libraries" allowVersioning="True"
allowLocalization="False" localizationProviderName=""
allowWorkflow="False" securityProviderName=""
versioningProviderName=""
connectionStringName="GenericContentConnection"
type="Telerik.Libraries.Data.ViddlerProvider,
Telerik.Libraries.Data"
tagEditorTemplate="~/Sitefinity/Admin/ControlTemplates/Libraries/Bat
chTagsEditor.ascx"/>
8. Find <libraryInfo> node and add the Viddler extensions and metaKeys
<mediaProvider defaultProvider="viddler">
<providers>
<add name="viddler"
type="Telerik.Libraries.MediaProvider.ViddlerProvider" apiKey="YOUR
KEY HERE" baseUrl="http://api.viddler.com/rest/v1/" />
</providers>
</mediaProvider>
</telerik>
238
USER MANUAL
10. Insert your API Key from Viddler into the apiKey property of the provider
11. Login in to your Sitefinity project and go to Modules > Images and Documents
12. Create a new library of type Viddler:
13. Under Viddler Credentials, enter your username and password for Viddler
14. Go to Synchronizer and choose which videos you want to synchronize with your library.
15. Go to the pages tab, click edit on a page, then drag and drop the Viddler control:
239
USER MANUAL
Note that VdrNetCred library will be automatically created. It collects date for your account and you
should not delete this library until you decide to change your credentials or remove Viddler provider.
1. Open the application web.config file and in the <libraryInfo> section, modify the value of the
defaultExtension attribute. In this case, we’re allowing files with the .xml extension to be uploaded
in the document library
<libraryInfo>
<add name=" Document "
title=" Document Library "
defaultExtensions=".doc, .docx, .rtf, .txt, .pdf, .ppt, .pptx,
.html, .xls, .xlsx, .xml"
metaKeys=" Author, Description, Extension, Name, Size,
Category">
</add>
…
</libraryInfo>
Note that you cannot add to the default extensions of image and video libraries.
The image libraries can only include the default ones: .png, .jpg, .jpeg and .gif.
The video library can only include the default one: .wmv
240
USER MANUAL
<libraryInfo>
…
<add name="Document"
title="Document Library"
defaultExtenstions=".doc, .docx, .rtf, .txt, .pdf, .ppt, .pptx,
.html, .xls, .xlsx"
metaKeys="Author, Description, Extension, Name, Size,
Category"></add>
<add name="MyLibrary"
title="MyLibrary"
defaultExtenstions=".*"
metaKeys="Author, Description, Extension, Name, Size,
Category"></add>
</libraryInfo>
Note that if you set the value of defaultExtensions to ".*", you will allow all file extensions.
241
USER MANUAL
This topic describes what you should do if you want to add a field called Caption to an image library and
display it at the edit image screen like this:
To better acquaint yourself with adding custom fields, please read the Overview of Adding Custom
Fields section of this guide. To add the field, follow these steps:
1. Open the project web.config file and in the <metaFields> collection, add this code:
<add key="Libraries.Caption"
valueType="ShortText"
visible="True"
searchable="True"
sortable="True"
defaultValue="" />
<libraryInfo>
…
<add name="Image" title="Image Library" defaultExtenstions=".png,
.jpg, .jpeg, .gif" metaKeys="Author, Caption, AlternateText,
Extension, Name, Height, Width, Size, Category" />
</libraryInfo>
242
USER MANUAL
\Sitefinity\Admin\ControlTemplates\Libraries\LibraryItemEdit.ascx
\Sitefinity\Admin\ControlTemplates\Libraries\App_LocalResources\LibraryItemEdit.ascx.resx
LibraryItemEdit.ascx - \Sitefinity\Admin\ControlTemplates\Libraries
LibraryItemEdit.ascx.resx -
\Sitefinity\Admin\ControlTemplates\Libraries\App_LocalResources
<li>
<asp:Label ID="Label8" runat="server"
AssociatedControlID="Caption" Text="Caption"></asp:Label>
<asp:TextBox runat="server" ID="Caption" MaxLength="255"
TextMode=MultiLine></asp:TextBox>
<p class="example"><asp:Literal ID="Literal10" runat="server"
Text="Descriptive text that goes beneath the image" /></p>
</li>
243
USER MANUAL
Overview
To customize the appearance of the poll results, you need to edit the templates located in the
~/Sitefinity/ControlTemplates/Polls folder and then in edit page mode, then set the Poll Box control
properties as described below.
Set the background color for the chart in the corresponding template by adding this Attribute to
the chart tag: Background-MainColor="SomeColor".
To make the answers for each question in a single chart look like below, follow these steps:
\Sitefinity\Admin\ControlTemplates\Polls\PollBox.ascx
\Sitefinity\Admin\ControlTemplates\Polls\ResultsBoxLegend.ascx
\Sitefinity\Admin\ControlTemplates\Polls\App_LocalResources\PollBox.ascx.resx
PollBox.ascx - \Sitefinity\ControlTemplates\Polls
244
USER MANUAL
ResultsBoxLegend.ascx - \Sitefinity\ControlTemplates\Polls
PollBox.ascx.resx - \Sitefinity\ControlTemplates\Polls\App_LocalResources
245
USER MANUAL
246
USER MANUAL
8. Open the
~/Sitefinity/ControlTemplates
/Polls/ResultsTemplateNoLeg
end.ascx file and modify the
chart.
247