Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| docs:3500:0500 [2023/04/05 06:29] – [Adding function libraries] sean | docs:3500:0500 [2025/06/12 02:35] (current) – Rename to AwareIM aware_support3 | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ====== Adding function libraries ====== | ====== Adding function libraries ====== | ||
| - | This section describes what programmers have to do to add new function libraries to //**Aware IM**//. | + | This section describes what programmers have to do to add new function libraries to //**AwareIM**//. |
| - | Function libraries contain functions that can be used in the Rule Language (see “Aware IM Rule Language Reference”). //**Aware IM**// includes some standard function libraries, such as the Date Function Library and Maths Function Library, which contain functions that work with date/time as well as some standard mathematical functions. You can find the complete list of functions supported by //**Aware IM**// in the “Aware IM Rule Language Reference”. These functions should be sufficient for most standard needs. However in certain cases it may be necessary to provide new functions – for example, functions that perform calculations in different mathematical areas, some non-standard processing of strings etc. | + | Function libraries contain functions that can be used in the Rule Language (see [[docs: |
| - | Note that unlike processes functions are not supposed to communicate with the rest of the //**Aware IM**// system – they are not supposed to change attributes of business objects, update objects in the database etc. Functions are only supposed to perform calculations and return the result. | + | Note that unlike processes functions are not supposed to communicate with the rest of the //**AwareIM**// system – they are not supposed to change attributes of business objects, update objects in the database etc. Functions are only supposed to perform calculations and return the result. |
| Functions are organized in libraries. The grouping of functions in a library is up to the designer of the library. The name of the function must be unique across all libraries, so it is generally a good idea to start the name of the function with a prefix uniquely identifying the library that the function belongs to. | Functions are organized in libraries. The grouping of functions in a library is up to the designer of the library. The name of the function must be unique across all libraries, so it is generally a good idea to start the name of the function with a prefix uniquely identifying the library that the function belongs to. | ||
| - | To add a new function library to //**Aware IM**// follow the steps below: | + | To add a new function library to //**AwareIM**// follow the steps below: |
| - | - Write the code for the component that will implement functions of the library (see section 5.1 for details) | + | - Write the code for the component that will implement functions of the library (see [[docs: |
| - | - Compile the source code of your function library component and package it in a jar file(s). Make sure that the jar file resides in the AwareIM/ | + | - Compile the source code of your function library component and package it in a jar file(s). Make sure that the jar file resides in the '' |
| - | - Add a definition of the new function library to the BASServer.props file located in the BIN directory of your //**Aware IM**// installation. You have to add a line that provides the fully qualified name of the function library component. The name of the property must start with the FunctionLibrary prefix and the value must be the fully qualified name of the component. For example:'' | + | - Add a definition of the new function library to the '' |
| If everything has been done correctly the name of the new functions must appear in the list of functions displayed by the Rule Language [[docs: | If everything has been done correctly the name of the new functions must appear in the list of functions displayed by the Rule Language [[docs: | ||