La Fabrique est un outil de construction de plugin spécialement orientée pour la gestion d’objets éditoriaux. Pour ceux qui ont connu le plugin « Chat » ou « Chat2 », sachez que la Fabrique sait gérer tout ce qui est présent dans ce tutoriel / plugin, et même au-delà, bien au-delà.
N’allez pas trop vite !
Cette note est aussi présente lors de l’installation du plugin, mais redisons le encore :
- la Fabrique crée un code fonctionnel mais qui ne répondra peut être pas à 100% de vos attentes. La Fabrique ne peut pas tout faire. À vous d’adapter ensuite le code généré.
- un plugin est très vite fait grâce à la Fabrique. Mais attention : le code n’est qu’une partie d’un plugin. Si vous voulez que votre plugin perdure dans le temps, il faut qu’il soit utile, partagé, documenté, traduit, il faut assister les utilisateurs, et maintenir son code avec les évolutions de SPIP et c’est tout cela aussi un plugin !
- la Zone de SPIP permet de collaborer sur les plugins. Essayez au maximum de ne pas créer des plugins existant déjà, pour éviter des doublons qui peuvent disperser d’autant les énergies pour toutes les tâches citées au point précédent.
Pré-requis
Pour faire fonctionner la Fabrique il faut :
- PHP >= 5.3 (il est possible que 5.2 fonctionne aussi)
- SPIP 3.0-RC minimum
- Un navigateur récent (testé avec FF11 et Chrome 18.0)
- Saisies >= 0.25
- Et peut être un système Unix/Linux pour son serveur (appel de
exec('diff')
en PHP) [1]
Optionnellement mais conseillé :
Démonstration vidéo
Dans la vidéo suivante, vous verrez une présentation de la Fabrique impliquant la construction d’un plugin « Félins » dans lequel nous créons 1 objet éditorial « Chats ».
Cette vidéo est aussi disponible en meilleure qualité sur medias.spip.net
Accéder à la fabrique
Depuis SPIP 3.1, La fabrique est accessible dans le menu de développement (il faut activer l’option de vos préférences personnelles pour voir ce menu)
Documentation
En attendant une documentation plus riche ici, vous pouvez lire ces articles :
Capture d’écran
À tester
« La Fabrique » doit être testée dans différents environnements. Vous êtes donc invités à explorer cet outil développé avec git sur la Zone [2]
Limitation connue
Actuellement (version 1.16.3), à partir d’un certain nombre d’objets et de champs (environ 10 objets * 8 champs ici), le formulaire devient naturellement inopérant à cause d’une limitation voulue de PHP : max_input_vars, par défaut à 1000 dans php.ini.
Pour contourner, il faut modifier php.ini pour tolérer plus de champs (5000) par exemple.
Attention
Depuis la version 2.0.0, le menu de la fabrique se trouve dans celui de Développement. Celui-ci est activable depuis l’espace préférence de l’utilisateur.
Discussions par date d’activité
137 discussions
Bonjour Matthieu,
Vraiment génial ce plug-in ! Merci pour cette contribution qui donne à Spip des fonctionnalités très étendues et accessibles pour celles et ceux qui n’ont pas toujours la technique et/ou le temps pour pouvoir réaliser leurs idées.
On a l’impression de changer de CMS tout en gardant la philosophie d’origine… quel plaisir :-)
J’ai toutefois quelques difficultés avec ma config pour commencer à tester les possibilités (énormes) de la Fabrique :
Visiblement la table correspondant à un nouvel objet éditorial ne se crée pas correctement.
Mettons que cet objet soit « Chiens », la table « spip_chiens » n’est pas construite et le message d’erreur s’affiche au moment de valider l’enregistrement lorsque je suis dans le processus de création d’un nouveau « Chien » :
Erreur SQL 1146
Table ’test_spip_3a.spip_chiens’ doesn’t exist
SELECT * FROM spip_chiens WHERE id_chien=0
Config :
- Mac OS 10.6.2
- FF 11
- SPIP 3.0.0-rc
- La Fabrique 1.13.3
- PHP 5.3.2
- MySQL 5.1.44
Marc
Résolu :
J’avais tout simplement oublié de créer le fichier d’installation dans l’onglet Installation du Plugin qui contient la commande de création de la table.
La Fabrique rendrait-elle ivre ? En tout cas, c’est un plaisir de la tester :-)
Répondre à ce message
Mathieu ya pas à dire, tu cartonnes ! :-D
Répondre à ce message
Prodigieux !
C’est exactement ce qu’il fallait faire !
Tout écrire à la main est en effet beaucoup trop long et laborieux et sujet à de trop longues heures de debug. En un mot, décourageant !
Ce plugin est donc vraiment bienvenue. J’ai jeté rapidement un oeil à l’interface et ça va loin, et c’est bien fichu en plus (même si j’ai pas tout compris, mais ça viendra !!)
Pour les nouveaux objets éditoriaux, on va enfin pouvoir se concentrer sur ce qu’on veut faire sans perdre trop de temps....
Je pense que c’est un plugin qui devrait être porté bien haut par la communauté SPIP !
et qui devrait suivre les versions afin de toujours générer un code « d’actualité ». Une version majeure, une fabrique, ou qqch dans l’idée.
bref,
Merci en tout cas et chapeau bas.
Longue vie à cette fabrique :-)
Julien
Répondre à ce message
Bonjour
Je viens de faire quelques essais en local sur windows xp wamp2.1
et le répertoire dans plugin ne se crée pas :
Warning : copy(../tmp/cache/fabrique/.backup/exports/fabrique_assur 2012-04-21 16:43:22.php) [function.copy] : failed to open stream : Invalid argument in C :\Users\jmb\Documents\Mes sites\assur\plugins\fabrique\formulaires\fabriquer_plugin_actions.php on line 282
Pas pu voir fonctionner le ’diff’.
Bravo pour cette réalisation et la démo en vidéo.
Est-ce que tu saurais me dire quel caractère Windows n’apprécie pas dans la fonction copie() là ?
Tu n’as que cette erreur affichée ?
MM.
Je n’ai que cette erreur, à l’affichage et dans les logs php.
Je viens de faire l’essai avec juste le minimum pour la création et j’ai quand même le message d’erreur. Ca doit donc venir du contexte, l’espace entre mes et sites dans le chemin sur mon windows : C :\Users\jmb\Documents\Mes sites} ???
PS : la réinitialisation et la restauration depuis le menu outils fonctionnent.
Répondre à ce message
Retour(s) concernant des problèmes d’utilisation de certaines fonctions de Fabrique et plus particulièrement lors du clic sur les boutons de validation de ses formulaires :
Contexte :
- SPIP 3 RC
- Fabrique 1.13.3
- GG Chrome 18 ou FF 11.0
- Win 7
Maux constatés :
- aucune action suite au clic de validation pour pré-remplissage d’un objet à partir d’une table existante
- aucune action lors du clic sur le bouton « Créer le plugin »
- aucune action lors du clic sur le lien de « diff » entre l’enregistrement de deux version d’un plugin
Guérir les maux :
- en utilisant ie 9.0.8 ces problèmes disparaissent
En contrepartie, l’autocompletion des champs ne fonctionne plus sous ie.
Pierre-Jean
Quel système d’exploitation pour le serveur ?
Répondre à ce message
j’ai decouvert l’info de fabrique sur la liste, et j’en aurais deja eu le besoin... mais l’article d’info etant cible plus dev je vais tenter un second article : cote utilisateur
bravo et a suivre
Répondre à ce message
Bonjour,
pour information, sous Mac OS X 10.6.8, Mamp Pro 2.0.5, MySQL : 5.5.9 et PHP 5.2.17, cela fonctionne pil poil de ce que j’en ai testé rapidement.
Merci du retour.
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |