Administering CMS - Optimizely CMS 12
Exam Area: Area 1 – Product Knowledge (15%)
Reference: https://docs.developers.optimizely.com/content-management-system/docs/admin-view
1. Admin View Access
URL: /episerver/cms/admin
Required role: WebAdmins
2. Admin UI Structure
| Section | Features |
|---|
| CMS | Content Types, Property Types, Languages, Visitor Groups, Categories |
| Config | Websites, Search Settings, Media, Tab Definitions, Access Rights |
| Reports | Link Status, Change Log, Content Usage |
| Scheduled Jobs | View, configure, run background jobs |
| Admin | Users, Groups, Access Rights, Tools |
| Add-ons | Browse and manage installed add-ons |
3. Tools (Admin → Tools)
| Tool | Purpose |
|---|
| Mirroring | Configure content replication to another CMS |
| Rebuilding indexes | Rebuild search indexes |
| Automatic link validation | Check for broken links |
| Export content | Export content tree as a package (.episerverdata) |
| Import content | Import a content package |
| Reset page shortcuts | Fix broken shortcuts |
| Compare properties | Compare content type schemas across environments |
4. Content Export / Import
Admin → Tools → Export data
→ Select a content tree branch
→ Choose options (include media, access rights, etc.)
→ Download .episerverdata file
Admin → Tools → Import data
→ Upload .episerverdata file
→ Map content types
→ Choose overwrite/skip behavior
5. Access Rights
Admin → Config → Access Rights
→ Global access rights (not per content item)
→ Controls Edit View, Admin View access per role
OR
Edit View → right-click page → "Access rights"
→ Per-content ACL settings
6. Languages Administration
Admin → CMS → Languages
→ Add/enable/disable language branches
→ Set fallback language
→ Set language permissions (which roles can edit which language)
7. Categories
Admin → CMS → Categories
→ Create category tree (hierarchical)
→ Categories are assignable to content via CategoryList property
→ Used for: tagging, filtering, related content
// CategoryList property
[Display(Name = "Categories")]
public virtual CategoryList Category { get; set; }
// Query by category
var articles = _contentLoader.GetChildren<ArticlePage>(parent)
.Where(p => p.Category.Contains(categoryId));
8. Tab Definitions
Admin → Config → Tab Definitions
→ Create/rename tabs that appear in the All Properties editor form
→ Assign a sort order to each tab
// Assign property to a tab
[Display(GroupName = "SEO", Order = 10)]
public virtual string MetaTitle { get; set; }
// Define the tab (custom)
[GroupDefinitions]
public static class GroupNames
{
[Display(Name = "SEO", Order = 30)]
public const string SEO = "SEO";
}
9. Recycle Bin (Waste Basket)
Admin → Tools → Manage Waste Basket
→ List deleted content
→ Restore: move back to original location
→ Delete permanently: remove from database
→ Empty waste basket: delete all items permanently
Review Questions
- What role is required to access the Admin View? (WebAdmins)
- What file format is used for content export/import? (.episerverdata)
- What is the Recycle Bin called in CMS? (Waste Basket — accessed via Admin → Tools → Manage Waste Basket)
- How do you assign a property to a specific tab in the Edit View form? (
[Display(GroupName = "TabName")] attribute — and register the tab in Admin or via [GroupDefinitions])
- Where do you configure which roles can edit which languages? (Admin → CMS → Languages → per-language permissions)