> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/on-premises/tr/destek/support-guides/full-project-history-migration.md).

# (v3.5.13 Geçişi) Tam proje geçmişi geçişi

## Tam proje geçmişi taşıma

Bu `3.5.x` Community Edition sürümü şunları içerir: [Tam Proje Geçmişi özelliğini](https://www.overleaf.com/learn/latex/Using_the_History_feature) ki bu zaten SaaS teklifimizde mevcuttur, [overleaf.com](http://overleaf.com/)

Örneğinizi Overleaf CE'ye yükselttikten sonra `3.5.13`, tüm yeni projeler varsayılan olarak Tam Proje Geçmişi'ni kullanacaktır. Mevcut projeler, taşınana kadar eski History sistemini kullanmaya devam edecektir.

{% hint style="info" %}
Eğer `3.5.13` sürümüne yükseltir ve daha eski bir sürüme düşürmeye karar verirseniz, tam bir sistem yedeğinden geri yükleme yapmalısınız. İle oluşturulan projelerin geçmişi `3.5.13` Overleaf CE'nin daha eski sürümleriyle uyumlu değildir.
{% endhint %}

Yeni Tam Proje Geçmişi kullanıcılar için birkaç iyileştirme getirir:

* İkili dosyalardaki değişiklikleri izler; bu, eski sistemde desteklenmiyordu.
* Etiketli sürümler desteği vardır.
* Sistem genel olarak daha sağlamdır, veri kaybı riski daha düşüktür.

Şuna bakın [Tam Proje Geçmişi belgeleri](https://www.overleaf.com/learn/latex/Using_the_History_feature) tam proje geçmişi hakkında daha fazla bilgi için.

### Mevcut projeleri taşımak

{% stepper %}
{% step %}

#### Bir yedek oluşturun

Tam bir [yedek](https://docs.overleaf.com/on-premises/maintenance/data-and-backups#performing-a-consistent-backup) örneğinizin, **mongo**, **redis** ve **sharelatex** dizinlerinin tutarlı bir anlık görüntüsüyle birlikte.
{% endstep %}

{% step %}

#### Güncelle

sharelatex/sharelatex imajının sürümünü 3.5.13'e güncelleyin.

Toolkit: `$ bin/upgrade` komut dosyasını toolkit'i en son sürüme yükseltmek için kullanın ve **config/version** dosyasını 3.5.13'e düzenleyin.
{% endstep %}

{% step %}

#### Örneği başlatın

İdeal olarak, yedeğinizi geri yüklemeniz gerekebileceği durumlarda veri kaybını önlemek için, taşıma işlemi sırasında kullanıcıların örneğinize erişmesini engellemek istersiniz. Şuna bakın [Çevrimdışı taşıma](https://github.com/overleaf/overleaf/wiki/Full-Project-History-Migration/#offline-migration) bunu nasıl yapacağınız hakkında daha fazla bilgi için.
{% endstep %}

{% step %}

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

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

{% code overflow="wrap" %}

```bash
$ bin/docker-compose exec sharelatex /bin/bash -c "curl http://localhost:3000/status"
web sharelatex çalışıyor (api)%
```

{% endcode %}
{% endstep %}

{% step %}

#### Taşıma betiğini çalıştırın

{% code overflow="wrap" %}

```bash
# Overleaf Toolkit kullanıcıları:
$ bin/docker-compose exec sharelatex /bin/bash -c "cd /overleaf/services/web; VERBOSE_LOGGING=true node scripts/history/migrate_history.js --force-clean --fix-invalid-characters --convert-large-docs-to-file"

# eski docker-compose.yml kullanıcıları:
$ docker exec sharelatex /bin/bash -c "cd /overleaf/services/web; VERBOSE_LOGGING=true node scripts/history/migrate_history.js --force-clean --fix-invalid-characters --convert-large-docs-to-file"
```

{% endcode %}

`--force-clean` kısmen taşınmış proje geçmişi verilerini yeni sistemde temizler; bu, önceki denemelerde başarısız olan tekil projeler için taşımanın 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` 2 MB düzenlenebilir boyut eşiğinin üzerindeki belgeleri düzenlenemez bir dosyaya dönüştürür)

Çıktı şöyle görünmelidir:

```bash
Taşınan Projeler  :  1
Toplam Projeler     :  51
Kalan Projeler :  51
Taşınacak toplam geçmiş kaydı: 98
Taşıma başlatılıyor...
Proje taşınıyor: 63d29b5772dd80015a81bffe
taşıma sonucu { upgraded: true, historyType: 'NoneWithoutConversion' }
Proje taşınıyor: 63d29c2e72dd80015a81c0a2
taşıma sonucu { upgraded: true, historyType: 'NoneWithoutConversion' }

// …

Taşıma tamamlandı
==================
Taşınan projeler:  51
Başarısız olan projeler:  0
Tamam.
```

Taşıma başarılı olursa, bir çıkış kodu alırsınız `0`ve son satırlarda başarısızlık olmadığını gösteren:

```bash
Başarısız olan projeler:  0
Tamam.
```

Kullanıcılarınız için erişimi yeniden açabilirsiniz (bir sonraki adıma bakın). Başarısızlıklar varsa, lütfen aşağıdaki sorun giderme bölümüne bakın. Sorunlar hemen düzeltilmezse siteyi yine de yeniden açabilirsiniz ve taşınmamış projeler eski geçmiş sisteminde kalacaktır.
{% endstep %}

{% step %}

#### Siteyi yeniden açın

Çevrimdışı taşıma yapmayı seçtiyseniz siteyi yeniden açmanız gerekir. Hâlâ oturum açmış durumdaysanız şunları yapmanız gerekir:

1. şuna tıklayın: **Yönetici** düğmesine basın ve şunu seçin **Siteyi Yönet**
2. şuna tıklayın: **Düzenleyiciyi Aç/Kapat** sekmesi
3. şuna tıklayın: **Düzenleyiciyi yeniden aç** düğmesi

Tarayıcınızı kapattıysanız siteyi şu komutla yeniden başlatmanız gerekir `$ bin/up`.
{% endstep %}
{% endstepper %}

#### Çevrimdışı taşıma

Geçmiş taşıma betiği çalışırken kullanıcıların giriş yapabilmesini önlemek için lütfen şu adımları izleyin:

* Yönetici hesabıyla Overleaf örneğinize giriş yapın
* şuna tıklayın: **Yönetici** düğmesine basın ve şunu seçin **Siteyi Yönet**
* şuna tıklayın: **Düzenleyiciyi Aç/Kapat** sekmesi
* şuna tıklayın: **Düzenleyiciyi kapat** düğmesi
* şuna tıklayın: **Tüm kullanıcıların bağlantısını kes** düğmesi

Bu tamamlandıktan sonra, oturum açmış herhangi bir kullanıcı bakım sayfasına yönlendirilecektir ve giriş sayfasını ziyaret eden yeni kullanıcılar bakım sayfasını görecek ve **yapmayacaktır** giriş yapabileceklerdir.

#### Çevrimiçi taşıma

Uygulama hâlâ çalışırken taşıma betiklerini çalıştırmak mümkündür. Dikkate alınması gereken birkaç husus vardır:

* Taşıma süreci CPU açısından yoğundur; betik çalışırken kaynak kullanımını izlemeniz gerekir.
* Yüksek bir `--concurrency` değerinde, bazı hizmetlerin olay döngüsü (`track-changes` özellikle) bir miktar bloklama yaşayabilir ve bu da daha kötü bir kullanıcı deneyimine yol açar. Varsayılan `--concurrency=1` değeriyle başlamanızı öneririz.
* Betiği istediğiniz zaman durdurabilirsiniz. Yeniden başlatıldığında, bıraktığınız yerden taşıma işlemine devam eder. Bu, taşıma işlemini daha sakin saatlerde (ör. gece) çalıştırmayı tercih etmeniz durumunda faydalıdır.

Önerimiz, siteyi kapatıp taşıma işlemini, proje sayınız 1000 projeden az olduğunda bir bakım penceresi sırasında çevrimdışı olarak çalıştırmanızdır (`db.projects.count()`). Proje sayısı çok fazlaysa betiği çalıştırıp ilerlemesini izleyebilir, ardından özel durumunuza göre çevrimiçi mi yoksa çevrimdışı mı devam edeceğinize karar verebilirsiniz.

#### Eski geçmiş verilerini temizleme

Eski geçmiş verilerini temizlemek için bir betik Server Pro'ya eklendi `3.5.6`, `4.0.6` ve `4.1.0`.

{% code overflow="wrap" %}

```bash
bin/docker-compose exec sharelatex /bin/bash -c "cd /overleaf/services/web; node scripts/history/clean_sl_history_data.js"
```

{% endcode %}

Bu betik, tüm projeler taşındıktan sonra çalıştırılabilir. Ayrıca çevrimiçi taşıma sırasında biraz alan açmak için de kullanılabilir.

{% hint style="info" %}
3.5.13 sürümünden önceki Server Pro'da, betik şunların içeriğini siler: `docHistory` ve `docHistoryIndex` koleksiyonları. 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ş taşımasından sonra bu koleksiyonlara tekrar hiçbir şey yazılmayacaktır, bu yüzden disk alanı kullanılmadan kalacaktı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ırken) veya Server Pro 4.2.5'e (4.x sürümünü kullanırken) yükseltebilir ve temizleme betiğini yeniden çalıştırabilirsiniz.

Server Pro'da yer alan temizleme betiği, `3.5.x` ve en son `4.x.x` sürümlerinin en son yama sürümlerinde koleksiyonları son adım olarak kaldırmaktadır.

Temizleme betiğini yeniden çalıştırmak güvenlidir.
{% endhint %}

### Sorun giderme

Buraya sorun giderme tavsiyeleri ekleyeceğiz. Normalde yalnızca Server Pro müşterilerine destek sunduğumuzu, ancak bu taşımanın doğası gereği, tam proje geçmişi taşımasına özgü sorunlar yaşayan CE müşterilerini de elimizden geldiğince destekleyeceğimizi lütfen unutmayın.

Tam proje geçmişi taşıma betiği başarısız olursa (yani bir hata ile çıkarsa veya başarısız olan proje sayısında sıfırdan farklı bir sayı yazdırırsa), lütfen aşağıdaki ayrıntıları e-posta ile destek ekibimize gönderin [support+historymigration@overleaf.com](mailto:support+historymigration@overleaf.com?subject=Full%20project%20history%20migration%20problem\&body=Instance%20Type%3A%20CE%20or%20Server%20Pro%20%28delete%20as%20appropriate%29%0A%0AInstallation%20Type%3A%20Overleaf%20toolkit%20or%20docker-compose.yml%20or%20other%20%28delete%20as%20appropriate%29%0A%0AScript%20output%3A%0A%0Abin%2Fdoctor%20output%20%28if%20using%20toolkit%29%3A%0A)şu ayrıntılarla:

Konu: Tam proje geçmişi taşıma sorunu

* Örnek Türü: CE veya Server Pro (uygun olanı silin)
* Kurulum Türü: Overleaf toolkit veya `docker-compose.yml` ya da diğer (uygun olanı silin)
* Sürüm: 3.5.x (toolkit: `$ cat config/version`)
* Taşıma betiği çıktısı (container içinde şu konumda bulunmalıdır `/overleaf/services/web`)
* Taşınan Projeler: (taşıma betiği çıktısına göre)
* Toplam Projeler: (taşıma betiği çıktısına göre)
* Kalan Projeler: (taşıma betiği çıktısına göre)
* Taşımanın süresi:
* `bin/doctor` çıktı (toolkit kullanırken)
* Toolkit sürümü: `$ git rev-parse HEAD` (toolkit kullanırken)

E-postaya şu hizmetlerin günlük dosyalarını eklemeyi düşünün: `history-v1`, `project-history` ve `track-changes` Bunları şu konumda bulabilirsiniz `/var/log/sharelatex` içinde `sharelatex` container ve bunları şu şekilde dışa aktarın:

```bash
$ docker cp sharelatex:/var/log/sharelatex/history-v1.log history-v1.log
$ docker cp sharelatex:/var/log/sharelatex/project-history.log project-history.log
$ docker cp sharelatex:/var/log/sharelatex/track-changes.log track-changes.log
```

Lütfen eklemeden önce günlük dosyalarındaki hassas bilgileri gizleyin.

#### Bozuk dosya ağaçlarını bulma

Taşıma, bozuk dosya ağacı olan projelerde başarısız olabilir (örneğin, dosya adlarının boş olduğu durumlarda). Bu sorunların bir listesini şu betik ile bulabilirsiniz `find_malformed_filetrees` veritabanındaki tüm projeleri kontrol eden betik:

{% code overflow="wrap" %}

```bash
$ bin/docker-compose exec sharelatex /bin/bash -c "cd /overleaf/services/web; node scripts/find_malformed_filetrees.js"
HATALI YOL: 123456789012345678901234 rootFolder.0.1.2.3
HATALI YOL: 123456789012345678901234 rootFolder.0.4.5.6
...
```

{% endcode %}

Geçersiz yolları düzeltmek için şu betiği kullanın `fix_malformed_filetree` betiğini, her hatalı yol için komutu bir kez çalıştırarak:

{% code overflow="wrap" %}

```bash
$ bin/docker-compose exec sharelatex /bin/bash -c "cd /overleaf/services/web; node scripts/fix_malformed_filetree.js 123456789012345678901234 rootFolder.0.1.2.3"
$ bin/docker-compose exec sharelatex /bin/bash -c "cd /overleaf/services/web; node scripts/fix_malformed_filetree.js 123456789012345678901234 rootFolder.0.4.5.6"
...
```

{% endcode %}

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

Eğer tam proje geçmişine taşınmış bir proje varsa ama eski geçmişe geri dönmek istiyorsanız, şu betiği kullanın `downgrade_project` şu şekilde:

{% code overflow="wrap" %}

```bash
$ bin/docker-compose exec sharelatex /bin/bash -c "cd /overleaf/services/web; PROJECT_ID=YOUR
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/on-premises/tr/destek/support-guides/full-project-history-migration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
