Kentico CMS 5.5 R2 Developer's Guide
Contents
Index
Introduction
Introduction
About this guide
Where do I get further help?
Version history
Kentico CMS overview
What are the benefits of Kentico CMS?
How does it really work?
Where is the content stored?
How do I edit content?
How do I develop a website?
Installation and deployment
Overview
System requirements
Installation procedure
Setup (KenticoCMS.exe)
Web installer
Overview
Local IIS server
Built-in web server in Visual Studio
Remote server
Existing installation
Database setup
New site wizard
Overview
New site
Website template
Deployment to the live server
Uninstallation
Additional configuration tasks
Overview
Creating a virtual directory
Configuration for Medium Trust environment
Configuring Application Pools
SMTP server configuration
Installation on shared hosting server
Installation in medium-trust environment
AppPool permissions on Windows 7 or Windows Server 2008 R2
Database replication
Overview
Creating a publication
Creating a subscription
Modifying structure of a replicated DB
Configuration of full-text search in files
Overview
Configuration on MSSQL 2005 and 2008
Configuration on MSSQL 2005 Express Edition
Searching PDF files
Searching Office 2007/2010 documents
Custom URL extensions and extensionless URLs
Overview
IIS 7 and higher
IIS 6
Configuration of custom URL extensions (.html or other)
Lock violation on IIS7
Visual Studio integration
Opening the project
Adding Kentico CMS Controls to the Toolbox
Debugging
Pre-compilation (Publish function)
Visual Source Safe and Team Development
Opening a VS2005 project in VS2008
Troubleshooting installation issues
Overview
SQL Server connection problems
ASP.NET not working on Windows Server 2003
Internal server error when using Integrated pipeline mode
Disk permissions problems
Disk permissions problems
Solution on Windows 7
Solution on Windows Vista or Server 2008
Solution on Windows XP
Solution on Windows 2003
System backup and recovery
Content management
Overview
Organizing pages, files and documents
Editing content
Creating a new page
Creating a new structured document
Previewing documents
Creating a linked document
Drag-and-drop operations with documents
WYSIWYG editor
Overview
Insert image or media
Overview
File sources
View modes
Inserting images
Inserting flash
Inserting audio/video
Inserting image or media from Web
Quickly insert image
Insert link
Overview
Link properties
Links to content within the CMS
Links to Web
Links to anchors
Mailto links
Insert YouTube video
Editing inserted items
Copy & Paste from Microsoft Word
Defining custom toolbars
Defining styles
Dialogs configuration
Dialogs security
Document properties
Overview
General
URLs
Template
Metadata
Categories
Menu
Workflow
Versions
Related docs
Linked docs
Security
Attachments
Languages
File management
File management overview
Document attachments
Overview
Example: Unsorted attachments
Example: Grouped attachments
Available web parts
Available inline controls
Handling attachments in transformations
Using the File field
Temporary attachments handling
Attachment names
Handling images
Image editor
Resizing images on upload
Where the files are stored
Files-related settings
Using the Media selection control
Document listing
Content search
Content scheduling
Using the built-in spell-checker
Accessing content using .NET code (API)
Permissions and security
FAQ
Managing sites
Site Management Overview
Managing sites
Starting and stopping sites
Creating a new site
Export and import
Overview
Exporting a site
Exporting objects
Exporting single objects
Importing a site or objects
Folder structure and import/export
Excluding files and folders from export
Import/export troubleshooting
Configuration on W2008/IIS7
Deleting sites
Creating web templates
License management
Managing site settings
Configuring multiple web sites
Multiple web sites on a single domain (in subfolders)
Configuring nested web sites
API Examples
Website settings
Settings overview
Development
Overview
Web development overview
The role of a web developer
What is a page template
Portal templates versus ASPX templates
Portal engine development model
Portal engine overview
Creating a new page template
Re-using an ad-hoc page template
Page template scopes
Page layouts
The master page concept
Editing the master page
Visual inheritance
Content tree and page templates
Managing page template catalog
Cloning and modifying a page template
Using and configuring web parts
Web part binding (obsolete)
Adding custom code to web parts (obsolete)
Common web part properties
Path and macro expressions in web part properties
Adding custom code to the portal page template
Displaying data from an external database or Web Service
Developing sites for mobile devices
Portal engine development internals and API
Database tables and API classes
Page templates
Getting page template data
Managing page templates and their categories
Assigning and removing page templates from sites
Managing page template scopes
Page layouts
Getting page layout data
Managing page layouts
ASPX page template development model
Overview
Creating a new ASPX page template
Creating ASPX master pages
Adding custom code to the ASPX page template
Combining ASPX templates and portal engine templates
Integration with your existing ASP.NET application
Displaying data from an external database
Caching and performance
Overview
Caching options
Troubleshooting performance issues
File management and performance
CSS stylesheets and design
Overview
App themes
Printer friendly CSS styles
Print page
CSS stylesheet internals and API
Database tables and API classes
Getting CSS stylesheet data
Managing CSS stylesheets
Assigning CSS stylesheets to sites
Debugging
Overview
Particular debugs
System objects debug
Cache items debug
Worker threads debug
Cache access debug
SQL queries debug
Page ViewState debug
Output debug
Security debug
Macros debugging
Request debug
Web farm debugging
Bulk keys for all debugs
System error notifications
Document types and transformations
Overview
Transformations
Defining a new document type
Writing transformations
Adding custom functions to transformations
Context menus in transformations
E-mail templates
E-mail templates
Form controls
Overview
Developing form controls
Inline controls
Overview
How to develop inline controls
Membership, permissions and security
Security model overview
User management
Role management
Username customization
Permissions
Permissions overview
Document permissions
Document-level permissions
Security
Secured website areas
SSL (HTTPS) support
Cross site scripting (XSS)
Configuration of allowed request parameters
Managing security using .NET code (API)
UI personalization
Overview
Quick example
How does it work
Personalizable parts of CMS Desk
Overview
CMS Desk main tabs
CMS Desk -> Content tab
CMS Desk -> Content -> Edit -> Properites tab
CMS Desk -> My desk tab
CMS Desk -> Tools tab
CMS Desk -> Administration tab
WYSIWYG editor
Media dialog
Enabling UI personalization
UI profile configuration
UI elements management
UI elements management overview
Example: Adding a new main tab to CMS Desk
User registration
Available registration web parts
Registration form web part
Creating a custom registration form
Registration approval and double opt-in
Shared user accounts
Badges
Badges
Defining badges
Assigning badges to users
Activity points
Available form controls
Custom fields visibility
How it works
Enabling visibility controls
Use in custom form layouts
Configuring the web parts
Authentication
Authentication overview
Windows authentication (Active Directory)
Configuring Windows authentication (Active Directory)
Windows authentification on Windows 7/2008 R2/Vista (IIS7 or higher)
Securing a web site section using Windows authentication
Active Directory Import Utility
AD Import Utility overview
Using the wizard
AD import from command line
How to recognize imported users and roles
Configuring mixed mode authentication
Integrating authentication with external systems
Single sign-on
Displaying personalized content
Third-party authentication services
Overview
Windows Live ID
Overview
Registering your application
Settings
Available web parts
OpenID
Overview
Settings
Available web parts
Facebook Connect
Overview
Registering your application
Settings
Available web parts
Managing imported users
Membership internals and API
Database tables and API classes
Managing users
Managing roles and permissions
Managing badges
Microsoft Silverlight integration
Overview
Adding a Silverlight application to your site
IIS configuration
Multilingual and international support
Overview
Configuring multilingual content
Configuring multilingual and RTL UI
RTL languages
Languages and URLs
Default language selection
Localization Expressions
Translation management
Overview
Culture-dependent workflow scopes
Translation status overview
Language-bound editors
Page processing and URLs
Overview
URL rewriting
Multiple document aliases
URL format and configuration
Wildcard URLs
Linking pages and files
GetFile.aspx parameters
Output filters
Google Sitemap
Rebranding
Changing a logo in the header
Removing the log-on bar
Changing logo of CMS Desk and CMS Site manager
Renaming resource strings
Scheduler
Overview
Scheduling a custom code
Scheduler internals and API
Database tables and API classes
Getting scheduled task data
Managing scheduled tasks
Running a scheduled task
SQL import
How to use the SQL import utility
System tables and custom fields
Overview
Custom document data
Web parts
Overview
Developing web parts
Modifying web parts
Modifying web parts
Setting web part properties dynamically in your code
Customizing web part layout
Modifying code of standard web parts
Web part inheritance
AJAX support
Web part containers
Containers overview
Creating web part containers
Data source web parts
Using Data source web parts
Problems with XML data source
Developing Data source web parts
Developing custom filters
Widgets
Overview
Developing widgets
Using widgets
Security
Widget internals and API
Database tables and API classes
Getting widget data
Managing widgets and their categories
Setting widget permissions
Workflow and versioning
Overview
Defining a workflow
Using workflow
E-mail notification in workflow process
Versioning and rollback
Versioning without workflow
Content locking
Managing workflow using .NET code (API)
Modules
Overview
Developing custom modules
Abuse report
Overview
Available web parts
Using the In-line abuse report web part in transformations
Abuse reports management
Integration with other modules
Security
Abuse report internals and API
Database tables and API classes
Submitting an abuse report
Getting abuse reports from the database
Updating an abuse report
Deleting an abuse report
Alternative forms
Overview
Creating an alternative form
Joining two classes into one form
Automatically used alternative forms
Avatars
Overview
Changing user avatars
Changing group avatars
Managing avatars
Settings
Avatars internals and API
Database tables and API classes
Getting avatar data
Modifying and creating avatars
Displaying avatars in transformations
Bad words
Overview
Enabling the module
Defining a bad word
Possible actions
Multilingual support
Security
Bad words internals and API
Database tables and API classes
Creating bad words
Getting and updating bad words
Deleting bad words
Performing bad word checks
Banned IPs
Overview
Enabling IP banning
Banning an IP address
Finding an IP address
Security
Banned IPs internals and API
Database tables and API classes
Getting banned IP data
Modifying and creating banned IPs
Checking if actions are banned
BizForms
Overview
Creating a new form
Displaying a form on the live site
Managing BizForm data
Notification and autoresponder e-mails
Notification and autoresponder e-mails
Notification e-mails
Autoresponder e-mails
Using macros with BizForms
Defining custom form layout
Security
BizForms internals and API
Database tables and API classes
Creating a new record
Updating a record
Deleting a record
Customization possibilities
Blogs
Overview
Sample blog
Adding a blog to your site
Adding posts to your blog
Moderating comments
Blog layout and design
On-site management via User contributions
Settings
Security
Managing blogs using Kentico CMS API
Trackbacks
Trackbacks overview
Enabling trackbacks
Blog comments notifications
Who can be notified
User subscriptions
E-mail templates
MetaWeblog API
Overview
Windows Live Writer installation
Registering blog account
Publishing first blog post
Managing blog posts
Multilingual support
Settings
Security
Booking system
Overview
Publishing the events
Managing attendees
Security
Booking system internals and API
Database tables and API classes
Adding an attendee
Editing an attendee
Removing an attendee
Categories
Overview
Global categories
Custom categories
Adding a document to a category
Using the Category list web part
Content rating
Overview
How to enable content rating on the web site
Other involved web parts
Displaying ratings in transformations
Content rating internals and API
Content rating database tables and API classes
Adding document rating
Getting document rating
Modifying document rating
Resetting document rating
Content staging
Overview
What can be synchronized
Content staging configuration
Bi-directional staging
Synchronizing the content
Automatic synchronization
Using X.509 authentication
Security
Synchronization using API
Custom tables
Overview
Creating custom tables
Managing custom tables
Managing data in custom tables
Available web parts
Transformations for custom tables
Security
Custom tables internals and API
Database tables and API classes
Adding an item into a custom table
Getting items from a custom table
Editing a custom table item
Deleting a custom table item
Getting custom tables
A complete example
Document library
Overview
Document library web parts
Document library widget
Creating a document library
Managing files in document libraries
Security
E-commerce
Overview
E-mail queue
Overview
Administrating the e-mail queue
Sending mass e-mails
Settings
Event calendar
Overview
Using the web part
Design and Styles
File import
Overview
Importing files
Security
Forums
Overview
Creating a forum group
Creating a pre-defined forum
Publishing a pre-defined forum on the website
Adding an ad-hoc forum to the web
Adding forum searching
Managing forum posts
Forum moderation
Subscriptions
Forum post attachments
BBCode support
Forum favorites
Friendly URLs
Customizing forum design
Security
Settings
Forums internals and API
Database tables and API classes
Creating forums
Creating threads
Friends
Overview
Requesting friendships
Friends management
Available web parts
Examples of use
Security
Settings
Geo mapping
Overview
Bing maps
Google maps
Yahoo maps
Example: Displaying offices on the map
Groups
Overview
Groups management
Editing a group
Enabling users to create groups
How site users create a new group
Security
Settings
Groups internals and API
Database tables and API classes
Getting group data
Modifying and creating groups
Managing group members
Managing group roles
Creating a group invitation
Image gallery
Overview
Available web parts
Available page templates
Importing images
Transformations
Media libraries
Overview
Creating media library
Media library content
Uploading files
Files and folders management
Supported file types
Supported file size
File naming conventions
Displaying files from media library
Using Media library web part
Using WYSIWYG editor
Settings
Media library settings
Configuring custom storage for media library
Configuring custom file types
Configuring maximal uploaded file size
Security
Media library permissions
Secured vs. Non-secured libraries
Message boards
Overview
Using the Message board web part
Managing message boards
Editing message boards
Setting Board base URL
Settings
Security
Message board notifications
Who can be notified
User subscriptions
E-mail templates
Messaging
Overview
My messages
Adding the messaging functionality to the live site
E-mail notifications
Security
Messaging internals and API
Database tables and API classes
Creating a new message
Deleting all messages
Adding a user to contact list
Removing a user from ignore list
Newsletters
Overview
Creating a static newsletter
Authoring static newsletter issues
Creating a dynamic newsletter
Integrating newsletters into the site
Newsletter templates
Subscriber management
Subscriber import and export
Troubleshooting
Security
Notifications
Overview
Creating a notification message template
Subscribing users to content changes notifications
Managing users' notifications
Custom notification gateway
Overview
Custom notification gateway form
Custom notification gateway class
Registering a custom gateway
Using the gateway on your site
Settings
Security
On-line users
Overview
Enabling the On-line users module
On-line users tab
On-line users web part
On-line users internals and API
Database tables and API classes
Getting on-line user data
Checking if a user is on-line
Kicking a user
Polls
Overview
Managing polls
Publishing polls
Adding a poll to your site
Multilingual support
Security
Polls internals and API
Database tables and API classes
Creating a new poll
Updating an existing poll
Add a new answer
Change the number of votes
Add authorized roles
Deleting a poll
Deleting a poll answer
Project management
Overview
Managing projects and tasks
Project management web parts and widgets
Using project management on the live site
Security
Settings
Reporting
Overview
Managing report categories
Creating a new report
Creating a new report
Creating a new Table
Creating a new Graph
Creating a new Value
Defining report parameters
Saving a report
Displaying a report on a website
Security
Reporting internals and API
Database tables and API classes
Getting report data
Managing reports and their categories
Creating graphs, tables and values
Editing the layout of a report
Saving the current status of the report
Getting HTML code of a saved report
Syndication (RSS, Atom, XML)
Overview
Syndication web parts and widgets
Syndication transformations
Usage examples
CMS RSS feed
RSS feed + data source
RSS repeater + Data source
Creating RSS feed pages manually (obsolete)
SharePoint integration
Overview
Web parts
Usage examples
Site hierarchy
List items
Picture libraries
List of pictures
GetSharePointFile page
Settings
Smart search
Overview
How it works
Enabling Smart search indexing
Managing indexes
Creating an index
Defining document index content
Defining forums index content
Defining custom tables index content
Defining user index content
Settings for particular object types
Available web parts
Using the Smart search filter
Search syntax
Related scheduled tasks
Searching attachments
Security
SQL Search overview
Smart search internals and API
Database tables and API classes
Getting search index data
Managing search indexes
Performing a search
Creating an indexing task
Search results in transformations
Tags
Overview
Managing tag groups
Tagging documents
Using the Tag cloud web part
Time zones
Overview
Enabling the module
Setting user's time zone
Managing time zones
Daylight saving time
Use in web parts
Time zones internals and API
Database tables and API classes
Getting time zone data
Managing time zones
Converting time according to a time zone
Displaying correct time in your code
User contributions (Wiki)
Overview
Example: Publishing community news
Example: Editing partner profile
Security
User contributions and API
Web analytics
Overview
Available reports
Tracking marketing campaigns
Tracking conversions
Configuration options
Security
Creating custom reports
WebDAV integration
Overview
Requirements
Configuration for WebDAV
Editing files using WebDAV
Integration with User contributions
Integration with Document library
Integration with WYSIWYG editor dialogs
Settings
Web farm synchronization
Overview
Defining web farm servers
Web farm synchronization internals and API
Database tables and API classes
Getting web farm synchronization task data
Managing web farm servers
Managing web farm synchronization tasks
API programming and Kentico CMS internals
Overview
CMSContext class
TreeHelper class
Managing documents
Content management internals
Select document(s)
Create document
Update document
Delete document
Copy document
Move document
Using transactions when managing documents
Create linked document
Delete linked document
Managing attachments and files (cms.file)
Managing attachments
Managing files (cms.file)
Managing documents with workflow
Versioning internals
Workflow internals
Updating a versioned document
Managing workflow schema
A complete example
Security management
Security Internals Overview
Managing users
Setting user password
Managing roles
Managing user roles
Authenticating user
Checking user permissions
Site management, import and export
Creating a new website
Import and export of a website
Getting website data
Updating website properties
Starting and stopping websites
Deleting websites
Custom Providers
Custom Providers Overview
Custom Data Provider
Custom E-mail Provider
Custom Search Provider
Data layer
Overview
Code examples
Pre- and post-processing queries
Global events and their handling
Event handling overview
Data handler (CustomDataHandler class)
Exception handler (CustomExceptionHandler class)
Security handler (CustomSecurityHandler class)
TreeNode handler (CustomTreeNodeHandler class)
Workflow handler
Customizing system objects with custom data or objects
Customizing the administration interface and web application events
Using API and CMS Controls outside CMS project
Customizing providers from the App_Code folder
Appendix A - Macro expressions
Appendix B - Path expressions
Appendix C - Web.config parameters
© 2011 Kentico Software