This topic describes areas to consider when you develop solutions with multiple sites for Episerver Digital Experience Cloud Service. In a multisite solution, you need to decide whether the sites can share the same code base, and if there is content that the sites cannot share.
Episerver is multi-tenant meaning that a single running instance of Episerver CMS can host multiple websites using a shared database, and the same content assets. You can add new sites from the CMS admin view, and the start pages will share the same root page in the content structure. See Setting up multiple sites.
In DXC Service, sites use the same Web App, and share the same code base and Episerver Find index. You can have an unlimited number of sites in the Web App. Common scenarios include solutions for the fashion industry, where sites may share the same content types and controllers, but each brand use different views and styles, resulting in different outbound presentations.
Consider how to organize your code using standard conventions and site-specific structures. Can the sites share the same code base, or do you need to separate them? Can you work with shared models and controllers, but use different views?
Note: Editors with access to multiple sites will have access to all.
Defined display channels and display options are available across all sites. Consider how to manage these if different websites have different requirements. For example, you can use TemplateResolver to detect which template should be active for a specific site.
Forms in a multisite solution are available for selection across sites. To restrict access to forms, you can apply access rights on form folders, just as you do for other types of content items. You can also create a specific virtual role for managing forms.
Episerver offers built-in categorization functionality to tag content, and build features based on this. Categories are shared between sites in a multisite solution. You can organize categories by site in a hiearchical structure, or you can build your own category system.
Added visitor groups are available for all sites in edit view. You can create a specific role for managing visitor group criteria (optional), and ensure that editors working with content personalization are included in the group, and well-aware of which visitor groups to use in what context.
If sites in a multisite solution are administered by different editors, you can set up site-specific groups to provide editing access in selected parts of the shared content structure. See access rights in the Episerver user guide.
While available for on-premises versions of Episerver, Lucene.NET is not supported with DXC Service. Instead, Episerver Find is included providing advanced search features, and should be leveraged in your search implementation.
Sites with Episerver Find share the same index, and optimizations apply to all sites. Each site has its own partition of the index, and a shared partition for shared content. You can view search results and statistics per site or across all sites; you can limit search results per site.
When translating user interface texts using the built-in localization service, you can create one or more XML files with any name, in the ~/Resources/LanguageFiles folder.
Note: Content types may have the same class name in code, using a different namespace and class name. To ensure that users can differentiate these, use unique DisplayNames. See Localizing the user interface.
Custom cultures such as ”en-gb”, “en-us”, and ”fr-ca”, are curently not supported for solutions running in Episerver DXC Service. Cultures are part of the standard operating system, and require changes to the registry to modify or add them. This modification is not allowed by the Azure App Service.
See Implementing custom cultures, CultureInfo, localize Azure App Service (MSDN) for more information.
Installed add-ons are available across all sites. However, you can restrict access through configuration by setting access rights for the location paths.
You can debug on your local machine and in the Integration environment. Debug in other environments only when absolutely needed. See Troubleshooting.
Last updated: Mar 27, 2019