Kentico 9

Transcription

Kentico 9

1. Developing websites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.1 Website development basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2 Choosing the right development model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3 Defining website content structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1 Page types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.1 Creating page types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.2 Creating content only page types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.3 Creating container page types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.4 Advanced content modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.5 Configuring page types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.5.1 Changing page type icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.5.2 Creating alternative forms for page types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.5.3 Specifying the URL pattern for content only pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.5.4 Extending the page type listing filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.5.5 Limiting the pages users can create . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.1.5.6 Reference - Page type properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.2 Custom tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.2.1 Creating custom tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.2.2 Editing custom tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.2.3 Managing custom table data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.2.4 Creating alternative editing forms for custom tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.3.2.5 Setting custom table permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4 Preparing your environment for team development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4.1 Setting up continuous integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4.1.1 Continuous integration repository structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4.1.2 Object types supported by continuous integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4.1.3 Restoring continuous integration files to the database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4.1.4 Using continuous integration with Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4.2 Working with object locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.4.3 Editing object code externally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.5 Developing websites using the Portal engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.5.1 Creating portal engine page templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.5.2 Editing page layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.5.3 Using and configuring web parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.5.4 Creating portal engine master pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.5.5 Inheriting portal engine page content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.5.6 Working with layout web parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.5.7 Using web part containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.6 Developing websites using ASPX templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.6.1 Creating master pages for ASPX templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.6.2 Creating ASPX page templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.6.3 Adding portal engine functionality to ASPX page templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.6.4 Using both ASPX and portal templates on a single site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.6.5 Exporting portal engine templates as ASPX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7 Developing sites using ASP.NET MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.1 Creating MVC applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.1.1 Installing Kentico integration packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.2 Creating content repositories for MVC sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.3 Defining content structure on MVC sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4 Developing MVC applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.1 Retrieving content on MVC sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.2 Working with page attachments in MVC applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.3 Generating classes for Kentico objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.4 Displaying shared content in MVC applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.5 Providing friendly URLs on MVC sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.5.1 Avoiding duplicate URLs on MVC sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.6 Providing smart search on MVC sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.7 Adding preview mode support for MVC sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.8 Localizing data on MVC sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.9 Handling 404 Not Found globally in MVC applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.10 Processing scheduled tasks when developing MVC applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.4.11 Testing MVC controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.5 Improving performance of MVC applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7.6 Deploying MVC applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.8 Using ASP.NET Web API with Kentico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.9 Managing page templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10 Loading and displaying data on websites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.1 Loading page data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.1.1 Writing page path expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.2 Building website navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.3 Loading data using custom queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.4 Displaying data from custom tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.5 Writing transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.5.1 Creating transformations for pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.5.2 Using hierarchical transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.5.3 Writing transformations for custom tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.5.4 Using transformations in macro expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35137140141143145152155156160166172174

1.10.5.5 Displaying context menus in transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.5.6 Reference - Transformation methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.6 Filtering and paging data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7 Displaying data - advanced scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.1 Creating wizards on websites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.2 Setting up syndication feeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.2.1 Syndication transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.2.2 Usage example - CMS RSS feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.2.3 Usage example - RSS feed Data source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.2.4 Usage example - RSS repeater Data source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.2.5 Usage example - External RSS feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.2.6 Syndication web parts and widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.3 Displaying related pages using named relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.4 Displaying image galleries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.5 Displaying maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.5.1 Displaying static maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.10.7.5.2 Displaying dynamic maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.11 Designing websites using CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.11.1 Combining stylesheets from multiple sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.11.2 Using printer friendly CSS styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.11.3 Creating printable versions of pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.11.4 Creating skins using ASP.NET themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.11.5 Adding CSS to page components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.12 Previewing design changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.13 Developing websites for mobile devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.13.1 Configuring mobile development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.13.2 Creating device profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.13.3 Resizing images for devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.13.4 Creating page layouts for devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.13.5 Mapping shared mobile layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.13.6 Creating mobile pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.13.7 Creating separate website sections for mobile devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.13.8 Device macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.14 Preparing widgets for users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.14.1 Creating widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.14.2 Setting up widget zones on pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.14.3 Configuring permissions for widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.15 Validating website code and accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.15.1 Validating HTML code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.15.2 Validating CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.15.3 Validating links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.15.4 Validating accesibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.16 Managing JavaScript files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.17 Troubleshooting websites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.17.1 Viewing system information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.17.2 Working with the system event log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.17.3 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247248253255256257257257258259260260261265

Developing websitesBasicsAn overview of the development process as we see it. What are page templates and what is the role of the content editors?Development models (Portal engine, ASPX or MVC?)Kentico offers several ways to build websites. If you are not sure which development model to follow, learn about their advantages anddisadvantages.Website data structureBefore you begin developing websites, familiarize yourself with the system's data structure. Learn how pages and files are organized,and about page types and custom tables.Developing websites using the portal engineDesign websites directly in your browser with minimal coding.Developing websites using ASPX page templatesRegister ASPX web forms as templates in the system and use them to create pages.Developing sites using ASP.NET MVCASP.NET MVC is a powerful tool for building dynamic websites.Loading and displaying data on websitesLearn how to display various types of data on your website's pages. Use components to load the required data and convert it into aviewable format using Transformations.Troubleshooting websitesLearn where to view system information and the event log, and how to debug websites.Designing websites using CSSAdjust the appearance and design of your websites using CSS. Manage your CSS files directly in Kentico, or use your CSS filesgenerated by your favorite automation tools.Preparing widgetsCreate components that content editors and other types of users can add onto pages.Development for mobile devicesDesign your web pages to be easily viewable on mobile devices. Create device profiles for tablets, smartphones, or other devices, prepare unique page layouts for different profiles and develop mobile web pages.

Team developmentConfigure your environment to support development in a collaborating team.Website development basicsThe following figure shows the typical website development process in Kentico, and how the roles are split between developers and contenteditors:1. The developers analyze client requirements.2. The developers prepare the site structure (site map) and the overall web design. Designers can use external wireframing toolsduring this process.3. The developers create page templates for every type of page required on the site (home page, solutions, products, news, etc.).4. The content editors create new pages — they enter text and images into the page templates defined by the developers.What is a page template?Page templates define the structure, design and core functionality of pages.The website can re-use a single template for any number of pages.Content editors can enter different content for all pages based on the same template.Templates allow editors to focus just on the content of pages, without the needing to take care of the page's layout and formatting.Templates help keep the design consistent throughout the whole website.

There are three different development models that you can use to create page templates in Kentico.Choosing the right development modelKentico provides three basic development models. You can choose the model that best suits your needs:Portal Engine - allows you to build websites in a browser-based interface using components called web parts. Only requiresprogramming in Visual Studio when creating custom components.ASPX Templates - can be chosen by ASP.NET developers who prefer to create websites using standard ASP.NET architecture andstandard development tools, such as Visual Studio. This model requires you to be familiar with ASP.NET web form developmentand have at least basic programming knowledge of C# or VB.NET.MVC - allows developers to create websites using the Model-View-Controller architectural pattern (based on the ASP.NET MVCframework). Working with this model requires knowledge of programming and ASP.NET MVC.If required, the Portal Engine and ASPX Templates models can be combined on a single website. For example, you can place pages usingASPX templates onto a portal engine website, and even insert custom ASPX pages implementing your own applications. On the other hand,you can create ASPX page templates with areas that can be edited through the portal engine.Portal EngineHow you workHow you assemble pagesASPX TemplatesMVCYou build the website and designpages using a browser-basedinterface.You build ASPX pages (web forms)that are used to display content fromKentico .You implement models, controllersand views for rendering pagesrendering content retrieved from theKentico database.No programming knowledge isrequired for common tasks.At least basic programmingknowledge of ASP.NET and eitherC# or VB.NET is required.You use built-in or custom web partsthat you place into customizablepage layouts (HTML code withplaceholder zones for web parts).You use built-in or custom ASP.NETserver controls and place them ontothe ASPX pages. These arestandard web forms that are part ofthe web project, so you can alsowork with code behind files.It is also possible to place web partson the page templates if the requiredserver control is not available.Master pages and visualinheritanceSubpages can nest within anyancestor pages. You can break thenesting on any level.Page templates may inherit contentfrom a master page, which worksjust like a standard ASP.NET masterpage (.master file).Requires knowledge of MVCarchitecture, ASP.NET and C# orVB.NET.The appearance of the content youdisplay is defined completelythrough MVC views, which arecomposed of HTML and inline code.The content structure in Kentico isrepresented by content only pages,which do not have page templatesas they serve as content repositoriesonly.Visual representation is handled bythe MVC application completely.Pages do not inherit content fromtheir parents in the website contenthierarchy.Custom code integration andextensibilityYou can create your own usercontrols (ASCX files) or web parts(ASCX files with a portal engineinterface) if you need to integratecustom functionality.You build standard ASPX pageswith code behind files, which meansyou can place any custom controlsand code onto the page.You prepare the content of the MVCviews and the functionality of thecontroller and model classes inVisual Studio, so have full controlover customization.Any custom controls or code can beadded to the web parts placed onthe website.AdvantagesEasier and faster way to buildwebsites.ASP.NET programmingknowledge is not required forcommon tasks.You can build the wholewebsite very quickly, using onlya web browser.Standard ASP.NETarchitecture.You can use your favoritedevelopment tools, such asVisual Studio.Model-View-Controllerarchitecture.The option of using the Razor view engineDevelopment via standard tools(Visual Studio).DisadvantagesProprietary architecture anddevelopment process.Requires ASP.NETprogramming knowledge.The design of the web pagescannot be fully managed viathe browserbasedadministration interface.Development tasks requireknowledge of ASP.NET MVCand programming.The design of the web pagescannot be managed via thebrowserbased administrationinterface.

Defining website content structureOn this page, you can learn how to best store and organize data in Kentico.Deciding how you're going to store content in your projectKentico recommends storing data that you use on your website in the following ways:As pages - a hierarchical structure in the content tree of the Pages application.When should you use pages to store content?In module classes - suitable for storing large amounts of data in a flat structure.When should you use module classes to store content?More information on module classes.In custom tables When should you use custom tables to store content?More information on custom tables.In media libraries - suitable for storing large files, not exclusively of media character, such as videos, high resolution images orpackaged files.When should you use media libraries to store content?More information on media libraries.When should I use pages to store content?Use pages as a content storage when you need:Hierarchical structure - for example, when storing news articles or products:StoreCoffeesCoffee product 1Coffee product 2.BrewersAccessoriesGrindersE-booksother store sectionsWorkflow - you require to use workflow for your content. Module classes and media libraries don't support workflow.Item-level permissions - you require to configure access permissions on individual content item level. Pages allow you to configureaccess control lists for this purpose.Multilingual content - pages allow you to store content in different languages and manage its translations.Pages are stored in the content tree. The content tree defines the navigation and site map of the website:Limitations of using pages for storing contentWe recommend limiting the number of pages in the content tree to 500 000 to preserve performance.The limit depends largely on how the system is used and configured. If you mainly use the system for read operations, suchas displaying the content on the Live si

Kentico . At least basic programming knowledge of ASP.NET and either C# or VB.NET is required. You implement models, controllers and views for rendering pages rendering content retrieved from the Kentico database. Requires knowledge of MVC architecture, ASP.NET and C# or VB.NET. How you assemble pages You use built-in or custom web parts