Scheduling vs Access Control - Content Management
Scheduling vs Access Control
Kaltura has two mechanisms for enforcing time-based access:
Entry-level scheduling (simpler):
- Set
startDateandendDateon the entry - Single start/end window
- Enforced server-side across all devices
- Configurable via Rich Media CMS (KMC) without API calls
Access control scheduling (advanced):
- Multiple scheduling windows per entry
- Combined with other conditions (device + time, country + time)
- Metadata-driven scheduling (per-device availability windows)
- Requires access control profile configuration
Use entry-level scheduling when a single time window is sufficient. Use access control scheduling for per-device windows, multiple windows, or combined restrictions.
Checking Scheduling Status
Use baseEntry.getContextData to check whether content is currently available:
curl -X POST "$KALTURA_SERVICE_URL/service/baseEntry/action/getContextData" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "entryId=$KALTURA_ENTRY_ID" \
-d "contextDataParams[objectType]=KalturaEntryContextDataParams"
The response (KalturaEntryContextDataResult) includes:
isScheduledNow-- boolean, whether the entry is within its scheduling windowactions-- array of access control actions that would be enforcedmessages-- array of rule messages
Use isScheduledNow to display user-friendly messages (e.g., "This video is available from X to Y") instead of a blank player.