Publication de la 0.6
Dernière ligne droite
Étapes principales
- décider avec les autres développeurs le gel des fonctionnalités
- la création d'une version majeure étant un peu lourde, créer une page équivalente à ToDoPublicationDeWikiNiVersion060 (la présente page)
- créer une branche dans le DepotWikiNi (les développeurs peuvent ainsi continuer à travailler en parallèle sur la version de développement et la version à finaliser) (cf. DepotWikiNi)
- changer WIKINI_VERSION dans le trunk du DepotWikiNi pour faire apparaître le numéro de la prochaine version, avec un suffixe -dev pour signifier que c'est une version non officielle, en cours de développement (SvnCommit:913 (interwiki inconnu) (interwiki))
- vérifier que le numéro de version a bien été modifié dans /wakka.php : constante WIKINI_VERSION en début de script (le faire si ce n'est pas le cas)
- modifier éventuellement le script d'installation (dans le cas de nouvelles tables ou autre) (directement fait dans les branches de développement, voir par exemple SvnCommit:901 (interwiki inconnu) (interwiki))
- /!\ créer/vérifier la documentation en ligne (à partir de la page équivalente à DocWikiNi04?/DocWikiNi05) (cf. DocDeveloppeurOrganisationDeLaDocWikiNi) : DocWikiNi06?? /!\, en particulier il faut documenter
- l'utilisation des namespaces
- l'action TextSearch?? [je l'ai fait j'attends que vous me confirmiez mes propositions de nouvelles fonctionnalités sur l'action -- CharlesNepote]
- la modification du menu via la page MenuDeCeWiki??
- l'usage des feuilles de style et en particulier la feuille de style alternative qui permet simplement d'avoir les menus dans une colonne à gauche
- fabriquer la documentation à intégrer au DepotWikiNi
- poser un tag "Nom_de_version_RC1" dans le DepotWikiNi (comment (à documenter))
- générer les fichiers tar.gz et .zip (comment (à documenter))
- tester : une nouvelle installation et une mise à jour
- Tester : CasDeTestDeWikiNi (l'idéal serait de pouvoir importer automatiquement ces tests dans un nouveau wiki ; après l'installation, via une fonction d'import)
- s'il reste des problèmes
- corriger et faire une RC2
- poser un tag "Nom_de_version_release" dans le DepotWikiNi
- générer les fichiers tar.gz et .zip
- tester
- vérifier que les autres développeurs valident la nouvelle version
- créer ou vérifier la page DifferencesEntreWikiNi05EtWikiNi06 (prendre DifferencesEntreWikiNi01103EtWikiNi041 en exemple)
- créer ou vérifier la page FonctionnalitesDetaillees06? (prendre FonctionnalitesDetaillees05? en exemple)
- créer ou vérifier la page PassageDe05A06? (prendre PassageDe04A05 en exemple)
- réintégrer les changements de la branche 0.6 dans le trunk (car la branche a été créée trop rapidement)
Dernière minute
- uploader les archives sur wikini.net
- modifier la redirection de la page LaDocumentation : Erreur ActionInclude: La page inclue 'DocWikiNi04?' ne semble pas exister...
- modifier la redirection de la page FonctionnalitesDetaillees :
Fonctionnalités générales de Wikini
- Tout Le Monde Peut Ecrire, sauf exceptions, grâce au lien "Éditer cette page" en bas de chaque page : c'est la fonction de base du produit (comme de tout Wiki)
- Pour les navigateurs supportant JavaScript, il est possible d'éditer la page à partir d'un simple double-clic de la souris dans la page (fonctionnalité débrayable pour chaque utilisateur)
- Édition simplifiée grâce à une syntaxe rudimentaire : voir les ReglesDeFormatage ; pas besoin d'apprendre le HTML pour publier sur le Web !
- Publication instantanée : toute page modifiée puis enregistrée est immédiatement disponible sur le site
- Wikini gère les conflits d'édition (quand deux personnes publient en même temps)
- Système de commentaires
- Gestion des comptes utilisateurs
- Contrôle d'accès pour chaque page (voir AccessControl)
- Fonction Supprimer, accessible au propriétaire d'une page orpheline
- Versionnement de chaque page
- Affichage des différences mots à mot entre deux versions (ajouts et suppression) [ce qui est unique, semble-t-il, dans le monde Wiki]
- Moteur de recherche interne
- WikiNiSyndication (Syndication entre WikiNi)
- Liste des versions de chaque page
- Liste personnalisable des pages du site : PlanDuSite et IndexDesPages
- Liste personnalisable des utilisateurs : ComptesUtilisateurs et DerniersComptesUtilisateurs
- Liste des PagesOrphelines
- Liste des PagesACreer
- Liste des DerniersChangements intervenus sur toutes les pages du site (création et modifications de pages)
- Liste des DerniersCommentaires intervenus sur toutes les pages du site
- Liste des pages faisant référence à une page donnée (voir ActionBacklinks)
- Fils d'information des DerniersChangements lisibles par d'autres sites ou par des outils spécialisés (voir WikiniEtLesFluxRSS)
- Wikini sait PrevenirLIndexationDesRobotsDeRecherche
- Wikini sait générer des URLs signifiantes (sous réserve des possibilités du serveur web)
- Disponible en français et bientôt en anglais
- UneMacroPourWord permettant de convertir un document Word en document WikiNi
- Wikini gère l'inclusion d'une ou plusieurs pages dans une autre, permettant la consolidation d'informations et des effets de mise en page (voir ActionInclude)
- Wikini est capable de rediriger une page vers une autre permettant d'avoir plusieurs noms pour une même page (voir ActionRedirect)
- Wikini gère une fonction permettant de jouer des diaporamas (voir FonctionDeDiaporama)
Fonctionnalités spécialisées pour l'administrateur technique
- Installation via un navigateur
- Support de sites multiples sur la base d'une seule installation
- Fonctionnalités personnalisables, ajouts de fonctionnalités, à travers le système des "actions"
- Gestion du graphisme à travers une feuille de style CSS
Les qualités de Wikini
- MoteurDeWiki très léger - Conçu pour la vitesse
- Installation facile et rapide (moins de 10 minutes)
- Édition la plus intuitive possible (voir par exemple l'IndentationVisuelle)
- Graphisme facile à personnaliser (connaissance basique des CSS requise)
- Fonctionnalités faciles à ajouter ou personnaliser (connaissance basique de PhP requise) : un greffon (plug-in) peut être développé en quelques minutes (voir EcrireUneAction et EcrireUnHandler)
- Compatible avec les standards d'internet : XHTML 1.0 + CSS
- Tous terrains : WikiNi fonctionne avec des plates-formes Php/MySQL standards (pas de modules optionnels requis) (voir PreRequisWikiNi et la supportant WikiNi)
- Projet transparent et ouvert (voir la PhilosophieDuProjetWikiNi)
- basculer la dernière version en production sur wikini.net
- annoncer (où ?)
- [à voir] verrouiller en lecture seule les pages de documentation de la version qui vient ainsi d'être publiée ; les utilisateurs peuvent y laisser des commentaires à l'instar de la doc. PHP
- [à voir] recopier les pages de doc pour créer à l'avance les pages de la prochaine version ; ces pages seront retravaillées au fur et à mesure de l'élaboration de la nouvelle version
Reste à faire pour la 0.6
[à terminer] [fonctionnalité innovante] DiscussionsNamespaces
Les fonctionnalités sont développées et ne modifient pas le comportement classique de
WikiNi pour qui ne souhaite pas utiliser cette fonctionnalité ; il reste à faire une relecture du code et une documentation.
- . Problème : on ne devrait pas pouvoir choisir le nom du namespace pour les utilisateurs
- . Problème (ou pas) : le nom du namespace des contributeurs est en français
- . Pourquoi avoir fait un namespace spécial pour les contributeurs ? si ce n'est pour que TelNamespace??.CharlesNepote affiche Contributeur.CharlesNepote pourquoi alors ne pas "stocker" les contributeurs dans le namespace "Global" qui a le même comportement ?
- . La présence de namespaces spéciaux comme "global" et "contributeurs" ne complexifie-t-elle pas inutilement les namespace ?
- . La navigation et le fonctionnement des namespaces est-il bien stabilisé ? peut-être devrait-on signaler cette fonctionnalité comme expérimentale et réservée aux utilisateurs chevronnés en précisant qu'aucune garantie de compatibilité ascendante n'est garantie
On semble donc parti sur une solution où on n'aurai plus aucun namespace global et ou les utilisateurs seraient "stockés" dans la racine.
Commits à modifier.
[ok]
SvnCommit:918 (interwiki inconnu) (interwiki): déplacement de
ParametresUtilisateur en page globale + le lien de déconnexion dans l'action header redirige ensuite vers la page d'origine
- /actions/header.php
- /actions/usersettings.php
- /setup/install.php
corrigée par le
SvnCommit:931 (interwiki inconnu) (interwiki)
[ok]
SvnCommit:920 (interwiki inconnu) (interwiki): Implementation de la parametrabilite du menu. Aucun changement ergonomique mais possibilite desormais d'editer le menu a travers la page Global.Menu.
- /actions/header.php
- /setup/doc/Global.Menu.txt
- /wakka.php
corrigée par le
SvnCommit:928 (interwiki inconnu) (interwiki): Changement du nom de la page du menu du Wiki + ajout du bouton de recherche.
- /setup/doc/Global.Menu.txt (suppression)
- /setup/doc/MenuDuWiki??.txt
- wakka.php
et surtout
SvnCommit:907 (interwiki inconnu) (interwiki).
[à renvoyer en 0.7 ou à implémenter ?] [fonctionnalité classique] TestAntiRobots?? / TestDeTuringALInscription?
On en a pas mal discuté sur la mailing liste et je me rends compte que ça n'a pas été indiqué dans cette page. Les tâches à accomplir sont indiquées au bas de
TestDeTuringALInscription?. --
DidierLoiseau
Pour ma part je pense que c'est une fonctionnalité importante car de nombreux wiki sont pourris à cause de ça... Je ne préfèrerai pas qu'on la renvoie à la 0.7. --
CharlesNepote
[à terminer] documentation utilisateur à compléter (voir ce qui manque)
Divers
- je me permets de signaler mes corrections/modifs notifiées avec l'aide de DidierL?? (cf. JdxBugs05? et ListeDesActionsWikini)
Réglé pour la 0.6
[OK] [fonctionnalité classique] DiscussionsBarreDOutilsDAideALaMiseEnForme?
Cette fonctionnalité est réclamée à corps et à cris par de nombreux utilisateurs ; elle apporte en effet un vrai plus ergonomique ; elle devient une fonctionnalité standard de nombreux moteurs. Je m'engage à mener les débats, comme je l'ai fait sur les namespaces, et à fournir/orienter l'implémentation. --
CharlesNepote
[OK] [fonctionnalité classique/inovante] MenuNavigationWikini
L'action
Action inconnue "var" n'est pas retenue (voir
DiscussionsActionVar?), mais un mécanisme simple et non impactant est retenu selon les principes évoqués ci-dessous.
Fonctionnalité classique car déjà mis en oeuvre et éprouvée , par l'intermédiaire de la contribution
MenuNavigationWikini , dans de nombreux Wikini (Exemple : Rédaction collective d'une cyberlettre et dans
WikiNiMST. Fonctionnalité innovante car il ne me semble pas que beaucoup de Wiki permette une modification aussi simple de la navigation (c'est assez compliqué par exemple sur Mediawiki). --
DavidDelon
- Je pense qu'une telle fonctionnalité devrait être intégrée dans le cadre des modifications pour le nouveau style + des adaptations pour les namespaces (menus spécifiques aux namespaces…). Je laisserais donc plutôt ça pour la release suivante. -- DidierLoiseau
- Tout au contraire je pense qu'il est dommage de se priver dans cette version d'une fonctionnalité très demandée (cf ContributionsAvancees, cette contribution recueille le maximum de vote) et qui n'a pas besoin pour l'instant de dépendre de la mise en place des namespaces et du nouveau style. -- DavidDelon
- Je sais bien que c'est très demandé mais c'est dommage de devoir implémenter ça alors qu'on devra sans doute tout jeter pour l'intégration du nouveau style qui a déjà chamboulé tout le menu. -- DidierLoiseau
- Je ne sais pas si ça tient la route ton raisonnement. L'intégration de ce menu paramétrable, c'est plus de la mécanique que de la cosmétique, non ? Ou alors c'est que j'ai mal compris, et que donc il faut recadrer la fonctionnalité. La page MenuNavigationWikini est hyper vague sur le plan fonctionnel - un vrai écran de fumée ! -- BenjE?
- Il me paraît donc plus simple d'attendre le nouveau style et d'implémenter cette fonction par dessus, que de l'intégrer maintenant et résoudre les conflits lors de l'intégration du nouveau style (cette résolution des conflits allant très probablement être un rejet du code intégré maintenant pour réimplémenter cela complètement, même si c'est pas grand chose…). Sans compter que, dans ce cas, cela risque d'ajouter des contraintes sur le nouveau style au niveau CSS pour rester compatible avec cette fonctionnalité (noms des classes associées aux <div>, utilisation de ces <divs> etc.). De plus cela demandera à nos utilisateurs de faire deux fois des adaptations CSS pour leur wiki s'ils souhaitent utiliser ce menu. Il me semble d'ailleurs que ce menu ne s'intègre déjà pas très bien dans le style actuel (par rapport aux titres et autres menus déjà présents). Pour finir tu dis qu'on n'a pas besoin de dépendre de la mise en place des namespaces, mais ceux-ci vont quand même avoir un impact sur ce menu (liens relatifs au namespace courant…), les deux fonctionnalités ne se combineraient donc à mon avis pas très bien. -- DidierLoiseau
Ne vous battez pas, j'avais démontré il y a déjà fort longtemps qu'il est possible d'obtenir un menu de navigation sans presque rien changer. Et je le prouve ;) Il suffit de deux choses très simples.
- Insérer ces lignes suivantes à la fin de wakka.css
- .header { background-color:gray; clear:left; float:left; padding:0px 10px 10px; width:10%; }
- .page { background-color:#FFFFFF; border-width:1px 1px medium; margin:12px 0px 0px 220px; padding:10px; }
- .footer, .commentsheader, .comment, .commentform, .copyright, .debug { clear:both; margin:0px 0px 0px 220px; }
- .footer, .commentsheader, .comment, .commentform, .copyright, .debug { clear:both; margin:0px 0px 0px 220px;}
- A partir de là, vous avez déjà un menu de gauche qui "fonctionne" bien.
- Dans wakka.config.php modifier le contenu de "navigation_links"
"
DerniersChangements ::
DerniersCommentaires ::
ParametresUtilisateur"
par
{{include page=\"MenuDeCeWiki\"}}
Vous pouvez ainsi rendre cette partie éditable.
Pour aller plus loin, je serais assez d'accord pour faire quelques modifications complémentaires très simples pour améliorer la "paramétrabilité" du menu.
- [retenu] Inclure PagePrincipale dans "navigation_links", ce qui est d'ailleurs cohérent avec les namespaces.
- Là où ça se complique c'est que depuis WikiNi 0.6 on laisse la possibilité à de spécifier une page d'accueil à l'installation - fonctionnalité qui n'a pas été discuté avec les autres développeurs si je ne m'abuse, alors qu'elle a pas mal d'implications... Je serais d'avis de ne pas retenir cette fonctionnalité (possibilité de choisir la page). -- CharlesNepote
- On pouvait déjà faire ça avant tu sais, mais ça ne devrait pas changer grand chose il me semble si ? -- DidierLoiseau
- [retenu] remplacer :: Vous êtes CharlesNepote (Déconnexion) par <div class="ident">Vous êtes CharlesNepote (Déconnexion)</div>
- [retenu] paramétrer par défaut le contenu de "navigation_links" à Erreur ActionInclude: Le paramètre "page" est manquant.
mais sans changer le look de wikini actuel --
CharlesNepote
- Pour le <div class="ident"> on peut très bien se contenter de retirer les :: sans mettre de div non ? Il faut juste réfléchir à ce qu'on fait pour les anciens wikis qui migreront (doit-on supposer qu'ils gardent leur CSS actuelle ? Et pour le div ident on fait quoi ?). -- DidierLoiseau
- Pour les anciens wikis qui migreront : ils n'auront rien à faire s'ils ont gardé le style par défaut ; ils auront une très légère adaptation s'ils ont changé le style. Je pense que cette fonctionnalité est intéressante car elle permet de dissocier structurellement (et donc potentiellement graphiquement) le menu d'identification. Merci de valider et d'indiquer "retenu" devant ma proposition 2 si c'est OK. -- CharlesNepote
- Ok. Comme tu le dis ce n'est pas grand chose à changer dans le style, tant qu'on ne modifie pas le look de wikini par défaut. (c'est amusant parce qu'au final c'est uniquement les propositions de « pour aller plus loin » qui sont retenues !) -- DidierLoiseau
- Maintenant, si c'est pour changer la config par défaut du navigation_links par un include, autant définir une variable séparée qui contient le nom de la page à inclure, et retirer navigation_links de la config par défaut:
- si nécessaire, on peut assurer la rétrocompatibilité en testant si navigation_links est défini
- cela simplifie la config
- à partir du moment où le comportement par défaut est d'inclure une page, je doute fort que quelqu'un décide de faire autrement (vu qu'utiliser navigation_links est plus compliqué qu'éditer une page)
- très léger gain de performances (un Format() et traitement d'action en moins) -- DidierLoiseau
- Je me réponds à moi-même parce qu'en fait je me suis rendu compte que la solution basée sur l'ActionInclude a également pour effet de bord de permettre de réaliser des menus spécifiques aux namespaces, comme je l'ai proposé récemment sur la MailingListe??. Il n'y a donc rien à faire pour implémenter ça ! J'ai testé tout à l'heure et ça marche à merveille. -- DidierLoiseau. Oui -- CharlesNepote
[OK] [framework] Amélioration de la méthode FormOpen?
- documentation
- ajout des paramètres "$id" et "$class"
Changements nécessaires pour préparer l'intégration de la barre d'outils d'aide à la mise en forme.
Pour la suite on verra la
ToDoPublicationDeWikiNiVersion070.