Skip to content

Mise à jour

gerald2545 edited this page Jan 17, 2021 · 36 revisions

Avant toute mise à jour, pensez à faire une sauvegarde de la base de données

Procédure globale

  • Téléchargez le fichier zip contenant les sources de la dernière version (informations et sources)
  • transférez le fichier zip sur le serveur, au même niveau de l'arborescence que le HOME de votre instance de VelObs en production (e.g. velobsProd)
  • dézippez le fichier zip, vous obtiendrez le répertoire de VelObs "velobsNewVersion"
  • copiez le fichier velobsNewVersion/upgradeVelobs.sh au même niveau que velobsNewVersion et velobsProd
  • exécutez la commande sh upgradeVelobs.sh et suivez les instructions du script de mise à jour.
  • si vous ne pouvez pas exécuter le script upgradeVelobs.sh...va falloir tout se faire à la mimine....mais ça va, c'est faisable ;)

Celui-ci vous demandera :

  • le nom du répertoire (en relatif) où se trouve la version de VelObs à passer en production (e.g. velobsNewVersion)
  • le nom du répertoire (en relatif) où se trouve la version de VelObs en production (e.g. velobsProd)
  • un nom de version (e.g. 1_3)

Il vérifiera un minimum de choses :

  • existence des répertoires précités,
  • absence des fichiers key.php et key.js dans le répertoire où se trouve la version de VelObs à passer en production

Si tout est OK, il fera automatiquement (étapes à faire à la main si vous ne pouvez pas exécuter le script upgradeVelobs.sh sur le serveur où est hébergé velobs) :

  • copier velobsProd/resources/pictures dans velobsNewVersion/resources (photos associés aux observations)
  • copier velobsProd/resources/images dans velobsNewVersion/resources (logos, images utilisées dans les interfaces)
  • copier velobsProd/resources/icon/marker dans velobsNewVersion/resources/icon/ (icônes associées aux catégories d'observation)
  • copier velobsProd/css/iconmarker.css dans velobsNewVersion/resources/css/ (feuille de style associant des règles d'affichage aux icônes associées aux catégories d'observation)
  • copier velobsProd/lib/php/key.php dans velobsNewVersion/lib/php/ (fichier de config)
  • copier velobsProd/lib/js/key.js dans velobsNewVersion/lib/js/ (fichier de config)

Modifier le contenu de velobsNewVersion/lib/php/key.php et velobsNewVersion/lib/js/key.js en fonction du contenu des fichiers respectivement velobsNewVersion/lib/php/key.php.template et velobsNewVersion/lib/js/key.js.template (le cas échéant ce sera précisé dans le paragraphe associé à la version de VelObs que vous êtes en train de mettre à jour ci-dessous)

Après cela, le script (étapes à faire à la main si vous ne pouvez pas exécuter le script upgradeVelobs.sh sur le serveur où est hébergé velobs) :

  • donnera les droits d'écriture sur les répertoires velobsNewVersion/resources/pictures, velobsNewVersion/resources/icons, velobsNewVersion/resources/csv (répertoire où sont enregistrés les fichiers plats contenant les observations en téléchargement) et velobsNewVersion/resources/css
  • permutera les répertoires velobsProd et velobsNewVersion (velobsProd sera renommé en velobsProdTimeStamp et velobsNewVersion sera renommé en velobsProd)
  • demandera d'exécuter le script URL_VelObs/resources/upgrade/upgradeSQL-[NumeroDeVersion].php s'il existe, après vous être connecté avec un compte administrateur sur VelObs. Ce script php permet d'exécuter des requêtes SQL nécessaires à la mise à jour de VelObs (le cas échéant ce sera précisé dans le paragraphe associé à la version de VelObs que vous êtes en train de mettre à jour ci-dessous)

Effacez les scripts dans velobsProd/resources/upgrade/ une fois que vous avez validé la bonne exécution.

Ci-dessous une capture d'écran du passage à la version V1_3 :

Vers la version 1.3

  • Vous pouvez passer à la version 1.3 depuis n'importe quelle version antérieure
  • le script URL_VELOBS/resources/upgrade/upgradeSQL-V1_3.php permet de fusionner automatiquement les tables photos et commentaires de la version 1.2 et antérieures , dans la table commentaires de façon à n'avoir plus qu'une seule table permettant d'améliorer cette fonctionnalité (lien entre texte et photo + e-mail de la personne qui a soumis + date de création)

Vers la version 1.4.2

  • Vous pouvez passer à la version 1.4.2 depuis n'importe quelle version >= 1.3
  • je n'ai pas pris le temps de créer le script php permettant de mettre à jour l'encodage de la base de données - il faut exécuter les requêtes SQL présentes dans l'issue #94
  • le fichier URL_VELOBS/lib/js/key.js doit être mis à jour avec l'ajout de la variable LOAD_ALL_OBSERVATIONS_DEFAULT (cf fichier key.js.template)

Vers la version 1.4.3

  • Vous pouvez passer à la version 1.4.3 depuis n'importe quelle version >= 1.3
  • Si upgrade depuis une version < 1.4.2, il faut exécuter les requêtes SQL présentes dans l'issue #94
  • le fichier URL_VELOBS/lib/js/key.js doit être mis à jour avec l'ajout de la variable LOAD_ALL_OBSERVATIONS_DEFAULT, la définition des layers... (cf fichier key.js.template)
  • le fichier URL_VELOBS/lib/php/key.php doit être mis à jour avec l'ajout des constantes INCLUDE_CODE_HTML_PUBLIC (code HTML inclus en fin de fichier index.php) et INCLUDE_CODE_HTML_ADMIN (code HTML inclus en fin de fichier admin.php)

Vers la version 1.5

  • Vous pouvez passer à la version 1.5 depuis n'importe quelle version >= 1.4.2
  • le script resources/upgrade/upgradeSQL-V1_5.php doit être exécuté (cryptage des mots de passe pour plus de sécurité)
  • le fichier lib/php/key.php doit être modifié :
    • la constante HOST doit être renommée en DB_HOST
    • ajouter le port mysql utilisé à DB_HOST (e.g. "define('DB_HOST', 'localhost');" devient "define('DB_HOST', 'localhost:3306');")
    • la constante PORT peut être supprimée
    • ajouter la constante PAGE_TITLE (e.g. "define('PAGE_TITLE','VelObs'); //text inserted in the title of the web page index.php")
    • ajouter la constante INCLUDE_CODE_HTML_PUBLIC_LOADING (e.g. define('INCLUDE_CODE_HTML_PUBLIC_LOADING','VelObs - 2P2R');//html code displayed during the loading of the application)

Vers la version 1.5.1

  • Vous pouvez passer à la version 1.5.1 uniquement depuis la version 1.5
  • le champ reponsegrandtoulouse_poi de la table poi est renommé en reponse_collectivite_poi pour une meilleure généricité. Exécuter la requête suivante : ALTER TABLE poi CHANGE reponsegrandtoulouse_poi reponse_collectivite_poi mediumtext;
  • ajout d'une couleur à chaque statut donné par la collectivité pour différencier les observations sur la carte : ALTER TABLE status ADD color_status varchar(20); UPDATE status SET color_status = 'black';

Vers la version 1.5.2

  • Vous pouvez passer à la version 1.5.2 uniquement depuis la version 1.5.1
  • après remplacement des sources, connectez-vous avec un compte administrateur sur VelObs et allez sur la page URL_VelObs/resources/upgrade/upgradeSQL-V1_5_2.php pour mettre à jour la base de données (meilleure configuration des priorités)
  • exécutez les requêtes SQL suivantes (oubli de ma part, elles auraient dû être ajoutées dans le script upgradeSQL-V1_5_2.php), cf issue 151 👎
    • ALTER TABLE commentaires CHANGE display_commentaires display_commentaires VARCHAR(20) NOT NULL DEFAULT 'Non modéré';
    • update commentaires set display_commentaires = 'Non modéré' WHERE display_commentaires = 0;
    • update commentaires set display_commentaires = 'Modéré accepté' WHERE display_commentaires = 1;

Vers la version 1.6

  • Vous pouvez passer à la version 1.6 uniquement depuis la version 1.5.2
  • après remplacement des sources, connectez-vous avec un compte administrateur sur VelObs et allez sur la page URL_VelObs/resources/upgrade/upgradeSQL-V1_6.php pour mettre à jour la base de données (gestion de l'historique des observations et des commentaires)
  • Attention : ce script installe un déclencheur (trigger) qui peut nécessiter des droits particuliers. Si ces déclencheurs ne sont pas créés, l'historisation ne se fera pas

Vers la version 1.6.2

  • Vous pouvez passer à la version 1.6.2 uniquement depuis les versions 1.6 et 1.6.1
  • après remplacement des sources, connectez-vous avec un compte administrateur sur VelObs et allez sur la page URL_VelObs/resources/upgrade/upgradeSQL-V1_6_2.php pour mettre à jour la base de données (ajout de la fonctionnalité d'inactivation d'un compte, possibilité de lier un modérateur à plusieurs pôles, ajout de la fonctionnalité de voter pour une observation, ajout de la possibilité d'être averti par mail sur mise à jour d'une observation)

Vers la version 1.6.3

  • Vous pouvez passer à la version 1.6.3 uniquement depuis la version 1.6.2
  • après remplacement des sources, connectez-vous avec un compte administrateur sur VelObs et allez sur la page URL_VelObs/resources/upgrade/upgradeSQL-V1_6_3.php pour mettre à jour la base de données (mise à jour de message dans la table translation)
  • le fichier URL_VELOBS/lib/php/key.php doit être mis à jour avec l'ajout des variables PDF_VELOBS_ASSOCIATION_ADDRESS et PDF_VELOBS_ASSOCIATION_LOGO (cf fichier key.php.template, variables utilisées pour construire les exports pdf des observations)

Vers la version 1.7.0

  • Vous pouvez passer à la version 1.7.0 uniquement depuis la version 1.6.3
  • il n'y a rien de spécifique à faire pour cette mise à jour

Vers la version 1.7.1

  • Vous pouvez passer à la version 1.7.1 depuis les version 1.6.3 et ultérieur
  • après remplacement des sources, connectez-vous avec un compte administrateur sur VelObs et allez sur la page URL_VelObs/resources/upgrade/upgradeSQL-V1_7_1.php pour mettre à jour la base de données (configuration de l'affichage des observations par défaut selon les priorités)

Vers la version 1.7.2

  • Vous pouvez passer à la version 1.7.2 depuis les version 1.7.1
  • il n'y a rien de spécifique à faire pour cette mise à jour

Vers la version 2 (non encore diffusée, en cours de dev)