Qorus developer tools for the Qorus Integration Engine.
This extension makes it possible to easily create, deploy, and test Qorus interfaces directly from the Visual Studio Code editor.
It is a perfect tool for creating no-code solutions for the Qorus Integration Engine. The Qorus Developer Tools extension enables
creating, editing, and extending reusable IT and AI building blocks for advanced automation challenges.
Version 4.3.9
- Fixed a bug where a config item with a data provider value that contained a { character could not be read properly
- Fixed a bug where git branches were not loaded properly in the Releases view beacuse of Microsoft API changes
- Changed the
Add Error
button to properly display Add Method
in the Mapper Code methods manager
- Removed
Make Transition
option from FSMs context menu - please use the double click functionality to create transitions between states
Version 4.3.8
Version 4.3.5
Bug fixes
- Fixed a bug where value-maps values were not properly quoted in YAML
Version 4.3.4
Bug fixes
- Default value for
strictly_local
flag on config items was changed to false
Version 4.3.3
Bug fixes
- Fixed a bug where a config item edit structure button was incorrectly disabled
- Added delete config item button
Version 4.3.2
Bug fixes
- Fixed a bug where duplicated config items would be shown in the WebView & saved in YAML
Version 4.3.1
Bug fixes
- Moving FSM states in the Flow Builder now drops the states at the mouse anchor
Version 4.3.0
New features
- Enetring message data in message FSM states can now be done using both a free-form text and a guided form
Version 4.2.5
Bug fixes
- Fixed a bug where the some options were sent to the server without being properly yaml serialized
Version 4.2.4
Bug fixes
- Fixed a bug opening connections with invalid connection options for the current server that could cause a crash
Version 4.2.3
Bug fixes
- Fixed a critical bug opening services in the IDE that could cause a crash
Version 4.2.2
Bug fixes
- Fixed a critical bug where many existing mappers using data providers for input and/or output would not load properly
Version 4.2.1
Bug sixes
- Fixed a bug reading config items in jobs and services
Version 4.2.0
New features
- New Interfaces list view - view and manage all local, remote interfaces, and drafts in one place
- New & improved config items view - config items can now be filtered, zooming in and out is now possible, and the view is now more user friendly
- Improved navigation - Added breadcrumbs to some views, added back button to the topbar that allows you to go back to the previous view
- Types now support descriptions
Version 4.1.0
New features
! Important ! - Some features of this release require Qorus 6.0.3 or later to be installed on the server.
- Variables in FSMS - Variables in FSMs can be declared which allows Qorus developers to restrict the data type of values that can be assigned to of the variable. When a variable is declared as type
data-provider
, then the variable will be instantiated when referenced according to the configuration provided in the IDE, and the variable will be persistent until it goes out of scope. Variable action states can be created from data-provider
variables as well, that allow actions to be executed on the data provider. Because these variables are persistent, and because data-provider
variables normally represent a connection to a server or network service, this allows Qorus users to implement actions on a persistent object or connection in FSMs such as transaction management or connection-oriented actions that require persistence to work properly.
- Data providers now support Favorites - save any data provider you frequently use to your favorites and access them quickly from the Favorites button in the data provider browser
- Flow Builder (FSM) now supports zooming in and out of the diagram! See the new zoom controls in the top right corner of the diagram.
- Template values are now fetched from the Qorus server and provide descriptions for each value. This makes it easier to understand what each value is for
- New Transaction block added to FSMs. This block allows you to group multiple states into a single transaction. This is useful for example when you want to perform complex manipulations on records in a record-based data provider (such as a database, for example) in a single transaction. If any of the states in the transaction fail, the transaction will be automatically rolled back, while if the transaction block exits with no errors, the transaction is automatically committed.
- Event based data providers are now supported for services, including automatic variables for events with FSMs associated to them
Main Features
- Qorus Webview
- Configuration manager helps to easily manage configuration data of the project (no need for manual work with qorusproject.json).
- Support for creating of Qorus interfaces such as jobs, services, steps, workflows, classes, mappers etc.
- Connecting building blocks using class-connections manager allows to create no-code solution for complex enterprise integration scenarios
- Release package management
- Hierarchy view of all interfaces in the project
- and more
How to use
There are three main user interfaces to use the extension:
- Webview
- Hierarchy view
- Commands
Webview
The webview can be opened using the Qorus icon, which placed in the hierarchy view and also in the VS Code action bar or by qorus webview command. The webview can be used for creation/editing of Qorus interfaces, project configuration, release package management and much more.
Creating Qorus mapper using the provider API support:
Hierarchy view
The hierarchy view provides an overview of the open project. In the interfaces
tab all interfaces that are currently present in the project and based on the src directories
configuration are shown. They can be sorted according to the folder hierarchy on the disk or according to interface types. Also the hierarchy view provides quick actions in order to perform operations on the server or make changes on local files such as deploying an interface to an active instance or creating a new interface.
The instances
tab of the hierarchy view displays all configured environments with instances and links to them based on the configuration file (qorusproject.json).
The interpretation of the data is depicted by a tree with three levels:
- development environments (here
local
and dev
)
- Qorus instances (here both environments have two Qorus instances)
- URLs: the Qorus instance "main" URL at the first position and then any custom URLs, if any (here only the 'dev 1' Qorus instance in the 'dev' environment has any custom URLs). Custom URLs are supposed to serve as shortcuts for opening project related sites - simply by clicking (the opened tool/browser depends on the operating system).
The corresponding tree looks as follows:
* local
* main local Qorus instance
* main URL (http://localhost:8001)
* local Qorus instance
* main URL (https://localhost:8011)
* dev
* dev 1
* main URL (http://1.2.3.4:5678)
* abc (sftp://abc@def/ghi)
* xyz (sftp://xyz@uvw)
* dev 2
* main URL (https://2.3.4.5:6789)
Deployment
There are several possible deployment methods:
- Deploy the file currently active in the editor. This can be done using keyboard shortcut
Ctrl+Alt+o
or by using command Qorus: Deploy current file
from the Command Palette.
- Use the
Qorus: Deploy file
command from a file's context menu (in the Explorer view).
- Use the
Qorus: Deploy directory
command from a directory's context menu (deploys all deployable files in the directory including subdirectories).
- Use the Deploy buttons shown when hovering mouse cursor over an interface or a directory in the Qorus Interfaces tree view.
The deployment is targeted to a Qorus instance that is currently set as active.
A Qorus instance can be set as active in the Qorus Instances tree view, either from the context menu of a Qorus instance node (second level node) or simply by clicking a Qorus instance node directly.
Active Qorus instance is marked by a green light icon. At most one Qorus instance can be active at a time. Setting another instance active deactivates the previously active instance.
Login/Logout
If a Qorus instance requires authentication (and the user has not yet logged in that instance) the Set as active Qorus instance
command opens a login dialog. After a successful login, the instance will become active. Also login can be performed in the webview.
Authentication tokens are stored, so that next time logging-in is not required.
(Tokens are only stored in memory while VSCode is running, not persistently.)
Context menus of instances in the Qorus Instances tree view contain also the following commands:
- Login without setting the instance active.
- Logout (if the instance was active it becomes inactive).
- Set the instance inactive while staying logged in.
Hints
If there can be a heavy filesystem traffic in a part of the project folder, such as running a build with make,
exclude that part from file watching otherwise the extension may get frozen:
- open settings (File -> Preferences -> Settings)
- switch to the Workspace tab
- search for "watcher exclude"
- add a pattern there
If you are not using the Qore programming language and would not like to see messages relating to missing Qore infrastructure for the Qore Language Server, unset the Qore: Use QLS
setting in Settings (or add "qore.useQLS": false
in settings.json
)
Contributing
The Qorus Developer Tools project welcomes all constructive contributions. Contributions can be of many forms including bug fixes, enhancements, fixes to documentation, additional tests and more!
See the Contributing Guide for more technical details on contributing.
Security Issues
If you discover a security vulnerability in this repository, please see Security Policies and Procedures
License
MIT