Cómo Configurar la Main UI de Etendo
Descripción General
La Main UI de Etendo es una interfaz de usuario moderna basada en React/TypeScript incluida en la instalación base de Etendo. Se ejecuta como un servicio Docker contenerizado junto a la instancia de Etendo y se inicia automáticamente con ./gradlew resources.up.
Esta guía cubre la configuración manual de las variables de la Main UI y la configuración avanzada de desarrollo para contribuidores.
Requisitos
- Proyecto de Etendo correctamente configurado. Consulte las guías de Desarrollo Local o Instalación en Servidor.
- Docker versión
26.0.0o superior - Docker Compose versión
2.26.0o superior
Warning
Evite instalar Docker mediante Snap — sus restricciones de sandbox pueden impedir que los contenedores Docker de Etendo accedan correctamente a los directorios del host. Instale Docker siguiendo la guía oficial para su distribución.
Info
El módulo Docker Management, incluido como dependencia, gestiona la distribución de infraestructura dentro de los módulos de Etendo mediante contenedores Docker.
Token de Acceso de Entidad
Aplicación > Configuración General > Entidad > Entidad
Se debe configurar un token de cifrado de un solo uso para la autenticación. Este token es necesario para que la Main UI inicie una sesión.
- Acceda a Etendo Classic como
System Administrator. - Navegue a
Entidad> pestañaSecure Web Service Configuration. - Haga clic en Generar Clave para crear un token. El tiempo de expiración está en minutos; establézcalo en
0para que no expire.
Info
Este token no requiere ninguna acción adicional — solo necesita ser generado para que el proceso de autenticación funcione correctamente.
Configuración
Usando la Configuración Interactiva
Ejecute el asistente de configuración interactivo para establecer todas las variables requeridas:
Para un recorrido completo, consulte la guía Cómo Usar la Configuración Interactiva.
Luego inicie los servicios Docker:
Configuración Manual
Agregue las siguientes variables a gradle.properties:
docker_com.etendoerp.mainui=true
etendo.classic.url=http://host.docker.internal:8080/etendo
etendo.classic.host=http://localhost:8080/etendo
authentication.class=com.etendoerp.etendorx.auth.SWSAuthenticationManager
ws.maxInactiveInterval=3600
next.public.app.url=http://localhost:3000
| Variable | Descripción | Local | Producción |
|---|---|---|---|
docker_com.etendoerp.mainui |
Habilita el servicio Docker de la Main UI. | true |
true |
etendo.classic.url |
URL del backend utilizada por el servidor de la Main UI para conectarse a Etendo Classic. Use host.docker.internal cuando la Main UI se ejecuta en Docker y Tomcat se ejecuta localmente. |
http://host.docker.internal:8080/etendo |
https://your.backend.etendo.cloud/etendo |
etendo.classic.host |
URL del lado del cliente que el navegador utiliza para realizar solicitudes directas a Etendo Classic. | http://localhost:8080/etendo |
https://your-domain.com/etendo |
authentication.class |
Clase Java que gestiona la autenticación entre la Main UI y Etendo Classic. | com.etendoerp.etendorx.auth.SWSAuthenticationManager |
com.etendoerp.etendorx.auth.SWSAuthenticationManager |
ws.maxInactiveInterval |
Duración de la sesión en segundos para la conexión WebSocket de la Main UI. No afecta el tiempo de espera de sesión de Etendo Classic. | 3600 |
3600 |
next.public.app.url |
URL pública desde la que los usuarios acceden a la Main UI. | http://localhost:3000 |
https://your.frontend.etendo.cloud |
Aplique la configuración e inicie los servicios:
Acceder a la Main UI
Una vez que todos los servicios estén en ejecución, la Main UI está disponible en:
| Entorno | URL |
|---|---|
| Local | http://localhost:3000 |
| Producción | https://<server-address>/ |
Configuración Avanzada
Esta sección es para desarrolladores que desean contribuir o personalizar directamente el código fuente de la Main UI.
Requisitos Adicionales
- Node.js versión
^18.0.0o superior - pnpm versión
^9.15.2
Módulos Requeridos
Instale los siguientes módulos en el directorio modules/:
cd modules
git clone git@github.com:etendosoftware/com.etendoerp.etendorx.git
git clone git@github.com:etendosoftware/com.etendoerp.openapi.git
git clone git@github.com:etendosoftware/com.etendoerp.metadata.git
git clone git@github.com:etendosoftware/com.etendoerp.metadata.template.git
Estructura del Proyecto
com.etendorx.workspace-ui/
├── packages/
│ ├── api-client/ # Cliente API para la comunicación con el backend
│ ├── ComponentLibrary/ # Componentes de UI reutilizables
│ └── MainUI/ # Aplicación principal
├── package.json
├── pnpm-workspace.yaml
└── README.md
Configuración del Entorno de Desarrollo
-
Clone el repositorio de desarrollo de la Main UI:
-
Instale las dependencias:
-
Cree
packages/MainUI/.env.localy agregue la URL del backend: -
Compile los paquetes requeridos en orden:
-
Inicie el servidor de desarrollo:
La aplicación está disponible en http://localhost:3000.
Comandos de Desarrollo
Comandos a nivel raíz:
pnpm dev # Iniciar el servidor de desarrollo de la Main UI
pnpm build # Compilar todos los paquetes
pnpm test # Ejecutar pruebas en todos los paquetes
pnpm lint # Verificar el estilo de código en todos los paquetes
pnpm lint:fix # Corregir automáticamente los problemas de estilo de código
pnpm format # Formatear el código en todos los paquetes
pnpm format:fix # Corregir automáticamente los problemas de formato
pnpm clean # Limpiar todos los artefactos de compilación
Comandos por paquete:
pnpm --filter @workspaceui/mainui dev
pnpm --filter @workspaceui/api-client build
pnpm --filter @workspaceui/componentlibrary build
pnpm --filter @workspaceui/api-client test
pnpm --filter @workspaceui/mainui lint
This work is licensed under CC BY-SA 2.5 ES by Futit Services S.L.
