Uživatel:Josmart/Rogo/Upgrade

Z WikiSkript

Informace společné pro všechny upgrady[upravit | editovat zdroj]

Odkazy[upravit | editovat zdroj]

Záloha a obnovení databáze[upravit | editovat zdroj]

mysqldump -u Login -pPassword nazev_db > dump.sql
mysql -u Login -pPassword nazev_db_k_obnoveni < dump.sql  // obnovení, nejprve drop tables

Composer[upravit | editovat zdroj]

Od verze 6.3 je potřeba mít nainstalovaný composer a npm

php composer.phar install --no-dev
php composer.phar update
npm install --production
npm update

Práva na zápis pro adresáře[upravit | editovat zdroj]

  • /help/staff/images
  • /help/student/images
  • /email_templates
  • /media
  • /qti/imports
  • /qti/exports
  • /config - for installation only, so that config.inc.php can be written. This should be changed back to being writeable by the owner only after installation.
  • /users/photos
  • /tmp

Soubory k přepsání[upravit | editovat zdroj]

  • config/config.inc.*
  • config/external_email_msg.php
  • plugins/SMS/cuni.class.php
  • theme/
  • email_templates/

Naše úpravy[upravit | editovat zdroj]

Následující soubory je nutné upravit, aby fungovaly i po upgradu ... porovnat rozdíly mezi minulou verzí a začlenit tam vhodně naše úpravy.

config.inc.php[upravit | editovat zdroj]

$cfg_setting_icons_order ... zkontrolovat, zda v admin/index.php nepřibyla další option v nastavení. A případně upravit.

SMS/cuni.class.php[upravit | editovat zdroj]

  • soubor rogo/plugins/SMS/cuni.class.php je vytvořen úpravou uon_saturn.class.php. Je dobré porovnat obě verze uon_saturn.class, zda tam nedošlo k nějakým změnám a podle toho případně upravit cuni.class. Poté otestovat, zda import funguje v pořádku.

Login form[upravit | editovat zdroj]

cs/include/common.inc: $string['signinmsg'] podle původní verze

Zobrazování chybového hlášení při neúspěšném přihlášení[upravit | editovat zdroj]

Toto Rogo neumí a nikdy umět nebude. Zobrazení informace o tom, že uživatel neexistuje nebo že bylo u uživatele zadáno chybné heslo, výrazně zvyšuje riziko úspěšného prolamování hesel. Jelikož to ale naši uživatelé vyžadují, doprogramovali jsme. Bylo nutné udělat úpravy ve dvou souborech.

  • classes/authentication.class.php
  • plugins/auth/internaldb.class.php

Tyto úpravy lze v aktuálním souboru vyhledat podle řetězce "Josef Martinak".

Česká lokalizace[upravit | editovat zdroj]

  • Databáze helpu - pokud jsme tam provedli nějaké změny, před upgradem je potřeba nahrát je zpět do gitu Roga.
  • http://rogo-oss.nottingham.ac.uk/langpacks/ .. preventivně raději stáhnout v anonymous mode kvůli možnému kešování na straně serveru.

Testy[upravit | editovat zdroj]

  • Vyzkoušet synchronizaci předmětů (rogo_import)
  • Vyzkoušet LDAP autentifikaci
  • Zjistit, zda se zobrazuje info ohledně neúspěšného přihlášení
  • Prozkoumat, zda jsou správně přeloženy texty na webu a v nápovědě


Rogo 6.1.0[upravit | editovat zdroj]

Existující MySQL users před upgradem

  • rogotest_auth
  • rogotest_ext
  • rogotest_inv
  • rogotest_sct
  • rogotest_staff
  • rogotest_stu
  • rogotest_sys

Soubory k přepsání

  • config/config.inc.*
  • config/campuses.inc
  • plugins/SMS/cuni.class.php

Rogo 6.2.0[upravit | editovat zdroj]

Existující MySQL users před upgradem

  • rogotest_auth
  • rogotest_ext
  • rogotest_inv
  • rogotest_sct
  • rogotest_staff
  • rogotest_stu
  • rogotest_sys
  • rogotest_web

Rogo 6.2.4[upravit | editovat zdroj]

Existující MySQL users před upgradem

  • rogotest_auth
  • rogotest_ext
  • rogotest_inv
  • rogotest_int
  • rogotest_sct
  • rogotest_staff
  • rogotest_stu
  • rogotest_sys
  • rogotest_web

Rogo 6.3.0[upravit | editovat zdroj]

  • žádné změny v MySQL uživatelích

Rogo 6.3.3[upravit | editovat zdroj]

  • žádné změny v MySQL uživatelích

Rogo 6.4.0[upravit | editovat zdroj]

  • žádné změny v MySQL uživatelích

Rogo 6.4.3[upravit | editovat zdroj]

  • žádné změny v MySQL uživatelích

Rogo 6.5.0[upravit | editovat zdroj]

Zakomentovat "$mysqli->close();" v souboru "question/add/add_questions_frame.php".
  • Aktualizovat config.inc.php takto
$cfg_setting_icons_order = array('calendar','usermanagement','modules','statistics','questionstatuses','academicsessions',
  'authentication','schools','faculties','courses','computerlabs','deniedlogwarnings',
  'clearguestaccounts','clearoldlogs','clearorphanmedia','cleartraining','announcments','summativescheduling',
  'ebelgridtemplates','imslti','savefailattempts','phpinfo','systemerrors','systeminformation','plugins',
  'config','externalsystems','ims_settings','testing','bug');
  • spustit ROGO_URL/updates

Rogo 6.5.3[upravit | editovat zdroj]

Zakomentovat "$mysqli->close();" v souboru "question/add/add_questions_frame.php".
  • spustit ROGO_URL/updates

Rogo 6.5.5[upravit | editovat zdroj]

  • žádné změny v MySQL uživatelích
  • Bug z verze 6.5.3 je opraven
  • Nový bug - Keyword can't be deleted
  • spustit ROGO_URL/updates

Rogo 7.0.1[upravit | editovat zdroj]

Tato verze již vyžaduje PHP7, není možné upgradovat instalaci na stávajícím serveru. Zřídili jsme nový server, na který je potřeba přemigrovat data a aktualizovat je na novou verzi. Postup:

  • Instalace fresh verze 7.0.1 na novém serveru kvůli vytvoření potřebných uživatelů roga.
  • Vymazání obsahu databáze (DROP, CREATE)
  • Nahrání původní databáze, kterou chceme upgradovat.
  • Nahrání médií a konfiguračních souborů z minulé verze
  • Nastavení nově vytvořených db přístupů do config.inc.php
  • Spuštění upgradu.

Poznámky[upravit | editovat zdroj]

  • Zdá se, že nová verze nepotřebuje composer
  • Chyba při upgradu:
ERROR: ALTER TABLE staff_help MODIFY COLUMN `language` char(5) NOT NULL DEFAULT 'en'Systémová chyba
ERROR: ALTER TABLE staff_help MODIFY COLUMN `lastupdated` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPSystémová chyba
ERROR: ALTER TABLE student_help MODIFY COLUMN `language` char(5) NOT NULL DEFAULT 'en'Systémová chyba
ERROR: ALTER TABLE student_help MODIFY COLUMN `lastupdated` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPSystémová chyba

Příkazy jsem provedl dodatečně, proběhly v pohodě.

  • Nové Rogo neumí MySQL8, je nutné zůstat u verze 5.7

Rogo 7.0.4[upravit | editovat zdroj]

  • Nahrání souborů verze 7.0.4 na server
  • Spuštění upgradu databáze
  • Otestování plugins/SMS/cuni.class.php
  • Doladění uživatelských změn
  • Rozchození a otestování synchronizace uživatelů a předmětů.

Bugy[upravit | editovat zdroj]

Iniciály[upravit | editovat zdroj]

https://rogo-eassessment.atlassian.net/browse/ROGO-2758

When user's forename begins with unicode character, like Štěpán, Žaneta, /admin/users_from_SMS.php fails. "Data too long for column 'initials' at row 1".

The problem is in /classes/userutils.class.php

foreach ($initial as $name) {
  $initials .= substr($name, 0, 1);
}
$initials = strtoupper($initials);

Je potřeba nahradit "mb_substr" a "mb_strtoupper".

Link v uvítacím mailu nového uživatele[upravit | editovat zdroj]

V mailu je uveden link www.rogo.cz/students, který vede na formativní a cvičné testy. Raději bychom, ať to směřuje na www.rogo.cz, kde student uvidí sumativní zkoušky.

users/create_new_user.php
$message .= "<p>" . $string['email2'] . " <a href=\"https://{$_SERVER['HTTP_HOST']}/\">https://{$_SERVER['HTTP_HOST']}/students/</a></p>";