Interfaces à la base de données évolutive
Essayons ici d'imaginer des interfaces hommes/machines et machines/machines intéressant notre
BaseDeDonneesEvolutive.
Caractéristiques communes des interfaces de saisie :
- l'administrateur fonctionnel peut déterminer que certaines métadonnées peuvent avoir un caractère obligatoire : ne pas les remplir signifie que le contenu n'est pas enregistré
- tous les publics peuvent déterminer que certaines métadonnées d'une ressource donnée sont protégées en écriture voire en lecture (à la façon des ACL sur les pages) : par exemple, un utilisateur peut vouloir que personne ne puisse modifier son adresse e-mail
A chaque page sa zone spécifique de métadonnées
La saisie/affichage des triplets peut se faire dans la ressource (c'est-à-dire la page) sous forme d'une zone spécifique masquable (un peu comme le système de commentaires actuellement employé).
Cette zone ne permet pas de saisir/afficher d'autres métadonnées que celles relatives à la ressource.
Cette zone est présente à la fois dans le mode "visualisation" et dans le mode "édition" de la page.
L'administrateur fonctionnel peut déterminer de n'afficher cette zone que pour certains utilisateurs ou groupes d'utilisateurs.
Il peut aussi décider de ne l'afficher qu'en lecture seule.
L'idéal serait encore que l'administrateur fonctionnel :
- puisse choisir la place de cette zone dans la page
- puisse faire en sorte qu'à une page ou un type de page donné soit associé une série particulière de métadonnées (par exemple, pour une page décrivant un utilisateur, il faudrait afficher automatiquement en saisie les données qui lui sont relatives : prénom, nom, etc.)
Édition des métadonnées en même temps que l'édition de la page
L'administrateur fonctionnel peut décider de ne pas faire apparaître les métadonnées dans un contexte de "visualisation", mais, en revanche, de dédier le contexte d'édition à la saisie des métadonnées comme à la saisie du contenu.
Une solution de ce type est envisagée par
LucLegay pour un nombre limité de métadonnées (en-tête de page, liens et catégories), mais avec deux niveaux d'édition dans le but de garder au wiki toute sa simplicité :
Saisie/affichage de n'importe quel triplet dans n'importe quel contenu
L'intégration de nouvelles données dans la base de données évolutive peut-être effectuée par une action insérée dans n'importe quelle page.
Exemples donnés à titre indicatif :
- {{triple action="modify" resource="./"}} : ouvre un formulaire qui permet d'entrer un nouveau triplet relatif à cette ressource
- {{triple action="modify" resource="./" vocabulary="xmlns:dc="http://purl.org/dc/elements/1.1/" property="dc:creator"}} : ouvre un formulaire qui permet d'entrer un nouvel auteur de la fiche
- {{triple action="modify" resource="./" vocabulary="xmlns:wkn="http://wikini.net/wakka.php?wiki=WikiCore/1.0/rdf" property="wkn:en-tete"}} : ouvre un formulaire qui permet d'éditer un en-tête de page
- {{triple action="modify" resource="ParametresUtilisateur" vocabulary="xmlns:wkn="http://wikini.net/wakka.php?wiki=WikiCore/1.0/rdf" property="wkn:comment" value="*"}} : ouvre un formulaire, dans n'importe quelle page, qui permet de modifier la propriété "comment" de la page ParametresUtilisateur (permet de supprimer l'affichage des commentaires dans cette page)
- {{triple action="choose" resource="ThisUser" vocabulary="xmlns:wkn="http://wikini.net/wakka.php?wiki=WikiCore/1.0/rdf" property="wkn:stylesheet" value="*"}} : ouvre un formulaire qui permet à un utilisateur de choisir, parmi une liste établie par l'administrateur fonctionnel, sa feuille de style par défaut
- {{triple action="show"}}, pour afficher tous les triplets relatifs à la ressource dans laquelle se situe l'appel
- {{triple action="show" resource="AutreFiche"}}, pour afficher tous les triplets d'une autre ressource
- {{triple action="show" property="name"}}, pour afficher la valeur du nom de la ressource en cours
A chaque page son affichage en RDF/XML
Afin d'être lisible par d'autres machines, chaque page doit pouvoir faire l'objet d'une déclinaison de son contenu en RDF/XML (note : le contenu XHTML de la ressource est présent dans cette présentation RDF/XML sous la forme du triplet : à titre d'exemple : <ressource> <content> <lecontenu>. Ceci permet notamment des échanges interwikis entre moteurs de wiki différents).
Exemple de contenu d'une page/ressource en RDF/XML :
http://www.wikini.net/wakka.php?wiki=BaseDeDonneesEvolutive/rdf
On peut imaginer qu'une URL permette de consulter une partie seulement des triplets : par exemple :
http://www.xxx.org/Ressource/rdf/lastmodifed permet de n'afficher que le contenu rdf/xml de la propriété lastmodified correspondant à la ressource (triplet <ressource> <lastmodified> <date>). Cet exemple permetrait à un wiki distant de conserver en cache le contenu d'une fiche et de ne le mettre à jour que lorsque le contenu à changé.
Remarques de béotien
Un triplet est de la forme Nom_NomRelation_NomValeur. S'il est inscrit sur la page Nom, nous n'avons plus qu'un doublet à enregistrer dans la base : NomRelation_NomValeur soit deux champs. Pour écrire plusieurs doublets concernant le même nom.....Avec Hypercard, nous avions la possibilité de tout mettre dans le même champ et de séparer NomRelation et NomValeur par un signe de séparation. Mais avec
MySQL, une table suffirait (là je m'avance....). Une action serait construite qui proposerait un formulaire pour permettre au lecteur de répondre. C'est ce que l'on fait déjà avec usersettings.php. Reste, pour l'instant une seule question : comment informer sur l'ensemble des possibles pour NomValeur. Une action "Grouper" dans la page Nom ? L'ensemble vide inscrirait un formulaire textarea alors qu'un ensemble non vide afficherait un popmenu...Voilà où j'en suis...
La forme que prendraient nos choix est de toute façon indépendante de la façon dont nous pourrions les présenter, RDF/XML ou autre futur codage normalisé. Mais il faut à tout prix que la facilité Wiki continue au niveau meta sans notamment que les choix fixés nous limitent à un seul niveau de meta-données.
Dernière remarque. C'est étrange , comme l'écroulement sémantique des sciences humaines m'a conduit aux mêmes interrogations par des chemins totalement différents...--
FidelioEspoir
Tiens ! un commentaire n'est-il pas une meta-donnée sur la page ? or Wiki le "traite" comme une page.....addmetadonne ! ? un drogué du php --
FidelioEspoir
- Cette page présente des idées pour étude/discussion avant implémentation. Ça ne correspond pas au moteur actuel de WikiNi qui considère effectivement les commentaires comme des pages de nature particulière. On pourrait aussi considérer cela d'un autre point de vue en disant que les commentaires sont des objets d'une autre nature, les pages étant le type d'objet le plus courant dans un Wiki. Les sources actuels de WikiNi montrent qu'un pas a été fait dans la direction de la notion d'objet. Mais ils montrent aussi que l'implémentation est loin d'être terminée, vu qu'il faudrait repenser le tout, donc pourquoi pas ne pas reprendre les concepts depuis le début en allant carrément dans la direction d'un WikiNiSemantique, sans perdre les fonctionnalités actuelles bien entendu ! C'est ce que présentent ces pages... -- ProgFou
D'accord...mais là, j'ai le souffle plutôt court ;-)) L'avantage de wikini est qu'il me permet de m'adosser sur une bonne base saine et solide que j'aurais été incapable de créer ex nihilo ! Je ne doute pas un seul instant que le Wikisémantique est le prochain pas (comme le fut l'invention des css) Mais vu ma faible php-compétence, je ne peux qu'apporter des commentaires d'utilisateur plus ou moins ;-) modeste et bidouilleur. Si tu considères que mes commentaires seraient plus utiles sur une autre page, ne te gène surtout pas. Sans attendre, je vais essayer de bâtir une collectes d'information à travers l'outil comment...à moins que je m'y noie...Problème actuel : comment retirer une information contenue dans un commentaire ? en l'inscrivant dans le paramètre d'une action {{répondre}} se trouvant dans le commentaire puisque celui-ci déclenche ses actions comme toute les pages !....--
FidelioEspoir
Je crois avoir trouver mon erreur : confusion par emploi du même terme : meta-donnée mais dans des domaines applicatifs différents....--
FidelioEspoir