Mise à jour de l'application

SAdmins ››
Parent Previous Next

Suivre les instructions générales (1ère partie), puis les instructions particulières à chaque révision.

Instructions générales

Vous devez suivre ces instruction à chaque mise à jour des fichiers de Médiacad.

La mise à jour de la base de données est automatique, quelle que soit la différence entre la version ancienne et la nouvelle version de l'application.


Il est très fortement recommandé de réaliser d'abord la mise en jour en local ou sur un serveur de pré-prod, avec les données de la sauvegarde élaborée au point 4.

Vous testez ensuite l'absence de problèmes, et enfin vous pouvez mettre à jour le serveur de production.


1) Prévenez les utilisateurs de la future mise à jour de l'application (liste de diffusion, mails...).

2) Environ 1/4 d'heure avant la mise à jour, modifiez les variables d'environnement :

       SetEnv APPLICATION_MODE update

       SetEnv APPLICATION_UPDATE_STEP warning

Ceci affiche un message d'alerte sur toutes les pages de Médiacad, invitant les utilisateurs à se déconnecter, et interdit l'ajout et la modification des médias (pour purger les tâches d'encodage).

3) Dans Médiacad, avec le compte sAdmin, allez dans le menu Application > Mettre à jour Médiacad. La page indique le nombre de tâches d'encodage en cours et en attente.

VOUS NE DEVEZ PAS PASSER A LA MISE A JOUR TANT QUE DES FICHIERS NE SONT PAS ENCODES (sinon l'index sera incohérent).

Attendez et actualisez la page jusqu'à ce qu'elle indique en vert "Vous pouvez procéder à la mise à jour des fichiers.".

4) Modifiez de nouveau les variables d'environnement :

       SetEnv APPLICATION_UPDATE_STEP files

Plus personne ne peut se connecter, et les utilisateurs encore connectés sont redirigés vers une page de maintenance.

5) IMPERATIF : faites une sauvegarde complète de la base de données, conservée hors du serveur.

6) IMPERATIF : faites une sauvegarde complète du dossier /local, conservée hors du serveur.

7) Notez le numéro de révision ancien de Médiacad (affiché en footer de chaque page, ou dans /application/library/Version.php, ligne 30, const REVISION = 'XXX';).

8) Uploadez les nouvelles sources (version de production) sur les serveur (en écrasant les anciens fichiers). Vous devez copier uniquement les dossiers /application, /library et /public, ***PAS LE DOSSIER /LOCAL***.

9) Suivez si disponibles les instructions particulières ci-dessous.

10) Modifiez de nouveau les variables d'environnement :

       SetEnv APPLICATION_UPDATE_STEP database

Tout le monde peut à nouveau se connecter, mais seul un sAdmin peut travailler, les autres utilisateurs sont encore redirigés vers la page de maintenance.

11) Connectez-vous avec votre compte de sAdmin. Vous serez automatiquement dirigé vers la page de mise à jour de l'application.

12) Cliquez sur le bouton de mise à jour et patientez... Un message indique que la mise à jour s'est déroulée correctement. Vous devrez éventuellement refaire plusieurs fois la même action si votre installation était ancienne.

13) Repassez les variables d'environnement à leurs valeurs habituelles :

       SetEnv APPLICATION_MODE normal

       SetEnv APPLICATION_UPDATE_STEP warning

La mise à jour est terminée.

Instructions particulières pour chaque mise à jour

Ces instructions sont complémentaires aux instructions générales. La plupart du temps, les instructions générales suffisent.

Vous devez respecter toutes les instructions ultérieures à la version ancienne de l'application (le numéro que vous avez noté au point 7 ci-dessus).

La nouvelle révision est celle située en dernier de cette liste.

Par exemple, si l'application en était à la révision #180, vous devez suivre toutes les instructions particulières depuis le #181 jusqu'à la fin de la liste.

#522 27/12/2013

1) Modifier le virtualhost pour tenir compte des fichiers css et js gzipés :

   AddEncoding x-gzip .gz

   <FilesMatch ".css.gz$">

       ForceType text/css

   </FilesMatch>

   <FilesMatch ".js.gz$">

       ForceType application/javascript

   </FilesMatch>

#582 18/02/2014

1) Ôter les droits d'écriture pour Apache sur /public/js/. Sur tout le dossier /public, Apache doit avoir uniquement les droits de lecture/exécution, pas de droits d'écriture/suppression.

#680 28/01/2015

1) Dans le virtualhost, modifier le path de mod_xsendfile.

Passer de XSendFilePath [...]/media/encoded  à  XSendFilePath [...]/media

#724 06/02/2015

1) Modifier éventuellement le lien de logout de l'ENT dans ['auth']['adapters'][nom_de_l_adaptateur]['logoutUri']. Laisser à NULL si pas de lien.

Nouveautés apportées par les scripts d'update

#330 22/10/2013

1) Modifications de la structure de la table maintenancetask (création d'un index PRIMARY).

#331 22/10/2013

1) Suppression de la table moderatorviewlog.

2) Suppression des champs isDeleted, deletedDate, isDeletedByModerator, deletedByModeratorName, deletedByModeratorMessage de la table media.

3) Ajout de la config ['media']['toDeleteDuration'] dans application.cfg.array.php.

#344 28/10/2013

1) Transfert de /local/config/schoolWhiteList.cfg.array.php vers /local/config/application.cfg.array.php.

#346 29/10/2013

1) Changement des cascades de delete sur publicSchoolSubscription.

2) Ajout du champ toApproveDate aux tables academicSubscription, publicSubscription et publicSchoolSubscription.

#348 29/10/2013

1) Transfert de /local/config/database.cfg.array.php vers /local/config/application.cfg.array.php.

2) Ajout de la config ['media']['toApproveSubscriptionDuration'] dans application.cfg.array.php.

#357 30/10/2013

1) Mise à jour de la config pour l'adaptateur d'authentification password + les tâches de maintenance.

#360 30/10/2013

1) Mise à jour de la config pour les nouveaux ACL des webServices + la maintenance + les pages application + help.

#388 06/11/2013

1) Mise à jour de la config pour les fonctions autorisées pour le staff lors de l'update d'établissement + encodingErrorDuration.

#418 17/11/2013

1) Création des tables pour les statistiques : statisticFile, statisticFileCount, statisticMediaEncode, statisticMediaCount,

statisticMediaView, statisticMediaReport, statisticMediaDelete, statisticSubscriptionRequest, statisticSubscriptionResponse,

statisticQuotaMax, statisticQuotaUsed, statisticSchoolCount, statisticUserCount.

#421 17/11/2013

1) Modification de la valeur locale de incrementStepQuota.

#438 22/11/2013

1) Mise à jour de la config pour les nouveaux ACL des webServices.

2) Mise à jour de la config : ajout de 'lockIndexDuration', 'statistics', 'schoolYearFirstMonth', 'logFilePath', threads.

#454 30/11/2013

1) Ajout du champ threadsCount aux tables encodingtask et statisticfile.

#474 08/12/2013

1) Création de la table schoolzone.

2) Modification de la table school (schoolZoneId).

3) Création d'une zone fictive affectée aux établissements existants (contrainte de clef étrangère) + impose une mise à jour des établissements.

4) Modification des types d'établissements (tables school et statisticschoolcount).

5) Modification de la table statisticusercount (activeStudentCount, activeTeacherCount).

#490 15/12/2013

1) Modification de la valeur locale de la liste de diffusion.

2) Mise à jour de la config ('isSchoolNeedsToUpdate', 'isAllowedAutoUpdateAllSchools').

3) Mise à jour de la config pour les nouveaux ACL des WS.

#500 17/12/2013

1) Modification des COLLATE des label pour les tables tables mediaauthor, mediacollection, mediaproject et mediapublisher.

#515 25/12/2013

1) Modification des tables statisticschoolcount et statisticusercount.

#522 27/12/2013

1) Ajout de la config 'internalWSBaseUri', 'reportedMediasKeepingDuration'.

#540 12/01/2014

1) Modification de la valeur locale de la déclaration CNIL.

#564 28.01.2014

1) Ajout de la config 'isDemo'.

#582 18/02/2014

1) Ajout de configs dans application.cfg.array.php.

#652 24.01.2015

1) Ajout de la config 'useMinify'.

#657 26.01.2015

1) Ajout d'un index sur la table school_user.isTeacher.

2) Création de la table staff.

3) Remplissage de la table staff.

#690 01/02.2015

1) Suppression des configs 'displayResultCount' et 'maxCountSearchHits'.

#724 06/02/2015

1) Ajout de la config 'logoutUri' dans la partie auth.

Créé avec HelpNDoc Personal Edition: Créer de la documentation iPhone facilement