We have just released a new major version of Xatkit: Xatkit v.2.0.0. This release is the very first complete release of Xatkit (versions 1.X.Y were early-stage development releases that are not available anymore). The release contains two components.
The focus of this release has been to simplify the installation and future extensions of Xatkit.
Installing Xatkit
Now every new release is prepackaged and ready to install. Releases are available as part of the new Xatkit-Releases repository
Each release contains two artifacts:
- xatkit_X.Y.Z.zip: the Xatkit runtime bundled with a list of preset platforms. The Xatkit runtime runs your digital assistants, stores logs and monitoring information, and manages your assistant’s life-cycle. The list of bundled platforms is available in the release description.
- xatkit-update-site_X.Y.Z.zip: an Eclipse update site containing the Xatkit language editors. The editors allow to define intent libraries, platform specifications, and mix them in complex execution logic that can be executed by the Xatkit runtime.
You can find additional information regarding Xatkit installation in our wiki.
Extending Xatkit
Xatkit has always followed a flexible and completely modular model-based architecture (see image below) where chatbots, bots and any kind of digital assistants can be defined without writing code. Xatkit takes care of translating these high-level chatbot specifications to the actual running bot.
This specification involves a set of intents (each intent represents a possible intention the client has when interacting with the bot) and for each intent the corresponding reaction to be executed (either a text reply as part of the conversation, the call/s to an external service or both). Intents are recognized via a Natural Language Understanding (NLU) component that takes as input the user sentences and tries to match them against the expected intents.
The same bot can be deployed over a number of platforms without any rewriting. A set of predefined platforms are prepackaged with the platform. Once the bot is defined and the client has chosen the set of platforms to deploy the bot over, the Xatkit runtime component “compiles”, deploys and executes the bot.
As part of this second release, we have reorganized the Xatkit code to make sure this modular vision is fully reflected in the code and repositories organization.
New Xatkit Development Environment
The Xatkit Development Toolkit (XDK) aims to ease the enhancement and development of new Xatkit core components, eclipse plugins, and platforms.
With the XDK you can download all the Xatkit core source code plus the platforms you’re interested in and easily improve the code and rebuild Xatkit. Just don’t forget to contribute your enhancements back to Xatkit 🙂 !
XDK pulls (on-demand) any updates from all the other Xatkit repositories so you’ll also be able to keep your code in sync with the new releases or code improvements in the master branches of the core code or any of the platforms.
Cleaner Organization of Repositories
To make sure the Xatkit organization on GitHub maps the conceptual architecture depicted above we have decoupled the platform code from the core Xatkit code.
Now every platform has its own repository. This simplifies the import of any platform in your next Xatkit bot development project.
What’s next for Xatkit?
We’re already preparing some exciting new features for the next version (more on this soon…) but, as always, let us know what you’d like to see next!
Photo by Joel Filipe on Unsplash