* 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.
@@ -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";
GRANTCREATEJOBTO"OSE";
GRANTFLASHBACKANYTABLETO"OSE";
GRANTDEBUGANYPROCEDURETO"OSE";
GRANTDEBUGCONNECTSESSIONTO"OSE";
GRANTSELECTANYDICTIONARYTO"OSE";
GRANTONCOMMITREFRESHTO"OSE";
GRANTCREATEMATERIALIZEDVIEWTO"OSE";
GRANTCREATEDATABASELINKTO"OSE";
GRANTCREATEVIEWTO"OSE";
GRANTDROPPUBLICSYNONYMTO"OSE";
GRANTCREATEPUBLICSYNONYMTO"OSE";
GRANTUNLIMITEDTABLESPACETO"OSE";
GRANTALTERSESSIONTO"OSE";
GRANTSELECTON"SYS"."DBA_ROLE_PRIVS"TO"OSE";
GRANTSELECTON"SYS"."DBA_TAB_PRIVS"TO"OSE";
GRANTSELECTON"SYS"."DBA_ROLES"TO"OSE";
GRANTFLASHBACKON"SYS"."ALL_SOURCE"TO"OSE";
GRANTEXECUTEON"SYS"."DBMS_LOCK"TO"OSE";
GRANTEXECUTEON"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`:
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)."