- BLOB storage and providers
- Client resources
- Configuring episerver
- Configuring episerver.dataStore
- Configuring episerver.framework
- Configuring episerver.packaging
- Configuring episerver.search
- Configuring episerver.shell
- Configuring module.config
- Configuring staticFile
- Configuring episerver.basicAuthentication
- Configuring .NET SignalR
- Configuring Image Service
- Configuring link validation
- Reading application settings programmatically
- Page types and templates
- Block types and templates
- IContentRepository and DataFactory
- Persisting IContent instances
- ContentType attribute
- Grouping content types and properties
- EditHint in MVC
- Creating a page programmatically
- Selecting content
- Converting page types for pages
- Refactoring content type classes
- Multilingual content
- Assets and media
- Planning deployments
- Installing database schema
- Setting up multiple sites
- Content Delivery Network (CDN) Configuration
- Configuring your email server
- Automatic schema updates
- Storing UTC date and time in the database
- Database mode
- Deployment scenarios
- Dynamic content
- Dynamic data store
- Event management
- Scheduled jobs
- Search integration
- Searching and filtering
- Installing and deploying Search Service
- About Episerver full-text search client
- About Episerver full-text search service
- Configuring Episerver full-text search client
- Configuring Episerver full-text search service
- Searching for pages based on page type
- Adding search providers
- Authentication and authorization
- Virtual roles
- Configuring Active Directory membership provider
- Recommendations for ASP.NET security settings
- Securing edit and admin user interfaces
- Federated security
- Forms authentication
- OWIN authentication
- Configuring mixed-mode OWIN authentication
- Permissions to functions
- Protecting users from session hijacking
- Managing cookies on the website
- EPiServer AspNetIdentity
- Integrate Azure AD using OpenID Connect
- User interface
- Context-sensitive components
- Service locator
- Describing content in the UI
- Shell profile
- Store architecture
- Message service pool
- Publish and subscribe messaging system
- Introduction to Dojo
- Using jQuery
- Plugging in a gadget
- Creating a component
- Extending the navigation
- WebSocket support
- Dashboard gadgets
- Command Pattern
- Object editing
- User notifications
- Virtual path providers
Subscription keys [Beta]
[New in Episerver CMS Core 9.4]
Note: This is a pre-release API that is UNSTABLE and might not satisfy the compatibility requirements as denoted by its associated normal version.
How it works
This API supports storing a link between a key and an user. You can then later use the API to get a list of users subscribing to a key. A key can be anything you want formatted as an Uri.
Access the API by getting an instance of the ISubscriptionService interface, with which you can subscribe or unsubscribe a user and find users that subscribe to a particular key.
This API is just a supporting service and subscriptions are independent from user notifications, no calls are made from one to the other. That means you need to use the subscriptions API to populate the recipient field when creating a notification message because an event happened in the system. If the sender is also a subscriber you may need to filter the list before sending the message to avoid that the person triggering the event also gets notified.
A subscription key is in URI format and identifies something that can be notified. The format is unconstrained but should match the item it identifies.
The subscription key indicates that the user is interested in that item and items below it; that is, all items that have a key that starts with the subscribed key.
Note: You should end the key with a path delimiter (/}, so that a key that ends with an ID that begins with another ID is not accidently matched.
Subscribe and unsubscribe
Use the Subscribe methods to add one or more users to a subscription.
Use the Unsubscribe method to remove one or more users from a subscription.
You can hook into the UserSubscribed and UserUnsubscribed events. They only are triggered for changes. If a user is added to a subscription twice, it only triggers for the first.
By calling ClearUser, subscriptions for that user are removed so use it only when you delete a user from the system. The ClearSubscription method removes users from that particular subscription. The UserCleared and SubscriptionCleared events are called for these respectively.
ListSubscriptions returns a list of subscriptions for a user.
List and find subscribers
ListSubscribers returns a list of users that subscribe to a specified subscription. The FindSubscribersAsync method returns users that match a subscription key, fully and partly (begins-with).
Note: The partly matching is done on whole segments (delimited by slashes) in the URI path.