> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Sincronizzazione con Dropbox

<Info>
  Questa funzionalità è sviluppata da [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro). È disponibile dalla v6.4.0 in poi ed è ancora in fase beta. Se riscontri problemi, abbiamo bisogno del tuo feedback.
</Info>

La sincronizzazione con Dropbox mantiene i progetti di un utente sincronizzati con il suo Dropbox, come su Overleaf Cloud: quando un utente collega il proprio account Dropbox, ciascuno dei suoi progetti compare come cartella in `Apps/<your Dropbox app>/`, le modifiche in Overleaf vengono inviate a Dropbox e quelle fatte in Dropbox tornano in Overleaf.

### Configurare la sincronizzazione con Dropbox

<Warning>
  Devi prima abilitare [git-bridge](/it/on-premises/configuration/overleaf-toolkit/git-integration): senza di esso, le impostazioni dell'account nascondono la sezione di sincronizzazione dei progetti.

  ```dotenv title="config/overleaf.rc" theme={null}
  GIT_BRIDGE_ENABLED=true
  ```
</Warning>

Crea un'app nella [Dropbox App Console](https://www.dropbox.com/developers/apps), dopo aver effettuato l'accesso con l'account Dropbox che sarà proprietario dell'app:

1. Fai clic su **Create app**, quindi compila la pagina:
   * **1. Choose an API**: seleziona **Scoped access**.
   * **2. Choose the type of access you need**: seleziona **App folder**, non **Full Dropbox**. Overleaf sincronizza solo all'interno della cartella dell'app.
   * **3. Name your app**: inserisci un nome, ad esempio `Overleaf`. Deve essere univoco su Dropbox. I progetti di ogni utente compaiono in `Apps/<name of your app>/` nel suo Dropbox, e questo nome corrisponde a `DROPBOX_APP_NAME` più avanti.
   * Fai clic su **Create app**. L'app si apre nella scheda **Settings**.
2. Nella scheda **Permissions**, sotto **Files and folders**, seleziona `files.metadata.write`, `files.content.write` e `files.content.read`. `account_info.read` e `files.metadata.read` vengono selezionati insieme a questi e non possono essere deselezionati. Non selezionare altri permessi.
3. Fai clic su **Submit** nella barra in fondo alla scheda **Permissions**. **Senza Submit i permessi non vengono salvati**, e Dropbox rifiuta di sincronizzare i file per gli utenti che collegano il proprio account.

<Frame caption="Dropbox App Console: i permessi da selezionare, salvati con Submit">
  <img src="https://mintcdn.com/ayakaleaf-pro/34P8O6kHo91beEvQ/images/on-premises/dropbox-app-permissions.png?fit=max&auto=format&n=34P8O6kHo91beEvQ&q=85&s=8e99711b1fcf03d3d1655f65fea3a6b8" alt="" width="2302" height="1444" data-path="images/on-premises/dropbox-app-permissions.png" />
</Frame>

4. Nella scheda **Settings**, sotto **OAuth 2**, inserisci `${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback` in **Redirect URIs**, quindi **fai clic su Add**. Digitare l'URI non basta: viene salvato solo quando compare nell'elenco sopra il campo.

<Frame caption="Dropbox App Console: inserisci l'URI di reindirizzamento, quindi fai clic su Add">
  <img src="https://mintcdn.com/ayakaleaf-pro/34P8O6kHo91beEvQ/images/on-premises/dropbox-app-redirect-uri.png?fit=max&auto=format&n=34P8O6kHo91beEvQ&q=85&s=d980dc4dec22a90b5bf1f7e147cfc7c0" alt="" width="2788" height="1450" data-path="images/on-premises/dropbox-app-redirect-uri.png" />
</Frame>

5. Nella scheda **Settings**, sotto **Webhooks**, inserisci `${OVERLEAF_SITE_URL}/dropbox/webhook` in **Webhook URIs**, quindi **fai clic su Add** anche qui. Dropbox lo chiama subito per verificarlo, quindi Overleaf deve essere già in esecuzione con le impostazioni seguenti ed essere raggiungibile da internet (vedi [Webhook](#webhook)). Il suo stato mostra **Enabled** una volta superata la verifica.

Copia l'**App key** e l'**App secret** (fai clic su **Show**) dalla scheda **Settings**, quindi aggiungi le seguenti impostazioni ai file delle variabili d'ambiente di Overleaf. Puoi aggiungere il webhook (passo 5) dopo che Overleaf è in esecuzione con queste impostazioni.

```dotenv title="config/variables.env" wrap theme={null}
# used to encrypt the user's Dropbox refresh token.
# How to generate: `openssl rand -hex 32`
DROPBOX_TOKEN_CIPHER_PASSWORD=0123456789ABCDEFG # changed to yours

# Dropbox Sync Settings
DROPBOX_ENABLED=true
DROPBOX_APP_KEY=
DROPBOX_APP_SECRET=
# the name of your Dropbox app (step 1), which is the folder name in Apps/
DROPBOX_APP_NAME=Overleaf

# OAuth callback is: ${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback
# Webhook is: ${OVERLEAF_SITE_URL}/dropbox/webhook
# (Optional) DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808
```

<Warning>
  * Prima di configurare l'URI di reindirizzamento e il webhook, assicurati che `OVERLEAF_SITE_URL` sia impostato correttamente.
  * Dropbox fissa i permessi di un token nel momento in cui l'utente collega il proprio account: inviare i permessi non modifica i token esistenti. Gli utenti che si sono collegati prima che i permessi venissero inviati, o prima che tu li modificassi, devono scollegare e ricollegare il proprio account Dropbox.
  * Una nuova app è in stato **Development**. Se **Development users** nella scheda **Settings** mostra **Only you**, solo il tuo account Dropbox può essere collegato: fai clic su **Enable additional users** per consentire agli altri utenti di collegare il proprio. Verrà quindi mostrato quanti utenti si sono collegati, ad esempio `1 / 500`: **un'app in Development accetta al massimo 500 utenti**. Per più utenti, fai clic su **Apply for production** e Dropbox esaminerà l'app.
</Warning>

Se ti trovi in una regione con accesso alla rete limitato, potrebbe essere necessario configurare un proxy per accedere a Dropbox. Imposta la seguente variabile d'ambiente: `DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808`. Deve essere un proxy di inoltro HTTP/HTTPS standard e non deve usare `127.0.0.1`.

### Webhook

Dropbox notifica a Overleaf le modifiche in Dropbox tramite un webhook, così compaiono in Overleaf nel giro di pochi secondi. Il webhook punta all'indirizzo del tuo sito, `${OVERLEAF_SITE_URL}/dropbox/webhook`, e non serve alcuna porta aggiuntiva, ma **Dropbox deve poterlo raggiungere da internet**. Quando lo aggiungi nella App Console, Dropbox lo verifica subito.

Senza webhook, ad esempio su un server che Dropbox non può raggiungere, le modifiche in Overleaf vengono comunque inviate a Dropbox, ma quelle fatte in Dropbox tornano solo quando un utente fa clic su *sincronizza ora questo progetto* nella finestra Dropbox dell'editor.

### Come funziona la sincronizzazione

* **Collegamento**: quando un utente collega il proprio account Dropbox, i progetti di cui è proprietario vengono inviati a Dropbox. I progetti condivisi con lui compaiono in Dropbox alla loro modifica successiva.
* **Da Overleaf a Dropbox**: nuovi file, rinomine, spostamenti, eliminazioni e rinomine di progetti vengono inviati subito. Le modifiche nell'editor vengono inviate quando Overleaf le salva nel proprio storage, qualche minuto dopo che tutti hanno lasciato il progetto. Per inviarle prima, fai clic su *sincronizza ora questo progetto* nella finestra Dropbox dell'editor (una volta al minuto).
* **Da Dropbox a Overleaf**: file nuovi e modificati, nuove cartelle ed eliminazioni in una cartella di progetto vengono applicati al progetto. Una nuova cartella al primo livello della cartella dell'app diventa un nuovo progetto. Eliminare la cartella di un progetto in Dropbox contrassegna il progetto come eliminato in Overleaf.
* **Conflitti**: quando un file cambia contemporaneamente in entrambi i posti, prevale l'ultima modifica. Dropbox può conservare l'altra versione come *copia in conflitto*.
* **Collaboratori**: i collaboratori che collegano il proprio Dropbox ricevono i progetti condivisi con loro. Gli utenti in sola lettura e i revisori ricevono il progetto, ma le loro modifiche in Dropbox non vengono sincronizzate in Overleaf.
* **File ignorati**: i file che Overleaf non sincronizza, come l'output di compilazione (`.aux`, `.log`, …), `.DS_Store` o gli ambienti virtuali Python, restano solo in Dropbox.

### Q\&A

<Accordion title="Perché un utente non riesce a collegare il proprio account Dropbox?">
  <strong>Risposta:</strong>

  * I progetti vengono associati alle cartelle Dropbox in base al nome, quindi a un utente che ha due progetti con lo stesso nome viene chiesto di rinominarne prima uno.
  * Un account Dropbox può essere collegato a un solo account Overleaf.
</Accordion>

<Accordion title="Perché un account Dropbox è stato scollegato?">
  <strong>Risposta:</strong> Overleaf scollega un account Dropbox quando Dropbox rifiuta il suo token (ad esempio dopo che l'utente ha rimosso l'app in Dropbox), quando il Dropbox è pieno o quando Dropbox ha sospeso l'account. L'utente può ricollegarlo una volta risolto il problema.
</Accordion>

<Accordion title="Posso rinominare la cartella di un progetto in Dropbox?">
  <strong>Risposta:</strong> Ti preghiamo di rinominare invece il progetto in Overleaf. Per Overleaf, rinominare la cartella in Dropbox equivale a eliminare la cartella del progetto e crearne una nuova, quindi il vecchio progetto viene contrassegnato come eliminato e viene creato un nuovo progetto a partire dai file.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.