[crayon-5c7219a636a76851737190/] Multiple Approaches: 1. Rest / POST / GET // Run rule as GET Stopwatch ruleGET = newStopwatch(); for (int i = 0; i < iterations; i++) ...
Decisions Services have Integration Details Page that contain an assisting information about how to implement a desirable operation. To view this page we navigate to System > Administration > Features...
You can install the Decisions SDK as a NuGet package in Visual Studio. Note: the Decisions SDK .msi file is not being updated. Always use the NuGet package to ensure a current version. To install...
Overview This document shows how to embed a form that’s used to kick off a workflow, or an In Session Form. In another web app this is done by running the form via URL on the Decisions application server....
Custom Folder Entities are special objects that can 'reside' in a Decisions folder. If you are just looking to easily store data in a table a simple ORM object (described i) may be all you need. However,...
Typesafe vs. non typesafe ORM accessors There are two classes that represent access to the ORM storage ORM<T> DynamicORM The difference between these classes is the generic one...
Adding Index to Field Indexes can be declared on fields that have been marked to be stored by the ORM. An index name and a flag to say if index is unique can be added to this. Below is an example of...
Using overrides to the [crayon-5c7219a833e62925527744-i/] attribute, you can set what database type is used to store a field. For more information on writing ORM types see ORM Basics. Here is an...
ORM Base Classes There are three ORM base classes that you can inherit from in order to create an ORM object. They are as follows: [crayon-5c7219a834535235397946-i/] - adds logical delete functionality to...
The system settings are stored in the settings.xml file which is found at [crayon-5c7219a8167df356879931-i/] in a default Decisions installation. Any of the values of this file can be accessed and...
Overview Flows in Decisions can be assigned something called a Flow Behavior. A Flow Behavior acts like an interface definition for a flow. It can enforce expected inputs and outputs as well as create...
There are 2 mechanisms for adding 'add actions' to a folder. 1. Adding this interface to a 'service' that is created. If you want to grant users the ability to create these entities in any folder,...
Overview Creating custom data sources for reports is useful when you know ahead of time what all of the data sources will be. When the list of data sources can only be known at runtime, it's useful to create...
Overview Report data sources can be easily created for use in Decisions by tagging public classes with an attribute. Example Create a new Class Library project in Visual Studio. Add a reference...
Summary When creating simple decisions steps by registering public methods, you may also set default values for the inputs of those methods. This allows Designers to still change these input values, but...
Summary You can easily create new steps to be used in Decisions by creating public static methods in a class file project. This article will show you how to accomplish this. *Note custom codes are...
Summary You can easily create new rules to be used in Decisions by creating public methods in a class file project. This article will show you how to accomplish this. *Note custom codes are located...
Summary You can easily create new datatypes to be used in Decisions by creating classes in a class file project. This article will show you how to accomplish this. *Note custom codes are located...
Summary While creating simple steps using the Public Static method is easier, you may want to write a full Decisions step if you need to do complex things. These may include having multiple outcome...
Although it is easier to write simple rules {see Rule steps (simple)) for instructions on registering simple public bool methods as rules}, you may want to take the time to write an advanced rule that...
When writing an advanced step, your class must inherit from [crayon-5c7219a84480e415219750-i/] if you want your step to have input data that you can map in at run time. The below line of code illustrates...
Summary One of the primary reasons to create custom step is to be able to setup the initial state of an element right. This often means setting up the right types of mappings. This document shows how...
Overview You can change how property editors display in the tool. For example, a property editor that appears as a text box may be converted to a drop down menu. You can make these changes by decorating...
Overview The way that step properties show up in the designer can be modified using the [crayon-5c7219a846276942958235-i/] attribute. This document shows how to use this attribute. The following...
Decisions includes a number of built-in text merge fields like "Capitalize," "Lower," and "Insert Current Date." These merge fields can be used to dynamically manipulate strings or insert data from other...
Serialization of elements (like flow steps and page elements) is handled by a mechanism called Writable. This mechanism has two ways of being accessed: Attributes marking up an object IWritable...
Summary The Decisions server logs are stored in a csv file on the server at [crayon-5c7219a8175df353390298-i/]. Utilizing these logs can be extremely important to debugging code that you've written....
After writing your own code for Decisions, you will often want to debug this code. To do so follow the steps outlined below. 1) Build and deploy your code. 2) Run Visual Studio as Administrator 3)...
When creating a flow there is the ability to create Sample Data to make sure that the flow is operating correctly. Sample Data or automated tests are called Unit tests and can be located and created from...
What is a settings object A settings object is a collection of values that a portal user can edit and which can be used by code. Many times these settings are used to store things like connection information...
Overview Using the techniques described below, you can cause validation messages to appear on the properties and inputs of your steps at design time. These validations can evaluate only the value of a...
Overview If your application requires its own set of settings, you can create new settings via code. After creating these settings, the values of these settings can be fetched and set via code (see Accessing...
In addition to marking up the object with attributes, there are a few interfaces that allow for customization of the storage and hooking events around the storage. 1. Specifying Custom Serialization ...
Intro Here's how to set up Decisions to work with a messaging system. Decisions Messaging is a pluggable system that can be extended via our SDK, available since Decisions 3.2.x. The built in messaging...
For reference on Building a Module, please refer to: Building A Module (Advanced) Module Anatomy - These are the folders that are unpacked from any module that gets installed. Not all of these...
This tutorial demonstrates how to reset Local Modules to remove or update custom DLLs using Decisions.LocalModuleReset.exe tool. To learn how to deploy custom DLLs, please click here. This tool is important...
Overview A module is a zip file that contains files and folders that Service Host Manager interprets and places in the correct locations. This zip file can either be created manually or using the [crayon-5c7219a8182a4732408998-i/] tool...
[crayon-5c7219a85d2f5109368448-i/], much like [crayon-5c7219a85d2ff733865834-i/] allows for the customization of the behavior of the rule editor. [crayon-5c7219a85d302127242021/]
There are 2 ways that additional functionality can be added to the platform through the SDK. Deploy a dll into the Local module Create and deploy a module DEPLOY A DLL INTO THE 'LOCAL'...
Overview New folder behaviors can be created to modify the default folder behavior. Many aspects of a folder's behavior can be modified. All the overridable methods for a folder's default behavior are...
The following is a list of the most commonly used property attributes: (in namespace DecisionsFramework.Design.Properties.) LongTextPropertyEditorAttribute SelectStringEditorAttribute NumericEditorAttribute ...
Get String Get String (Long) Get String (Rich) Title/Description Title/Description/File Get Boolean Get DateTime Get File Navigate Navigate to URL Edit Object Simple Confirm
The link below is a blank project with references set up correctly. Also, the following build file and bat files have been included: build.proj - This file is called by the bat files. It is configured...