Idée à débattre : on pourrait ajouter UN champ extension à chaque table
d'objet (articles, auteurs, etc.) ; ce champ serait rempli avec un tableau
serializé (comme $prefs[] pour les auteurs).
On pourrait alors définir, dans un fichier inc_extension.php3, pour chaque
objet, la structure de son champ ext (quelles variables il contient, et
comment présenter ces variables dans le formulaire d'édition).
L'inconvénient de cette démarche, c'est qu'il sera un peu difficile de faire
des requêtes MySQL sur telle ou telle variable du champ ext - et qu'on ne
pourra pas l'indexer. L'avantage c'est qu'il suffit d'une modif de la base
pour étendre les objets de spip de manière confortable et "intercompatible"
(entre différentes bases spip).
(Il n'y aurait pas d'interface pour modifier le fichier inc_extension.php3,
mais des modèles à copier-coller depuis la doc.)
Je pense à un contenu du type :
<?php
...
$ext['spip_articles'] = array(
"nom_site" => "ligne",
"url" => "ligne",
"blahblah" => "textelong"
);
...
?>
"ligne" ou "textelong" définiraient des formats d'entrée de données dans
l'interface d'édition d'articles. Ces formats pourraient être définis dans
inc_extension lui-même, ou pas (à voir).
Une balise #EXT_URL afficherait le contenu de (en gros)
unserialize(spip_articles.ext)['url']...
Commentaires ?
-- Fil