9.5: local by default; add a data server in the Organizer as a second tree

Abierto
#767 6 comentarios 0 reacciones 1 asignado Ver en GitHub

@ohlincha ya está trabajando en esto.

Desde el 1/11/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

Decided for 9.5: ECCE works on this computer by default. A data server is optional and is added from the Organizer as a second tree, instead of being chosen once at first start.

Stage 1 (this issue)

  1. Local by default. A client with no configured server starts in local mode (data folder, per-user broker) without asking. Installations that are already configured start as today and skip this: siteconfig/RemoteServer, siteconfig/SharedBroker, -remote/ECCE_REMOTE_SERVER, a central-server install. The central-server deployment stays fully supported and unchanged.
  2. Add a server in the Organizer. "Add Server…" (File menu and the tree's context menu) asks for the address and the data-server login, with the same checks as the start window (reachability, TLS pin). The server appears as its own root in the tree ("Server: ") next to "This computer". The list of added servers is kept per user and restored at the next start. "Remove Server" removes the root only; nothing on the server is deleted.
  3. Work in the server tree. Projects and calculations created under the server root are stored on the server. The backend is already chosen per URL (EDSIFactory::getEDSI: http* → DavEDSI, file → FileEDSI), and the Organizer already accepts several roots (CalcMgr::addRoot).
  4. Submission from this computer, as today for case 2 (local submission and monitoring, data on the server). The job monitor stores results to the calculation's own URL, whichever tree it is in.
  5. Broker: the client's local broker serves both trees. This is the combination #246 asks for; its open questions (does anything server-side publish to the broker; are any topics shared between users) must be answered here.

To check (session-global assumptions of a single data server)

  • Ecce::serverUser, AuthCache and the data-server credentials passed to eccejobstore/the job monitor: one server per session today.
  • The http-only URL assumptions listed under #216 (EcceURL, EDSIServerCentral, AuthCache, WxJMSMessageDispatch, WxDavAuth/WxAuth).
  • The start window and Edit > Change Server (#240), and the Preferences tab proposed in #259: they should become one place that lists "This computer" and the added servers.
  • Mixed trees: drag/copy between the two roots is refused with a message in stage 1, not half-done.

Not in stage 1

  • Submission and monitoring by the server on the user's behalf (case 4), and the authentication questions it raises (2FA, keeping logins alive): follow-up, to be taken over separately.
  • Copy/move between this computer and a server (export/import, as decided for #216).
  • Viewing large examples from the server without storing locally (case 3).

Tests

  • first_start_window_test: an unconfigured client starts local without the question; each configured case still skips it as today.
  • tests/apps/session_end.py and tests/containers/central_server_test.py unchanged and passing.
  • A new Organizer test: local client, add the isolated test data server, create a calculation in each tree, launch on the local machine, results stored in the right tree, restart restores the server root.
Lenguaje dominante
C
Estrellas
10
Forks
8
Merge medio
21 min
PR fusionados (30 d)
1

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de FriendsofECCE/ECCE

Todos los issues de FriendsofECCE/ECCE

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.