Uppgradering
Obs: På den här sidan använder vi 3.0.0 som ett strikt versionsnummer och 3.x för att identifiera alla versioner som börjar med siffran 3 (3.0.0, 3.0.1, 3.1.0 osv.). Samma konvention gäller för 2.x.
Uppgraderingsprocessen från 1.11.x beskrivs också i filen public/documentation/installation_guide.html i din Chamilo-kod. Informationen här är till stor del överflödig. Du kan se den online på https://campus.chamilo.net/documentation/installation_guide.html.
Uppgradera till 3.0, inte till 2.x. Version 3.0 är den aktuella utgåvan, och vissa inställningar i 1.11.x hade ännu ingen motsvarighet i 2.0.0. Ett 1.11.x-system går därför rakt till 3.0. Vi har testat liknande migreringar omfattande, men varje plattform bär på sin egen historik: prova först i en testmiljö och överväg professionellt stöd från officiella Chamilo-leverantörer i detta arbete.
Uppgradering från 1.11.x till 3.0
Uppgradering från Chamilo 1.11.x till 3.0 är en större migrering, inte en enkel uppdatering. Chamilo 2.0 byggdes om på Symfony-ramverket med ett omstrukturerat databasschema, nytt API och en annan filorganisation, och 3.0 fortsätter den linjen. Planera migreringen noggrant och prova den i en testmiljö innan du rullar ut den i produktion.
Innan du börjar
Läs versionsanteckningarna för Chamilo 3.x för att förstå vad som har ändrats, vad som är nytt och vilka funktioner från 1.11.x som kanske ännu inte är tillgängliga.
Säkerhetskopiera allt:
Fullständig databasdump (
mysqldumpeller motsvarande).Alla filer i installationskatalogen för Chamilo 1.11.x, särskilt
app/upload/,app/courses/ochmain/.Din
configuration.php-fil.
Testa först på en staging-server. Kör aldrig migreringen direkt på produktionsservern.
Kontrollera serverkraven. Chamilo 3.x har andra krav än 1.11.x (framför allt PHP 8.3 eller senare — installationsprogrammet avvisar allt äldre). Se Serverkrav.
Ta bort tabellen
versionfrån 1.11.x-databasen. Det här steget är obligatoriskt. Chamilo 2.x och senare lagrar Doctrine-migreringshistoriken i en tabell med det namnet, med andra kolumner. Om du lämnar 1.11.x-tabellen kvar stoppas uppgraderingen omedelbart. Tabellen behövs inte för att Chamilo 1.11.x ska fungera.Packa upp den nya koden i en ny katalog. 1.11.x-filerna ligger kvar där de är. Installationsprogrammet läser dem som källa för dina kurser och uppladdningar och skriver resultatet till det nya trädet.
Köra uppgraderingen
Du kan köra uppgraderingen via webbguiden eller via kommandoraden.
Webbguide
Peka
DocumentRootför din virtuella värd mot underkatalogenpublic/i det nya trädet.Öppna din URL. Guiden startar eftersom det nya trädet ännu inte har någon
.env-fil.På steg 2 väljer du uppgraderingsalternativet och anger rotsökvägen till din 1.11.x-installation.
Följ guiden till slutet.
Kommandorad
Sätt UPDATE_PATH till roten för din 1.11.x-installation och kör sedan migreringarna:
Höj memory_limit och max_execution_time först. Migreringen läser varje kursfil, så den behöver betydligt mer än standardvärdena.
Hur lång tid det tar
Tiden beror på storleken på din databas och dina kursfiler. Som en referenspunkt tog en 1.11.28-plattform med 238 tabeller, 11 kurser, 63 användare och 1489 kursfiler 6 minuter och 1,7 GB minne och körde 393 migreringar. En stor produktionsplattform tar timmar. Planera ett underhållsfönster och läs Chamilo-forumet eller kontakta en officiell leverantör innan du kör det i produktion.
Vad som kan kräva manuell uppmärksamhet
Anpassade plugins
Plugins för 1.11.x fungerar inte i 2.x eller 3.x. De måste skrivas om eller ersättas. De officiella har porterats successivt sedan 2.0 — kontrollera pluginlistan för din version för att se vilka som är tillgängliga.
Anpassade teman
Teman för 1.11.x fungerar inte i 2.x eller 3.x. Återskapa din varumärkesprofil med tematsystemet i 3.x.
Anpassade databasändringar
Direkta databasändringar utanför Chamilo kanske inte migreras.
SCORM-paket
SCORM-innehåll bör migreras, men testa paketen individuellt för att verifiera uppspelningen.
Externa integrationer
Integrationer som använder 1.11.x-API:et eller webbtjänster måste uppdateras för att använda det REST-only-API som 2.x har via API Platform.
Uppgradering från 2.x till 3.0
Den här uppgraderingen behåller din befintliga katalog och din befintliga databas. Du kopierar den nya koden över det gamla trädet och kör sedan migreringarna, antingen via webbguiden eller via kommandoraden.
Fyll i migreringshistoriken först
Chamilo installerar databasschemat direkt från entitetsdefinitionerna, så en installation som skapats av installationsprogrammet har det slutliga schemat men en tom migreringshistorik. Installationer som skapats före Chamilo 3.0 fick aldrig den historiken. Två saker beror på den:
doctrine:migrations:migrateavgör vad som ska köras utifrån den. Med en tom historik försöker den spela upp varje migrering från början mot ett schema som redan är aktuellt.Webbinstallationsprogrammet avgör utifrån den om en uppgradering väntar. Med en tom historik avvisar det begäran, eftersom ingenting visar att en uppgradering ska göras.
Fyll därför i den en gång, och följ ordningen nedan.
Varning: fyll i historiken innan du kopierar den nya koden. Kommandona markerar varje migrering som den deployade koden bär som redan körd. Om du kör dem efter att du kopierat 3.0-koden markerar de även 3.0-migreringarna, och din uppgradering körs aldrig.
Med din nuvarande version fortfarande på plats, kör:
Det första kommandot skapar historiktabellen. Det andra markerar migreringarna för din nuvarande version. doctrine:migrations:version misslyckas på egen hand om tabellen inte finns ännu, så hoppa inte över det första.
Kontrollera resultatet:
Executed måste vara lika med Available, och New måste vara 0. Kopiera nu 3.0-koden.
Kör uppgraderingen
Kopiera den nya koden, och öppna sedan antingen din URL och följ guiden, eller kör migreringarna från kommandoraden:
Webbguiden öppnas endast medan migreringar väntar. När uppgraderingen är klar svarar den åter 409 Conflict, vilket är det som skyddar den: guiden har ingen egen inloggning.
Uppdatera Chamilo 3.0.x
Mindre uppdateringar inom 3.0-grenen är mer rakt på sak.
Uppdateringsprocess
Med ett paket
Säkerhetskopiera databasen och filerna.
Ladda ner den senaste 3.0.x-versionen från chamilo.org:
Packa upp lokalt
Till exempel (anpassa till den nedladdade versionen)
Kopiera filerna över din befintliga Chamilo-installation
Kör databas-migreringar:
Rensa cachen:
Ändra behörigheter
Anpassa till din webbserveranvändare:
Verifiera att plattformen laddas korrekt och stickprovskontrollera viktig funktionalitet.
Med Git
Om du installerade Chamilo med Git kan du följa dessa instruktioner i stället.
Säkerhetskopiera databasen och filerna.
Hämta den senaste koden (eller ladda ner den nya utgåvan):
Uppdatera PHP-beroenden:
Uppdatera JavaScript-beroenden och bygg om tillgångar:
Kör databas-migreringar:
Rensa cachen:
Ändra behörigheter
Anpassa till din webbserveranvändare:
Verifiera att plattformen laddas korrekt och stickprovskontrollera viktig funktionalitet.
Automatisera uppdateringar
För organisationer som hanterar flera Chamilo-instanser, överväg att skripta uppdateringsprocessen:
Tips
Säkerhetskopiera alltid innan uppgradering. Databasmigreringar kan inte ångras via Chamilo-gränssnittet.
Testa först i en staging-miljö -- särskilt för migreringen från 1.11.x till 3.0, som innebär betydande datatransformering.
Planera uppgraderingar under underhållsfönster när användarna inte aktivt använder plattformen.
Prenumerera på GitHub-releaser på Github med klockikonen för att bli meddelad om nya versioner och säkerhetspatchar.
Om guiden svarar
Chamilo is already installedhar den inte hittat någon väntande migrering. Körphp bin/console doctrine:migrations:statusför att kontrollera. OmExecutedär 0 på en plattform som fungerar har migreringshistoriken aldrig seedats — se Seed the migration history first.Automatisk nedladdning av nya versioner tillhandahålls ännu inte i Chamilo 3.0, men detta är ett pågående projekt som vi hoppas kunna släppa inom kort. Själva uppgraderingen körs redan från webbguiden.
Senast uppdaterad
Var detta till hjälp?