The last step before an agent goes live in the Microsoft datacenter is to submit the project files to the Windows Live Agents group, who make sure the project compiles and can be deployed in its current configuration. Unfortunately, many of the projects we receive compile fine but are misconfigured. Partners develop agents on their own machines and are able to launch them fine for testing purposes, but this doesn’t mean the agents are configured to work with our servers.
Here’s a high-level description of our hosting picture:
SVN ßà KMS ßàDS1, DS2 à IM Cloud, http, etc.
1. All projects live in an SVN repository.
2. The KMS, or Knowledge Management Server (sometimes called the Staging Server) is a full BuddyScript server with additional components for Usage Reporting, audits, and sometimes knowledge editing. The KMS has a web console just like the one that ships with the SDK, and can be used to launch agents, but it is not meant to handle production traffic or failovers.
3. The KMS checks the SVN repository every 5 minutes for changes. If it finds any, it checks out the project, merges the code, and recompiles.
4. The DS’s, or Deployed Servers (sometimes called Production servers), are BuddyScript servers that handle traffic to the production agent(s). There are at least two, one of which is logged into the Messenger cloud at any given moment, the other serving as a backup in case of failure.
5. When we hit the “Publish” button on the KMS, a snapshot of the version of the agent on the KMS is marked as “published.” The DS’s check the KMS periodically (usually every five minutes) for published changes. If it finds any, it picks up the agent code from the KMS and recompiles.
This model will change in the coming months, but for the time being it’s important to note that certain directives have to be in place in the agent’s configuration files for it to launch that may be unnecessary when you are launching the agent locally for limited testing. If the agent is misconfigured, we may fix it ourselves or send it back to you, but either way, some time is lost.
So what is the correct way to configure an agent? There is an easy way, and a hard way. The hard way is to copy an example project like HelloWorld or Tutorial, submit the agent, have it break, then try to figure out what’s missing.
The easy way is to use the instantiation script located here:
C:\Program Files\Colloquis\Colloquis SDK\Projects\WLATemplate\StartInstantiation.bat
After you tell the script the name of your project and the project files are instantiated, all you need to do to configure the agent is
1. Remove what you don’t need.
2. Add screen names.