> For the complete documentation index, see [llms.txt](https://wedocs.gitbook.io/wedocs-5.1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wedocs.gitbook.io/wedocs-5.1/wedocs-5.0-es_es/notas-de-la-version/release-notes-4.0.md).

# Notas de la Versión 4.0

Novedades y Mejoras de Weknow

## <mark style="color:blue;">Destacados</mark>

### <img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/wC51B1GvwW6yQS8s5oku/image.png" alt="" data-size="line"> Control de acceso al Servidor y Gestor de Tareas

Con el objetivo de proporcionar un sistema más seguro, ahora es necesario ingresar un usuario y contraseña para acceder al Servidor Weknow y al Gestor de Tareas. Esta medida busca proteger y controlar el acceso a los recursos, garantizando que solo usuarios autorizados puedan realizar operaciones en el sistema. [#control-de-acceso-al-servidor-y-gestor-de-tareas-1](#control-de-acceso-al-servidor-y-gestor-de-tareas-1 "mention")

### <img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/P9al47Ldyo77vuNcHDRR/image.png" alt="" data-size="line"> Política de seguridad por Usuarios y Grupos de usuarios

Se implementó una política de seguridad basada en usuarios y grupos de usuarios, ofreciendo la capacidad de definir permisos específicos para cada uno de ellos. [#politica-de-seguridad-por-usuarios-y-grupos-de-usuarios](#politica-de-seguridad-por-usuarios-y-grupos-de-usuarios "mention")

### <img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/oXaGB3mHIEtnz9Az8XU2/image.png" alt="" data-size="line"> Control de acceso a datos

Para garantizar un sistema más seguro y controlado, es fundamental implementar medidas de control de acceso a los datos. [#control-de-acceso-a-datos](#control-de-acceso-a-datos "mention")

## <mark style="color:blue;">Detalles</mark>

### Política de seguridad por Usuarios y Grupos de usuarios

* En la versión 4.0, se implementó una política de seguridad basada en usuarios y grupos de usuarios, ofreciendo la capacidad de definir permisos específicos para cada uno de ellos. Ahora, es posible establecer los permisos de un usuario o grupo en relación con las conexiones disponibles. Por ejemplo, se podrá determinar si un usuario tiene permiso para editar una conexión, gestionar permisos o incluso eliminarla. Esta nueva funcionalidad amplía el control y la seguridad del sistema, permitiendo una gestión más precisa y personalizada de los permisos de acceso.

#### Gestionar permisos en las Conexiones:

<figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/S7viNfuFFQK2PjCXV5BD/image.png" alt=""><figcaption></figcaption></figure>

#### Gestionar permisos en las Presentaciones:

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/v42Po1vyuAv5ECvG38Oq/image.png" alt=""><figcaption></figcaption></figure></div>

#### Gestionar permisos en una Carpeta:

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/LIpdZpYNKQfCesaxkchl/image.png" alt=""><figcaption></figcaption></figure></div>

#### Gestionar permisos en un Dashboard:

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/ISdafBesF3q8JS8ZkFfw/image.png" alt=""><figcaption></figcaption></figure></div>

* El <mark style="color:green;">**candado verde**</mark> abierto indica que el usuario puede realizar una acción específica en el objeto.
* El <mark style="color:red;">**candado rojo**</mark> cerrado indica que el usuario no puede realizar una acción específica en el objeto.
* El **candado gris** cerrado indica que la política no se aplicó directamente al usuario/grupo. Hereda las configuraciones del objeto anterior en la jerarquía.

#### Cambio de propietario

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/BQpGriOYBcpLi4NmhUfo/image.png" alt=""><figcaption></figcaption></figure></div>

Cada objeto tendrá un propietario. Inicialmente, el propietario es el usuario que creó el objeto. El propietario siempre tiene acceso completo al objeto.

En la pantalla de edición de la política, será posible realizar el cambio de propietario, que es una acción distinta, ya que tiene reglas de validación diferentes a las demás. Veamos las condiciones específicas para esta acción:

* Si un objeto me pertenece, tengo permiso para cambiar su propiedad y también puedo modificar las configuraciones de seguridad relacionadas con él.
* Si un objeto NO me pertenece, solo puedo cambiar su propiedad si tengo privilegios de administrador. Además, puedo modificar las configuraciones de seguridad relacionadas con él solo si tengo los derechos necesarios.

Este enfoque garantiza que solo el propietario del objeto o un administrador con los permisos adecuados pueda realizar el cambio de propiedad o modificar la seguridad del objeto.

### Control de acceso a datos

#### Reglas generales:

Un campo de un metadato con alguna regla de privacidad puede mostrar una alerta o enmascarar su contenido si el usuario que inició sesión cumple con los criterios de activación de esa regla (es decir, si no tiene permiso para acceder a ese campo).

Si uno o más campos con alertas se utilizan en cualquier lugar de cualquier componente, se mostrará un mensaje al usuario indicando estos campos y el mensaje relacionado. La ejecución del componente se aborta en esta situación.

Nota: Los campos utilizados con agregación Contar o Contar distintos no aplican ninguna regla de privacidad, ni siquiera alertas. Explicaciones detalladas más adelante.

Si, por otro lado, se encuentran campos enmascarados, el contenido mostrado al usuario será enmascarado de acuerdo con esta máscara.

#### Reglas adicionales de enmascaramiento

**Dimensiones**: Los campos con reglas de privacidad pueden utilizarse normalmente como dimensiones en cualquier componente. El contenido será enmascarado según la regla definida.

**Medidas:** Algunos escenarios deben tenerse en cuenta:

**Conteo y conteo distinto:** El conteo de un campo no implica ninguna filtración de información sensible. Los campos con reglas de privacidad pueden utilizarse normalmente y el contenido no será enmascarado.

**Suma, suma distinta, promedio, promedio distinto, mínimo y máximo:** Los campos con reglas de privacidad pueden utilizarse normalmente con estas agregaciones en cualquier componente. El contenido será enmascarado según la regla definida.

**Listado y listado distinto:** Los campos con reglas de privacidad pueden utilizarse normalmente con listados en cualquier componente. Cada elemento resultante será enmascarado individualmente según la regla definida.

**Campos calculados creados en el metadato:** Los campos calculados creados directamente en el metadato pueden utilizar libremente cualquier campo con alguna regla de privacidad. Se utilizará el valor original (sin enmascarar).

**Ejemplo**:

El campo *`nombrePaciente`* tiene una máscara para mostrar solo el primer nombre y el resto con `*` ej.: `Maria da Silva = Maria ** *****`.

El campo `calc1` tiene la fórmula `getVar("nombrePaciente")`. El resultado de este campo será `Maria da Silva` y no `Maria ** *****`.

Esto es válido para campos calculados por fórmula y por SQL.

**Campos calculados por fórmula creados en el componente:** Los campos calculados por fórmula creados en el componente podrán utilizar cualquier campo con alguna regla de privacidad, pero si el usuario que inició sesión activa alguna de estas reglas, se generará un error (y la ejecución del componente se abortará).

Explicación:

Por un lado, el campo calculado no puede utilizar el valor original (sin enmascarar) del campo, ya que esto burlaría la privacidad definida para el campo.

Por otro lado, utilizar el valor enmascarado probablemente resultaría en un valor inesperado que, como mínimo, no tendría ningún significado válido para el usuario final, pero en un escenario peor, podría llevarlo a cometer errores (si necesita basar alguna decisión en esta información).

**Campos calculados por SQL creados en el componente:** Los campos calculados por SQL creados en el componente siguen, en general, las mismas reglas descritas anteriormente para los campos calculados por fórmula creados en el componente. Sin embargo, estos campos escapan al control de Weknow, ya que el usuario puede insertar cualquier SQL allí. Es decir, si sigue la sintaxis `%nombre%`, Weknow puede aplicar las reglas correspondientes. Pero puede no usarla y referenciar algún campo directamente por su nombre. En ese caso, Weknow no puede aplicar las reglas de privacidad de datos. Para solucionar esta situación, se creó una opción adicional en el registro del metadato.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/nNNrskiP37CXVDSc62im/image.png" alt=""><figcaption></figcaption></figure></div>

Si esta opción está desmarcada y el usuario que inició sesión intenta ejecutar un componente que tiene campos con reglas de privacidad de datos activas y este componente utiliza algún campo calculado por SQL creado en el propio componente, se mostrará un error.

**Parámetros fijos y de privacidad en el metadato:** Los campos con reglas de privacidad pueden utilizarse normalmente en los parámetros de un metadato. Los filtros se aplicarán sobre el valor original y no sobre el valor enmascarado.

**Filtros por registro y agrupados en el componente:** Al igual que los campos calculados creados en el componente, los filtros del componente también pueden utilizar campos con reglas de privacidad, pero generarán un error si el usuario que inició sesión activa alguna de estas reglas (y la ejecución del componente se abortará).

Explicación:

Por un lado, el filtro no puede utilizar el valor original (sin enmascarar) del campo, ya que esto burlaría la privacidad definida para el campo.

Por otro lado, utilizar el valor enmascarado probablemente resultaría en un resultado inesperado que, como mínimo, no tendría ningún significado válido para el usuario final, pero en un escenario peor, podría llevarlo a cometer errores (si necesita basar alguna decisión en esta información). Y, peor aún, podría exponer aún más información confidencial al usuario.

**Ordenación:** La ordenación, que existe en algunos componentes, puede, de la misma manera, utilizar campos con reglas de privacidad, pero serán ignorados si el usuario que inició sesión activa alguna de estas reglas.

Explicación:

Por un lado, la ordenación no puede utilizar el valor original (sin enmascarar) del campo, ya que esto burlaría la privacidad definida para el campo.

Por otro lado, utilizar el valor enmascarado probablemente resultaría en un resultado inesperado que, en la mayoría de los casos, ordenaría de manera incorrecta.

**Otros:** A continuación, se muestra una lista de otros lugares que aplican la misma regla: interrumpen la ejecución del componente si encuentran un campo con reglas de privacidad.

Hoja de cálculo unidimensional

* Formato condicional
* Alerta sonoro

Hoja de cálculo multidimensional

* Formato condicional

Termómetro

* Personalizaciones

Texto

* Personalizaciones

Tarjeta

* Personalizaciones

Mapa

* Campo de vinculación del metadato
* Personalizaciones

**Gráfico y Termómetro:** Estos dos componentes necesitan valores numéricos para poder dibujarse adecuadamente. Si se utiliza un campo con alguna regla de privacidad y el usuario que inició sesión activa estas reglas, es muy probable que muestren un aspecto extraño. Es decir, los textos mostrados serán correctos y con las reglas de enmascaramiento, pero las barras de un componente Gráfico, por ejemplo, tendrán todas tamaño cero.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/zKDMqdabQ8z5JTU8Dtwy/image.png" alt=""><figcaption></figcaption></figure></div>

**Contenedor de filtros:** En el componente Contenedor de filtros, los campos con reglas de privacidad solo pueden usarse como campo de descripción (el valor será enmascarado según la regla). Si se usan como ordenación, serán ignorados. Si se usan como valor, se mostrará un error.

**Filtros ocultos, iniciales y dinámicos:** Estos lugares tampoco aceptan campos con reglas de privacidad activas. Se generará un error al ejecutar componentes con estos filtros.

**Detalle:** El detalle, de cualquier componente, debe seguir las mismas reglas de privacidad (enmascaramiento y alertas). Sin embargo, en algunas situaciones no podrá mostrar nada. Esto es particularmente cierto si las dimensiones están enmascaradas, como en la imagen a continuación. En esta situación, Weknow no puede determinar el cruce que el usuario quiere detallar.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/8BR1AG4zIJ51WEELVaWn/image.png" alt=""><figcaption></figcaption></figure></div>

**Explorador de datos:** El explorador de datos mostrará el mismo comportamiento que un componente de hoja de cálculo multidimensional.

**Parámetros de privacidad:** En el menú lateral izquierdo de la pantalla de edición de metadatos.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/azDOY9yGyf8gz19CpcxK/image.png" alt=""><figcaption></figcaption></figure></div>

En esta sección, será posible crear varios conjuntos de parámetros.

Las propiedades de un conjunto se resumen en la lista de usuarios y grupos de usuarios a los que se aplica este conjunto.

Debajo de cada conjunto, el usuario podrá crear filtros y grupos de filtros (siguiendo el mismo modelo que los parámetros fijos).

* No debe haber un conjunto sin al menos un filtro;
* No debe haber un conjunto sin al menos un usuario o grupo de usuario.

Los conjuntos de filtros que correspondan al usuario que inició sesión deberán aplicarse junto con los demás filtros.

**Privacidad:** En el editor de metadatos, en las propiedades de un campo, se agregó un botón Privacidad.

Si se define en una jerarquía, se usará esta regla para todos los campos de la jerarquía. De lo contrario, cada campo usará su propia regla.

Acción:

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/8rnjd3oHymIY7f6kXuBI/image.png" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/S6jB28m6qfFWJjDUU7ZA/image.png" alt=""><figcaption></figcaption></figure></div>

Modo:

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/PtKAvF6LqRHk8PHk0py5/image.png" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/IP6sjvmlReRD6AE2k7vG/image.png" alt=""><figcaption></figcaption></figure></div>

* El <mark style="color:green;">**candado verde**</mark> abierto indica que el usuario puede realizar una acción específica en el objeto.
* El <mark style="color:red;">**candado rojo**</mark> cerrado indica que el usuario no puede realizar una acción específica en el objeto.
* El **candado gris** cerrado indica que la política no se aplicó directamente al usuario/grupo. Hereda las configuraciones del objeto anterior en la jerarquía.

### Política de seguridad - Resumen

* Al acceder a la pestaña "Administración" y seleccionar "Política de Seguridad", los usuarios podrán visualizar la pantalla de resumen de la política. En esta pantalla, se mostrarán varias tablas que proporcionarán información detallada sobre diferentes aspectos de la política de seguridad. Entre las tablas disponibles se encuentran:
* Pestaña Dashboard: Muestra información sobre los permisos de acceso y restricciones aplicadas a las pestañas de los dashboards.
* Presentación: Presenta un resumen de los permisos y restricciones relacionados con las presentaciones.
* Conexión: Presenta un resumen de los permisos y restricciones relacionados con las conexiones.
* Componente: Detalla los permisos aplicados a componentes individuales, como gráficos y hojas de cálculo.
* Dashboard: Muestra información sobre los permisos de acceso y restricciones aplicadas a los dashboards.
* Explorador de Datos: Muestra información sobre los permisos y restricciones relacionados con el explorador de datos.
* Carpeta: Proporciona un resumen de los permisos y restricciones aplicados a las carpetas.
* Metadatos: Presenta detalles sobre los permisos relacionados con los metadatos.
* Tareas: Muestra los permisos concedidos o denegados para tareas.

Estas tablas permitirán a los administradores y usuarios visualizar de manera rápida y clara las configuraciones y restricciones aplicadas en cada área del sistema, facilitando la gestión y el entendimiento de la política de seguridad.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/zfiDCM9AO2lxPsXvkHSY/image.png" alt=""><figcaption></figcaption></figure></div>

Ejemplo: Política de seguridad - Resumen por Presentación

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/wQz95r2yPuPcUpUeiUN5/image.png" alt=""><figcaption></figcaption></figure></div>

#### Resumen Por entidad:

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/hHxjnpstlZYrnU061h9N/image.png" alt=""><figcaption></figcaption></figure></div>

También es posible visualizar un resumen por entidad en el cual se mostrarán tablas con información relevante. Estas tablas incluyen:

* Dashboard: Proporciona un resumen de las configuraciones relacionadas con los dashboards.
* Pestaña Dashboard: Proporciona un resumen de las configuraciones relacionadas con las pestañas de los dashboards.
* Presentación: Muestra información sobre permisos y restricciones aplicadas a las presentaciones.
* Conexión: Presenta un resumen de los permisos y restricciones relacionados con las conexiones.
* Componente: Detalla las configuraciones aplicadas a componentes individuales, como gráficos y hojas de cálculo.
* Explorador de Datos: Presenta información sobre permisos y restricciones relacionados con el explorador de datos.
* Carpeta: Ofrece un resumen de las configuraciones de permisos aplicadas a las carpetas.
* Metadatos: Muestra detalles sobre las configuraciones de permisos relacionadas con los metadatos.
* Tarea: Muestra las configuraciones de permisos concedidos o denegados para tareas.

Estas tablas resumen y destacan las configuraciones y permisos específicos en cada entidad del sistema, proporcionando una visión general clara y organizada.

### Accesibilidad estándar

* En la pestaña Configuraciones >> Seguridad es posible acceder a una variedad de tablas, como Dashboard, Presentación, Conexión, Componente, Explorador de Datos, Carpeta, Metadatos y Tarea. En estas tablas, es posible definir las configuraciones de los permisos estándar al momento de la creación.

Por ejemplo, es posible configurar una pestaña del Dashboard como privada, pero con permiso de solo "Visualizar" al momento de la creación. Esto significa que, al crear una nueva pestaña del Dashboard, se configurará automáticamente con el permiso de visualización permitido, mientras que otros permisos estarán restringidos.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/Gv72pnHEOFHLlm48fP7S/image.png" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/0hhR469jSb5NpHWnxT0R/image.png" alt=""><figcaption></figcaption></figure></div>

Al utilizar la accesibilidad estándar, si se genera automáticamente, el sistema se configurará lo más cerca posible del comportamiento de las versiones anteriores, aunque no sea exactamente igual. La política de accesos siempre se aplicará, pero los registros se generarán de manera que se mantenga una usabilidad similar a la anterior.

* Carpetas: Se generarán como privadas, con la acción de visualización habilitada.
* Componentes: Se generarán como privados, con las acciones de visualizar y explorar datos habilitadas.
* Pestaña dashboard: Se generará como privada, con la acción de visualización habilitada.
* Conexión: Será pública si se genera por el servidor, pero privada si se genera por el cliente.

Los demás elementos serán completamente privados, permitiendo el acceso solo al propietario.

### Control de acceso al menú principal

* Introdujimos un control de acceso al menú principal, brindando más seguridad y flexibilidad a los usuarios. Ahora, es posible definir permisos específicos para cada usuario o grupo de usuarios.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/yFxWNRMj94utW3QEoCQR/image.png" alt=""><figcaption></figcaption></figure></div>

Para configurar los permisos de acceso al menú principal, siga los pasos a continuación:

1. Acceda a la sección "Administración".
2. Luego, haga clic en "Acceso menú principal".
3. En esta página, podrá visualizar y gestionar los permisos de acceso de los usuarios al menú principal.
4. Seleccione el usuario o grupo de usuarios deseado.
5. A partir de ahí, podrá definir qué elementos del menú principal estarán permitidos o restringidos para ese usuario o grupo.
6. Guarde los cambios y los permisos se aplicarán.

{% hint style="danger" %}
Es importante destacar que, después de realizar las configuraciones de permisos de acceso al menú principal, es necesario que el usuario cierre sesión y vuelva a iniciar sesión en el sistema para que los cambios se actualicen y apliquen correctamente. De esta manera, los nuevos permisos se activarán y el usuario tendrá acceso de acuerdo con las configuraciones definidas.
{% endhint %}

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/YCw5eu7x93qqPnStn0OL/image.png" alt=""><figcaption></figcaption></figure></div>

* El <mark style="color:green;">**candado verde**</mark> abierto indica que el usuario puede acceder.
* El <mark style="color:red;">**candado rojo**</mark> cerrado indica que el usuario no puede acceder.
* El **candado gris** cerrado indica que la política no se aplicó directamente al usuario/grupo. Hereda las configuraciones del objeto anterior en la jerarquía.

### Control de acceso al Servidor y Gestor de Tareas

* Con el objetivo de mejorar la seguridad del sistema, implementamos una nueva funcionalidad que permite la configuración de autenticación en las aplicaciones del servidor. Al activar esta autenticación, será obligatorio proporcionar un nombre de usuario y contraseña al acceder al Servidor Weknow y al Gestor de Tareas.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/PQJT7j5wqW08WlE4EODX/image.png" alt=""><figcaption></figcaption></figure></div>

Al intentar acceder al Servidor o Gestor de Tareas, será redirigido a la siguiente pantalla:

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/UIxne6DAglrsc5D9fq5x/image.png" alt=""><figcaption></figcaption></figure></div>

Solo los usuarios con la opción 'Acceso al servidor' habilitada podrán iniciar sesión en las aplicaciones. Para configurar esta opción, acceda a la sección 'Contactos y Usuarios' en configuraciones.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/fFPxyzMhw4IuiU6IjzoD/image.png" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/l4rLStP5cChWSHmuaEcu/image.png" alt=""><figcaption></figcaption></figure></div>

{% hint style="danger" %} <mark style="color:red;">**IMPORTANTE**</mark>

Después de actualizar a la versión 4.0, la opción 'Utilizar autenticación en las aplicaciones' se activará automáticamente por defecto. Esto significa que todos los usuarios con el rol de 'Administrador' tendrán la opción 'Acceso al servidor' habilitada. Para gestionar el acceso de usuarios, ya sea para eliminar o agregar nuevos, acceda al menú 'Contactos y Usuarios' en las configuraciones.
{% endhint %}

### Configuración de los campos de metadatos que pueden utilizarse como filtros

* Con el objetivo de tener un sistema más seguro, a partir de ahora será posible definir qué campos de los metadatos pueden utilizarse como filtros.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/ItlotoYJ3JhK1h8gGbfQ/image.png" alt=""><figcaption></figcaption></figure></div>

Cuando se intenta utilizar un campo configurado como restringido, se mostrará un mensaje informativo:

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/oCIBexLeDW7t3zQm2apx/image.png" alt=""><figcaption></figcaption></figure></div>

Sin embargo, el campo podrá utilizarse normalmente en los filtros ocultos.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/7HLiv0yl0wslCrOHLNSs/image.png" alt=""><figcaption></figcaption></figure></div>

### Registro de Envío de Correos Electrónicos, Impresiones y Descargas

* En la versión 4.0, introdujimos una funcionalidad avanzada que permite a los usuarios configurar las opciones de compartir y seguridad del sistema. Ahora, a través de las configuraciones, puede acceder a las opciones de seguridad y, más específicamente, a las configuraciones de compartir. Al navegar en Configuraciones >> Seguridad >> Compartir, podrá personalizar cómo se registrarán las descargas de imágenes, el envío y recepción de correos electrónicos, así como las impresiones.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/RRZNnMc30E271dzboIMg/image.png" alt=""><figcaption></figcaption></figure></div>

Al acceder a la carpeta designada, tendrá la posibilidad de consultar todos los archivos relacionados con envíos, descargas e impresiones. Esta carpeta almacenará de manera organizada y accesible un registro completo de estas actividades, ofreciéndole la capacidad de monitorear y revisar fácilmente cualquier acción realizada en este contexto.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/tnXzJjrhivxCtr4KCy7A/image.png" alt=""><figcaption></figcaption></figure></div>

Esta funcionalidad proporciona una manera conveniente y eficiente de rastrear todos los archivos enviados, descargados o impresos, garantizando que pueda acceder a ellos posteriormente, si es necesario. De esta manera, tendrá un historial completo y detallado de sus interacciones con los documentos, facilitando la localización de información relevante y el monitoreo del uso de los recursos del sistema.

### Mejora en el rol de los usuarios.

* Con la nueva política de seguridad, los roles de los usuarios se actualizaron.

Contacto: No tiene inicio de sesión de acceso a Weknow y solo recibe Alertas, Correos Electrónicos, SMS, etc.

Visualizador: Tiene inicio de sesión de acceso a Weknow y accede al área de visualización de los dashboards, ejecuta tareas y presentaciones de acuerdo con la política de seguridad.

Desarrollador: Tiene inicio de sesión de acceso a Weknow y accede al área de desarrollo, pudiendo crear menús, dashboards, indicadores, Tareas, Ejecutar SQL, Importar y Exportar contenido.

Administrador: Tiene inicio de sesión de acceso a Weknow y accede al área de configuraciones, Mapas, Log, Impresión, Variables de contexto, Temas, Imágenes e Íconos, Escala de Colores, Generales, Servidores SMTP, Proveedores de SMS, Bot’s Telegram, Esquema de colores, Conexiones, Backup.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/Iaot06zFtHjn6VydkgEH/image.png" alt=""><figcaption></figcaption></figure></div>

Un usuario puede tener más de un rol y cada rol le da derecho a acceder al área específica dentro de Weknow.

Un usuario Administrador para desarrollar algo deberá tener, además del rol de Administrador, también el rol de Desarrollador.

Un usuario Administrador para visualizar los dashboards deberá tener, además del rol de Administrador, también el rol de Visualizador.

Un usuario Desarrollador para visualizar los dashboards deberá tener, además del rol de Desarrollador, también el rol de Visualizador, pero no consumirá una licencia de Visualizador.

### Tabla Offline durante las Consultas

* Ahora, la información del metadato no se eliminará inmediatamente en el momento de la carga. En su lugar, la eliminación ocurrirá solo después de finalizar la actualización. Este cambio garantiza que la información de metadatos permanezca intacta durante el proceso de carga, evitando la pérdida no deseada de datos.

### Indicador MonetDB activo/inactivo en el Panel de Control

* A partir de ahora, en el Panel de Control, se informará claramente sobre el estado de ejecución de MonetDB. Esta nueva funcionalidad permitirá verificar de manera rápida y fácil si MonetDB está en ejecución o no.

En ejecución:

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/wI123EbeD0ZrwMVjTOKE/image.png" alt=""><figcaption></figcaption></figure></div>

No está en ejecución:

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/3ZhBzHNzFVGo9IMfvDei/image.png" alt=""><figcaption></figcaption></figure></div>

### Mejorado el mensaje de un metadato sin carga generada

* Se mejoró el mensaje al acceder a un componente que utiliza un metadato sin la carga generada.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/TC0R6b5co6Q19Z2neDrf/image.png" alt=""><figcaption></figcaption></figure></div>

### Al cancelar la carga off-line, la cola ya no se queda bloqueada.

* Al generar una carga off-line y solicitar la cancelación, ahora el proceso se interrumpe inmediatamente.

### Nuevas fórmulas

* Se agregaron nuevas fórmulas.

<div align="left"><figure><img src="https://content.gitbook.com/content/cRhrM3a1VLnnmR6TToge/blobs/sGmQlngxjfhTtn3E8YTC/image.png" alt=""><figcaption></figcaption></figure></div>

* **parentFieldValue**: Devuelve el valor del campo padre.
* **parseDT**: Intenta interpretar un Texto como fecha de acuerdo con la Máscara definida y, opcionalmente, devuelve el valor Predeterminado si la interpretación falla.
* **timestampFormatMask**: Máscara de formato Timestamp.
* **timestampParseMask**: Máscara de interpretación Timestamp.
* **timezoneOffset**: Desplazamiento de TimeZone en minutos.

{% hint style="info" %} <mark style="color:blue;">**Para más información acceda a nuestro SAC**</mark>

[<mark style="color:blue;">https://atendimento.weknowbi.com.br/kb/pt-br/</mark>](https://atendimento.weknowbi.com.br/kb/pt-br/) o envíenos un correo electrónico a *<atendimento@weknowBI.com.br>*
{% endhint %}
