---
agentTools:
  projectIndex: https://gobierto.readme.io/llms.txt
---

# Datos

El módulo de Datos permite administrar conjuntos de datos, explorarlos y almacenar consultas y visualizaciones.

## Interfaz de administración

### Página principal de datos

Muestra el listado de los conjuntos de datos definidos para el sitio. Hay un enlace para crear un nuevo conjunto de datos y enlaces para editar o eliminar cada uno de los existentes.

También existe un enlace a la configuración del módulo

#### Configuración del módulo

El módulo tiene las siguientes configuraciones:

* **Configuración de la conexión a la base de datos**: Se trata de un JSON en el que se establecen los parámetros para conectar a la base de datos en modo lectura y en modo escritura. Estas son las claves del JSON:
  * `read_db_config`: Configuración de lectura de la base de datos. Esta configuración es la que se usa para consultar los datasets. El valor consiste en un objeto con las claves y valores de configuración de una base de datos de una aplicación Rails. La configuración está documentada en las [guías de Rails](https://guides.rubyonrails.org/configuring.html#connection-preference), pero típicamente tiene la forma:

```json
{
    "adapter": "mysql" | "postgresql" ...,
    "database": nombre-base-de-datos,
    "username": usuario,
    "password": [password],
    "encoding": ···,
    "pool": ···,
    "host": ...
}
```

No todos los campos son requeridos para realizar una conexión a la base de datos, pero al menos `adapter`, `database` y `username` deberían estar presentes.

* `read_draft_db_config`: Configuración de lectura de la conexión de la base de datos. Funciona de forma similar a la anterior pero además permite acceder a tablas presentes en el schema draft. Su estructura es similar a la del anterior punto.
* `write_db_config`: Configuración de la conexión de la base de datos para escritura. Usado por admins para creación y actualización de datasets. Su estructura es similar a la del primer punto.

The whole JSON should look like this example:

```json
{
  "read_db_config": {
    "host": "localhost",
    "adapter": "postgresql",
    "database": "gobierto_data_demo",
    "encoding": "unicode",
    "password": "xxxx",
    "username": "gobierto_data_read_user"
  },
  "read_draft_db_config": {
    "host": "localhost",
    "adapter": "postgresql",
    "database": "gobierto_data_demo",
    "encoding": "unicode",
    "password": "xxxx",
    "username": "gobierto_data_draft_user"
  },
  "write_db_config": {
    "host": "localhost",
    "adapter": "postgresql",
    "database": "gobierto_data_demo",
    "encoding": "unicode",
    "password": "xxxx",
    "username": "gobierto_data_write_user"
  }
}
```

* **Frontend visible**: Habilitado por defecto. Si está deshabilitado la opción de Datos desaparece del menú público de navegación y no está accesible la parte pública del módulo de datos, solamente la API.
* **`default_preview_limit`**: Esta opción no está presente en la interfaz de admin. Por defecto la API, cuando recibe peticiones GET en formato JSON a los endpoints `api/v1/data/datasets/DATASET-SLUG`, `api/v1/data/queries/QUERY-ID` y `api/v1/data/data?sql=···`, esta en el campo "data" devuelve las 50 primeras filas del resultado de la consulta. Por medio de esta configuración en el módulo se puede modificar el valor por defecto.