Sincronizzazione
La sincronizzazione tiene uguale la tua cartella Pragma — database e progetti — su più computer, attraverso una cartella su un server.
Opzioni ▸ Impostazioni di sincronizzazione… la imposta: un server FTP (anche con TLS), un server WebDAV o un repository Git. Prova connessione la verifica.
File ▸ Sincronizza ora (Ctrl+Y, anche primo bottone della barra degli strumenti) fa tutto in ordine: legge le sorgenti, salva il progetto e scambia i file con il server. Sincronizza prima di chiudere lo fa ogni volta che esci.
La sincronizzazione non elimina niente di sua iniziativa: un database che manca da una parte viene copiato lì, e un database modificato su due computer viene unito partita per partita. Per liberarti di una partita usa il cestino, che gli altri computer seguono.
Ogni computer ricorda cosa ha sincronizzato l'ultima volta in un file nascosto della sua cartella Pragma, .pragma-chess.mine, che non va mai sul server. Così distingue un file che hai eliminato a mano — dal file manager, per esempio — da uno che deve ancora ricevere: alla sincronizzazione successiva ti chiede cosa farne: Elimina ovunque, Ripristina o Chiedimelo più tardi (te lo richiede al prossimo avvio di Pragma Chess). Eliminato ovunque, il file viene tolto dal server e ogni altro computer sposta la sua copia nel cestino alla sincronizzazione successiva. Un file che nel frattempo qualcuno ha modificato su un altro computer torna semplicemente indietro.
I file che appartengono solo al server — il README e la LICENSE di un repository Git, per esempio — si elencano in un file .pragmaignore nella radice della cartella sul server, uno per riga, scritti come in .gitignore (*.tmp, Appunti/, # un commento). Restano sul server: non vengono mai copiati sui tuoi computer, la copia che un computer aveva già ricevuto se ne va alla sincronizzazione successiva (se l'avevi modificata lì resta, ma non viene più sincronizzata) e nessun file con quel nome parte dai tuoi computer.
Gestisci file…, nelle Impostazioni di sincronizzazione, elenca i file della cartella sul server. Selezionane alcuni e premi Elimina… per fare pulizia: dopo la conferma vengono eliminati da tutti i dispositivi sincronizzati, compreso questo computer (nel cestino), e smettono di girare tra i tuoi computer.
Con un repository Git ogni sincronizzazione che cambia dei file fa un commit, che porta il loro nome ("Update Databases/Games.pdb; add Projects/Study.pch"): una sincronizzazione che riceve soltanto, o non trova niente di nuovo, lascia la storia com'è.
Opzioni ▸ Collega app mobile… mostra un codice da inquadrare con Pragma Chess sul telefono, che da quel momento tiene una copia dei tuoi database.
Quando elimini un database sul telefono, il computer ti chiede alla sincronizzazione successiva con il telefono se eliminarlo anche qui o tenerlo: Tienilo lo lascia sul computer, Chiedimelo più tardi te lo chiede di nuovo al prossimo avvio di Pragma Chess, ed Elimina ovunque… ti avvisa prima che il database sarà eliminato da tutti i dispositivi sincronizzati — finisce nel cestino di questo computer, viene tolto dalla cartella di sincronizzazione sul server e gli altri computer che si sincronizzano con essa eliminano la loro copia. In ogni caso il telefono non lo riceve più.