WikiNi

GestionDeGroupeDePages

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes 38.107.191.105
[Cette page regroupe les idées/dicussions relatives à la notion de groupe de pages. Ces idées sont encore en discussion. La maturité du sujet est faible.]

Pour guider les développements, une synthèse sur la problématique des groupes de pages est proposée à la page ErgonomieGroupeDePages. On y trouvera une petite étude comparative d'autres moteurs de wiki / blog et des idées de transposition possible à Wikini.

Avez vous testé ? avez vous des idées sur la gestion de groupe de pages ?


Idée de départ


Une page fait partie d'un groupe, cela permet de :

Il me semble important - si les groupes sont créés - de réaliser un système de groupe à plusieurs niveaux et d'inclure la gestion de groupe de pages dans WikiNi.
En effet l'un des points faibles de WikiNi est la faible visibilité de la structure pour l'accès à l'information. Or cet élément est un point essentiel pour créer un site qui soit géré avec une vraie structure éditoriale. Actuellement si l'on met à plat un site WikiNi, c'est une structure anarchique qui apparait de la PagePrincipale à la dernière page créée, avec les groupes on se retrouve avec une structure plus itérative (type Mandelbrot) avec des bras (ou axes) définissant visuellement la structure éditoriale du site.
Insérer ce type de structure permettra d'ordonnancer l'information mais aussi d'offrir plusieurs type de visualisation de l'information contenue dans le site (c'est, il me semble le but d'un site que d'offrir du contenu pour les autres et pas que pour soi!). Il serait possible ainsi sur un groupe de rassembler toutes les pages du groupe dans une seule page (pour un export par exemple) ; où de réaliser le sommaire du groupe de page ; ....
Autre point important si une structure est mise en place il est important d'associer cette nouveauté avec la visualisation au sein de la page du chemin d'accès à cette page (ex. : accueil / sujet1 / groupe1 / sous-groupe5 / page9) avec raffinement important la possibilité de remonter aisément d'un niveau dans la structure hiérarchique de l'information.
--Xf75013

Idées de développement

(les discussions se trouvent plus bas dans la page)

Idée de GarfieldFr

Il doit être possible de gérer les groupes de pages dans WikiNi sans tout modifier et en particulier sans ajouter de table à la base de données. Voici mes réflexions sur le sujet :

Détail sur la gestion des droits d'accès

Une page d'un groupe aura les droits d'accès de la page d'accueil de son groupe, mais ces droits ne seront pas stockés pour cette page. Seuls seront stockés les droit spécifiques d'une page. L'intérêt réside dans la possibilité de changer d'un seul coup les droits de toutes les pages d'un groupe. Pour récupérer les droits d'une page il faudra donc :

--GarfieldFr

Vous trouverez ICI une version de WikiNi supportant la gestion des groupes de pages. A noter les différences suivantes avec ce qui est écrit plus haut :
Cette version n'est pas destinée à être utilisée en production, c'est un essai pour voir comment faire et ça marche. Il reste à débattre de l'exactitude de cette conception.

--GarfieldFr

Idée de LordFarquaad

Il n'y a pas grand chose à modifier dans WikiNi pour mettre cela en oeuvre:
A noter que rien ne force l'utilisation du point (qui d'ailleurs n'apporte pas vraiment l'idée de sous-pages ou de groupes). D'autres carractères pourraient peut-être s'avérer plus explicites, par exemple: le ">" (cependant il sera urlencodé donc on ne le verra pas dans le titre), le tiret "-", le trait de soulignement "_", le tilde "~" (peu pratique à introduire), la barre vertivale "|" ou encore d'autres... Il est préférable d'utiliser des carractères peu utilisés mais simples à introduire puisqu'ils doivent être introduits dans du texte.
-- LordFarquaad



Discussion des idées

Discussions sur l'idée de GarfieldFr et son implémentation


Bonjour, pour essayer (18/3/2005) cette contribution sur FREE, j'ai dû mettre en commentaire, dans wakka.php, la ligne "session_start();" pour accéder aux pages wiki (plusieurs avertissements commençant tous par "Warning: session_start(): "). Par la suite j'ai constaté qu'il suffisait de créer un répertoire appelé "sessions" à la racine du site, ce qui évite de modifier wakka.php et peut-être aussi des dysfonctionnements (que j'aurais eus en supprimant la ligne "session_start(); ? [oui -- CharlesNepote])
Et les fichiers sont peut-être à placer à la racine du site, non dans un sous-répertoire, que j'avais créé comme pour "spikini" (wikiNi adapté pour Spip).

ça marche bien, mais les "derniers changements" donnent accès à toutes les pages Wiki.
Faut-il faire en plus les modifs signalées à : http://www.wikini.net/wakka.php?wiki=ACLGroup ?
NB. J'ai parcouru la page http://www.wikini.net/wakka.php?wiki=DiscussionsGroupesDUtilisateurs , dont il semble que la dernière version date du 7 mars 2005, mais je ne sais pas finalement ce qu'il faut faire pour restreindre l'affichage des pages Wiki au seul groupe de la page affichée (aquand on clique sur Derniers Changements).
Merci de me donner quelques indications, qui devraient être utiles aux autres lecteurs de cette page.
--MdeBeaumont
PS. Au passage j'ai constaté que le nom du groupe ne doit pas contenir de tiret (sinon pas de création de groupe) ; mais que si le nom choisi permet la création d'un groupe, le même nom avec des casses différentes à l'intérieur (minuscule au lieu de majuscule) donne le même groupe.

- Si l'affichage de la page ne contient pas le nom du groupe, comment connaître son nom complet, nécessaire pour construire un lien vers elle provenant d'un autre groupe ?
- Wacko adopte la vieille notation dos nom1/nom2/nom3 et ../Nom5? etc notation plus familière puisque subie depuis longtemps ;-)
- Pourquoi ne pas imposer que le nom du groupe soit lui aussi un nomWiki ? pour garder l'homogénéité et éventuellement pouvoir y aller directement...
- A part ça j'y vais voir....--FidelioEspoir

- La syntaxe avec . ou / ne concerne que la texte de la page, le groupe de la page courante s'affiche dans le nom de la page dans l'entete.
- Je supporte la même notation que Wacko mais avec un seul niveau de groupe. La notation . ou / ne concerne que l'affichage. dans un cas, le texte du lien comporte le nom du groupe, dans l'autre cas non.
- Le nom du groupe est un nom wiki puisque il doit y avoir une page "de groupe" racine du groupe.
--GarfieldFr

...Je reviens de Wikini-groupedepage ;-) Mon erreur provient du lien entre les pages : Le groupe y est un lien d'appartenance. Un nouveaunom sans mention d'un groupe le fait appartenir au groupe de la carte où sa création est décidée. La mention expresse d'un groupe : nomdugroupe.nomdelanouvellecarte créé une page portant le nom et appartenant à ce groupe. Si le groupe n'existe pas auparavant, il est ainsi créé. Le groupe choisi n'est pas nécessairement un nomWiki, il peut donc être "nommé" sans être créé en tant que page. Si j'écris une carte PremierEssai.ChapitreUn.Introduction il n'y a pas construction d'un groupe ChapitreUn? appartenant au groupe PremierEssai. Si j'écris sur PremierEssai.PageUne, le nom PremierEssai.PageUne.AlinéaUn , il ne m'est pas proposé de créer une page AlinéaUn appartenant à un groupe PremierEssai.pageUne.
Il s'agit donc, si j'ai bien compris, d'un regroupement d'appartenance sur un seul "échelon", sans transitivité, et non pas d'emboîtements, d'inclusion successive. Mon erreur repose sur la confusion entre la notion non transitive de groupe proposée, avec le modèle épistémologique que j'utilise qui repose sur une combinatoire de dé/composition successive, plus apte, amha, à représenter le réel et les divers niveaux de connaissance qu'il est possible d'en acquérir...
C'est donc un problème de choix.... -- FidelioEspoir

Heu...si tu le dis ;-) ( surchauffe de la tête à GarfieldFr ... qui n'a plus l'habitude de trop réfléchir depuis la fin de la fac)
Oui, en effet, il n'y a qu'un seul niveau de groupe. Donc PremierEssai.ChapitreUn.Introduction ne fonctionne pas. Comprend bien que c'était juste un essai pour voir comment inserer une gestion de groupe de pages dans wikini. Il est tout à fait possible de créer un système de groupe à plusieurs niveaux et il serait peut être souhaitable de le faire, mais je ne m'engagerais dans cette solution que s'il est décidé par la communauté d'inclure la gestion de groupe de pages dans WikiNi et une fois les besoins définis. Par contre, tu peux regarder le code que j'ai modifié et le modifier pour intégrer une gestion de groupe de pages complet. L'idée principale étant qu'un groupe est défini par une page NomGroupe.NomGroupe et que les droits accordé sur cette page sont ceux accordé sur l'ensemble des pages du groupe sauf modification sur une page particulière. --GarfieldFr

Merci...mais je suis un débutant de php ! j'essayerai ! ;-) j'ai pensé à une autre solution que j'ai déjà vu quelque part dans un wiki ?? un cms ??? pas moyen de mettre la main dessus. C'est une action qui donne tous les nomswiki ayant le même début ou la même fin. J'ai fait des recherches sur lien-voisin et...rien trouvé. Bon ça permet de regrouper les pages en leur donnant le même début ou la même fin.Genre : PierreAmi, PierreCopine, PierreVoiture, PierreEnfant.....ou GarfieldHier, GarfieldAujourd'hui, GarfieldDemain, ou.... ;-) Je finis en te disant que ton "juste un essai" fonctionne très bien --FidelioEspoir


J'ai regardé l'action textsearch. Elle fait appel à Fulltextsearch($phrase). Ca m'a sérieusement inspiré la façon de trouver tous les noms commençant par $phrase. Pour cela il faut : ATTENTION NON VERIFIE par pro-php-iste
- modifier le fichier waka.php et lui rajouter :
function nomdebutsearch($phrase) 
    { 
    $mot = $phrase.'%';
    return $this->LoadAll("select * from ".$this->config["table_prefix"]."pages where latest = 'Y' and tag like ('".mysql_escape_string($mot)."')"); 
    }

- créer le fichier action/nomdebutsearch.php en dupliquant action/textsearch et en y modifiant "Ce que vous souhaitez chercher" par "Nom commençant par..." et "FullTextSearch" par "nomdebutsearch".
Comme toute action, il suffit ensuite d'écrire dans une page {{nomdebutsearch}} pour obtenir toutes les pages dont le nom commence par les lettres indiquées.

Ceci permet donc de retrouver toutes les pages groupées comme Recent... Action....
Est-ce que cette solution ne serait-elle pas plus simple. C'est une convention intuive. Elle permet d'utiliser l'idée de groupe sur plusieurs niveaux.
Je ne sais pas quoi ajouter. Peux-t-on modifier wakka.php ? Faut-il mieux rapatrier la fonction dans le script même de l'action ?
Ma proposition est-elle utile ?
Ne devrait-on pas intégrer toutes les recherches dans une même fonction , dans une même page recherche ?


En bon débutant-php, j'ai voulu mettre la fonction dans sa classe. Rien de plus facile que de supprimer l'appel par le contenu de la fonction. Ce qui facilite la maintenance puisque nous nous retrouvons dans un cas simple d'action, modularité oblige. C'est fait et ça marche ;-)) Quant à la FonctionDeSelectionDePage , j'avoue l'avoir survolée, l'ayant jugée encore trop abstraite (trop pro) pour moi.
J'ai poursuivi la logique jusqu'au bout, actions : debut, fin, nomdebutantpar, nomayant, nomfinissantpar
J'essaierai de détacher la liste obtenue de la page qui la présente pour pouvoir commencer à créer les scripts d'algèbre conceptuelle (A inter/union/div B). cela risque de poser la necessité de mémoriser les résultats...à voir... --FidelioEspoir

La notion de groupe de page peut aussi s'entendre sur son contenu lui-même. Un groupe de page serait des pages ayant même aspect. Mais les deux notions ne sont pas superposables. Par contre, la notion d'aspect, de format de page peut être intéressante (elle le devient vite sur mon site. Serait-il possible lors de la création d'une page, de demander à l'utilisateur s'il désire tel ou tel format. Cela sous-entend la construction de fichiers de format ( :-( lourd ou, mieux de pages "format". A y penser rapidement : une action "formater" ? suffirait (?!?). -- --FidelioEspoir
Oui, si l'on lie la feuille de style à un contenu. Mais Je pense qu'il faut toujours être homogène et séparer contenu et contenant. Ma feuille d'impôt change de couleur chaque année, c'est dû à une feuille de style. Ici je change de formulaire, de forme de page selon le groupe de sens qu'elle illustre : une spécialisation de pages en quelque sorte. Nous le faisons déjà en définissant une page "utilisateurs", une page "derniers changements"...Ces pages sont construites en créant la page, puis en y mettant une ou plusieurs actions. Je songeais simplement à pouvoir paramétrer cette construction, en généralisant cette procédure, pour permettre de créer par exemple, des pages "questionnaires", des pages "galeries de photos", des pages..... La spécialisation actuelle des pages est "au main du webmestre". Les paramétrer ( laisser l'utilisateur définir la structure du "body" ) serait poursuivre la..."wikinisation" !!! ;-)) Ce n'est pas un choix simple --FidelioEspoir
A me relire , j'ai l'impression qu'en terme technique, ce serait de pouvoir paramétrer le choix du handler pris en compte pour créer une page...--FidelioEspoir
Tout à fait d'accord ! Laissons l'Handler créé la page : c'est son boulot. A l'utilisateur de demander que la page contienne du texte (ok c'est fait), des actions (ok, c'est fait), et des objets ( questionnaire, appeler un logiciel x de dessin et intégrer le résultat à la page, mon rève : faire un croquis dans un wiki !....).--FidelioEspoir

Discussions sur l'idée de LordFarquaad


Ton idée est pas mal et plus aboutit que la mienne. D'un point de vu syntaxe, je pense que la notation avec un point est la plus simple à utiliser.
Par contre, je serais plutôt d'avis de faire:

En effet, je pense que au sein d'un groupe de pages, on fait plus souvent référence à des pages du même groupe qu'a des pages de groupes différents.
De même on fera probablement plus souvent référence à des pages de la même arborescence de pages qu'à des pages d'une arborescence complètement différente.
--GarfieldFr

Je viens d'avoir une idée qui me parait assez intéressante comme solution liens vers des sous-pages: puisqu'on utiliserait les points comme séparateurs de noms, il suffirait d'utiliser un point au début du nom afin d'indiquer si un fait référence à une sous-page ou non ! A l'intérieur d'une page GroupeA.GroupeB.Page1, il pourrait donc y avoir deux types de liens:
Le seul problème de compatibilité serait dans le cas où un wiki présenterait des points suivis de MotsWikis?, comme ceci: Bienvenue sur notre site.PagePrincipale. En principe ça devrait être assez rare car c'est une faute typographique d'une part, et d'autre part une phrase commence rarement par un MotWiki... -- LordFarquaad

NB.: penser à établir une suite de CasDeTestDeWikiNi pour ça, si on l'implémente -- LordFarquaad

Petite idée pour la hiérarchisation de pages : Supposons que l'on créer la page PageMere1.Page1 mais que PageMere1 n'existe pas. Dans ce cas, il est nécessaire que la création d'une page entraine la création de sa page parent si elle n'existe pas, avec un contenu par défaut (un contenu intéressant est l'arborescence de sa descendance). -- VirtualDust

Une autre idée, à propos des utilisateurs cette fois-ci. A priori, un utilisateur pourra s'identifier sous un nom du type ToTo.TiTi. Je pense qu'il sera utile de restreindre à un nom wiki simple (ToTo) au moment de la création. Par contre, ils peuvent tous être regroupés dans la page parent UtilisateurS, qui les liste. Egalement, la page ToTo peut exister, mais est automatiquement créée et redirigée vers UtilisateurS.ToTo. Ensuite, libre à l'utilisateur de créer ses propres pages "personnelles" dans l'arborescence de son identifiant (UtilisateurS.ToTo.MaPage) -- VirtualDust

Allez, ça fait deux jours que j'y réfléchi, il fallait bien que je ponde quelque chose :p. Si ça vous intéresse, c'est sur WikiGroupes:PagePrincipale (interwiki). Il y a aussi les sources modifiées (à partir de la version 0.4.3). Mais tout est expliqué là-bas. -- VirtualDust


Je débarque un peu dans cette discussion, J'ai lu toute la page avant de poster mes impressions/idées autour de cette gestion de groupe de pages. Je dois dire que la première idée ne me plaisait guère : une page appartient forcement à un groupe ... C'est trop contragnant. Par contre, la deuxième proposition (par LordFarquaad) me plait vraiment. elle est simple et souple.
JulienLanglois - 2006-10-14


Je ne sais pas trop si cette suggestion est à sa place ici. Si ce n'est pas le cas merci de m'indiquer où la mettre ! Ceci est d'ailleurs symptomatique de la difficulté pour quelqu'un qui n'a pas suivi la création du site de savoir comment s'y retrouver. En fait, ce que j'aimerais, c'est pouvoir inclure des mots clefs sur les pages et avoir une action qui permette d'extraire et de lister les pages contenant ce mot clef. Peut-être cela existe-t-il déjà ? L'intérêt c'est qu'une même page peut ainsi se trouver dans plusieurs groupes. Ce que je reproche à la hiérarchisation en dossiers et sous dossiers c'est qu'elle fige à priori le classement, au moment de la création de la page. Or une page évolue en fonction des gens qui y interviennent, des idées qui s'y développent. Si une nouvelle catégorie de page prend de l'importance et qu'on veut lister toutes les pages en rapport avec ce thème, il suffit d'ajouter un mot clef sur les pages concernées pour créer la catégorie. En pratique, il faudrait pouvoir ajouter les mots clefs en mode édition avec une balise signalant que ce sont des mots clefs et créer une action qui n'extraie que le contenu ainsi balisé des pages. --MisAnge

pour cela je propose que le wikini charge NomDuGroupe.css voir même NomDuGroupe.NomDuSousGroupe.(etc).css
- KleE -

PageSuivieParGarfieldFr
LordFarquaadASuivre
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]