Migratie naar volledige projectgeschiedenis
De release3.5.x van de Community Edition bevat de functie Full Project History die al beschikbaar is in ons SaaS-aanbod, overleaf.com
Na het upgraden van je instantie naar Overleaf CE 3.5.13 gebruiken alle nieuwe projecten standaard Full Project History. Bestaande projecten blijven het verouderde geschiedenissysteem gebruiken totdat ze zijn gemigreerd.
Als je upgradet naar
3.5.13 en besluit terug te gaan naar een eerdere versie, moet je herstellen vanaf een volledige systeemback-up. De geschiedenis van projecten die in 3.5.13 zijn aangemaakt, is niet compatibel met eerdere versies van Overleaf CE.- Het houdt wijzigingen in binaire bestanden bij, wat in het verouderde systeem niet wordt ondersteund.
- Er is ondersteuning voor gelabelde versies.
- Het systeem is over het algemeen robuuster; er is minder kans op gegevensverlies.
Bestaande projecten migreren
1
Maak een back-up
Maak een volledige back-up van je instantie met een consistente momentopname van de mappen mongo, redis en sharelatex.
2
Bijwerken
Werk de versie van de image sharelatex/sharelatex bij naar 3.5.13.Toolkit: gebruik het script
$ bin/upgrade om de toolkit naar de nieuwste versie te upgraden en stel config/version in op 3.5.13.3
Start de instantie
Idealiter voorkom je dat gebruikers toegang hebben tot je instantie terwijl de migratie plaatsvindt, om gegevensverlies te voorkomen als je je back-up moet terugzetten. Zie Offline migratie voor meer informatie over hoe je dit doet.
4
Wacht tot alle services actief zijn
Wacht tot alle services actief zijn (zie de onderstaande opdracht)
5
Voer het migratiescript uit
--force-clean wist gedeeltelijk gemigreerde projectgeschiedenisgegevens in het nieuwe systeem; hiermee kun je de migratie opnieuw proberen voor afzonderlijke projecten die bij eerdere pogingen zijn mislukt;--fix-invalid-characters vervangt niet-afdrukbare tekens die niet door het nieuwe geschiedenissysteem worden ondersteund;--convert-large-docs-to-file zet documenten die boven de drempel van 2 MB voor bewerkbare grootte liggen om naar een niet-bewerkbaar bestand)De uitvoer zou er zo uit moeten zien:0 en geven de laatste regels aan dat er geen fouten zijn opgetreden:6
Heropen de site
Als je hebt gekozen voor een offline migratie, moet je de site heropenen. Als je nog bent ingelogd, moet je:
- Op de knop Admin klikken en Manage Site kiezen
- Op het tabblad Open/Close Editor klikken
- Op de knop Reopen Editor klikken
$ bin/up.Offline migratie
Volg deze stappen om te voorkomen dat gebruikers kunnen inloggen terwijl het migratiescript voor de geschiedenis wordt uitgevoerd:- Log in bij je Overleaf-instantie met een beheerdersaccount
- Klik op de knop Admin en kies Manage Site
- Klik op het tabblad Open/Close Editor
- Klik op de knop Close Editor
- Klik op de knop Disconnect all users
Online migratie
Het is mogelijk om de migratiescripts uit te voeren terwijl de applicatie nog draait. Er zijn een paar aandachtspunten:- Het migratieproces is CPU-intensief; je moet het resourcegebruik in de gaten houden terwijl het script draait.
- Met een hoge waarde voor
--concurrencykan de event loop in sommige services (met nametrack-changes) enige blokkering ondervinden, wat tot een verslechterde gebruikerservaring kan leiden. We raden aan te beginnen met de standaardwaarde--concurrency=1. - Je kunt het script op elk moment stoppen. Als je het opnieuw start, wordt de migratie hervat waar je was gebleven. Dit is handig als je de migratie liever tijdens rustigere uren uitvoert (bijv. ’s nachts).
db.projects.count()). Als het aantal projecten groot is, kun je het script uitvoeren en de voortgang volgen, en vervolgens op basis van je specifieke situatie beslissen of je het online of offline verder uitvoert.
Verouderde geschiedenisgegevens opschonen
Een script om verouderde geschiedenisgegevens op te schonen is toegevoegd in Server Pro3.5.6, 4.0.6 en 4.1.0.
In Server Pro vóór versie 3.5.13 verwijdert het script de inhoud van de collecties
docHistory en docHistoryIndex. MongoDB geeft geen schijfruimte vrij nadat je documenten hebt verwijderd; in plaats daarvan wordt die ruimte hergebruikt voor toekomstige documenten in dezelfde collectie. Na de geschiedenismigratie wordt er niets meer naar deze collecties geschreven, dus de schijfruimte blijft ongebruikt.Als je de schijfruimte weer beschikbaar wilt maken, kun je upgraden naar Server Pro 3.5.13 (als je nog de 3.x-release gebruikt) of Server Pro 4.2.5 (als je de 4.x-release gebruikt) en het opschoonscript opnieuw uitvoeren.Het opschoonscript zoals opgenomen in de nieuwste patchreleases van 3.5.x en de nieuwste 4.x.x van Server Pro verwijdert de collecties als laatste stap.Het is veilig om het opschoonscript opnieuw uit te voeren.Probleemoplossing
We zullen hier advies voor probleemoplossing toevoegen. Houd er rekening mee dat we normaal gesproken alleen ondersteuning bieden aan Server Pro-klanten, maar gezien de aard van deze migratie zullen we ook ons best doen om CE-klanten te ondersteunen die problemen ondervinden die specifiek zijn voor de migratie naar de volledige projectgeschiedenis. Als het migratiescript voor de volledige projectgeschiedenis mislukt (d.w.z. afsluit met een fout of een aantal mislukte projecten groter dan nul weergeeft), stuur dan de volgende gegevens per e-mail naar ons supportteam via support+historymigration@overleaf.com, met daarin: Onderwerp: Full project history migration problem- Type instantie: CE of Server Pro (doorhalen wat niet van toepassing is)
- Type installatie: Overleaf toolkit,
docker-compose.ymlof anders (doorhalen wat niet van toepassing is) - Versie: 3.5.x (toolkit:
$ cat config/version) - Uitvoer van het migratiescript (die zich in de container onder
/overleaf/services/webzou moeten bevinden) - Migrated Projects: (volgens de uitvoer van het migratiescript)
- Total Projects: (volgens de uitvoer van het migratiescript)
- Remaining Projects: (volgens de uitvoer van het migratiescript)
- Duur van de migratie:
- Uitvoer van
bin/doctor(bij gebruik van de toolkit) - Toolkit-versie:
$ git rev-parse HEAD(bij gebruik van de Toolkit)
history-v1, project-history en track-changes als bijlage aan de e-mail toe te voegen. Je vindt deze in /var/log/sharelatex in de sharelatex-container en kunt ze als volgt exporteren:
Beschadigde bestandsstructuren vinden
De migratie kan mislukken voor projecten met een misvormde bestandsstructuur (bijvoorbeeld waarin bestandsnamen leeg zijn). Je kunt een lijst van deze problemen opvragen met het scriptfind_malformed_filetrees, dat alle projecten in de database controleert:
fix_malformed_filetree om de ongeldige paden te herstellen, waarbij je de opdracht voor elk ongeldig pad één keer uitvoert:
Projecten terugzetten van volledige projectgeschiedenis naar de verouderde geschiedenis
Als een project naar de volledige projectgeschiedenis is gemigreerd, maar je wilt terug naar de verouderde geschiedenis, gebruik dan het scriptdowngrade_project als volgt:

