Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docs:3500:0500 [2023/04/05 05:52] – ↷ Page name changed from docs:3500:0500_adding_function_libraries to docs:3500:0500 seandocs: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:3000_rule_language|]]). //**AwareIM**// 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 //**AwareIM**// in the [[a_f:f:af|function list]]. 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.
  
-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:3500:0500:0510]] for details) 
-  - 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/CustomJars directory (see section 2+  - 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/CustomJars directory'' (see [[docs:3500:0200|]]
-  - 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:''FunctionLibraryStatistics=com.mypackage.StatisticsLibrary''+  - Add a definition of the new function library to the ''BASServer.props'' file located in the ''BIN'' directory of your //**AwareIM**// 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:''FunctionLibraryStatistics=com.mypackage.StatisticsLibrary''
  
 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:2500_config_apps:0800_add_edit_rules:0500_rule_context|Context Assistant]]. 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:2500_config_apps:0800_add_edit_rules:0500_rule_context|Context Assistant]].
  
-{{simplenavi>progref:0500_adding_function_libraries:}}+{{simplenavi>:docs:3500:0500:}}
  
  
  • Last modified: 2023/04/05 05:52