When working in Teneo Studio, the user is working on a solution that is only accessible from a Studio client. To make the same solution available via the web, the user has to publish it. Once published, the solution can be interrogated over the web by visitors, who could be fellow solution developers, testers or another internal or external audience.
Do not confuse the published solution with the conversational AI application or the frontend application that visitors talk to. The result of a successful publish action is a web application that will accept user inputs and return replies that are based on the processing of the user input in the published solution. In the below diagram, the result of a publish action in the Web App in the middle.
A publishing environment is a descriptions of a location in cyberspace where a solution will be deployed.
A publishing environment must have at least one target; the target is the location where the web application is deployed. If a publishing environment has multiple targets, they are accessed transparently as a cluster via the web address set for the publishing environment. This web address is where the conversational AI application or any frontend device can talk to the Teneo Engine and access the published solution.
Normally, publishing environments are configured and maintained by system administrators; although depending on the hosting situation and on the user permissions inside the Teneo environment, the user may be able to configure (parts of) a publishing environment. Bear in mind that only admin users can create new publication environments.
Publish workflow and environments
In a production environment, a solution should not go live before it has been tested by the Quality Assurance team. So, in a production scenario there tends to be a number of different publishing environments:
- the DEV (Development) environment intended for the solution developers
- the QA (Quality Assurance) environment intended for testing the solution by a QA team
- the PROD (Production) environment which is the solution that is consulted by the target audience, this could be general public or a group of internal users.
In the Solution Properties of a solution in Teneo Studio, it is possible to mark the Quality Control option; when this option is marked, a publishing workflow is automatically enforced.
This means that instead of publishing directly from the database, publishing must be done from one stage in the publishing workflow to the next, so i.e. the solution may only be published to a Production environment by republishing from a QA environment.
So with Quality Control, a publishing action forwards the latest published version in the selected environment to the next stage in the publishing workflow. The only exception is publishing to Development, since that is the starting point of the publishing workflow so it must be done directly from the database.
The interface also allows to publish directly to QA, however the last step to Production can only be done from the QA environment or from the Production environment selecting from which QA environment the publish should be performed.
With Quality Control, publishing is done from the Dev environment and publishing to Production is done from the QA environment (or from the Production environment, selecting the QA environment to republish). The option to select for these two actions in the publishing drop-down list is Republish latest to [name of next stage].
Without Quality Control, all publishing actions publish the current version in the database to the selected environment. The option selected in the publishing drop-down list is simply called Publish.
Full application deployment
When a solution is published for the first time, the user is sending two separate packages of information into cyberspace; the first package to land is the web application (say: Engine). Once that has been properly deployed, the knowledge base follows. Publishing both packages is called a full publish. The first time a solution is published, a full publish must be performed.
When a solution has been published once and the user starts updating it using Teneo Studio, the next time the solution is to be published all that needs to be send into cyberspace will be the (updated) knowledge base.
The situation is different if the performed changes requires an update of the web application as well, for example by adding a resource (e.g. a jar file) or modifying something in the publish environment configuration. In this case, a full republish (i.e. web app and knowledge base) is needed and the user will be prompted to perform such a full publish during the publication process.
When the prompt to perform full application deployment is shown during the publishing process, the user should simply tick the Perform full application deployment on Try again option before clicking Try again for the full publish to be performed.