> ## 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.

# Synchronizacja z Dropbox

<Info>
  Ta funkcja została opracowana przez [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro). Jest dostępna od wersji v6.4.0. Nadal znajduje się w fazie beta. Jeśli napotkasz jakiekolwiek problemy, prosimy o opinię.
</Info>

Synchronizacja z Dropbox utrzymuje projekty użytkownika w synchronizacji z jego Dropbox, tak jak w Overleaf Cloud: gdy użytkownik połączy swoje konto Dropbox, każdy z jego projektów pojawia się jako folder w `Apps/<your Dropbox app>/`, zmiany w Overleaf są wysyłane do Dropbox, a zmiany wprowadzone w Dropbox wracają do Overleaf.

### Konfiguracja synchronizacji z Dropbox

<Warning>
  Najpierw musisz włączyć [git-bridge](/pl/on-premises/configuration/overleaf-toolkit/git-integration): bez niego ustawienia konta ukrywają sekcję synchronizacji projektów.

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

Utwórz aplikację w [Dropbox App Console](https://www.dropbox.com/developers/apps), zalogowawszy się na konto Dropbox, które będzie właścicielem aplikacji:

1. Kliknij **Create app**, a następnie wypełnij stronę:
   * **1. Choose an API**: wybierz **Scoped access**.
   * **2. Choose the type of access you need**: wybierz **App folder**, a nie **Full Dropbox**. Overleaf synchronizuje tylko zawartość folderu aplikacji.
   * **3. Name your app**: wpisz nazwę, np. `Overleaf`. Musi być unikalna w Dropbox. Projekty każdego użytkownika pojawiają się w jego Dropbox w `Apps/<name of your app>/`, a ta nazwa to `DROPBOX_APP_NAME` poniżej.
   * Kliknij **Create app**. Aplikacja otworzy się na karcie **Settings**.
2. Na karcie **Permissions**, w sekcji **Files and folders**, zaznacz `files.metadata.write`, `files.content.write` i `files.content.read`. `account_info.read` i `files.metadata.read` zostaną zaznaczone razem z nimi i nie można ich odznaczyć. Nie zaznaczaj innych uprawnień.
3. Kliknij **Submit** na pasku u dołu karty **Permissions**. **Bez kliknięcia Submit uprawnienia nie zostaną zapisane**, a Dropbox odmówi synchronizacji plików użytkownikom, którzy połączą swoje konto.

<Frame caption="Dropbox App Console: uprawnienia do zaznaczenia, zapisane przyciskiem 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. Na karcie **Settings**, w sekcji **OAuth 2**, wpisz `${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback` w polu **Redirect URIs**, a następnie **kliknij Add**. Samo wpisanie adresu URI nie wystarczy: zostaje on zapisany dopiero wtedy, gdy pojawi się na liście nad polem.

<Frame caption="Dropbox App Console: wpisz adres URI przekierowania, a następnie kliknij 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. Na karcie **Settings**, w sekcji **Webhooks**, wpisz `${OVERLEAF_SITE_URL}/dropbox/webhook` w polu **Webhook URIs**, a następnie również **kliknij Add**. Dropbox od razu wywołuje ten adres, aby go sprawdzić, więc Overleaf musi już działać z poniższymi ustawieniami i być osiągalny z internetu (zobacz [Webhook](#webhook)). Po pomyślnym sprawdzeniu jego stan zmienia się na **Enabled**.

Skopiuj **App key** oraz **App secret** (kliknij **Show**) z karty **Settings**, a następnie dodaj poniższe ustawienia do plików ze zmiennymi środowiskowymi Overleaf. Webhook (krok 5) możesz dodać, gdy Overleaf będzie już działać z tymi ustawieniami.

```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>
  * Przed skonfigurowaniem adresu URI przekierowania i webhooka upewnij się, że `OVERLEAF_SITE_URL` jest ustawiony poprawnie.
  * Dropbox ustala uprawnienia tokenu w momencie, gdy użytkownik łączy swoje konto: zatwierdzenie uprawnień nie zmienia istniejących tokenów. Użytkownicy, którzy połączyli konto przed zatwierdzeniem uprawnień lub przed ich zmianą, muszą odłączyć i ponownie połączyć swoje konto Dropbox.
  * Nowa aplikacja ma status **Development**. Jeśli pole **Development users** na karcie **Settings** pokazuje **Only you**, połączyć można tylko Twoje konto Dropbox: kliknij **Enable additional users**, aby pozwolić innym użytkownikom połączyć ich konta. Następnie wyświetlana jest liczba połączonych użytkowników, np. `1 / 500`: **aplikacja w statusie Development obsługuje maksymalnie 500 użytkowników**. Aby obsłużyć więcej użytkowników, kliknij **Apply for production**, a Dropbox przejrzy aplikację.
</Warning>

Jeśli znajdujesz się w regionie z ograniczonym dostępem do sieci, może być konieczne skonfigurowanie proxy, aby uzyskać dostęp do Dropbox. Ustaw następującą zmienną środowiskową: `DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808`. Musi to być standardowy serwer proxy przekazujący HTTP/HTTPS i nie może używać `127.0.0.1`.

### Webhook

Dropbox informuje Overleaf o zmianach w Dropbox za pomocą webhooka, dzięki czemu pojawiają się one w Overleaf w ciągu kilku sekund. Webhook jest kierowany na adres Twojej witryny, `${OVERLEAF_SITE_URL}/dropbox/webhook`, i nie wymaga dodatkowego portu, ale **Dropbox musi mieć do niego dostęp z internetu**. Gdy dodasz go w App Console, Dropbox od razu go sprawdza.

Bez webhooka, na przykład na serwerze niedostępnym dla Dropbox, zmiany w Overleaf są nadal wysyłane do Dropbox, ale zmiany w Dropbox wracają tylko wtedy, gdy użytkownik kliknie *sync this project now* w oknie Dropbox w edytorze.

### Jak działa synchronizacja

* **Łączenie**: gdy użytkownik połączy swoje konto Dropbox, projekty, których jest właścicielem, są wysyłane do Dropbox. Projekty udostępnione mu pojawiają się w Dropbox przy ich następnej zmianie.
* **Z Overleaf do Dropbox**: nowe pliki, zmiany nazw, przeniesienia, usunięcia i zmiany nazw projektów są wysyłane natychmiast. Zmiany w edytorze są wysyłane, gdy Overleaf zapisze je w swoim magazynie, kilka minut po tym, jak wszyscy opuszczą projekt. Aby wysłać je wcześniej, kliknij *sync this project now* w oknie Dropbox w edytorze (raz na minutę).
* **Z Dropbox do Overleaf**: nowe i zmienione pliki, nowe foldery oraz usunięcia w folderze projektu są stosowane w projekcie. Nowy folder na najwyższym poziomie folderu aplikacji staje się nowym projektem. Usunięcie folderu projektu w Dropbox oznacza projekt jako usunięty w Overleaf.
* **Konflikty**: gdy plik zmieni się w obu miejscach jednocześnie, wygrywa ostatnia zmiana. Dropbox może zachować drugą wersję jako *conflicted copy*.
* **Współpracownicy**: współpracownicy, którzy połączą swój Dropbox, otrzymują udostępnione im projekty. Osoby z dostępem tylko do odczytu i recenzenci otrzymują projekt, ale ich zmiany w Dropbox nie są synchronizowane z powrotem do Overleaf.
* **Ignorowane pliki**: pliki, których Overleaf nie synchronizuje, takie jak wyniki kompilacji (`.aux`, `.log`, …), `.DS_Store` czy środowiska wirtualne Python, pozostają tylko w Dropbox.

### Pytania i odpowiedzi

<Accordion title="Dlaczego użytkownik nie może połączyć swojego konta Dropbox?">
  <strong>Odpowiedź:</strong>

  * Projekty są dopasowywane do folderów Dropbox według nazwy, więc użytkownik, który ma dwa projekty o tej samej nazwie, zostanie poproszony o wcześniejszą zmianę nazwy jednego z nich.
  * Konto Dropbox można połączyć tylko z jednym kontem Overleaf.
</Accordion>

<Accordion title="Dlaczego konto Dropbox zostało odłączone?">
  <strong>Odpowiedź:</strong> Overleaf odłącza konto Dropbox, gdy Dropbox odrzuci jego token (na przykład po usunięciu aplikacji przez użytkownika w Dropbox), gdy Dropbox jest pełny lub gdy Dropbox zawiesił konto. Użytkownik może ponownie połączyć konto po rozwiązaniu problemu.
</Accordion>

<Accordion title="Czy mogę zmienić nazwę folderu projektu w Dropbox?">
  <strong>Odpowiedź:</strong> Zamiast tego zmień nazwę projektu w Overleaf. Dla Overleaf zmiana nazwy folderu w Dropbox oznacza usunięcie folderu projektu i utworzenie nowego, więc stary projekt zostaje oznaczony jako usunięty, a z plików tworzony jest nowy projekt.
</Accordion>


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