ON THIS PAGE:
IFS OI Explorer version 4.17 includes:
- A new PythonTimeSeries() calculation function.
- The ability to add related cases to an entry and navigate between them.
- Improved handling of images in rich text fields in entries.
- Usability updates to the combo box
- Horizontal touch scrolling on tablet
Related Entries
A new “Related Entry” field type has been added to entries, which allow users to link a specific entry to another entry.
Explorer’s powerful search feature makes finding the correct entry a breeze.
Once added, the Entry ID is shown on the entry form, along with an icon representing the type of form, and the status of the entry.
The list of form icons on the left of the entry dialog has been expanded to include the forms for the related entries. You can click these icons to open the respective entries.
If a related entry has multiple forms of the same type, a bubble appears over the icon showing the number of entries. When clicked, a list appears and you can select the relevant entry to view it.
Configuration
The related entry fields are configured in a similar way to other fields.
The form type for the field is set in the configuration.
Additional filtering can also be applied which restricts the type of entry that can be related to specific forms or form types.
Calculation: PythonTimeSeries()
A new PythonTimeSeries() function has been added to the Calculation Engine. This function allows you to access Python, as a way of analysing data within your calculations.
The PythonTimeSeries() calculation function allows users to pass a Python script into the calculation, and return values as time series data.
Format: PythonTimeSeries (Script [,Timestamp Pattern] [,Parameters])
Inputs:
Script | The Python script to execute. |
Timestamp Pattern | The formatting string used to pass the timestamps of the data points as text e.g. dd/M/yyyy H:mm:s |
Parameters | The parameters to use as inputs for the Script. |
Examples:
Expression:
PythonTimeSeries("output['value'] = parameter1", null, 5.6)
Output: Returns 5.6 as the value for each timestamp.
Expression:
PythonTimeSeries("output['value'] = parameter1Name", null, 2.2 + 3.4)
Output: Returns the string 2.2 + 3.4 as the value for each timestamp.
Expression:
PythonTimeSeries("output['value'] = scipy.interpolate.splev(1, scipy.interpolate.splrep(parameter1['timestamp'], parameter1['value']))", null, {0072895.PV})
Output: Fits a cubic smoothing spline on the values fetched by the 0072895.PV tag.
Installation & Configuration
Prerequisites:
- Python v3.7-v3.11 installed on the Explorer server machine.
- R licence must be enabled. This is available from Customer Support.
- We also strongly recommend installing the pandas module, for full access to Python’s data analysis features.
Configuration:
A new Python Adaptor group has been added to the ServerConfig.xml file, which contains settings for configuring the Python Adaptor (this is similar to how the R Adaptor works). See Configuration File.
Images in Rich Text Fields
This release of Explorer improves how images are handled in entries, and improves the user experience in Case Management, Shift Log, and A-Plus.
- Non-administrator users can now save images in rich text fields, such as Description.
- Improved handling of multiple images when they are pasted into a rich text field, from an intermediate application such as Microsoft Word.
- The size limit for images has been updated to use the image size limit as defined in the MaxFileUploadSizeMB setting in the Explorer configuration file. This is the same setting that is used in Server Management and is the same as the limit for entry attachments.
Combo Box Search
In v4.16, the Combo Box component introduced the ability to allow users to type and filter the list of items that are being shown. Some minor usability enhancements have been added in this release:
- Any existing Combo Box components used on pages will not be changed, these will remain with this option turned off.
- When the filter option is turned on, a cross has been added to allow users to clear their search text.
Horizontal Touch Scrolling on Tablet
On a tablet, the size of the horizontal scrollbar made it difficult to use with a workbook.
Horizontal touch scrolling has now been added. This means touch scrolling now works with both the vertical and horizontal scrollbars on the tablet.
Configuration File
The following changes have been made to the ServerConfig.xml file, located at:
C:\Program Files\P2 Energy Solutions\P2 Explorer\Configuration\
A new Python Adaptor group has been added, which contains the following settings:
Setting | Description |
PythonDllAbsolutePath | The file path where the Python DLL is located. E.g. C:\Program Files\Python\ Python311\python311.dll |
PythonAdaptorEnabled | True or False. Whether the Python Adaptor is enabled. Default: False. |
PythonAdaptorMinPoolSize | Smallest number of Python adaptor instances that will always be available to execute Python scripts. Default: 2 |
PythonAdaptorMaxPoolSize | Largest number of Python scripts that the system will attempt to execute simultaneously. Default: 8 |
PythonAdaptorInitTimeout | Time limit (in seconds) allowed for the Python adapor to initially set up and configure the Python engine before timing out. Default 60 |
PythonAdaptorRequestTimeout | Time limit (in seconds) applied to all non-initialisation operations against the Python adaptor. Default: 600 |
PythonAdaptorDisabledFunctions | Comma-separated list of Python functions which are not allowed to be executed in Python scripts. |
PythonAdaptorEnabledModules | Comma-separated list of Python modules (e.g. pandas) which will be pre-loaded by the Python adaptor for executing Python scripts. |
R Engine Upgrade
As Microsoft R Open has been discontinued, the R Engine has been upgraded to support the latest version of R.NET, up to R 4.4.0. Customers may wish to upgrade their version of R, but those wishing to continue using Microsoft R Open may do so.
Tag Discovery
The Tag Discovery command line driver has been moved from the "Data Broker" directory to the "Tag Discovery" subdirectory under "Data Broker". Any site-defined scripts or scheduled tasks referencing this program will need to have their invocation paths updated to match.