
Demonstrates building an API server project from scratch, showcasing login, dashboard, home and article pages, paging, and minimal APIs in dotnet, Angular, and cloud technologies within an Optimizely CMS context.
Explore how page concepts are structured in Optimizely CMS, from the root start page to nested about us and events pages, including navigation, page types, and teaser content.
Create a new home page by adding a home page file in the pages directory and defining a page data class with a home page content type.
Design a home page by creating pages, configuring a layout and views, and wiring controllers in MVC, then render header, hero, navigation, and footer with Bootstrap.
Learn to create an article page in a CMS dashboard with Episerver CMS, including title clean architecture in dotnet eight, short description, full content, featured image, author, and tags.
Create an image file class in the media directory, define its content type with a grid, and add a media descriptor for jpg, png, and gif to enable uploads.
Design a dynamic home page with featured and recent articles, driven by a home page view model and paging, using a content loader to fetch data.
Build an article page by wiring article and page controllers, designing the article view with Bootstrap, and displaying title, published date, author, featured image, content, and tags.
Design profile: configure and run an Optimizely CMS project on IIS Express by editing launchSettings.json, adding an IIS Express profile with app url, ssl port, and authentication settings.
Use razor pages and viewmodels with a base page controller and page view model to render home and article pages. Bind page title, content, header, and article lists.
Create a clean layout page in an optimized cms by adding a shared layout with head, nav, body, and footer sections, wiring partials and verifying rendering.
Download part-1 covers creating and publishing a GitHub repository for the Episerver CMS blog example, initializing git, configuring gitignore, and pushing changes to the master branch.
Explore page layout in the Optimizely CMS MVC template, where each page has a separate title in the header. Build seo friendly websites with layout, views, and site page data.
Build views and shared layouts in the Alloy MVC project. Configure view imports and view start to expose site page data and seo metadata.
Display meta keywords and description in the header using site page data and a layout model, with comma separated keywords joined via the string join operator.
Learn to build a dynamic menu with an HTML helpers class and item templates, using lazy initialization and active page highlighting in an ASP.NET Core MVC Razor project.
Build a dynamic menu by applying the alloy extension for visibility, wire it to the route layout header, and render navigation using partials to populate the header.
Create a custom stoppable scheduled job in Optimizely CMS by adding a stoppable job class with a stop signal, wired to the API server scheduler and execute logic.
Episerver CMS (now known as Optimizely Content Cloud) is a powerful .NET-based CMS used to build enterprise-level websites. If you're planning to learn or teach Episerver CMS
1. Introduction to Episerver / Optimizely CMS
What is Episerver CMS? - Key Features of Optimizely Content Cloud -Architecture Overview - How Episerver works with ASP.NET MVC and .NET Core - Understanding the CMS Admin Interface
2. Setting Up the Development Environment
Prerequisites (Visual Studio, SQL Server, .NET SDK) - Install Episerver CMS using NuGet Packages - Explore the Alloy Sample Site - Folder structure and solution overview - How to Run and Debug the Alloy site
3. Content Types and Models
What are Content Types? - Create a new Page Type ([ContentType]) - Create a new Block Type ([ContentType]) -
Using Attributes: DisplayName, GroupName, Order - Media Types and Media management
ContentType Inheritance
4. Rendering Content in Razor Views
Create Page Controllers - Render content properties in Razor Views - Use @Html.PropertyFor() and @Html.RenderContentData() - Render Blocks dynamically - Work with Images and Media Files
5. Working with Blocks (Reusable Components)
Create shared and local blocks - Inline Block creation from CMS - Render blocks inside pages - Structure blocks like Accordion, Banner, etc.
6. Navigation, Menus, and Sitemap
Generate dynamic Navigation Menus - Build a Breadcrumb navigation - Implement Sitemap (XML and HTML)
Work with ContentReference and ContentArea
7. Templates, Layouts, and Design
Master Layout (_Layout.cshtml) - Design custom templates for different Page Types - Use DisplayOptions for blocks (Full Width, Half Width, etc.) - Work with Bootstrap for responsive design
8. Search and Filtering
Introduction to Episerver Find / Optimizely Search & Navigation - Install and configure Episerver Find - Implement search functionality - Faceted search and filtering
9. Personalization & Visitor Groups
Create and manage Visitor Groups - Apply personalization rules - Show personalized content based on user behavior
10. CMS Editor Experience and Customization - Introduction to the Episerver On-Page Editing - Add custom UI hints
Use UIHint.Image, UIHint.Textarea - Add custom Editor Descriptors - Tabs and Grouping of fields in the CMS
11. Security, Roles, and Permissions
Understand Episerver’s Role-Based Access Control - Add users and assign roles (Admins, Editors, etc.) - Restrict access to certain pages or content - Preview permissions and test user views
12. Multilingual Sites
Enable multiple languages - Create language-specific versions of content -Fallback languages and translations -Language selectors and switching
13. Routing, URLs, and SEO
Friendly URLs and URL Segments - Implement custom routes - Manage SEO Meta Tags, Title, Description - Canonical URLs and Redirects - Open Graph and Twitter Meta Tags
14. Data Access and Dynamic Content
Work with IContentLoader, IContentRepository - Retrieve content dynamically in controllers/services - Build dynamic widgets (Latest News, Featured Articles) - Content Events and Caching strategies
15. Scheduled Jobs and Background Tasks
Create and register custom Scheduled Jobs - Execute background tasks - Logging job progress and results
16. Forms and Data Submission
Introduction to Episerver Forms (Addon) - Build custom Forms - Store and process form data -
Custom validation and conditions
17. Deployment and Hosting
Best practices for deployment - Web.config settings for Production - Azure Hosting and Cloud Readiness - Database Backup and Migration
18. Add-ons and Integrations
Install popular Episerver Add-ons - E-commerce introduction (Episerver Commerce) - Integrate with third-party APIs
Add Social Media sharing functionality -
19. Analytics and Optimization
Use Optimizely Experimentation (A/B Testing) - Integrate Google Analytics - Content Recommendations
20. Advanced Topics
Create Custom Property Editors - Create Content Providers - Dynamic Data Store (DDS) - Headless CMS capabilities (Optimizely GraphQL APIs) - Performance tuning and caching -Unit Testing and Best Practices