HomeDev GuideRecipesAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Log activity

Track content changes with the Activity API to support project feeds, mirroring, and short-term auditing in Optimizely CMS 13.

The Activity API tracks content changes across pages, blocks, and media items. Use activity data to support project feeds, enable mirroring, and audit recent edits. The system logs each change as an Activity record.

📘

Note

The Activity API supersedes the deprecated ChangeLog API.

Activity retention and archiving

Control how long activity records persist to balance storage costs against audit requirements.

The system stores activities for at least one month. A scheduled job archives or deletes activities that no other platform feature depends on.

Archived activities persist for 12 months by default. Configure the ArchiveRetentionPeriod property on ActivityOptions to change the retention period. The value represents the number of months to retain activities in the archive.

The following values control archiving behavior:

  • 0 – Disable archiving. The system deletes activities immediately.
  • -1 – Disable archive cleanup. Activities remain indefinitely. Do not use this value without external safeguards.

Retrieve archived activities by calling IActivityQueryService.ListActivitiesAsync with the IncludeArchived flag set on the query.

Administrators change log

Review recent content changes through the Change Log interface in the admin view. Go to Change Log for details.

Programming interfaces

Build custom activity tracking and auditing by using the classes and interfaces in the EPiServer.DataAbstraction.Activities namespace (EPiServer assembly).

Related blog post: Activity log with custom content security activity