Skip to content
Snippets Groups Projects
Commit cee8ffff authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

MAJ installation et docs

parents 6ad701d6 1f47b674
Branches
Tags 9.0-zf3
No related merge requests found
......@@ -3,7 +3,7 @@ title: "Changements intervenus sur OSE"
author: Laurent Lécluse - DSI - Unicaen
---
# OSE 9.0 alpha
# OSE 9.0-zf2 et 9.0-zf3
## Correction de bugs
......@@ -19,9 +19,21 @@ author: Laurent Lécluse - DSI - Unicaen
## Nouveautés
* Deux éditions de OSE sont disponibles :
* 9.0-zf2 basée sur le Zend Framework 2 et qui requiert PHP7.0 (édition "historique")
* 9.0-zf3 basée sur le Zend Framework 3 et qui requiert PHP7.3
* Ajout d'un nouveau contrôle lors des demandes de mise en paiement : il n'est plus possible de payer plus d'heures que d'HETD même si des HETD ont déjà été payées à tort
* La vue matérialisée MV_EXT_SERVVICE a été créée pour être exploitée pour alimenter des outils de pilotage (BO, etc).
## Notes de mise à jour
Si vous mettez à jour à partir des versions :
* 8.2.* : pas de soucis, un ./bin/ose update suffit.
* 8.1.* : lancez ./bin/ose update normalement. Vous rencontrerez un message d'erreur dû à un bug lié à cette version (PHP Fatal error: Uncaught Error: Call to undefined method OseAdmin::getOseAppliId()).
Pour pallier à cela, il vous faudra exécuter ensuite la commande ./bin/ose update-bdd pour que tout rentre dans l'ordre.
* < 8.1 : mettez d'abord à jour en version 8.1.4, puis mettez à jour en 9.0.
# OSE 8.2.2
## Correction de bugs
......
......@@ -295,26 +295,47 @@ Enfin, ajouter à votre fichier /etc/hosts la ligne suivante :
OSE sera accessible sur votre machine, à l'adresse http://ose-test.localhost
# Création de la base de données
Créez une base de données avec un utilisateur pour OSE, un schéma, puis un tablespace vides.
Un script d'initialisation vous est fourni (fichier bdd/install.sql). Il vous revient de le lancer pour peupler la base de données.
Attention à bien veiller à ce que les accents soient correctement traités.
Les caractères du fichier sont en **UTF8**.
# Configuration technique
Personnalisez le fichier `config.local.php` pour adapter OSE à votre établissement.
Une attention toute particulière doit être prise pour configurer les paramètres de base de données, car ces derniers
seront utiles pour terminer la procédure d'installation.
# Mode installation
Allez ensuite sur OSE. Par défaut, le mode installation est activé.
# Création de la base de données
Créez une base de données avec un utilisateur pour OSE, un schéma, puis un tablespace vides.
Ce mode vous permettra de :
Les droits de l'utilisateur Ose doivent être les suivants :
* vérifier que toutes les dépendances nécessaires au bon fonctionnement de l'application sont satisfaites
* contrôler que les paramètres de configuration que vous avez choisi fonctionnent correctement
* Choisir ou changer le mot de passe de l'utilisateur `oseappli`, qui est administrateur de l'application.
```sql
GRANT "CONNECT" TO "OSE";
GRANT "RESOURCE" TO "OSE";
GRANT "SELECT_CATALOG_ROLE" TO "OSE";
GRANT CREATE JOB TO "OSE";
GRANT FLASHBACK ANY TABLE TO "OSE";
GRANT DEBUG ANY PROCEDURE TO "OSE";
GRANT DEBUG CONNECT SESSION TO "OSE";
GRANT SELECT ANY DICTIONARY TO "OSE";
GRANT ON COMMIT REFRESH TO "OSE";
GRANT CREATE MATERIALIZED VIEW TO "OSE";
GRANT CREATE DATABASE LINK TO "OSE";
GRANT CREATE VIEW TO "OSE";
GRANT DROP PUBLIC SYNONYM TO "OSE";
GRANT CREATE PUBLIC SYNONYM TO "OSE";
GRANT UNLIMITED TABLESPACE TO "OSE";
GRANT ALTER SESSION TO "OSE";
GRANT SELECT ON "SYS"."DBA_ROLE_PRIVS" TO "OSE";
GRANT SELECT ON "SYS"."DBA_TAB_PRIVS" TO "OSE";
GRANT SELECT ON "SYS"."DBA_ROLES" TO "OSE";
GRANT FLASHBACK ON "SYS"."ALL_SOURCE" TO "OSE";
GRANT EXECUTE ON "SYS"."DBMS_LOCK" TO "OSE";
GRANT EXECUTE ON "SYS"."DBMS_ALERT" TO "OSE";
```
Une fois la base de données créée, il faut mettre en place les tables, les vues, etc.
Cela se fait au moyen de la commande suivante (depuis le répertoire de OSE) :
Une fois cette étape terminée, il convient de passer OSE en mode production. Cela se fait dans le fichier de configuration `config.local.php`, en positionnant à `false` `global/modeInstallation`.
```bash
./bin/ose install-bdd
```
# Mise en place des tâches CRON
Des tâches CRON doivent être lancée sur votre serveur régulièrement pour mettre à jour certaines données
......@@ -329,7 +350,7 @@ Il est suivi de l'action à exécuter, puis éventuellement de paramètres à pr
Exemple d'utilisation pour lancer une tâche de synchronisation appelée `synchro`:
```bash
/usr/bin/php /var/www/ose/bin/ose synchronisation synchro
/usr/bin/php [votre dossier ose]/bin/ose synchronisation synchro
```
| Usage | Fréquence | Action de script |
......
......@@ -10,13 +10,19 @@ titlepage-rule-height: 1
# Procédure de mise à jour
## Avant de débuter
[La liste des changements](CHANGELOG.md) recense les changements apportés par les différentes versions de l'application.
Vous êtes invités à consulter cette page, car y sont mentionnées des "notes de mise à jour" par version qu'il
convient de lire attentivement avant de démarrer toute opération.
## Mode maintenance
Placez OSE en mode maintenance. Dans le fichier `config.local.php` :
* `maintenance/modeMaintenance` doit passer à `true`.
* `maintenance/messageInfo` peut être personnalisé pour informer les utilisateurs.
## Mise à jour des fichiers
## Mise à jour
* Si les fichiers sources de OSE ont été modifiés manuellement (hors fichier de configuration local), veillez à remettre la copie
de travail dans son état originel au moyen de la commande suivante :
......@@ -24,16 +30,10 @@ de travail dans son état originel au moyen de la commande suivante :
* Dans le répertoire de l'application, exécutez `./bin/ose update`, puis suivez les instructions.
## Mise à jour de la base de données
* Dans le répertoire `bdd/update`, si un fichier `.sql` corresopnd à la nouvelle version installée,
exécutez les requêtes dans SQL Developer pour mettre à jour la base de données.
## Tests
La base de données sera également mise à jour (structures et données).
[La liste des changements](CHANGELOG.md)
recense les changements apportés par les différentes versions de l'application.
Vous êtes invité à tester prioritairement ces changements.
Si au niveau base de données vous rencontrez des erreurs, une nouvelle mise à jour de la base de données pourra être lancée
au moyen de la commande `./bin/ose update-bdd`.
## Passage en production
......
......@@ -62,15 +62,16 @@ class Schema
DdlTable::class . '.create.' => ['label' => 'Création des tables'],
DdlView::class . '.create.' => ['label' => 'Création des vues'],
DdlPackage::class . '.create.definition' => ['label' => 'Création des définitions de packages'],
DdlMaterializedView::class . '.create.' => ['label' => 'Création des vues matérialisées'],
DdlPackage::class . '.create.body' => ['label' => 'Création des corps de packages'],
DdlSequence::class . '.alter.' => ['label' => 'Modification des séquences'],
DdlTable::class . '.alter.noNotNull|noDropColumns' => ['label' => 'Modification des tables'],
DdlPrimaryConstraint::class . '.alter.' => ['label' => 'Modification des clés primaires'],
DdlPackage::class . '.alter.' => ['label' => 'Modification des packages'],
DdlView::class . '.alter.' => ['label' => 'Modification des vues'],
DdlMaterializedView::class . '.create.' => ['label' => 'Création des vues matérialisées'],
DdlMaterializedView::class . '.alter.' => ['label' => 'Modification des vues matérialisées'],
DdlPrimaryConstraint::class . '.alter.' => ['label' => 'Modification des clés primaires'],
DdlRefConstraint::class . '.alter.' => ['label' => 'Modification des clés étrangères'],
DdlUniqueConstraint::class . '.alter.' => ['label' => 'Modification des contraintes d\'unicité'],
DdlTrigger::class . '.alter.' => ['label' => 'Modification des triggers'],
......
......@@ -246,26 +246,6 @@ class OseAdmin
return $scripts;
} else {
if ($prePost == 'pre') { // on n'avertit qu'une seule fois!
$this->console->println('Attention : les scripts de migration automatiques n\'ont pas pu être déclenchés :', $this->console::BG_RED);
if ($oldIndex === false) {
$this->console->println('La version précédente de OSE n\'a pas pu être clairement identifiée.', $this->console::BG_RED);
}
if ($newIndex === false) {
$this->console->println('La version cible de OSE n\'a pas pu être clairement identifiée.', $this->console::BG_RED);
}
if ($oldIndex == $newIndex) {
$this->console->println('La version cible est identique à celle déjà installée.', $this->console::BG_RED);
}
if ($oldIndex > $newIndex) {
$this->console->println('L\'installation d\'une version plus ancienne n\'est pas supportée par le système de mises à jours automatiques', $this->console::BG_RED);
}
$this->console->println("Afin d'effectuer vous-mêmes les opérations de migration, merci d'aller dans le répertoire /actions/migration de OSE et examiner puis exécuter les scripts nécessaires manuellement."
. " Ces scripts sont nommés selon la version à laquelle ils correspondent, suivis de -pre s'ils sont à exécuter AVANT la mise ) jour de la DDL de la base de données, et -post s'il sont à exécuter après."
. " Enfin, leur extension renseigne s'il s'agit de code PHP à exécuter ou bien de code SQL (à exécuter dans SQLDeveloper par exemple)."
);
}
return [];
}
}
......
......@@ -3,9 +3,6 @@
return [
/* Paramètres généraux */
'global' => [
/* Détermine si l'installation de OSE est faite ou non. Pour pouvoir lancer OSE, positionnez à false */
'modeInstallation' => true,
/* Accès en mode HTTP ou HTTPS */
'scheme' => '',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment