Migrering av fullständig projekthistorik
Version3.5.x av Community Edition innehåller funktionen Full Project History som redan finns i vårt SaaS-erbjudande, overleaf.com
När du har uppgraderat din instans till Overleaf CE 3.5.13 kommer alla nya projekt att använda Full Project History som standard. Befintliga projekt fortsätter att använda det äldre historiksystemet tills de migreras.
Om du uppgraderar till
3.5.13 och sedan bestämmer dig för att nedgradera till en tidigare version bör du återställa från en fullständig systemsäkerhetskopia. Historiken för projekt som skapats i 3.5.13 är inte kompatibel med tidigare versioner av Overleaf CE.- Den spårar ändringar i binärfiler, vilket inte stöds i det äldre systemet.
- Det finns stöd för märkta versioner.
- Systemet är generellt mer robust, och risken för dataförlust är mindre.
Migrera befintliga projekt
1
Skapa en säkerhetskopia
Skapa en fullständig säkerhetskopia av din instans med en konsekvent ögonblicksbild av katalogerna mongo, redis och sharelatex.
2
Uppdatera
Uppdatera versionen av avbildningen sharelatex/sharelatex till 3.5.13.Toolkit: Använd skriptet
$ bin/upgrade för att uppgradera Toolkit till den senaste versionen och ändra config/version till 3.5.13.3
Starta instansen
Helst vill du hindra användare från att komma åt instansen medan migreringen pågår, för att undvika dataförlust om du skulle behöva återställa säkerhetskopian. Se Offlinemigrering för mer information om hur du gör detta.
4
Vänta tills alla tjänster är igång
Vänta tills alla tjänster är igång (se kommandot nedan)
5
Kör migreringsskriptet
--force-clean rensar delvis migrerade projekthistorikdata i det nya systemet, vilket gör det möjligt att göra om migreringen för enskilda projekt som misslyckades vid tidigare försök;--fix-invalid-characters ersätter icke utskrivbara tecken som inte stöds av det nya historiksystemet;--convert-large-docs-to-file konverterar dokument som överstiger gränsen på 2 MB för redigerbar storlek till en icke-redigerbar fil)Utdata bör se ut så här:0, och de sista raderna visar att inga fel uppstod:6
Öppna webbplatsen igen
Om du valde att utföra en offlinemigrering måste du öppna webbplatsen igen. Om du fortfarande är inloggad behöver du:
- Klicka på knappen Admin och välja Manage Site
- Klicka på fliken Open/Close Editor
- Klicka på knappen Reopen Editor
$ bin/up.Offlinemigrering
För att hindra användare från att logga in medan historikmigreringsskriptet körs följer du dessa steg:- Logga in på din Overleaf-instans med ett administratörskonto
- Klicka på knappen Admin och välj Manage Site
- Klicka på fliken Open/Close Editor
- Klicka på knappen Close Editor
- Klicka på knappen Disconnect all users
Onlinemigrering
Det går att köra migreringsskripten medan applikationen fortfarande körs. Det finns några saker att tänka på:- Migreringsprocessen är CPU-intensiv, så du bör övervaka resursanvändningen medan skriptet körs.
- Med ett högt värde för
--concurrencykan händelseloopen i vissa tjänster (särskilttrack-changes) blockeras i viss mån, vilket leder till en försämrad användarupplevelse. Vi rekommenderar att du börjar med standardvärdet--concurrency=1. - Du kan stoppa skriptet när som helst. Om du startar det igen återupptas migreringen där du slutade. Det är användbart om du föredrar att köra migreringen under mindre belastade tider (t.ex. på natten).
db.projects.count()). Om antalet projekt är stort kan du köra skriptet och övervaka förloppet, och sedan bestämma om du ska fortsätta köra det online eller offline utifrån ditt specifika fall.
Rensa äldre historikdata
Ett skript för att rensa äldre historikdata lades till i Server Pro3.5.6, 4.0.6 och 4.1.0.
I Server Pro före version 3.5.13 tar skriptet bort innehållet i samlingarna
docHistory och docHistoryIndex. MongoDB frigör inte diskutrymme när du tar bort dokument, utan återanvänder i stället utrymmet för framtida dokument i samma samling. Ingenting kommer att skriva till dessa samlingar igen efter historikmigreringen, så diskutrymmet förblir oanvänt.Om du vill göra diskutrymmet tillgängligt igen kan du uppgradera till Server Pro 3.5.13 (om du fortfarande använder 3.x) eller Server Pro 4.2.5 (om du använder 4.x) och köra rensningsskriptet igen.Rensningsskriptet i de senaste patchversionerna av Server Pro 3.5.x och den senaste 4.x.x tar bort samlingarna som sista steg.Det är säkert att köra rensningsskriptet igen.Felsökning
Vi kommer att lägga till felsökningsråd här. Observera att även om vi normalt endast erbjuder support till Server Pro-kunder kommer vi, med tanke på denna migrerings natur, också att göra vårt bästa för att hjälpa CE-kunder som upplever problem som är specifika för migreringen av fullständig projekthistorik. Om migreringsskriptet för fullständig projekthistorik misslyckas (dvs. avslutas med ett fel eller skriver ut ett antal misslyckade projekt som inte är noll) ber vi dig skicka följande uppgifter till vårt supportteam via e-post till support+historymigration@overleaf.com, med följande: Ämne: Full project history migration problem- Instanstyp: CE eller Server Pro (stryk det som inte gäller)
- Installationstyp: Overleaf toolkit eller
docker-compose.ymleller annat (stryk det som inte gäller) - Version: 3.5.x (toolkit:
$ cat config/version) - Utdata från migreringsskriptet (som bör finnas i containern under
/overleaf/services/web) - Migrated Projects: (enligt utdata från migreringsskriptet)
- Total Projects: (enligt utdata från migreringsskriptet)
- Remaining Projects: (enligt utdata från migreringsskriptet)
- Migreringens varaktighet:
- Utdata från
bin/doctor(om du använder toolkit) - Toolkit-version:
$ git rev-parse HEAD(om du använder Toolkit)
history-v1, project-history och track-changes i e-postmeddelandet. Du hittar dem under /var/log/sharelatex i containern sharelatex och kan exportera dem så här:
Hitta trasiga filträd
Migreringen kan misslyckas för projekt som har ett felformat filträd (till exempel där filnamn är tomma). Du kan få en lista över dessa problem med skriptetfind_malformed_filetrees, som kontrollerar alla projekt i databasen:
fix_malformed_filetree och kör kommandot en gång för varje felaktig sökväg:
Nedgradera projekt från fullständig projekthistorik till äldre historik
Om ett projekt har migrerats till fullständig projekthistorik men du vill gå tillbaka till den äldre historiken använder du skriptetdowngrade_project så här:

