📚 Product Knowledge
Finding Information
📖 Docs

Finding Information - Optimizely CMS 12

Exam Area: Area 1 – Product Knowledge (15%)


1. Finding Content in CMS

In Edit View:


2. Search in Admin

Admin UI (top right search bar)
  → Search by Content name
  → Search by Content ID
  → Jump to content

3. Content Reports

Admin → Reports
  → Most edited pages
  → Changed by
  → Unpublished content
  → Expiring content
  → Link Status (broken links)
  → Custom reports (developer)

4. Find Content by URL

// Find content from a URL
public class ContentFinderService
{
    private readonly IUrlResolver _urlResolver;

    public ContentFinderService(IUrlResolver urlResolver)
    {
        _urlResolver = urlResolver;
    }

    public IContent FindByUrl(string url)
    {
        var routedContent = _urlResolver.Route(new UrlBuilder(url));
        return routedContent;
    }
}

5. Find Content by Type

// Get all content of a specific type
public IEnumerable<ArticlePage> GetAllArticles()
{
    var criteria = new PropertyCriteriaCollection
    {
        new PropertyCriteria
        {
            Name = "PageTypeName",
            Type = PropertyDataType.PageType,
            Condition = CompareCondition.Equal,
            Value = nameof(ArticlePage),
            Required = true
        }
    };
    
    return DataFactory.Instance.FindPagesWithCriteria(
        ContentReference.RootPage, criteria);
}

6. EPiServer.Find Search (Advanced)

// Use the Find add-on for full-text search
// See details: 03_Website_Implementation_Delivery/04_search_navigation.md
var results = _searchClient.Search<ArticlePage>()
    .For("keyword")
    .GetContentResult();

Review Questions

  1. What is the quickest way to find content in Edit View? (Search bar in the navigation panel)
  2. What can Reports in Admin find? (Most edited pages, broken links, expiring content, etc.)
  3. How do you find content by URL in code? (IUrlResolver.Route())
  4. What does EPiServer.Find add over built-in search? (Full-text search, relevance ranking, facets)