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

Ouverte
#767 9 commentaires 0 réactions 1 personne assignée Voir sur GitHub

@ohlincha y travaille déjà.

Depuis le 1/11/2026.

Évaluation

Cette issue n'a pas encore été évaluée.

Description

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.
Langage dominant
C
Étoiles
10
Forks
8
Merge moyen
21 min
PR mergées (30 j)
1

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de FriendsofECCE/ECCE

Toutes les issues de FriendsofECCE/ECCE

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.