SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

268 visiteurs en ce moment

fontsizeup fontsizedown
[14 commentaires]

Evolutions de CFG 1.10

dimanche 7 septembre 2008, par Daniel FAIVRE, Matthieu Marcillaud

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati
0 vote

Principal changement : remaniement et changement de syntaxe des formulaires publics avec CFG.

Les évolutions de CFG visent actuellement 2 choses : simplifier et réduire au maximum son code, tout en permettant de l’étendre si besoin, et préparer le futur pour SPIP 2.0 et notamment pour les formulaires dynamiques.

Changements de la version 1.8

Les modifications concernent essentiellement une simplification du code pour lire et ecrire les données transmises à CFG (avec dans l’idée de peut être ajouter un jour au core de SPIP les fonctions lire_config(), ecrire_config() et effacer_config() que propose CFG).

Des jeux de tests (dits "tests unitaires") ont étés créés pour l’occasion afin de vérifier que les modifications ultérieures de CFG ne cassent pas la compatibilité sur les ces fonctions cités. Ils seront à compléter.

Un changement important :

CFG ne supporte plus l’écriture (hack) #CONFIG{expression,'',''}, à remplacer par #CONFIG{expression,#ARRAY}

Changements de la version 1.9

Uniquement pour SPIP 2.0 dev svn : les modifications concernent les formulaires publics et ajax réalisés en CFG . La syntaxe précédente #FORMULAIRE_CFG{nom} n’est plus utilisée ni fonctionnelle.

On s’appuie maintenant encore plus sur la nouvelle syntaxe simplifiée des formulaires dynamiques, nommés CVT (pour Charger, Vérifier, Traiter). Ces formulaires sont stockés dans le dossier formulaires/ (et non pas dans le dossier fonds/).

Les formulaires CVT permettent de réaliser des formulaires utilisables à la fois dans l’interface publique ou privée du site, en ajax (rechargement partiel de la page) ou non (rechargement de toute la page).

Syntaxe :
#FORMULAIRE_NOM
#FORMULAIRE_NOM{#ID}

Fonctionnement avec CFG : Lorsqu’un formulaire formulaires/xx.html ne possède pas de fonction de chargement formulaires_xx_charger() alors c’est le parseur de CFG qui est utilisé, pour charger, vérifier et traiter le formulaire.

Différences avec un formulaire CFG dans le dossier fonds/ :

  • les fonds/ s’affichent dans ?exec=cfg, pas les formulaires/
  • les fonds/ ont [(#ENV{_cfg_}|form_hidden)], pas les formulaires/
  • en revanche, les formulaires/ ont #ACTION_FORMULAIRE{#SELF}, pas les fonds/

Exemple de formulaire CFG/CVT : Soit le formulaire : formulaires/exemple_configurer_site.html

Il est appelé par : #FORMULAIRE_EXEMPLE_CONFIGURER_SITE ou pour l’avoir en ajax (en l’encadrant d’une class ’ajax’) par : <div class="ajax">#FORMULAIRE_EXEMPLE_CONFIGURER_SITE</div>

Changements de la version 1.10

CFG ne gère plus de téléchargements de librairies, et ne s’occupe plus du selecteur de couleur.

Le plugin palette : Pour mutualiser le code du sélecteur de couleur ajouté a CFG entre plusieurs plugins, celui-ci a déménagé dans un second plugin, "Palette", fonctionnant sous SPIP 1.9.2 et SPIP 2.0 .

En conséquence, les fonds CFG qui utilisaient la classe css "cfg_couleur" pour afficher un sélecteur de couleur nécessitent maintenant le plugin "Palette". Notez bien que le plugin est optionnel, son absence ne gène pas le fonctionnement normal du formulaire, seulement la palette ne s’affiche pas.

Le plugin palette s’affiche en utilisant la classe css "palette" sur un champ de formulaire. Il est donc conseillé de remplacer la classe css "cfg_couleur" par "palette" dans les formulaires l’utilisant. Cependant, la rétrocompatibilité de la classe css ’cfg_couleur’, devenue obsolète, sera assurée quelques temps.

Changement d’api des tests de validation des champs de formulaire :

Les points d’entrée concernant les champs de formulaires ayant une classe ’type_xxx’, reçoivent maintenant les mêmes arguments que les autres points d’entrées, soit le nom du champ ainsi que l’instance de l’objet cfg. Exemple :

Permettre des actions pour un formulaire particulier :

Il était possible pour un formulaire d’utiliser une fonction de vérification pour les champs postés (comme avec les formulaires dynamiques de SPIP 2). La syntaxe change légèrement, mais il est maintenant possible de réaliser d’intégrer d’autres points d’entrées de la même manière.

Particulièrement, il est possible d’effectuer des actions post traitements (ou pre traitements). Les actions possibles sont les mêmes que celles des paramètres ou des classes css : pre_charger, charger, pre_verifier, verifier, pre_traiter, post_traiter.

Les fonctions nommées ’cfg_vue_action’ reçoivent en argument l’instance de la classe CFG :

Un cas particulier est l’action ’verifier’ qui retournait un tableau d’erreur. Ce retour est devenu obselète, il vaut mieux ajouter depuis la fonction les erreurs en utilisant la fonction ajouter_erreurs() :

Retour en haut de la page

14 Messages de forum

Voir toute la discussion

Pages 1 | 2

  • Répondre à ce message

    25 novembre 2008 15:51 , par Darkurion

    Voilà, c’est résolu. J’ai tout supprimé et réinstallé. A mon avis cela devait être lié à une base de donnée SQL qui n’avais pas été totalement mise à jour.

    Merci en tout cas pour les conseils.

  • Répondre à ce message

    25 novembre 2008 14:47 , par Darkurion

    Désolé, mais aucune information particulière est indiqué dans le log. Je ne comprend pas pourquoi d’un coup tous mes plugins sont désactivés.

  • Répondre à ce message

    25 novembre 2008 14:20 , par Matthieu Marcillaud

    J’ai la même version de PHP avec SPIP 2.0 et ces plugins... pas de soucis particulier pourtant...

    Pas d’autres info qui pourrait aider ? de messages particuliers dans les logs peut être en rapport avec l’activation des plugins ? /tmp/*.log

    Ce que tu peux faire :

    • aller sur la page d’admin plugins,
    • activer CFG
    • vider tmp/*.log
    • activer Palette
    • récupérer aussitot tmp/spip.log et voir s’il y a des infos intéressantes dedans...
  • Répondre à ce message

    25 novembre 2008 14:12 , par Darkurion

    CFG 1.10.4 et Palette 1.0.1 fonctionne sous SPIP 1.9.2e Je viens de faire un test, mais ne fonctionne pas encore sous SPIP 2 RC1.

    Je suis sous PHP Version 5.2.6

  • Répondre à ce message

    25 novembre 2008 14:09 , par Matthieu Marcillaud

    C’est intéressant...

    Juste CFG et Palette, sans autres plugins, ne veulent pas rester ensemble ?

    J’ai testé en local : cfg 1.10.4+palette 1.0.1+crayons+multiflex (tous à jour) et je n’ai pas ton soucis.

    Peux tu dire quelle version de php tu as ? (ecrire/ ?exec=info)

    MM.

  • Répondre à ce message

    25 novembre 2008 13:57 , par Darkurion

    J’ai installé une nouvelle base de Spip 2 RC1, et je voudrais installer le squelettes multiflex.

    J’ai installé tous les plugins nécessaire. J’active CFG et pas de problème. Ensuite j’active palette et lorsque la page se rafraichit, plus aucun de mes plugins est activé.

    Si j’active palette uniquement, je n’ai pas de problème. Ensuite, si j’active CFG, à nouveau tous mes plugings sont désactivés.

    J’ai le même problème avec d’autres plugins sur une base Spip 1.9.2e ( barre type v2, extension multilingue btv2 )

    A voir que les autres n’ont pas ou peu de problème avec l’activation des plugins, je me demande si ce n’est pas lié à mon hebergeur OVH

  • Répondre à ce message

    25 novembre 2008 13:47 , par Matthieu Marcillaud

    Ah bah ça par exemple... Ca de vrait fonctionner... Normalement, activer CFG avant palette... Qu’est-ce qui se passe précisément ?

  • Répondre à ce message

    25 novembre 2008 13:35 , par Darkurion

    Je n’arrive pas à activer en même temps : CFG 1.10.4 et Palette 1.0.1. J’ai énormément de problème à activer des plugins. Est-ce lié à autres choses ? Je suis chez OVH.

    D’avance merci

  • Répondre à ce message

    12 septembre 2008 16:15 , par Matthieu Marcillaud

    Ca c’est un coup de inscription 2 ou spip_liste ou ne je sais plus quel plugin qui tuait volontairement le chargement si CFG n’était pas chargé.

    Pour corriger : renommer le plugin en question en plugins/_nom_du_plugin (tu dois pouvoir te connecter alors) puis le mettre à jour...

  • Répondre à ce message

    12 septembre 2008 16:11 , par Matthieu Marcillaud

    Cette erreur est due à un "changement important" dans la version 1.8 de CFG... Ce qui veut dire qu’il faut aussi mettre à jour les autres plugins utilisés (peut-être "autorité" ou "inscription2" ? ou d’autres qui ’utilisaient ces écritures.

    J’avais corrigé tous les plugins présents sur la Zone, il suffit donc, en théorie, de les mettre à jour pour que le problème disparaisse. (et vider le cache).

Pages 1 | 2

Répondre à cet article

Retour en haut de la page

Ça discute par ici