> 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/el/ypostiriksi/support-guides/full-project-history-migration.md).

# (Μεταφορά v3.5.13) Μεταφορά πλήρους ιστορικού έργου

## Μετάβαση πλήρους ιστορικού έργων

Το `3.5.x` η έκδοση της Community Edition περιλαμβάνει τη [λειτουργία Πλήρους Ιστορικού Έργου](https://www.overleaf.com/learn/latex/Using_the_History_feature) που είναι ήδη διαθέσιμη στην προσφορά SaaS μας, [overleaf.com](http://overleaf.com/)

Μετά την αναβάθμιση της εγκατάστασής σας σε Overleaf CE `3.5.13`, όλα τα νέα έργα θα χρησιμοποιούν από προεπιλογή το Πλήρες Ιστορικό Έργου. Τα υπάρχοντα έργα θα συνεχίσουν να χρησιμοποιούν το παλιό σύστημα Ιστορικού, μέχρι να μεταφερθούν.

{% hint style="info" %}
Αν αναβαθμίσετε σε `3.5.13` και αποφασίσετε να υποβαθμίσετε σε παλαιότερη έκδοση, τότε θα πρέπει να επαναφέρετε από πλήρες αντίγραφο ασφαλείας του συστήματος. Το ιστορικό των έργων που δημιουργήθηκαν στην `3.5.13` δεν είναι συμβατό με παλαιότερες εκδόσεις του Overleaf CE.
{% endhint %}

Το νέο Πλήρες Ιστορικό Έργου φέρνει αρκετές βελτιώσεις για τους χρήστες:

* Παρακολουθεί αλλαγές σε δυαδικά αρχεία, κάτι που δεν υποστηρίζεται στο παλιό σύστημα.
* Υπάρχει υποστήριξη για εκδόσεις με ετικέτες.
* Το σύστημα είναι γενικά πιο ανθεκτικό, υπάρχει μικρότερη πιθανότητα απώλειας δεδομένων.

Δείτε [την τεκμηρίωση του Πλήρους Ιστορικού Έργου](https://www.overleaf.com/learn/latex/Using_the_History_feature) για περισσότερες πληροφορίες σχετικά με το πλήρες ιστορικό έργου.

### Μετάβαση υπαρχόντων έργων

{% stepper %}
{% step %}

#### Δημιουργήστε αντίγραφο ασφαλείας

Δημιουργήστε ένα πλήρες [αντίγραφο ασφαλείας](https://docs.overleaf.com/on-premises/maintenance/data-and-backups#performing-a-consistent-backup) της εγκατάστασής σας με ένα συνεπές στιγμιότυπο των **mongo**, **redis** και **sharelatex** καταλόγων.
{% endstep %}

{% step %}

#### Ενημερώστε

Ενημερώστε την έκδοση της εικόνας sharelatex/sharelatex σε 3.5.13.

Toolkit: Χρησιμοποιήστε το `$ bin/upgrade` script για την αναβάθμιση του toolkit στην τελευταία έκδοση και επεξεργαστείτε **config/version** σε 3.5.13.
{% endstep %}

{% step %}

#### Εκκινήστε το instance

Ιδανικά, θα θέλατε να αποτρέψετε τους χρήστες από την πρόσβαση στην εγκατάστασή σας όσο διαρκεί η μετάβαση, για να αποφύγετε απώλεια δεδομένων σε περίπτωση που χρειαστεί να επαναφέρετε το αντίγραφο ασφαλείας σας. Δείτε [Μετάβαση εκτός σύνδεσης](https://github.com/overleaf/overleaf/wiki/Full-Project-History-Migration/#offline-migration) για περισσότερες πληροφορίες σχετικά με το πώς να το κάνετε αυτό.
{% endstep %}

{% step %}

#### Περιμένετε μέχρι όλες οι υπηρεσίες να έχουν ξεκινήσει και να λειτουργούν

Περιμένετε μέχρι όλες οι υπηρεσίες να έχουν ξεκινήσει και να λειτουργούν (δείτε την εντολή παρακάτω)

{% code overflow="wrap" %}

```bash
$ bin/docker-compose exec sharelatex /bin/bash -c "curl http://localhost:3000/status"
το web sharelatex είναι ενεργό (api)%
```

{% endcode %}
{% endstep %}

{% step %}

#### Εκτελέστε το σενάριο μετάβασης

{% code overflow="wrap" %}

```bash
# Χρήστες του Overleaf Toolkit:
$ 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"

# χρήστες του παλιού docker-compose.yml:
$ 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` καθαρίζει δεδομένα ιστορικού έργων που έχουν μεταφερθεί μερικώς στο νέο σύστημα, αυτό επιτρέπει την επανάληψη της μετάβασης για μεμονωμένα έργα που απέτυχαν σε προηγούμενες προσπάθειες;

`--fix-invalid-characters` αντικαθιστά μη εκτυπώσιμους χαρακτήρες που δεν υποστηρίζονται από το νέο σύστημα ιστορικού·

`--convert-large-docs-to-file` μετατρέπει έγγραφα που υπερβαίνουν το όριο επεξεργάσιμου μεγέθους των 2MB σε μη επεξεργάσιμο αρχείο)

Η έξοδος θα πρέπει να μοιάζει ως εξής:

```bash
Μεταφερμένα έργα  :  1
Σύνολο έργων     :  51
Υπολειπόμενα έργα :  51
Σύνολο εγγραφών ιστορικού προς μεταφορά: 98
Έναρξη μετάβασης...
Μεταφορά έργου: 63d29b5772dd80015a81bffe
αποτέλεσμα μετάβασης { upgraded: true, historyType: 'NoneWithoutConversion' }
Μεταφορά έργου: 63d29c2e72dd80015a81c0a2
αποτέλεσμα μετάβασης { upgraded: true, historyType: 'NoneWithoutConversion' }

// …

Η μετάβαση ολοκληρώθηκε
==================
Έργα που μεταφέρθηκαν:  51
Έργα που απέτυχαν:  0
Ολοκληρώθηκε.
```

Αν η μετάβαση είναι επιτυχής, θα λάβετε κωδικό εξόδου `0`, και τις τελευταίες γραμμές που δείχνουν ότι δεν υπάρχουν αποτυχίες:

```bash
Έργα που απέτυχαν:  0
Ολοκληρώθηκε.
```

Μπορείτε να ανοίξετε ξανά την πρόσβαση για τους χρήστες σας (δείτε το επόμενο βήμα). Αν υπάρχουν αποτυχίες, δείτε παρακάτω την ενότητα αντιμετώπισης προβλημάτων. Μπορείτε ακόμη να ανοίξετε ξανά τον ιστότοπο αν τα προβλήματα δεν επιλυθούν άμεσα, και τα έργα που δεν μεταφέρθηκαν θα παραμείνουν στο παλιό σύστημα ιστορικού.
{% endstep %}

{% step %}

#### Ανοίξτε ξανά τον ιστότοπο

Αν είχατε επιλέξει να εκτελέσετε μετάβαση εκτός σύνδεσης, τότε θα χρειαστεί να ανοίξετε ξανά τον ιστότοπο. Αν είστε ακόμη συνδεδεμένοι, θα χρειαστεί να:

1. Κάντε κλικ στο **Διαχειριστής** κουμπί και επιλέξτε **Διαχείριση ιστότοπου**
2. Κάντε κλικ στο **Άνοιγμα/Κλείσιμο επεξεργαστή** καρτέλα
3. Κάντε κλικ στο **Επαναάνοιγμα επεξεργαστή** κουμπί

Αν έχετε κλείσει το πρόγραμμα περιήγησής σας, τότε θα χρειαστεί να επανεκκινήσετε τον ιστότοπο με `$ bin/up`.
{% endstep %}
{% endstepper %}

#### Μετάβαση εκτός σύνδεσης

Για να αποτρέψετε τους χρήστες από το να μπορούν να συνδεθούν ενώ εκτελείται το σενάριο μετάβασης ιστορικού, ακολουθήστε αυτά τα βήματα:

* Συνδεθείτε στην εγκατάσταση Overleaf με λογαριασμό διαχειριστή
* Κάντε κλικ στο **Διαχειριστής** κουμπί και επιλέξτε **Διαχείριση ιστότοπου**
* Κάντε κλικ στο **Άνοιγμα/Κλείσιμο επεξεργαστή** καρτέλα
* Κάντε κλικ στο **Κλείσιμο επεξεργαστή** κουμπί
* Κάντε κλικ στο **Αποσύνδεση όλων των χρηστών** κουμπί

Μόλις γίνει αυτό, αν υπάρχουν χρήστες συνδεδεμένοι θα ανακατευθυνθούν στη σελίδα συντήρησης, και οποιοιδήποτε νέοι χρήστες που επισκέπτονται τη σελίδα σύνδεσης θα δουν τη σελίδα συντήρησης και **δεν θα** μπορούν να συνδεθούν.

#### Μετάβαση online

Είναι δυνατό να εκτελέσετε τα σενάρια μετάβασης ενώ η εφαρμογή εξακολουθεί να λειτουργεί. Υπάρχουν μερικές παράμετροι που πρέπει να ληφθούν υπόψη:

* Η διαδικασία μετάβασης απαιτεί πολλούς πόρους CPU, θα πρέπει να παρακολουθείτε τη χρήση πόρων όσο εκτελείται το script.
* Με υψηλή `--concurrency` τιμή, ο βρόχος συμβάντων σε ορισμένες υπηρεσίες (`track-changes` ειδικά) μπορεί να παρουσιάσει κάποια μπλοκαρίσματα, κάτι που θα οδηγούσε σε υποβαθμισμένη εμπειρία UX. Συνιστούμε να ξεκινήσετε με την προεπιλεγμένη `--concurrency=1` τιμή.
* Μπορείτε να σταματήσετε το script οποιαδήποτε στιγμή. Η επανεκκίνησή του θα συνεχίσει τη μετάβαση από το σημείο όπου την αφήσατε. Αυτό είναι χρήσιμο σε περίπτωση που προτιμάτε να εκτελέσετε τη μετάβαση σε ώρες με λιγότερη κίνηση (π.χ. τη νύχτα).

Η σύστασή μας είναι να κλείσετε τον ιστότοπο και να εκτελέσετε τη μετάβαση εκτός σύνδεσης σε παράθυρο συντήρησης όταν ο αριθμός των έργων σας είναι μικρότερος από 1000 έργα (`db.projects.count()`). Αν ο αριθμός των έργων είναι μεγάλος, μπορείτε να εκτελέσετε το script και να παρακολουθείτε την πρόοδό του, και έπειτα να αποφασίσετε αν θα συνεχίσετε να το εκτελείτε online ή offline ανάλογα με τη συγκεκριμένη περίπτωσή σας.

#### Καθαρισμός παλιών δεδομένων ιστορικού

Προστέθηκε στο Server Pro ένα script για τον καθαρισμό παλιών δεδομένων ιστορικού `3.5.6`, `4.0.6` και `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 %}

Το script μπορεί να εκτελεστεί αφού όλα τα έργα έχουν μεταφερθεί. Μπορεί επίσης να χρησιμοποιηθεί για να ελευθερώσει λίγο χώρο κατά την εκτέλεση online μετάβασης.

{% hint style="info" %}
Στο Server Pro πριν από την έκδοση 3.5.13, το script διαγράφει το περιεχόμενο των `docHistory` και `docHistoryIndex` συλλογών. Η MongoDB δεν απελευθερώνει χώρο δίσκου αφού διαγράψετε έγγραφα· αντίθετα, θα επαναχρησιμοποιήσει αυτόν τον χώρο για μελλοντικά έγγραφα στην ίδια συλλογή. Τίποτα δεν θα γράψει ξανά σε αυτές τις συλλογές μετά τη μετάβαση ιστορικού, οπότε ο χώρος δίσκου θα παραμείνει αχρησιμοποίητος.

Αν θέλετε να κάνετε ξανά διαθέσιμο τον χώρο δίσκου, μπορείτε να αναβαθμίσετε σε Server Pro 3.5.13 (όταν χρησιμοποιείτε ακόμη την έκδοση 3.x) ή σε Server Pro 4.2.5 (όταν χρησιμοποιείτε την έκδοση 4.x) και να εκτελέσετε ξανά το script καθαρισμού.

Το script καθαρισμού, όπως περιλαμβάνεται στο Server Pro στις πιο πρόσφατες patch εκδόσεις του `3.5.x` και στις τελευταίες `4.x.x` διαγράφουν τις συλλογές ως τελικό βήμα.

Είναι ασφαλές να εκτελέσετε ξανά το script καθαρισμού.
{% endhint %}

### Αντιμετώπιση προβλημάτων

Θα προσθέσουμε εδώ συμβουλές αντιμετώπισης προβλημάτων. Σημειώστε ότι, παρότι συνήθως προσφέρουμε υποστήριξη μόνο σε πελάτες Server Pro, λόγω της φύσης αυτής της μετάβασης θα κάνουμε επίσης ό,τι καλύτερο μπορούμε για να υποστηρίξουμε πελάτες CE που αντιμετωπίζουν προβλήματα ειδικά για τη μετάβαση πλήρους ιστορικού έργου.

Αν αποτύχει το script μετάβασης πλήρους ιστορικού έργου (δηλ. τερματίσει με σφάλμα ή εμφανίσει μη μηδενικό αριθμό αποτυχημένων έργων), στείλτε τα παρακάτω στοιχεία στην ομάδα υποστήριξής μας μέσω email [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), περιγράφοντας:

Θέμα: Πρόβλημα μετάβασης πλήρους ιστορικού έργου

* Τύπος εγκατάστασης: CE ή Server Pro (διαγράψτε ό,τι δεν ισχύει)
* Τύπος εγκατάστασης: Overleaf toolkit ή `docker-compose.yml` ή άλλο (διαγράψτε ό,τι δεν ισχύει)
* Έκδοση: 3.5.x (toolkit: `$ cat config/version`)
* Έξοδος του script μετάβασης (η οποία θα πρέπει να βρίσκεται στο container κάτω από το `/overleaf/services/web`)
* Μεταφερμένα έργα: (σύμφωνα με την έξοδο του script μετάβασης)
* Σύνολο έργων: (σύμφωνα με την έξοδο του script μετάβασης)
* Υπολειπόμενα έργα: (σύμφωνα με την έξοδο του script μετάβασης)
* Διάρκεια της μετάβασης:
* `bin/doctor` έξοδος (όταν χρησιμοποιείτε toolkit)
* Έκδοση toolkit: `$ git rev-parse HEAD` (όταν χρησιμοποιείτε το Toolkit)

Εξετάστε το ενδεχόμενο να επισυνάψετε τα αρχεία καταγραφής για τις `history-v1`, `project-history` και `track-changes` υπηρεσίες στο email. Μπορείτε να τα βρείτε στο `/var/log/sharelatex` μέσα στο `sharelatex` container και να τα εξάγετε ως εξής:

```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
```

Παρακαλούμε αφαιρέστε τυχόν ευαίσθητες πληροφορίες από τα αρχεία καταγραφής πριν τα επισυνάψετε.

#### Εντοπισμός χαλασμένων δέντρων αρχείων

Η μετάβαση μπορεί να αποτύχει για έργα που έχουν εσφαλμένο δέντρο αρχείων (για παράδειγμα, όπου τα ονόματα αρχείων είναι κενά). Μπορείτε να βρείτε μια λίστα αυτών των προβλημάτων χρησιμοποιώντας το `find_malformed_filetrees` script που ελέγχει όλα τα έργα στη βάση δεδομένων:

{% code overflow="wrap" %}

```bash
$ bin/docker-compose exec sharelatex /bin/bash -c "cd /overleaf/services/web; node scripts/find_malformed_filetrees.js"
ΜΗ ΕΓΚΥΡΗ ΔΙΑΔΡΟΜΗ: 123456789012345678901234 rootFolder.0.1.2.3
ΜΗ ΕΓΚΥΡΗ ΔΙΑΔΡΟΜΗ: 123456789012345678901234 rootFolder.0.4.5.6
...
```

{% endcode %}

Για να διορθώσετε τις μη έγκυρες διαδρομές, χρησιμοποιήστε το `fix_malformed_filetree` script, εκτελώντας την εντολή μία φορά για κάθε μη έγκυρη διαδρομή:

{% 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 %}

#### Υποβάθμιση έργων από πλήρες ιστορικό έργου σε παλιό ιστορικό

Αν υπάρχει ένα έργο που έχει μεταφερθεί στο πλήρες ιστορικό έργου αλλά θέλετε να επιστρέψετε στο παλιό ιστορικό, χρησιμοποιήστε το `downgrade_project` script ως εξής:

{% 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/el/ypostiriksi/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.
