Definisce nomi componenti e packaging
This commit is contained in:
@@ -8,6 +8,21 @@ Il progetto dovra' essere sviluppato in Python, con interfaccia di configurazion
|
|||||||
|
|
||||||
## Componenti principali
|
## Componenti principali
|
||||||
|
|
||||||
|
### Nomi applicativi
|
||||||
|
|
||||||
|
Nomi definitivi dei componenti:
|
||||||
|
|
||||||
|
- prodotto: `Bak&Rest`;
|
||||||
|
- servizio Windows: `BakRestWatchdog`;
|
||||||
|
- descrizione servizio: `Bak&Rest Watchdog Service`;
|
||||||
|
- applicazione tray: `BakRestTray`;
|
||||||
|
- applicazione di configurazione: `BakRestConfig`;
|
||||||
|
- eseguibile servizio: `BakRestWatchdog.exe`;
|
||||||
|
- eseguibile tray: `BakRestTray.exe`;
|
||||||
|
- eseguibile configurazione: `BakRestConfig.exe`.
|
||||||
|
|
||||||
|
Gli eseguibili destinati all'utente finale non devono aprire finestre console.
|
||||||
|
|
||||||
### Servizio Windows watchdog
|
### Servizio Windows watchdog
|
||||||
|
|
||||||
Il servizio Windows deve:
|
Il servizio Windows deve:
|
||||||
@@ -356,6 +371,22 @@ Librerie candidate:
|
|||||||
- `subprocess` per eseguire `rsync`;
|
- `subprocess` per eseguire `rsync`;
|
||||||
- `logging` standard library per i log giornalieri.
|
- `logging` standard library per i log giornalieri.
|
||||||
|
|
||||||
|
Packaging candidato:
|
||||||
|
|
||||||
|
- `PyInstaller` per produrre eseguibili Windows;
|
||||||
|
- build senza console per tray app e GUI di configurazione;
|
||||||
|
- servizio Windows installabile come `BakRestWatchdog`;
|
||||||
|
- eventuale installer successivo per configurare servizio, autostart tray e cartelle dati.
|
||||||
|
|
||||||
|
Gli eseguibili finali previsti sono:
|
||||||
|
|
||||||
|
```text
|
||||||
|
dist/
|
||||||
|
BakRestWatchdog.exe
|
||||||
|
BakRestTray.exe
|
||||||
|
BakRestConfig.exe
|
||||||
|
```
|
||||||
|
|
||||||
## Decisioni aperte
|
## Decisioni aperte
|
||||||
|
|
||||||
- Scegliere formato definitivo della configurazione: YAML, TOML o JSON.
|
- Scegliere formato definitivo della configurazione: YAML, TOML o JSON.
|
||||||
@@ -364,6 +395,7 @@ Librerie candidate:
|
|||||||
- Definire quale distribuzione di `rsync` usare su Windows.
|
- Definire quale distribuzione di `rsync` usare su Windows.
|
||||||
- Definire come installare e aggiornare il servizio Windows.
|
- Definire come installare e aggiornare il servizio Windows.
|
||||||
- Definire come gestire credenziali e segreti senza scriverli in chiaro nei log.
|
- Definire come gestire credenziali e segreti senza scriverli in chiaro nei log.
|
||||||
|
- Definire se creare un installer unico o distribuire gli eseguibili con script di installazione.
|
||||||
- Definire se prevedere backup versionato o solo mirror.
|
- Definire se prevedere backup versionato o solo mirror.
|
||||||
- Definire politica per cancellazioni: propagare la cancellazione sul backup o conservarla.
|
- Definire politica per cancellazioni: propagare la cancellazione sul backup o conservarla.
|
||||||
- Definire comportamento in caso di file non copiabili.
|
- Definire comportamento in caso di file non copiabili.
|
||||||
|
|||||||
Reference in New Issue
Block a user