Tam proje geçmişi geçişi
Community Edition’ın3.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.- 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.
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:0 çıkış kodu ve hata olmadığını gösteren son satırları alırsınız: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:
- Admin düğmesine tıklayın ve Manage Site seçeneğini seçin
- Open/Close Editor sekmesine tıklayın
- Reopen Editor düğmesine tıklayın
$ 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
Ç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
--concurrencydeğeriyle bazı hizmetlerdeki (özellikletrack-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=1değ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.
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 Pro3.5.6, 4.0.6 ve 4.1.0 sürümlerine eklenmiştir.
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.ymlveya diğer (uygun olmayanları silin) - Sürüm: 3.5.x (toolkit:
$ cat config/version) - Geçiş betiği çıktısı (konteynerde
/overleaf/services/webaltı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:
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 edenfind_malformed_filetrees betiğini kullanarak bu sorunların bir listesini bulabilirsiniz:
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:

