Cette page liste les différences entre
WikiNi 0.4.x et
WikiNi 0.5.x.
WikiNi 0.5 voit essentiellement trois grosses nouveautés :
- des fonctionnalités permettant de gérer les droits d'accès aux composants qui permettent le fonctionnement du wiki (actions et handlers)
- la notion d'administrateur pouvant gérer tout le panel des droits
- la notion de groupes d'utilisateurs, permettant de gérer finement les droits d'accès aux pages et aux fonctionnalités
Mais les changements les plus importants se trouvent "sous le capot". Deux changements techniques d'ampleur -- les actions sous forme d'objet et les triplets en base -- introduisent en effet des possibilités de développements très importantes :
- possibilité de concevoir des actions pouvant sauvegarder des données sans modification de la base ou du coeur de wikini
- possibilité de concevoir des actions pouvant modifier dynamiquement les en-têtes et pieds de page
Ces changements techniques permettront une liberté très fortement accrue des développeurs occasionnels. Il devient beaucoup plus simple de développer des
ContributionsClesEnMain.
Voyons maintenant les différences entre
WikiNi 0.4.x et
WikiNi 0.5.x.
Fonctionnalités
- Ajout de la gestion des groupes d'utilisateurs (facilite notamment la gestion des droits d'accès aux pages ; cf. DocAdminFonctionnelWikiNi05ActionEditGroups? et AccessControl (à documenter))
- Ajout de fonctionnalités d'administration du wiki (cf. DocAdminFonctionnelWikiNi05AdministrationDeWikiNi?) :
- Ajout de la notion de groupe d'administrateur
- Ajout de la création, à l'installation, d'un compte administrateur
- Ajout de nombreuses fonctions réservées aux administrateurs :
- Ajout de l'ActionEditGroups, permettant de gérer les groupes
- Ajout de l'ActionEditActionsACLs?, permettant de configurer finement les droits d'accès aux actions
- Ajout de l'ActionEditHandlersACLs, permettant de configurer finement les droits d'accès aux handlers
- Ajout de l'ActionEraseSpamedComments?, permettant aux admins d'effacer les spams de commentaires
- Ajout de fonctions automatiques permettant de loguer toutes les actions administratives (en toute transparence pour les usagers)
- Ces fonctionnalités permettent des usages nouveaux ; par exemple :
- il devient possible de basculer un wiki en lecture seule en quelques secondes (il suffit d'interdire l'accès au handler "edit"), par exemple en cas d'attaque massive de SPAM
- il devient possible de contrôler un utilisateur indélicat
- Ces fonctionnalités rendent possible la création de nouvelles fonctionnalités spécifiques pour l'administration (à venir) ; par exemple :
- une action qui ne permette aux utilisateurs que de se loguer et plus de s'enregistrer, cette possibilité étant réservée aux admins
- une action qui permette de sauvegarder la base de données
- un handler qui permette de supprimer une page même si elle est encore liée à d'autres pages
- une action qui permette de modifier la charte graphique (action permettant par exemple d'enregistrer un fichier CSS sur le serveur)
- une action qui permette de supprimer des utilisateurs enregistrés
- Meilleure gestion des commentaires :
- possibilité de les modifier pour son auteur (et uniquement lui) via un lien "Éditer ce commentaire"
- retour à la page commentée après édition d'un commentaire
- lien "supprimer ce commentaire" pour son auteur
- impossibilité de commenter un commentaire
- masquage de la gestion des droits et de la section "commentaires" lors de la visualisation directe d'un commentaire
- possibilité de supprimer une page a été commentée (la page est considérée comme orpheline malgrés les commentaires) - Ajout de la cartographie du réseau de la page courante
- Amélioration de la fonction de suppression des pages : la fonction liste les pages liées à la page à supprimer
- Ajout du style "page_preview" spécifique à la prévisualisation : celle apparait maintenant par défaut avec un fond jaune
- Ajout du HandlerBacklinks. L'ActionWantedPage?? crée maintenant des liens vers celui-ci.
- Le wiki conserve désormais toujours la dernière révision ayant plus de 3 mois (par défaut) de chaque page
- Ajout de l'attribut "edit" à l'ActionInclude : permet d'accéder directement en édition à la page inclue.
- Ajout de l'attribut "auth" à l'ActionInclude : permet de ne pas afficher de message d'erreur lorsque l'utilisateur n'a pas le droit de lecture de la page inclue.
Documentation
- ajout de la page de documentation PremiersPasSurLeWiki
- documentation de l'action changestyle, présente mais non documentée dans WikiNi 0.4 (DocUtilisateurWikiNi05ActionChangeStyle?)
Corrections de bogues
les bogues trouvés dans
WikiNi 0.5 le sont également dans les versions successives de
WikiNi 0.4
- correction de certains bugs lors de la vérification des redirections circulaires (plus aucune utilisation de cookies datés)
- amélioration de la vérification des inclusions récursives
- lors de l'utilisation d'une page comme menu dans l'entête ou le pied de page, l'édition de cette page n'affiche plus d'erreur
- & n'est plus remplacé par & lorsqu'il est suivi d'une entité HTML correcte (exemple: é donne bien "é")
- correction d'un problème qui se posait dans certains javascript lorsque l'url du wiki contenait des apostrophes
- correction d'un problème d'utilisation du caractère $ dans le mot de passe de la base de données
- correction du WikiNiBug:7765 (interwiki inconnu) (interwiki) provoquant un warning lorsque session.use_trans_id = 1 et zlib.output_compression = Off
- correction d'un bogue affectant la gestion des cookies sous Windows (empêchait de s'enregistrer, etc.)
Amélioration de la sécurité
- chaque handler vérifie désormais qu'il n'est pas appelé directement
- vérification plus stricte du nom de la page (URL)
Évolutions techniques
- les liens de validations XHTML et CSS n'utilisent maintenant plus le REFERRER mais l'URL de la page courante directement
- suppression globale de la fonction UserName indiquée comme obsolète
- suppression des commentaires associés à une page lors de la suppression de cette page
- amélioration des performances des actions suivantes:
- la classe Hightligher a été renommée en Highlighter et a été déplacée dans un fichier nommé action/highlighter.class.inc.php
- ajout d'une série de méthodes à la ClasseWiki pour la gestion des inclusions
- amélioration de la compatibilité XHTML des listes
- protection contre l'indexation par les moteurs de recherches dans certains cas (notamment lorsque ceux-ci demandent l'affichage des commentaires)
- amélioration des performances de la purge des vieilles versions des pages (la dernière version antérieure à la période de purge est maintenant toujours conservée)
- ajout de la gestion des actions sous forme d'objets (voir DocDeveloppeurWikiNi05EcrireUneAction)
- transformation du formateur wakka en une version orientée-objet
- ajout de la gestion des triplets permettant notamment la gestion des droits des actions, cf DiscussionsModeleDeDonneesEvolutif
- création des classes WikiniAction et WikiniAdminAction pour gérer les actions sous forme d'objet (cf. DocDeveloppeurWikiNi05EcrireUneAction)
- création dans le noyau des fonctions AppendContentToPage, LogAdministrativeAction pour assurer la transparence des actions administratives
Pour les connaisseurs, nous vous invitons à consulter
WikiNiChangeLog050.