Agility works in a disconnected fashion to allow for improved performance and reliability. Content is synchronized to the desired web server/domain in the form of Binary serialized files as well as document files that have been uploaded to the system (assuming you're not using Amazon S3). The files are placed within the configured path on the server defined in the Web.config of the Agility website application. The attribute name that defines the content file path within the web.config is contentCacheFilePath and this setting is defined in the Agility.Web settings node.
Within the Agility Content Manager Domain configuration section (under Settings) you are able to define the domains you wish to publish content to. Communication between the Agility Content Server and the website is established with the AgilityWebsiteService.svc file that should be contained in the root of all Agility web applications by default. This WCF service handles all the communication required and all logic for this service is contained within the Agility.Web.dll.
Development Mode vs. Live Mode vs. Staging
There are two modes that a website can be set to, development mode and live mode. This setting is controlled within the web.config with the attribute developmentMode defined in the Agility.Web settings node. This value can be either true or false. When in live mode, content can be viewed as either Staging or Published.
Development mode is used when a site is being developed locally. When in development mode communication with the Agility Content Server is real time and all new content added to the site is automatically downloaded and placed in the contentCacheFilePath in the /Staging folder. When Development mode is enabled, content does not need to be published to be accessible on the site. Please note that there may be reduced performance when in Development mode due to the communication requirements with the Agility Content Server for all content being displayed.
Live mode is used when the site is in a live production environment. When in live mode, you must publish content for it to show up on the site. This mode is enabled when developmentMode is set to false. When in this mode the web site does not download content in real time. All content must be published so that it can be synchronized with the domains defined in the Domain Configuration settings section. The live website loads content from the binary content files that are synchronized to the contentCacheFilePath/Live Folder. This mode provides the best performance as there is no HTTP Traffic required to grab the content from the Agility Content Server.
When the site is in live mode, there are two ways to view the content: 1) Staging, which is the latest iteration of all content on the site, and 2) Published, which is the final published version of the content. When an end user visits the site, they are served up the published version of the site. When an Agility end-user previews a page or content in Agility, they see the staging version. Previewing the staging content is secure and is only available to users with access to the Content Manager.
Domain Configuration with multiple web servers
Defining the domains within the Domains Configurations settings tells the Agility Content Server which domains to publish and synchronize content to. When working with a multiple server web farm you will need a unique domain that points to each server specifically so the content server can publish files to each server independently.
Common domain naming schemes:
If we had 2 web servers we would add 2 domains to our domain list to publish content to, for example:
The X1 domain would point to the first web server website path and the X2 domain points to the second web server website path.