What's New
Infinity 4.4 launches October 2015
In October 2015 we will be unveiling the latest version of Infinity. Contact your account manager to upgrade your existing modules for free in the new year. Why upgrade? As well as new functionality, version 4.4 refines and improves on many existing features of Infinity. Here’s a quick taster of what’s been improved and what’s new:
Infinity 4.4 Major Changes:


Infinity currently manages the allocation of individual permissions (eg USER_DELETE) to the individual User and/or Access Level. The drawback to this method is that there is no easy way to understand what is needed to perform individual functions like for example managing users.
Therefore this feature will enable a new way to group individual permissions as Roles, eg User Creator, Report Runner, Script Tester etc. These Roles will be allocated to User and/or Access Level.
Note: It does not prevent individual permissions from being allocated as before. |

You can now group the Console menu by "Project Group" along with "Client" and "No Grouping". Also the Project and Reporting menu items are now wider to handle the display of longer Project Names.

Change the Default field type when adding a new field from VARCHAR to NVARCHAR and also added a System setting, DB_DEFAULT_COLUMN_TYPE, to control this default behaviour. Added both Time & Date data types to the selection list when adding a new field.

The data archiving process has been enhanced by adding the ability to use separate database for the archive tables.

The Do Not Call process has been improved to be able to remove barred numbers from existing CallsLists, therefore it is now possible to run the process on a regular basis.
Note: If you are using a Callmedia Dialer, it is also possible to check Callmedia calling lists against the Infinity barred number lists |


When trying to open a locked script you will now be warned before the script is opened, and asked if you wish to continue.

When adding new controls to a screen you will now be able to specify a “Style”, which when selected will set a number of properties on the control to the defined values. This allows you to define the standard look for each control beforehand and assign them at design time.
Should you then need to amend the style you can change it once in the Style Editor and then apply the changes from inside the Designer by clicking on the “Reapply Styles” button.
See Style Editor


The addition of a new property ACTASCHECKBOX allows you to make the Hotspot behave as a Checkbox, with an On/Checked and Off/Unchecked state. You are then able to define how the control looks in each state by adjusting a number of visual properties such as forecolour, background colour, opacity and curved corners.

This is a new control

-
The fonts used to produce the document can now be specified via the “Settings” menu.
-
Open document once produced – if checked this will open the document using the default viewer for the document type.
-
Images section - this allows you to include an image in the header of the document pages.
-
Show project logo - this allows you to the add the project logo to the front page.
-
We now include the script version number and version of Script Designer that was used to produce the file.

-
The window can now be resized.
-
The information windows, shown when double-clicking on a trace line, can now be resized.
-
The Variables now have a context menu allowing you to copy the variable name and value to the clipboard.


The Script Engine can be extended by creating a custom DLL that contains functions and routines specific to your campaign. These new functions will be accessible inside Function Builder and look like standard commands that can be dragged and dropped on to the function.
This enables a developer to build and deploy both complex integrations and simple functions, which can then be easily used by the person building the Script interface by using the function blocks.
- Salesforce
- MS CRM
- Bank Validation
- Postcode lookup
- UiPath Robotic Automation
Support for any new functions provided by this method will be shown in the toolbox as normal functions and variables.
Example: Salesforce Functions can be grouped and then expanded to see the individual functions |

This section provides detailed descriptions of the changes to the Function Builder interface.

You can now easily search for function blocks, data fields and variables by typing in a keyword. These can then be used to build your function logic.
Note: We have renamed the main group Script to now be called Engine. In addition we have moved a handful of blocks between Action and Engine to correct some inconsitencies. |

All standard variables now use the [name] notation.

The editor window can now be resized. When you move the mouse to the edge it will change to an arrow, if you then hold the left mouse button down you will be able to resize the editor window.



CALLFUNCTIONONMAIN : Allows you to call a function, that will be run on the main script screen, from a pop-up screen.


ADDTODICTIONARY : This enables the creation and control of any number of KEY/VALUE pair Dictionaries at run time.


GETALLFROMDICTIONARY : This returns a list of all the values from the specified Dictionary, separated using the defined character(s)


GETFIRSTKEYFROMDICTIONARY : This returns the key name for the 1st item in the specified Dictionary. If there is no key to return, the value will be set to **NO KEYS**


GETNEXTKEYFROMDICTIONARY : This returns the key name for the next item in the specified Dictionary. If there is no key to return the value will be set to **NO KEYS**


REMOVEFROMDICTIONARY : This will remove the KEY, and its associated VALUE, from the specified Dictionary


NEWTASK : This will raise an event to Console to start a new tab with the specified script, passing the contact ID that the script is to start with.


CREATENEWEMAIL : Opens the email creation screen with the selected template displayed, and populated with the current script data.


CREATENEWEMAILFOR : Opens the email creation screen with the selected template displayed, and populated with the current script data. You can additional specify the main contact ID, and a sub ID.


ADDFULFILMENT : Allows you to upload a document to the database or network depending on the project settings.


ADDATTACHMENT : Allows you to specify an attachment to automatically be included with the next email the agent creates


OPENATTACHMENT : Allows you to open an email attachment, optionally specifying the directory it is to be saved to and a file name


DICTIONARYCONTAINS : Check to see if a Dictionary contains the specified key and return True or False accordingly.


HASPERMISSION : Check to see if user has the specified permission and return True or False accordingly.


ISPOPUPOPEN : Check to see if the specified pop-up screen is open and return True or False accordingly.


ISDEFINED : Check to see if the specified variable has been defined and return True or False accordingly.


CHECKDLLRESULTMSG : When calling an external DLL this condition will check the variable [SCRIPT_DLLRESULT]and, if the result starts with the specified value, will show a message to the user and allow the function to stop or continue running.


CHECKDLLRESULTFUN : When calling an external DLL this condition will check the variable [SCRIPT_DLLRESULT]and, if the result starts with the specified value, will call a function and allow the function to stop or continue running.


DELETERECORDWHERE : Deletes a record from the database for the specified table where a field matches a condition.


CALLDATABASEPROCEDUREONOTHERDB : This will allow you to run SQL queries, SPs on the another database.


CALLDATABASEPROCEDUREWITHRESULT : This will allow you to run SQL queries, SPs on the another database, and return a single value back to the script.


UPDATETABLEFIELDS : This will allow you to set the fields of a table record as a single command, rather than individual Set [ ] to [ ] commands.


CREATEFULFILMENT : This allows you to create a pFulfilment record for the specified letter and linked to the IDs provided


The name of the reporting team the agent is assigned to

The ID of the reporting team the agent is assigned to

Used to hold the result of external DLL function calls

Used to hold the ID of the history record – will only be available in script end

Used to hold any call notes that you want to save to the history record when the call is coded

IFthis variable is set to TRUE then each function called will be added to the script flow information XML data

IF this variable is set to TRUE then each parser/engine will no longer raise warning about unknown variables

If you set this variable within the script, and the call outcome is a Sale, then it stores the value in rHistory_Detail, rHistory_ISummary and sUserActivityReporting

This variable holds the name of the screen currently shown in the main script flow – allowing it to be accessed for pop-ups


This tile allows you to display, or play, media files to the user by embedding the windows media player onto a tile.
See Media Tile

This tile allows you to display a custom control inside a tile.

We have increased the functionality of its fulfilment capabilities, by allowing the agent to produce letters and emails, based on templates that are controlled from within the product.
Templates can now be created within the Infinity suite using a rich Word like editor, which can be merged during the script with the current customer data to produce a tailored letter, or email. See Fulfilment Templates
The templates can either be produced by agents via the workflows, or as part of the Fulfilment Service as an automated task. See Automated Templates