Skip to main content

Tam proje geçmişi geçişi

Community Edition’ın 3.5.x sürümü, SaaS hizmetimiz overleaf.com üzerinde zaten mevcut olan Tam Proje Geçmişi özelliğini içerir. Örneğinizi Overleaf CE 3.5.13 sürümüne yükselttikten sonra tüm yeni projeler varsayılan olarak Tam Proje Geçmişi’ni kullanır. Mevcut projeler, taşınana kadar eski Geçmiş sistemini kullanmaya devam eder.
3.5.13 sürümüne yükseltir ve daha önceki bir sürüme geri dönmeye karar verirseniz, tam bir sistem yedeğinden geri yükleme yapmalısınız. 3.5.13 sürümünde oluşturulan projelerin geçmişi, Overleaf CE’nin önceki sürümleriyle uyumlu değildir.
Yeni Tam Proje Geçmişi, kullanıcılar için çeşitli iyileştirmeler getirir:
  • Eski sistemde desteklenmeyen ikili dosyalardaki değişiklikleri izler.
  • Etiketli sürümler desteklenir.
  • Sistem genel olarak daha sağlamdır ve veri kaybı olasılığı daha düşüktür.
Tam proje geçmişi hakkında daha fazla bilgi için Tam Proje Geçmişi belgelerine bakın.

Mevcut projeleri taşıma

1

Yedek oluşturun

Örneğinizin mongo, redis ve sharelatex dizinlerinin tutarlı bir anlık görüntüsünü içeren tam bir yedeğini oluşturun.
2

Güncelleyin

sharelatex/sharelatex imajının sürümünü 3.5.13’e güncelleyin.Toolkit: Toolkit’i en son sürüme yükseltmek için $ bin/upgrade betiğini kullanın ve config/version dosyasını 3.5.13 olarak düzenleyin.
3

Örneği başlatın

İdeal olarak, yedeğinizi geri yüklemeniz gerekmesi durumunda veri kaybını önlemek için geçiş sürerken kullanıcıların örneğinize erişmesini engellemek istersiniz. Bunun nasıl yapılacağı hakkında daha fazla bilgi için Çevrimdışı geçiş bölümüne bakın.
4

Tüm hizmetler çalışır duruma gelene kadar bekleyin

Tüm hizmetler çalışır duruma gelene kadar bekleyin (aşağıdaki komuta bakın)
5

Geçiş betiğini çalıştırın

--force-clean, yeni sistemdeki kısmen taşınmış proje geçmişi verilerini temizler; bu, önceki denemelerde başarısız olan tek tek projeler için geçişin yeniden denenmesine olanak tanır;--fix-invalid-characters, yeni geçmiş sistemi tarafından desteklenmeyen yazdırılamayan karakterleri değiştirir;--convert-large-docs-to-file, 2MB düzenlenebilir boyut eşiğini aşan belgeleri düzenlenemeyen bir dosyaya dönüştürür)Çıktı şöyle görünmelidir:
Geçiş başarılı olursa 0 çıkış kodu ve hata olmadığını gösteren son satırları alırsınız:
Kullanıcılarınızın erişimini yeniden açabilirsiniz (sonraki adıma bakın). Hatalar varsa lütfen aşağıdaki sorun giderme bölümüne bakın. Sorunlar hemen düzeltilemese bile siteyi yeniden açabilirsiniz; taşınmamış projeler eski geçmiş sisteminde kalmaya devam eder.
6

Siteyi yeniden açın

Çevrimdışı geçiş yapmayı seçtiyseniz siteyi yeniden açmanız gerekir. Hâlâ oturumunuz açıksa şunları yapmanız gerekir:
  1. Admin düğmesine tıklayın ve Manage Site seçeneğini seçin
  2. Open/Close Editor sekmesine tıklayın
  3. Reopen Editor düğmesine tıklayın
Tarayıcınızı kapattıysanız siteyi $ bin/up ile yeniden başlatmanız gerekir.

Çevrimdışı geçiş

Geçmiş geçiş betiği çalışırken kullanıcıların oturum açabilmesini önlemek için lütfen şu adımları izleyin:
  • Overleaf örneğinize bir yönetici hesabıyla giriş yapın
  • Admin düğmesine tıklayın ve Manage Site seçeneğini seçin
  • Open/Close Editor sekmesine tıklayın
  • Close Editor düğmesine tıklayın
  • Disconnect all users düğmesine tıklayın
Bu işlem yapıldıktan sonra, oturumu açık olan kullanıcılar bakım sayfasına yönlendirilir ve giriş sayfasını ziyaret eden yeni kullanıcılar bakım sayfasını görür ve oturum açamaz.

Çevrimiçi geçiş

Uygulama çalışmaya devam ederken geçiş betiklerini çalıştırmak mümkündür. Dikkate alınması gereken birkaç husus vardır:
  • Geçiş süreci yoğun CPU kullanır; betik çalışırken kaynak kullanımını izlemelisiniz.
  • Yüksek bir --concurrency değeriyle bazı hizmetlerdeki (özellikle track-changes) olay döngüsü bir miktar engellenme yaşayabilir ve bu da kullanıcı deneyiminin kötüleşmesine yol açabilir. Varsayılan --concurrency=1 değeriyle başlamanızı öneririz.
  • Betiği istediğiniz zaman durdurabilirsiniz. Yeniden başlatmak, geçişi kaldığınız yerden sürdürür. Bu, geçişi daha az yoğun saatlerde (ör. gece) çalıştırmayı tercih etmeniz durumunda kullanışlıdır.
Önerimiz, proje sayınız 1000’den az olduğunda (db.projects.count()) siteyi kapatıp geçişi bir bakım penceresinde çevrimdışı olarak çalıştırmanızdır. Proje sayısı fazlaysa betiği çalıştırıp ilerlemesini izleyebilir, ardından kendi durumunuza göre çevrimiçi mi yoksa çevrimdışı mı çalıştırmaya devam edeceğinize karar verebilirsiniz.

Eski geçmiş verilerini temizleme

Eski geçmiş verilerini temizlemek için bir betik Server Pro 3.5.6, 4.0.6 ve 4.1.0 sürümlerine eklenmiştir.
Betik, tüm projeler taşındıktan sonra çalıştırılabilir. Çevrimiçi bir geçiş yapılırken biraz alan boşaltmak için de kullanılabilir.
Server Pro’nun 3.5.13 öncesi sürümlerinde betik, docHistory ve docHistoryIndex koleksiyonlarının içeriğini siler. MongoDB, belgeleri sildikten sonra disk alanını serbest bırakmaz; bunun yerine bu alanı aynı koleksiyondaki gelecekteki belgeler için yeniden kullanır. Geçmiş geçişinden sonra bu koleksiyonlara bir daha hiçbir şey yazılmayacağından disk alanı kullanılmadan kalır.Disk alanını yeniden kullanılabilir hale getirmek istiyorsanız Server Pro 3.5.13’e (hâlâ 3.x sürümünü kullanıyorsanız) veya Server Pro 4.2.5’e (4.x sürümünü kullanıyorsanız) yükseltebilir ve temizleme betiğini yeniden çalıştırabilirsiniz.Server Pro’nun en son 3.5.x yama sürümlerinde ve en son 4.x.x sürümünde bulunan temizleme betiği, son adım olarak koleksiyonları kaldırır (drop).Temizleme betiğini yeniden çalıştırmak güvenlidir.

Sorun giderme

Sorun giderme önerilerini buraya ekleyeceğiz. Normalde yalnızca Server Pro müşterilerine destek sunsak da, bu geçişin doğası gereği, tam proje geçmişi geçişine özgü sorunlar yaşayan CE müşterilerine de destek olmak için elimizden geleni yapacağımızı lütfen unutmayın. Tam proje geçmişi geçiş betiği başarısız olursa (yani bir hatayla çıkarsa veya sıfırdan farklı sayıda başarısız proje yazdırırsa), lütfen aşağıdaki ayrıntıları support+historymigration@overleaf.com adresine e-postayla destek ekibimize gönderin: Konu: Full project history migration problem
  • Örnek Türü: CE veya Server Pro (uygun olmayanı silin)
  • Kurulum Türü: Overleaf toolkit, docker-compose.yml veya diğer (uygun olmayanları silin)
  • Sürüm: 3.5.x (toolkit: $ cat config/version)
  • Geçiş betiği çıktısı (konteynerde /overleaf/services/web altında bulunmalıdır)
  • Taşınan Projeler: (geçiş betiği çıktısına göre)
  • Toplam Projeler: (geçiş betiği çıktısına göre)
  • Kalan Projeler: (geçiş betiği çıktısına göre)
  • Geçişin süresi:
  • bin/doctor çıktısı (toolkit kullanılıyorsa)
  • Toolkit sürümü: $ git rev-parse HEAD (Toolkit kullanılıyorsa)
history-v1, project-history ve track-changes hizmetlerinin günlük dosyalarını e-postaya eklemeyi düşünün. Bunları sharelatex konteynerinin içinde /var/log/sharelatex konumunda bulabilir ve şu şekilde dışa aktarabilirsiniz:
Lütfen günlük dosyalarını eklemeden önce içlerindeki hassas bilgileri karartın.

Bozuk dosya ağaçlarını bulma

Geçiş, hatalı biçimlendirilmiş bir dosya ağacına sahip projelerde (örneğin dosya adlarının boş olduğu durumlarda) başarısız olabilir. Veritabanındaki tüm projeleri kontrol eden find_malformed_filetrees betiğini kullanarak bu sorunların bir listesini bulabilirsiniz:
Geçersiz yolları düzeltmek için fix_malformed_filetree betiğini kullanın ve komutu her hatalı yol için bir kez çalıştırın:

Projeleri tam proje geçmişinden eski geçmişe düşürme

Tam proje geçmişine taşınmış bir proje varsa ancak eski geçmişe geri dönmek istiyorsanız, downgrade_project betiğini şu şekilde kullanın:
Son değiştirilme tarihi 4 Ekim 2026