> For the complete documentation index, see [llms.txt](https://giswater.gitbook.io/change-log/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://giswater.gitbook.io/change-log/3.6.001.md).

# 3.6.001

## INDEX

* [#inventory](#inventory "mention")
  * [#info-is-now-fully-configurable-via-database-widgets-from-all-tabs-actions-tableviews-etc.](#info-is-now-fully-configurable-via-database-widgets-from-all-tabs-actions-tableviews-etc. "mention")
  * [#new-variable-edit\_link\_check\_arcdnom-to-check-if-new-link-is-connected-to-an-arc-with-smaller-diamet](#new-variable-edit_link_check_arcdnom-to-check-if-new-link-is-connected-to-an-arc-with-smaller-diamet "mention")
  * [#new-process-to-check-existing-connecs-related-to-arcs-with-diameter-bigger-than-defined-value-ws](#new-process-to-check-existing-connecs-related-to-arcs-with-diameter-bigger-than-defined-value-ws "mention")
  * [#new-process-to-check-existing-connecs-with-more-than-1-link-on-service-ws-and-ud](#new-process-to-check-existing-connecs-with-more-than-1-link-on-service-ws-and-ud "mention")
  * [#add-region-and-province-tables-and-add-region\_id-and-province\_id-fields-to-municipality-and-inventor](#add-region-and-province-tables-and-add-region_id-and-province_id-fields-to-municipality-and-inventor "mention")
  * [#add-new-fields-on-inventory-tables-for-ud](#add-new-fields-on-inventory-tables-for-ud "mention")
  * [#new-functionality-get-address-and-postnumber-automatically-when-inserting-node-and-connec](#new-functionality-get-address-and-postnumber-automatically-when-inserting-node-and-connec "mention")
  * [#add-last-update-and-lastupdate\_user-to-v\_edit\_tables](#add-last-update-and-lastupdate_user-to-v_edit_tables "mention")
  * [#add-staticpressure-update-on-trg\_edit\_connec-harmonize-with-node](#add-staticpressure-update-on-trg_edit_connec-harmonize-with-node "mention")
* [#om](#om "mention")
  * [#new-function-gw\_fct\_mincut\_show\_current-to-show-mincuts-that-are-currently-being-executed-in-a-field](#new-function-gw_fct_mincut_show_current-to-show-mincuts-that-are-currently-being-executed-in-a-field "mention")
* [#epa](#epa "mention")
  * [#full-refactor-of-inp-database-objects](#full-refactor-of-inp-database-objects "mention")
  * [#new-button-toggle-epa-world.-toggle-an-epa-point-of-view-to-show-the-network-as-it-would-be-exported](#new-button-toggle-epa-world.-toggle-an-epa-point-of-view-to-show-the-network-as-it-would-be-exported "mention")
  * [#added-tab-epa-in-info](#added-tab-epa-in-info "mention")
  * [#create-new-object-ws-virtualpump-and-remove-import-inppump-and-import-inpvalves](#create-new-object-ws-virtualpump-and-remove-import-inppump-and-import-inpvalves "mention")
  * [#new-function-set-optimum-outlet-and-refactor-of-subcatchment-views-for-ud-projects](#new-function-set-optimum-outlet-and-refactor-of-subcatchment-views-for-ud-projects "mention")
  * [#refactor-of-subcatchment-views-for-ud-projects](#refactor-of-subcatchment-views-for-ud-projects "mention")
  * [#add-new-actions-in-info-to-manage-flow-regulators-and-demands-for-epa-objects](#add-new-actions-in-info-to-manage-flow-regulators-and-demands-for-epa-objects "mention")
* [#master](#master "mention")
  * [#do-not-allow-to-insert-features-with-different-expl\_id-than-the-psector](#do-not-allow-to-insert-features-with-different-expl_id-than-the-psector "mention")
* [#admin-system](#admin-system "mention")
  * [#drop-obsolete-table-selector-plan\_psector](#drop-obsolete-table-selector-plan_psector "mention")
  * [#make-multi-transactional-some-stored-procedures](#make-multi-transactional-some-stored-procedures "mention")

## **INVENTORY**

### <mark style="color:blue;">Info is now fully configurable via database (widgets from all tabs, actions, tableviews, etc.)</mark>&#x20;

Many features shown by the info button were customizable so far, but not all of them. Now, the data shown by the Info Button can be fully configurable via database. The user can add, remove, hide or show the features that the Info Button shows, as well as modifying the upper actions toolbar. The tables from the database that enable this customization are the following:

* config\_form\_fields: this table enables the user to show specifically which fields of a specific table are shown in each tab. Many features of this table were already available on previous versions of Giswater.
* config\_form\_list: this table enables the user to display specific data of a table by writing a SQL query. On column *listname*, the user must specify the name of the table from which data is going to be extracted. It is mandatory to use an existing table on the database. In column *query\_text,* the user may write the SQL statement needed to extract the data of choice from the table specified in column *listname*. Additionally, there is a column called *listtype* which only accepts 2 types of names: "tab" or "attributeTable" according to the way the table is displayed.
* config\_form\_tableview: this table enables the user to set properties to specific tables. These can be their visibility, width, alias and style of its fields. There are 2 primary keys on columns *objectname* (name of the table) and *columname* (name of the column), whose values are mandatory before any insert of a record on that table. As for the style, it is not possible to add any different style but the following json string: `{"stretch":true}`.
* config\_form\_tabs: this table enables the configuration for each *tab* into the Info layout, as well as its upper toolbar. The user can configure which table's information wants to see by editing column *formname* and which *tab* is going to show that information by editing column *tabname*. Additionally, there is a column called *tabactions* which uses a json string to enable or disable the button actions on the upper toolbar of the Info layout. There is also a column called *sys\_role* to specify which roles are available to see each tab and button from the upper toolbar. To make it more customizable, there are 2 columns (*label* and *tooltip*) to set the visible name of the tab and its tooltip when the user interacts with it.&#x20;

### <mark style="color:blue;">New variable edit\_link\_check\_arcdnom to check if new link is connected to an arc with smaller diameter than defined value (WS)</mark>

A new check is done when inserting links. This check occurs when the user tries to insert a link and it consists of checking if the new inserted link is connected to an arc with smaller diameter than the connected link. The user can configure whether or not to check this issue via table **config\_param\_system** with the parameter *edit\_link\_check\_arcdnom*. The values for this parameter are stored in a json string, which contains 2 variables: status (*true* or *false* if activated or not respectively) and diameter of the link with which the arc diameter is going to be compared. Once activated, the issue will be checked every time the user inserts a new link.

### <mark style="color:blue;">New process to check existing connecs related to arcs with diameter bigger than defined value (WS)</mark>

A new check is done along the **Check Project** process. While the previous process checked if the inserted link had a smaller diameter than the arc to which was connected, this process checks if a link with a diameter of choice is bigger than the arc diameter to which is connected. This issue is checked every time the check process is executed and the results figure out in the output of the Check Project as **WARNING-488.**

### <mark style="color:blue;">New process to check existing connecs with more than 1 link on service (WS and UD)</mark>

A new check is done along the **Check Project** process. This consists of checking if connecs (and also gullies for UD) have more than 1 associated link on service. This issue figures out in the output of the Check Project as **WARNING-480**. This is not configurable via database unlike the previous cases.

### <mark style="color:blue;">Add region and province tables and add region\_id and province\_id fields to municipality and inventory tables</mark>

2 new tables have been created: **ext\_province** and **ext\_region**. The second one, has a field named *province\_id* which acts as foreign key of table *ext\_province*. Additionally, the fields *province\_id* and *region\_id* have been added to the table **ext\_municipality** and inventory tables (**v\_edit\_tables**) where both fields are foreign keys from their respective tables.&#x20;

<figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2F1F2j8kXwbcGjmPLUpVQw%2Fimage.png?alt=media&amp;token=1f528d67-1ca4-4c42-9ca3-11aa8d910ba9" alt=""><figcaption></figcaption></figure>

Regarding to the inventory tables, these 2 new fields figure out as the name of the province and the region, unlike the table ext\_municipality where these 2 fields are the *id* of the region and province respectively.&#x20;

<figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2Fk8ns2AFngKRM7xaHhgBA%2Fimage.png?alt=media&amp;token=a56d02e3-b78d-44b6-9820-0bda02101e1e" alt=""><figcaption></figcaption></figure>

### <mark style="color:blue;">Add new fields on inventory tables for UD</mark>

The new fields have been added to the next tables:

* For tables *node, arc, connec, gull&#x79;**,*** new fields have been added under the name of ***adate*** and ***adescript***. These fields can be filled with additional date and additional description respectively.
* Also for table *gully*, 2 new fields have been added: ***siphon\_type*** and ***odorflap***. The field *siphon\_type* can be filled with the type of siphon and the field *odourflap* can filled with TRUE of FALSE if there is a preventive method for odour presence for a specific gully. &#x20;
* For tables *man\_manhole, man\_conduit* and *man\_chamber*, the new field is called ***bottom\_mat***. The field is optional to fill and it can be used for giving information about the bottom material of the element.&#x20;
* Also for table *man\_chamber*, a new field has been added: ***slope***. It gives information about the slope in percentage. It is calculated with the difference between the entry level and the exit level and divided by the length.&#x20;
* For table *cat\_arc*, the new field is called ***visitability*** which shows if the element can be accessible for a person to inspect it *in situ*.

### <mark style="color:blue;">New functionality: get address and postnumber automatically when inserting node and connec</mark>

This functionality works automatically when inserting nodes or connecs. Therefore, it requires the table **ext\_address** to be filled with data. This feature can be configured via basic config of Giswater or via **config\_param\_system** with the parameter *edit\_auto\_streetvalues*. Its configuration is stored in a json string with 3 variables inside: *status* (true or false if the functionality is activated or not respectively), *field* ("postnumber" or "postcomplement" if the gate number is stored in one field or the other from the v\_edit\_tables) and *buffer* (the distance buffer where the function looks for the closest gate number for that node or connec).&#x20;

As for the field where the gate number is stored, the user may consider using the *postnumber* when the gate number is strictly an integer. However, the field *postcomplement* allows the user to store the gate number as a text string, which is useful in those cases when the gate number contains letters or symbols.&#x20;

### <mark style="color:blue;">Add last update and lastupdate\_user to v\_edit\_tables</mark>

2 new fields have been added to v\_edit\_tables. These are **lastupdate** and **lastupdate\_user** and they give information about the last time stamp where the table has been updated and the user who updated the table respectively. The lastupdate\_user is the user that has logged in the database connection when the credentials to connect to it have been asked to the user.

### <mark style="color:blue;">Add staticpressure update on trg\_edit\_connec (harmonize with node)</mark>

The field *staticpressure* from table v\_edit\_connec is being updated like it happens in table v\_edit\_node. It is mandatory to create *presszones* in order to compare the heading pressure with each node's pressure.&#x20;

## OM

### <mark style="color:blue;">**New function:**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">gw\_fct\_mincut\_show\_current to show mincuts that are currently being executed in a field</mark>

This function shows the mincuts that are being executed in the selected exploitation. It can be found in Giswater Toolbox by the name of **Show current mincuts**.&#x20;

<figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2Fh35E0w7gG8tcGcoIFsSP%2Fimage.png?alt=media&amp;token=b67ebf81-0cef-426f-9aeb-4a3db907728f" alt=""><figcaption></figcaption></figure>

## **EPA**

### <mark style="color:blue;">Full refactor of inp database objects</mark>

Several improvements related to EPA have been done in this release. These are going to be explained in detail throughout this section and these are listed below:

* Some inp tables (most of them, tables related to quality) have been merged into features from other inp tables.
* New button to switch to EPA point of view in order to see the network as it would be exported to EPA.
* New tab EPA in Info Layout with a dscenario manager for EPA objects and also a set of actions to manage flow regulators and demands for EPA objects.

### <mark style="color:blue;">**New button: Toggle EPA World. Toggle an "EPA Point of View" to show the network as it would be exported to EPA software**</mark>

A new button has been added for both WS and UD under the name of **EPA World**, which is located next to the 'Load Giswater Layer' button in the QGIS Layers Panel.&#x20;

<div align="center"><figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2FPEs6KRsJdP18YTAUrenK%2Fimage.png?alt=media&amp;token=5ea122d6-fd6e-484b-8d6a-1fd3069b80c2" alt=""><figcaption></figcaption></figure></div>

By clicking on it, a warning message is shown and the visible network elements are filtered in order to show the network as it would be exported to EPA Software. Therefore, the elements with an epa\_type of 'UNDEFINED' are not shown because they are not going to be exported, as well as Giswater own elements like Connecs or Links.

<figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2FXVnbyJGsciRvPkYMrjkV%2Fimage.png?alt=media&amp;token=df7a8612-94cd-464b-bf55-03ebae65a636" alt=""><figcaption></figcaption></figure>

This may help the user to visually check the network in an easy-quick way before exporting it to EPA Software.&#x20;

### <mark style="color:blue;">**Added tab EPA in info**</mark>

A new tab called **EPA** has been added to the elements form. The **tab EPA** shows most of the properties that EPA Software would show for each element. The data shown in this tab is stored in the table view for each EPA element, whose prefix is **ve\_epa\_** (i. e. *ve\_epa\_pump, ve\_epa\_shortpipe*, ...). Having this, there is no need to load on QGIS canvas any layer from EPA World to see its features. Additionally, there are 2 sections inside tab EPA: Data and Dscenario

<figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2Fu4NydKj9feIxPlW1PiyZ%2Fimage.png?alt=media&amp;token=dddb0554-f2b9-497b-873e-fd777bfc5346" alt=""><figcaption></figcaption></figure>

In section 'Data', the user can see all the element's feature regarding to EPA. The user can customize the different features appearing in this section in table **config\_form\_fields** filtering by columns *formname* (name of the table view) and *tabname* (tab\_epa). To **add** a new feature to be shown in tab EPA, the user must add a new row into table *config\_form\_fields* and specify the data in columns *formname* (name of the element table view), *form\_type* (form\_feature), *tabname* (tab\_epa), *columnname* (name of the column of the specified table view the user wants to be shown) and *label* (a descriptive text placed next to the values shown in the form element). In addition, user can **hide** the features of tab EPA also in table config\_form\_fields by setting to TRUE the column *hidden.*&#x20;

<figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2Ft3PTS6GUedONSb07yRft%2Fimage.png?alt=media&amp;token=25bba944-f812-4fc5-b1bd-d950c42b743e" alt=""><figcaption></figcaption></figure>

Additionally, tab EPA has another section called 'Dscenarios'. This is a demand scenario manager where the user can manage several scenarios for that element without needing to use the Dscenario Manager Button. This enhancement makes it easier for the user to manage scenarios for a specific element.

<figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2FA0kwfkleclI9Q89E7sot%2Fimage.png?alt=media&amp;token=4703366f-1edb-4a3e-8e47-316be9248258" alt=""><figcaption></figcaption></figure>

### <mark style="color:blue;">Create new object ws-virtualpump and remove import inppump and import inpvalves</mark>

A new epa type object has been defined in table **sys\_feature\_epa\_type** from WS. This is called **VIRTUALPUMP** and it acts as an arc. When inserting any arc, the user can specify its epa\_type as *virtualpump.*&#x20;

<figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2F0p3bYtlx3JvalMHoprut%2Fimage.png?alt=media&amp;token=8e16f688-f830-4fef-a46c-556a6ef2fce8" alt=""><figcaption></figcaption></figure>

Regarding to the **Import CSV** button, the options 'Import Inp Pump' and 'Import Inp Valves' have been removed from the data-selection widget.

<figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2Fg6FDC6G2PJEnZdP0JNzK%2Fimage.png?alt=media&amp;token=d277b5e3-5be7-4015-8e33-3672d1ece126" alt=""><figcaption></figcaption></figure>

### <mark style="color:blue;">New function 'Set optimum outlet' and refactor of subcatchment views for ud projects</mark>

A new function has been developed for UD which sets the optimum outlet node for each subcatchment. The function parameters can be set in table **config\_param\_user** where the parameter is called *inp\_options\_hydrology\_scenario.* In column 'value', the id of the hydrology scenario has to be specified, which must be previously defined into table v\_edit\_cat\_hydrology. Therefore, the function will be executed for one hydrology scenario each time.&#x20;

The function works for nodes whose epa\_type is *junction* and it updates the field *outlet\_id* from table **inp\_subcatchment** with the *node\_id* acting as an outlet. The function takes into account the minimum elevation of the subcatchment and the elevation of the nodes. Therefore, the column *minelev* from table *inp\_subcatchment* and field *elev* from table view *v\_edit\_node* must be filled with data to be able to run the function.

### <mark style="color:blue;">Refactor of subcatchment views for UD projects</mark>

Table views related to subcatchments have been modified by reordering its fields and adding new ones. These table views are essentially *v\_edit\_inp\_subcatchment, vi\_subcatcentroid* and *vi\_subcatchment*.

### <mark style="color:blue;">Add new actions in info to manage flow regulators & demands for EPA objects</mark>

This is a set of actions that can be found in Info Layout inside EPA tab. These actions enable the user to manage flow regulators (orifices, outlets, additional pumps and weirs) and demands for any element. When inserting any flow regulator, it is mandatory to fill the following fields: order\_id, to\_arc and flwreg\_length.&#x20;

<figure><img src="https://78444640-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3OfYgdaTSD51CRsy2UO6%2Fuploads%2FMeFwoePBi5DsVNBfOuhG%2Fimage.png?alt=media&amp;token=a403ca1f-242d-464c-90c6-b443a15d67d6" alt=""><figcaption></figcaption></figure>

## MASTER

### <mark style="color:blue;">Do not allow to insert features with different expl\_id than the psector</mark>

This prevents the user to insert features from different explotations into a psector that belongs to a specific exploitation.&#x20;

## ADMIN/SYSTEM

### <mark style="color:blue;">Drop obsolete table 'selector plan\_psector'</mark>

The table **selector\_plan\_psector** has been removed from the database, as it is deprecated.&#x20;

### <mark style="color:blue;">Make multi-transactional some stored procedures</mark>

Some of the transactions used one table to store the output information while executing the process. This fact prevented other users to execute some process at the same time, as the table could only be used by one process at each time. To solve this, these kind of tables have become temporal tables. This resulted in a better performance of some relevant procedures in terms of time execution and database usage. The procedures that have been enhanced by far are the following:

* Flowtrace and flowexit (UD)
* Graphanalytics minsector (WS)
* Graphanalytics mapzones (WS and UD)
* Mincut (WS)
