Ta funkcja została opracowana przez 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ę.
Apps/<your Dropbox app>/, zmiany w Overleaf są wysyłane do Dropbox, a zmiany wprowadzone w Dropbox wracają do Overleaf.
Konfiguracja synchronizacji z Dropbox
Utwórz aplikację w Dropbox App Console, zalogowawszy się na konto Dropbox, które będzie właścicielem aplikacji:- 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 wApps/<name of your app>/, a ta nazwa toDROPBOX_APP_NAMEponiżej. - Kliknij Create app. Aplikacja otworzy się na karcie Settings.
- Na karcie Permissions, w sekcji Files and folders, zaznacz
files.metadata.write,files.content.writeifiles.content.read.account_info.readifiles.metadata.readzostaną zaznaczone razem z nimi i nie można ich odznaczyć. Nie zaznaczaj innych uprawnień. - 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.

Dropbox App Console: uprawnienia do zaznaczenia, zapisane przyciskiem Submit
- Na karcie Settings, w sekcji OAuth 2, wpisz
${OVERLEAF_SITE_URL}/user/dropbox/oauth/callbackw 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.

Dropbox App Console: wpisz adres URI przekierowania, a następnie kliknij Add
- Na karcie Settings, w sekcji Webhooks, wpisz
${OVERLEAF_SITE_URL}/dropbox/webhookw 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). Po pomyślnym sprawdzeniu jego stan zmienia się na Enabled.
config/variables.env
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_Storeczy środowiska wirtualne Python, pozostają tylko w Dropbox.
Pytania i odpowiedzi
Dlaczego użytkownik nie może połączyć swojego konta Dropbox?
Dlaczego użytkownik nie może połączyć swojego konta Dropbox?
- 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.
Dlaczego konto Dropbox zostało odłączone?
Dlaczego konto Dropbox zostało odłączone?
Odpowiedź: 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.
Czy mogę zmienić nazwę folderu projektu w Dropbox?
Czy mogę zmienić nazwę folderu projektu w Dropbox?
Odpowiedź: 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.

