Skip to main content
Tính năng này được phát triển bởi ayaka-notes/ayakaleaf-pro. Tính năng được giới thiệu từ v6.4.0 trở đi và vẫn đang ở trạng thái beta. Nếu gặp bất kỳ vấn đề nào, chúng tôi rất mong nhận được phản hồi của bạn.
Đồng bộ hóa Dropbox giữ các dự án của người dùng luôn đồng bộ với Dropbox của họ, giống như trên Overleaf Cloud: sau khi người dùng liên kết tài khoản Dropbox, mỗi dự án của họ sẽ xuất hiện dưới dạng một thư mục trong Apps/<your Dropbox app>/, các thay đổi trong Overleaf được gửi sang Dropbox, và các thay đổi thực hiện trong Dropbox được đưa trở lại Overleaf.

Thiết lập đồng bộ hóa Dropbox

Bạn cần bật git-bridge trước: nếu không có git-bridge, phần cài đặt tài khoản sẽ ẩn mục đồng bộ dự án.
config/overleaf.rc
Tạo một ứng dụng trong Dropbox App Console, đăng nhập bằng tài khoản Dropbox sẽ sở hữu ứng dụng:
  1. Nhấp Create app, sau đó điền thông tin trên trang:
    • 1. Choose an API: chọn Scoped access.
    • 2. Choose the type of access you need: chọn App folder, không chọn Full Dropbox. Overleaf chỉ đồng bộ bên trong thư mục của ứng dụng.
    • 3. Name your app: nhập một tên, ví dụ Overleaf. Tên này phải là duy nhất trên Dropbox. Các dự án của mỗi người dùng sẽ xuất hiện trong Apps/<name of your app>/ trong Dropbox của họ, và tên này chính là DROPBOX_APP_NAME bên dưới.
    • Nhấp Create app. Ứng dụng sẽ mở ở tab Settings.
  2. Trong tab Permissions, mục Files and folders, chọn files.metadata.write, files.content.write và files.content.read. account_info.read và files.metadata.read được chọn cùng và không thể bỏ chọn. Không chọn các quyền khác.
  3. Nhấp Submit trong thanh ở cuối tab Permissions. Nếu không nhấp Submit, các quyền sẽ không được lưu, và Dropbox sẽ từ chối đồng bộ tệp cho những người dùng liên kết tài khoản của họ.

Dropbox App Console: các quyền cần chọn, được lưu bằng Submit

  1. Trong tab Settings, mục OAuth 2, nhập ${OVERLEAF_SITE_URL}/user/dropbox/oauth/callback vào Redirect URIs, sau đó nhấp Add. Chỉ nhập URI là chưa đủ: URI chỉ được lưu khi nó hiển thị trong danh sách phía trên ô nhập.

Dropbox App Console: nhập redirect URI, sau đó nhấp Add

  1. Trong tab Settings, mục Webhooks, nhập ${OVERLEAF_SITE_URL}/dropbox/webhook vào Webhook URIs, sau đó cũng nhấp Add. Dropbox sẽ gọi địa chỉ này ngay lập tức để kiểm tra, vì vậy Overleaf phải đang chạy với các cài đặt bên dưới và có thể truy cập được từ internet (xem Webhook). Trạng thái của nó sẽ hiển thị Enabled khi kiểm tra thành công.
Sao chép App key và App secret (nhấp Show) từ tab Settings, sau đó thêm các cài đặt sau vào tệp biến môi trường của Overleaf. Bạn có thể thêm webhook (bước 5) sau khi Overleaf đã chạy với các cài đặt này.
config/variables.env
  • Trước khi cấu hình redirect URI và webhook, hãy đảm bảo OVERLEAF_SITE_URL đã được đặt chính xác.
  • Dropbox cố định các quyền của một token khi người dùng liên kết tài khoản: việc gửi quyền không làm thay đổi các token hiện có. Những người dùng đã liên kết trước khi các quyền được gửi, hoặc trước khi bạn thay đổi chúng, phải hủy liên kết và liên kết lại tài khoản Dropbox của họ.
  • Một ứng dụng mới ở trạng thái Development. Nếu Development users trong tab Settings hiển thị Only you, chỉ tài khoản Dropbox của bạn có thể được liên kết: nhấp Enable additional users để cho phép những người dùng khác liên kết tài khoản của họ. Sau đó mục này sẽ hiển thị số người dùng đã liên kết, ví dụ 1 / 500: một ứng dụng Development chỉ nhận tối đa 500 người dùng. Để có thêm người dùng, nhấp Apply for production, và Dropbox sẽ xét duyệt ứng dụng.
Nếu bạn ở khu vực có hạn chế truy cập mạng, có thể bạn cần cấu hình proxy để truy cập Dropbox. Hãy đặt biến môi trường sau: DROPBOX_SYNC_PROXY_URL=http://10.0.0.1:10808. Đây phải là một proxy chuyển tiếp HTTP/HTTPS tiêu chuẩn và không được sử dụng 127.0.0.1.

Webhook

Dropbox thông báo cho Overleaf về các thay đổi trong Dropbox thông qua webhook, nhờ đó các thay đổi xuất hiện trong Overleaf chỉ trong vài giây. Webhook được gửi đến địa chỉ trang của bạn, ${OVERLEAF_SITE_URL}/dropbox/webhook, không cần thêm cổng nào, nhưng Dropbox phải có thể truy cập địa chỉ này từ internet. Khi bạn thêm nó trong App Console, Dropbox sẽ kiểm tra ngay lập tức. Nếu không có webhook, ví dụ trên một máy chủ mà Dropbox không thể truy cập, các thay đổi trong Overleaf vẫn được gửi sang Dropbox, nhưng các thay đổi trong Dropbox chỉ được đưa trở lại khi người dùng nhấp sync this project now trong hộp thoại Dropbox của trình soạn thảo.

Cách đồng bộ hoạt động

  • Liên kết: khi người dùng liên kết tài khoản Dropbox, các dự án mà họ sở hữu sẽ được gửi sang Dropbox. Các dự án được chia sẻ với họ sẽ xuất hiện trong Dropbox khi có thay đổi tiếp theo.
  • Từ Overleaf sang Dropbox: các tệp mới, việc đổi tên, di chuyển, xóa và đổi tên dự án được gửi ngay lập tức. Các chỉnh sửa trong trình soạn thảo được gửi khi Overleaf lưu chúng vào bộ lưu trữ, vài phút sau khi mọi người đã rời khỏi dự án. Để gửi sớm hơn, nhấp sync this project now trong hộp thoại Dropbox của trình soạn thảo (một lần mỗi phút).
  • Từ Dropbox sang Overleaf: các tệp mới và tệp đã thay đổi, thư mục mới và các thao tác xóa trong thư mục dự án được áp dụng vào dự án. Một thư mục mới ở cấp cao nhất của thư mục ứng dụng sẽ trở thành một dự án mới. Xóa một thư mục dự án trong Dropbox sẽ đánh dấu dự án là đã xóa trong Overleaf.
  • Xung đột: khi một tệp thay đổi ở cả hai nơi cùng lúc, thay đổi sau cùng sẽ được giữ lại. Dropbox có thể giữ phiên bản còn lại dưới dạng conflicted copy.
  • Cộng tác viên: các cộng tác viên liên kết Dropbox của họ sẽ nhận được các dự án được chia sẻ với họ. Người xem chỉ có quyền đọc và người review cũng nhận được dự án, nhưng các thay đổi của họ trong Dropbox không được đồng bộ trở lại Overleaf.
  • Tệp bị bỏ qua: các tệp mà Overleaf không đồng bộ, như đầu ra biên dịch (.aux, .log, …), .DS_Store hoặc môi trường ảo Python, chỉ được giữ trong Dropbox.

Q&A

  • Các dự án được ghép với các thư mục Dropbox theo tên, vì vậy người dùng có hai dự án trùng tên sẽ được yêu cầu đổi tên một trong hai trước.
  • Một tài khoản Dropbox chỉ có thể được liên kết với một tài khoản Overleaf.
Trả lời: Overleaf hủy liên kết một tài khoản Dropbox khi Dropbox từ chối token của nó (ví dụ sau khi người dùng xóa ứng dụng trong Dropbox), khi Dropbox đã đầy, hoặc khi Dropbox tạm ngưng tài khoản. Người dùng có thể liên kết lại sau khi vấn đề được giải quyết.
Trả lời: Vui lòng đổi tên dự án trong Overleaf thay vì làm vậy. Đối với Overleaf, việc đổi tên thư mục trong Dropbox tương đương với xóa thư mục dự án và tạo một thư mục mới, vì vậy dự án cũ sẽ bị đánh dấu là đã xóa và một dự án mới được tạo từ các tệp.
Lần sửa đổi cuối 17 tháng 10, 2026