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

Offen
#767 6 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@ohlincha arbeitet bereits daran.

Seit 01.11.2026.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

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.
Vorherrschende Sprache
C
Sterne
10
Forks
8
Ø Merge
21 Min.
Gemergte PRs (30 T.)
1

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus FriendsofECCE/ECCE

Alle Issues in FriendsofECCE/ECCE

Ähnliche Issues

Weitere Issues zu C

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.