[Document en cours de rédaction.]
[J'ai débuté ce document car une réflexion sur l'installation est un préalable à l'administration de
WikiNi, elle-même préalable à bien d'autres choses... --
CharlesNepote]
L'installation se déroule fonctionnellement de la manière suivante :
- préalable :
- le fichier wakka.config.php n'existe pas
- ou bien la version de WikiNi est différente de celle du wakka.config.php
- le système affiche le formulaire permettant l'installation
- l'utilisateur complète le formulaire
- le système teste l'accès à la base de données et écrit éventuellement les données nouvelles dans la base
- le système écrit le fichier wakka.config.php
Techniquement :
- préalable : le système vérifie la cohérence des constantes WAKKA_VERSION et WIKINI_VERSION avec les variables correspondantes dans wakka.config.php
- le système démarre l'installeur :
- par défaut, il s'agit d'un include de trois fichiers suivants :
- /setup/header.php
- /setup/default.php
- /setup/footer.php
- à chaque écran suivant de l'installation, l'installeur affiche :
- /setup/header.php
- /setup/xxx.php (xxx correspondant à un paramètre passé dans la requête : &installAction=writeconfig.php, par exemple)
- /setup/footer.php
Discussions
Suppression de toute références à wakka ?
Je suis à peu près persuadé que jamais personne n'a migré de
WakkaWiki à
WikiNi depuis des mois... alors pourquoi ne pas virer les tests concernant ce cas d'utilisation. Ca allègerait un peu le code de
/wakka.php. --
CharlesNepote
Suppression des fichiers header.php et footer.php
Je pense que ces fichiers ajoutent de la complexité et n'ont que peu de valeur ajoutée...
C'est particulièrement vrai de
footer.php qui ne contient que
</body></html> !
Quant à
header.php :
- la fonction test() qu'il contient n'est utilisée que par install.php
- la fonction myLocation() est si courte qu'elle pourrait être intégrée dans chaque fichier utile à l'installation (cela représente une ligne dupliquée dans 3 fichiers ; et une ligne de gagnée dans /wakka.php)
- le code HTML <html><head> [...] <body> peut être intégré à chaque fichier, permettant un développement et débogage plus facile des 3 fichiers nécessaires à l'installation (note : on peut renvoyer les styles dans une feuille externe)
On aurrait donc plus que 3 fichiers que je propose en outre de renommer :
- 1-formulaire.php
- 2-gen_bdd.php
- 3-gen_config.php
Le développeur peut ainsi voir d'un seul coup d'oeil :
- la chronologie d'enchainement des fichiers
- les traitement effectués par chaque fichier : affichage du formulaire, génération de la base de données et enfin génération du fichier de configuration.
--
CharlesNepote
Faute de commentaires, je passerai en CVS ces deux propositions lundi 21 mars prochain. --
CharlesNepote [OK --
DavidDelon] [OK --
MdeBeaumont]
Suppression du champ body_r dans le modèle de données
Cf.
http://wikka.jsnx.com/Mod007bSQLBodyR.
Dans install.php
Ajout du champ "note"
Je pense qu'il est intéressant d'ajouter le champ "note" dans la table "pages" du modèle de données :
cf.
http://wikka.jsnx.com/WikkaTableStructure
La création de ce champ peut être effective tout de suite, le codage des actions l'utilisant pouvant venir par la suite.
--
CharlesNepote
Propective
Création du premier utilisateur intégrée à l'installation
Un pas supplémentaire consiste à créer automatiquement un utilisateur à l'installation. L'installateur pourrait ainsi :
- dans un premier temps, configurer pour cet utilisateur les droits de lecture, écriture et commentaire des pages installées (?)
- dans un premier temps, configurer pour cet utilisateur les droits par défaut de lecture, écriture et commentaire des futures pages (correspondant aux directives "default_write_acl", "default_read_acl" et "default_comment_acl" du fichier de configuration)
- dans un second temps, configurer pour cet utilisateur les droits d'accès à certaines fonctions (?) :
- droit d'accès à la fonction permettant de créer des utilisateurs
- droit d'accès à la fonction permettant de changer tel ou tel paramètre de config, etc.
Pour créer un utilisateur à partir de l'installation, on demandera les mêmes éléments que dans la page
ParametresUtilisateur :
- nom
- mot de passe
- confirmation du mot de passe
- adresse e-mail
Il est possible de coder les choses progressivement. Il n'est pas utile que la configuration des droits de cet utilisateur soit réalisée pour proposer sa création dans le premier formulaire de l'installation.