# 3.1.0

### New Features

* Change liverig-parser dependencies to protocols-parser
* Add Modbus source configuration screen [(more)](https://drilling.intelie.com/release-notes/3.1.0#add-modbus-source-configuration-screen)
* Add RAW source configuration screen [(more)](https://drilling.intelie.com/release-notes/3.1.0#add-raw-source-configuration-screen)
* Create API (CollectorResource and Service) to add and edit store.json [(more)](https://drilling.intelie.com/release-notes/3.1.0#create-api-collectorresource-and-service-to-add-and-edit-store-json)
* Create front-end interface to WITSML configured Null Values [(more)](https://drilling.intelie.com/administration/high-frequency-data/witsml-null-values#screen)
* Add cache to Additional Features configuration to improve performance
* Updated collector sources configuration screen layout [(more)](https://drilling.intelie.com/release-notes/3.1.0#updated-collector-sources-configuration-screen-layout)
* Integrate the new units conversion system into the Live [(more)](https://drilling.intelie.com/release-notes/3.1.0#integrate-the-new-units-conversion-system-into-the-live)
* Experiment with pure systemd unit instead of wrapper
* \[RFC] Allow plugins to register channels with arbitrary queries [(more)](https://drilling.intelie.com/release-notes/3.1.0#rfc-allow-plugins-to-register-channels-with-arbitrary-queries)

### Fixes and improvements

* [Fix Well parameters history does not display units correctly](#fix-well-parameters-history-does-not-display-units-correctly)
* Autoswitch should not log every change to the normalizer
  * Autoswitch changes are no longer displayed at the Data Management version history, since, conceptually, they are all the same configuration. The only difference is the selected curve.
* Always close the Data Management "Create Template" modal after saving
* Makes the renormalization progress update compatible with async event iterators
* Improvements to WITSML Output Plugin
* \[API] Change `testSourceEndpoint` endpoint to use source object to test and don't call remote control to get the source [(more)](https://drilling.intelie.com/collector/remote-control/apis/test-source-endpoint-api)
* Cumulative fixes
  * From 2.28.6 stable version
    * Do not display a confirmation modal when using Data Management import functionality [(more)](https://drilling.intelie.com/release-notes/3.1.0#do-not-display-a-confirmation-modal-when-using-data-management-import-functionality)
    * Hide Data Management import button if the user doesn't have "manage" permission [(more)](https://drilling.intelie.com/release-notes/3.1.0#hide-data-management-import-button-if-the-user-doesnt-have-manage-permission)
  * From 2.27.2 stable version
    * Fixes "import JSON" font color when using Live 3.1.0 or higher [(more)](https://drilling.intelie.com/release-notes/3.1.0#fixes-import-json-font-color-when-using-live-3-1-0-or-higher)

## Add RAW source configuration screen

Added the RAW protocol option in the collector sources screen, allowing the system to handle RAW based sources servers in the collector from the user interface.

![](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-Me10VKHnNk9R6u9KIb0%2F-Me11hbLj6aZlrHZ9dCn%2Fimage.png?alt=media\&token=b606a5ef-edac-4c75-a3e2-cf276355ec02)

Read more about the RAW protocol specifications [here](https://drilling.intelie.com/collector/protocols/raw).

## Add Modbus source configuration screen

Added the Modbus protocol option in the collector sources screen, allowing the system to handle Modbus client based sources in the collector from the user interface.

![](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-Me10VKHnNk9R6u9KIb0%2F-Me1328BKT7Uu3Hfqt8p%2Fimage.png?alt=media\&token=dece40b1-ee04-4c7c-bb18-33f981c4512d)

Read more about the Modbus protocol specifications [here](https://drilling.intelie.com/collector/protocols/modbus).

## Create API (CollectorResource and Service) to add and edit store.json

This feature allows you to add or edit a store.json file via API. We can view the calls created and how you use them.\\

## storeConfiguration

<mark style="color:blue;">`GET`</mark> `http://environment.com/services/plugin-liverig/collectors/storeConfiguration?qualifier=qualifier&instance=instance&force=true`

View the store.json file

#### Path Parameters

| Name      | Type   | Description         |
| --------- | ------ | ------------------- |
| instance  | string | Collector instance  |
| qualifier | string | Collector qualifier |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## storeConfiguration

<mark style="color:green;">`POST`</mark> `http://environment.com/services/plugin-liverig/collectors/storeConfiguration?qualifier=qualifiers&instance=instance&force=true`

Add or edit the store.json file

#### Path Parameters

| Name      | Type   | Description         |
| --------- | ------ | ------------------- |
| qualifier | string | Collector qualifier |
| instance  | string | Collector instance  |

#### Request Body

| Name     | Type    | Description                                                                                                                                                                                                               |
| -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| purge    | string  | Set a period to purge tables                                                                                                                                                                                              |
| limit    | integer | Set the size of the WITSML response                                                                                                                                                                                       |
| rigs     | string  | <p>Set a list of rig objects, containing the</p><p><code>name</code></p><p>,</p><p><code>units</code></p><p>,</p><p><code>tags</code></p><p>,</p><p><code>types</code></p><p>and</p><p><code>timestamp</code></p><p>.</p> |
| endpoint | string  | URL service used                                                                                                                                                                                                          |
| database | string  | URL database used                                                                                                                                                                                                         |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## Updated collector sources configuration screen layout

The collector sources configuration screen was updated. The fields should be filled from top to the bottom and protocol-specific fields are displayed after the protocol is chosen.

![](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-Me10VKHnNk9R6u9KIb0%2F-Me149gNEB657sYdvAlf%2Fimage.png?alt=media\&token=58100358-6174-465d-a1a0-81c930acae40)

Read more about collectors protocols [here](https://drilling.intelie.com/collector/protocols/).

## Integrate the new units conversion system into the Live

Former in LiveRig 3.0, the units created at the Unit Management Tools screen was not available to the rest of the Live. Starting at 3.1, the new units conversion system is integrated into the Live and can be used at the normalization, dashboards, and most of screens where units are available, such as Display Units, Standard Channels and Data Management. The only exceptions are the Well and Rig Parameters tabs.

The unit conversion can also be handled in Pipes queries using the function `curve_unit_convert`. This way, we discontinued the experimental Pipes function `temp_curve_new_unit_convert` previously available in LiveRig 3.0.

### Side effects of deleting and renaming

At last, it's important to mention the known side effects of deleting or renaming a unit alias or an extension, or deleting a conversion.

#### At "Standard Channels" and "Calculated Channels"

The unit is no longer recognized by Live, and, then, will be displayed with a warning layout.

![Unknown unit warnning](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-MdvmbnsZBvVSgkCXH-Y%2F-MdvvRByMdx5PORVu3TY%2Fimage.png?alt=media\&token=b356d4a2-a568-470d-8256-19716633ab70)

**At "Data Management"**

If a conversion, unit alias, or extension that is being used to "Data Management" is deleted or renamed, the interface and the normalization threads the unit as Unknown

**At "Display Units"**

If a unit alias or a unit extension that is being used at Display Units, and is deleted or renamed, dashboards that use this "Display Units" will fail:

![Dashboard showing "No Data" because the Display Unit contains an unknown unit](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-MdvmbnsZBvVSgkCXH-Y%2F-Mdw6qzHCJvHgiptU4bw%2Fimage.png?alt=media\&token=60d70867-5d90-4035-b196-778a9b423354)

And the Display Units will prevent the user from saving until the unit is changed to a known one:

![](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-MdvmbnsZBvVSgkCXH-Y%2F-Mdw774rGGLe1pSOsqxy%2Fimage.png?alt=media\&token=b5758ac3-2737-412b-87be-561c44c9ff30)

## Fix Well parameters history does not display units correctly

Well parameters version history used to show the current units, instead of the selected version units. The bug has been fixed, and now units are displayed correctly depending on the selected version.

## Do not display a confirmation modal when using Data Management import functionality

The following modal is no longer displayed when importing a JSON in the Data Management screen

![](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-MdvmbnsZBvVSgkCXH-Y%2F-MdvofJBYT10D874gFG4%2Fimage.png?alt=media\&token=66369b02-2579-4f44-9b74-47a6f79e6e3f)

## Hide Data Management import button if the user doesn't have "manage" permission

Now, the import button is hidden when the user doesn't have permission to manage the asset.

![Data Management import button will be hidden if user does not have permission to manage the Asset](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-MdsNMmfPUsKHOPyBmdl%2F-Mdsb2GfAdXlgXn7vLLk%2Fimage.png?alt=media\&token=944f1fef-c6bf-4f7e-ab63-628d2a2e8b5e)

## Fixes "import JSON" font color when using Live 3.1.0 or higher

When using Live 3.1.0, some characters used at the import JSON code input didn't have a color:

!["Import JSON" font color bug](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-MdsNMmfPUsKHOPyBmdl%2F-MdsSRf5WL7k53hCvm0h%2Fimage.png?alt=media\&token=bbc8863d-6a06-4e4d-9c36-85f3ea2bc744)

After the fix, the correct color is applied:

!["Import JSON" font color fixed](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-MdsNMmfPUsKHOPyBmdl%2F-MdsSk0FlFbrvK3-yyLk%2Fimage.png?alt=media\&token=ad77d36d-49f0-4d43-bc9f-a217687da9a9)

## \[RFC] Allow plugins to register channels with arbitrary queries

This feature adds a new curve, the `query curve`. The `query curve` can be considered an extension of the calculated channels, allowing you to **create advanced calculations using pipes functions**, such as aggregation, span, period and other features of the pipes.\\

{% hint style="info" %}
Discussion notes
{% endhint %}

* API created only in the backend, having no persistence in the settings.

### How to add a query curve.

![](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-Me1OQJdq8mAMEwWUKTk%2F-Me1R72CBenIciioGTD-%2FqueryCurve.png?alt=media\&token=35c1840f-eff7-4db2-bbe8-b3a4c090847d)

### How to call a query curve.

![](https://2579444069-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lno5CP_Y4IUtBWLlJZl%2F-Me1OQJdq8mAMEwWUKTk%2F-Me1RKXvSCjXYEUAyzVI%2FqueryCurves.gif?alt=media\&token=dc34cb6a-7532-4d78-b05e-38eac5507c32)
