Introduction
Attention, une nouvelle version de ce plugin viens d’être rendu disponible. Cet article ne concerne donc que les versions 0.1, 0.2, 0.3 du plugin openPublishing. Pour les versions suivantes (0.4) voir l’article traitant du plugin Publication Ouverte
Le plugin OpenPublishing a pour but de fournir une interface de publication ouverte à n’importe qui et ce de manière totalement anonyme. Il permet donc la publication d’article depuis le site public, de manière totalement anonyme et sans inscription. Il a été développé pour le site indymedia Lille. (Indymédia est un réseau mondial de sites d’informations fonctionnant sur le principe d’openPublishing. Il a été créé à l’occasion du contre-sommet G8 de Seattle)
Petit historique :
Certains sites Indymédia ont été développé à partir d’un fork de spip 1.4.2. (le projet spipindy). Depuis le projet SPIP a évolué et est maintenant en passe de passer à la version 2.0, avec de nombreuses fonctionnalités supplémentaires. L’une des principale fonction est la gestion des plugins, c’est à dire la possibilité d’ajouter du code à SPIP sans pour autant s’écarter de la branche principale. Le plugin OpenPublishing a pour vocation de remplacer le projet Spipindy et de s’intégrer dans le développement de spip.
Fonctionnalités
le plugin OpenPublishing permet :
- la publication d’article depuis le site public
- l’anonymat du contributeur (attention, le serveur qui héberge le site peut ne pas garantir cet anonymat)
- des options de post-traitement du texte
- la possibilité pour l’utilisateur de lier des mots-clefs à son article
- la possibilité de transformer l’article en « date » pour un agenda
- des boucles supplémentaires afin de faciliter l’écriture du squelette
- une interface d’administration du plugin
Le plugin OpenPublishing est fonctionnel sur SPIP 1.9.1. et SPIP 1.9.2.
La dernière version stable est la version 0.3
Documentation & téléchargement & développement
- Espace wiki. Ce site sert d’espace de travail collaboratif et regroupe toutes les informations liés à ce plugin.
- Le plugin OpenPublishing version 0.3 est aussi disponible en zip, lié à cet article.
Installer le plugin openPublishing
Installation standard de SPIP
Il suffit tout simplement de décompresser l’archive dans le répertoire « plugins » de votre spip, puis d’aller activer le plugin dans la page de gestion des plugins de l’interface privée de spip.
Installation pour mettre à jour une version antérieure du plugin openPublishing
Attention, Il y a une petite subtilité a ne pas rater ! Il suffit de supprimer tous les fichiers de votre répertoire « plugins/openPublishing/ », et d’y placer le contenu de l’archive openPublishing. Mais ensuite, il ne faut surtout pas oublier de clicker sur le bouton « Upgrader les tables openPublishing » dans l’espace de configuration du plugin openPublishing, afin de mettre à jour automatiquement votre base de donnée.
N’utilisez surtout pas la fonction « Désinstaller openPublishing », celle-ci supprimerai définitivement toutes vos tables openPublishing et toutes les informations qui y sont stockées.
Configurer le plugin openPublishing
Après avoir installé le plugin selon la procédure standard de SPIP, il faut impérativement le configurer pour l’adapter à vos besoins.
La base de donnée
La première chose à faire est d’installer les nouvelles tables dans la base de donnée. Pour cela :
Configuration -> Configuration openPublishing
et clickez sur « installer les tables OpenPublishing »
Modifier la configuration de base
Toute la configuration du plugin passe par l’interface privée. Il vous suffit de clicker sur l’onglet « configurer openPublishing » puis « modifier la configuration » pour avoir accès à toutes les options actuellement prises en charge par le plugin.
Configuration -> Configurer openPublishing -> Modifier la configuration
indiquer au plugin quelles sont les rubriques openPublishing
Le formulaire openPublishing permet à l’utilisateur de choisir dans quelle rubrique il désire publier son article. Dans la boite « Gestions des rubriques », indiquez le numéro d’une rubrique et validez. Recommencez l’opération pour chacune des rubriques voulues.
gestion des redirections
Lorsqu’un utilisateur valide un article ou abandonne, le formulaire affiche un message et redirige au bout de quelques secondes vers une autre page du site. Ces champs permettent de configurer cela. Attention, il faut indiquer des urls de type : « /spip.php ?page=ma_page », le plugin complétera automatique l’url
options de post-traitement du texte
Pour le moment, seulement deux fonctionnalité existent. Interdire les titres en majuscule, et une fonction anti-spam.
la gestion d’un agenda
Pour le moment, l’agenda est géré de la manière suivante : dans une rubrique distincte, les articles de type agenda sont publiés sous forme de brèves. Ce système n’est pas très propre et évoluera certainement. Pour le moment, il faut créer une rubrique spéciale pour l’agenda, qui recevra toutes les brève publiés.
La gestion des documents
Le formulaire de publication permet aux utilisateurs de lier des documents à leur article. Cette option permet d’activer ou de désactiver cette possibilité.
La gestion des mots-clés
Si votre site utilise des mots-clés pour référencer ses articles, vous pouvez graçe à cette option permettre aux utilisateurs du plugin de choisir eux-mêmes quels mots-clès ils veulent utiliser pour leur article.
La gestion des mots- clés avec le plugin Tag-Machine
Si votre site utilise le plugin Tag Machine, cette option permet de permettre aux utilisateur de créer leurs mots-clés qu’ils lierons à leur article. Attention, si vous activez cette option, il faut impérativement que le plugin Tag Machine soit installé
Le choix du statut par défaut des nouveaux articles
Grace à ces options vous pouvez choisir quel statut aurons les articles publiés avec le plugin openPublishing. Soit « publie », c’est à dire directement avec le statut « publier », soit « prop », c’est à dire avec le statut « proposé à la validation » (choix par défaut), soit « prepa », c’est à dire « en préparation ».
Au niveau du squelette
Quelques petites modifications de votre squelette sont nécessaires afin que le plugin openPublishing soit fonctionnel.
Le formulaire de publication
Insérez cette balise dans une page de votre squelette :
[(#FORMULAIRE_ARTICLE{#SELF})]
Le formulaire de publication d’article apparaîtra dans cette page.
Si le formulaire de publication est placé dans une boucle RUBRIQUES, la rubrique courante sera proposé par défaut à l’utilisateur (et non plus la première rubrique de la liste / attention, il faut impérativement que cette rubrique soit une rubrique openPublishing)
la boucle op_rubriques
Cette boucle retourne la liste des rubriques dédiés à l’OpenPublishing. exemple d’utilisation :
<BOUCLE_rubrique_op(op_rubriques)>
<BOUCLE_rubrique(RUBRIQUES){id_rubrique = #OP_RUBRIQUE}>
[...] code HTML + SPIP [...]
</BOUCLE_rubrique>
</BOUCLE_rubrique_op>
Attention de bien mettre le type de la boucle en minuscule et non en majuscule !
Il peut-être utile de l’utiliser pour lister toutes les rubriques acceptant l’OpenPublishing.
La boucle op_auteurs
Cette boucle retourne les informations d’un auteur anonyme. exemple d’utilisation :
<BOUCLE_auteur_op(op_auteurs){id_article}>
, Auteur : #NOM
, Mail : #EMAIL
, Téléphone : #PHONE
, Groupe : #GROUP_NAME
</BOUCLE_auteur_op>
Attention de bien mettre le type de la boucle en minuscule et non en majuscule !
Il faut utiliser cette boucle à l’intérieur d’une boucle ARTICLE.
La balise #AGENDA
cette balise renvoi simplement le numéro de la rubrique « agenda ». Utile comme critère de recherche pour certaines boucles.
Autres informations
Champs d’identifications
Les champs identifications serons automatiquement remplis avec les informations de l’auteur si celui est inscrit et est actuellement connecté à l’interface privée de spip.
Fichier css & formulaire
Pour bénéficier du fichier css donné avec le plugin (« plugins/openPublishing/css/op.css »), vous devez en recopier le contenu dans votre propre fichier css.
De même vous pouvez placez les formulaires donnés avec le plugin dans votre répertoire formulaires de votre squelette, afin d’y effectuer toutes les modifications voulue.
Traduction
Le plugin openPublishing utilise un fichier lang qui n’attend que d’être traduit en plein de langues différentes (« lang/local_fr.php »). Une fois ce fichier traduit, toute l’interface de configuration et de publication du plugin sera traduit.
Bugs corrigé par la version 0.3
- l’upload de documents
- le cas d’une base de donnée avec un préfixe autre que « spip »
- de multiples petits trucs qui pouvaient empoisonner la vie d’un webmaster
pour les codeurs : svn
Le plugin OpenPublishing est développé en utilisant SVN, un outil permettant le travail collaboratif. Il est référencé avec plein d’autres projets dans l’espace de développement de SPIP appelé site 158.
Pour participer au développement du plugin, il faut obligatoirement s’inscrire sur la « zone »
pour participer
- contactez l’équipe de développement
- Comment utiliser SVN ?
- mettez la main à la pate
pour télécharger la version SVN (de développement)
Il est aussi possible de télécharger la toute dernière version du plugin (attention aux éventuels bugs, il s’agit d’une version de développement)
- plugin version SVN
Voir en ligne
- Un site fonctionnant avec le plugin OpenPublishing : Indymédia Lille
- Un site bac à sable pour tester le plugin : SPIP 1.9.2a
Discussions par date d’activité
52 discussions
Comment peut-on configurer ce plugin pour forcer la prévisualisation avant de pouvoir valider l’article ??
D’avance merci
Bonjour, je suis pas sur que c’est bien la version 0.2.2
voilà j’ai installer ce plugin et regardez ce que cela m’affiche :
Le plugin openPublishing est correctement installé
Version installée : 0.2.1
donc il y a un soucis, et puis j’ai une erreur qui s’affiche sur mon squelette.
Warning : Call-time pass-by-reference has been deprecated - argument passed by value ; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in c :\program files\easyphp1-8\www\spip\plugins\openPublishing\balise\formulaire_article.php on line 418
Pouvez vous m’expliquer ?
merci
Pour le moment on ne peut pas à moins de modifier en profondeur le code du plugin. Cette fonctionnalité sera prise en compte dans une des prochaines versions du plugin.
effectivement, il s’agit d’un numéro oublié qui traine dans le code ... cela n’a aucune répercussion sur le fonctionnement du plugin, ça fait juste ... pas propre.
Un autre utilisateur a déjà rencontré ce problème, et il a été résolu. Voici la solution :
Le formulaire a peut-être été installé dans un article (l’adresse de la page de publication est du type http://monsite.heberge.fr/spip.php ?article5), or le plugin ne peut pas fonctionner si le formulaire est installé de cette manière. Il faut le mettre dans une page à part - par exemple publie.html - et appeler cette page depuis le squelette de votre site : http://monsite.heberge.fr/spip.php ?page=publie
Si cela ne fonctionne toujours pas, pas d’inquiétude, la version 0.3 du plugin sera disponible certainement cette nuit, cette version corrige les trop nombreux bugs rencontré par les utilisateurs. Cette version est actuellement en test, et il me reste deux-trois petites choses à corriger :)
Répondre à ce message
bonsoir,
J’ai un petit souci avec ce plugin... je n’arrive pas à le configurer... Quand je clique sur « Installer les tables openpublishing » rien ne se passe et donc je ne peux pas configurer... Eset ce que quelqu’un sait d’où viens mon erreur ?
Merci d’avance pour vos réponse !!
alors :
- quelle version de spip utilise tu ?
- est-ce bien la version 0.2.2 du plugin que tu a essayer d’installer ?
- le préfixe de tes tables dans la base de donnée est-il bien « spip_xxxx » ?
Alors je suis sur spip1.9.2 et j’ai bien pris le plugin 0.2.2.
Par contre je ne sais pas ce qu’est le préfixe des tables dans la base de donnée... Qu’est ce que c’est et comment je le change s’il n’est pas bon ?
Merci pour vos réponses !!
Pour le préfixe des tables, si tu ne sait pas ce que c’est ... c’est que ce n’est pas en cause, donc il n’y a aucun problème à ce niveau là :)
Pour le moment je ne connait pas encore la cause de ce bug mais j’y travaille et espère trouvait une réponse très rapidement.
d’accord... et merci :)
Répondre à ce message
Bonjour,
Le Plugin fonctionne à merveille : BRAVO.
Je souhaiterais savoir s’il est possible, lorsqu’un article est proposé, que l’adminitrateur du site (par exemple) soit alerté par email, de sorte qu’il puisse valider la publication de l’article.
Merci
Pour le moment cela n’est pas prévu, mais ce sera certainement possible dans une version future du plugin
Répondre à ce message
Salut & merci pour le plugin ^^ !
J’ai peut être oublié une option :
quand on publie un article avec OpenPublishing depuis l’espace public,
l’article se retrouve proposé à l’évaluation dans la partie privée.
Comment faire pour qu’il soit publié directement ?
merci
++olive
lien vers le site
il faut mettre tout simplement une boucle ARTICLES dans son squelette avec comme paramètre statut=« prop ».
Cette boucle liste tous les articles dont le statut est « proposé ».
merci, j’ai cherché à le faire, mais ... sans succès, peut être à cause de blip, ou de mon arthographe spip ..
j’ai changé dans le fichier formulaire_article.php, prop par publie et ça marche :)
tient ! cool une nouvelle option de configuration :
Le choix du statut d’un article publié par le plugin (prop ou publie) ? Je rajouterai ça a l’occasion.
Répondre à ce message
Lors de la saisie des noms emails etc d’un auteur, l’article publié est toujours sous anonymous ... ?
pourquoi ? .. merci de l’aide et pour ce plug !!!
le site
De plus, lors de l’ajout d’un doc (même d’un jpg), j’ai souvent une erreur type :
erreur d’upload. L’extention de votre fichier n’est pas autorisée ...
++olive
lorsque le plugin créé un nouvel article, il le fait toujours avec l’utilisateur « anonymous » et ce peut importe qui créé ce nouvel article (même pour les utilisateurs enregistrés).
Pourquoi ? Parce que le but de ce plugin est de fournir une interface anonyme de publication. C’est a dire empêcher un maximum que des personnes puissent faire le lien entre un article et son auteur. (et pour cela il faut voir aussi au niveau de la configuration du serveur, des logs, etc ...)
Après certains utilisateurs éprouvent le besoin de laisser leur signature et s’identifier clairement. C’est à cela que servent les champs identification qui sont optionnel. Les informations sont entrées dans la table spip_op_auteur (nom, mail, groupe et num de tel) et non dans la table spip_auteur. Il ne s’agit pas de créer un auteur spip supplémentaire mais tout simplement d’ajouter à l’article des informations supplémentaires.
Il est possible de récuperer ces champs pour les afficher dans le squelette, cela ce passe grace à la boucle « op_auteurs » mise à disposition par le plugin :
Cette boucle retourne les informations d’un auteur anonyme. exemple d’utilisation :
Attention de bien mettre le type de la boucle en minuscule et non en majuscule !
C’est pourquoi lorsque le squelette demande le nom de l’auteur de l’article par les boucle standard de spip, il ira toujours chercher dans la table spip_auteur qui ne contient qu’un seul auteur (en plus de ceux créer par l’administrateur du site) commun pour tous les articles publiés grace au plugin : l’auteur anonymous. Pour récupérer les champs identification, il faut donc faire appel à une boucle supplémentaire.
Pour voir toute la documentation du plugin :
Page de documentation
Ce bug est en cours de résolution, je me dépêche mais je pense qu’il faudra attendre encore une ou deux semaine avant la sortie d’une nouvelle version exempt de bug (on peut toujours rêver) :)
Répondre à ce message
Formidable plugins. Merci vraiment pour cette contribution.
J’aimerais que les auteurs s’inscrivent avant de poster leur article. Y a-t-il une façon accomodante de pouvoir le faire ?
Ce plugin est justement fait pour que les auteurs ne s’inscrivent pas. Il me semble que d’autres plugins ainsi que l’interface standard de spip prennent en charge cet aspect là.
Répondre à ce message
Salut Ed, as tu remarqué un problème lors de l ajout d’un fichier .doc ou .xls ?
j obtiens : « erreur d’upload. L’extention de votre fichier n’est pas autorisée ... » (idem sur indymedia)
ça fonctionne en revanche si on attache a une image
A plus
hum ... effectivement c’est étrange ... je corrige ça au plus vite :)
Répondre à ce message
Hello,
je viens de l’installer sur betapolitique.fr, mais j’aimerais que les gens puissent tagger les articles... ca peut se faire facilement en modifiant le formulaire ou c’est plus lourd ?
En tout cas, ca fracasse !
la possibilité de choisir des mots-clefs qui serons lié à l’article est prévue pour la prochaine version du plugin
J’ai intégré l’ajout des mots clés en utilisant le plugin « tag-machine », c’est assez simple.
Voir exemple ici, je tiens les codes à disposition (un petit squelette et un patch de 5 lignes sur /balise/formulaire_article.php).
booz AT rezo.net
Répondre à ce message
Bravo !
Cela fait un moment que je cherche un plugin libérant un peu la rédaction d’articles par les visiteurs (en attendant des squelettes pour l’espace privé ?!... )
J’ai cependant deux questions :
- Est-il possible de joindre des logos, plutôt que des images à insérer ou des documents ?
- J’ai ce message d’erreur :
Je suis chez ovh (demo 1G) Cela vient du serveur ?
Cordialement.
Bonjour,
quelle version de spip utilise tu ? spip 1.9.1 ou spip 1.9.2 ?
cette erreur provient de l’insertion d’un document. La fonction d’appel ayant été modifiée pour être compatible avec spip 1.9.2, il se peut que si tu utilise spip 1.9.1, la compatibilité ne soit pas descendante (que cette fonction ne fonctionne pas avec spip 1.9.1) ...
si c’est le cas, je corrigerai très rapidement ce bug.
- Pour joindre des logos : je n’y avait pas pensé, mais ok ce sera dispo dans la prochaine version.
- qu’entend tu par « des squelettes dans l’espace privé » ? Nous sommes en train de reflechir à une interface supplémentaire dans l’espace privée permettant la gestion et la modération d’article en très grande quantité (un prochain plugin) serait-ce cela ?
Bonjour, et grand merci pour cette réponse rapide !
spip 1.9.1 , effectivement....
Une prochaine version d’OP est donc prévue prochainement ?
N’est-ce pas un axe de réflexion des devs pour une prochaine version de spip ? Il me semble avoir vu passer ça quelque-part.
Je veux bien, si tu le souhaites, tester l’insertion de logo...
Bien cordialement
en attendant que le bug soit corrigé, le plus rapide et le plus simple pour l’utilisation du plugin reste de passer en spip 1.9.2.
mais promis, je vais me dépêcher de corriger cela :)
Suite à un mauvais fonctionnement du plugin rencontré par un utilisateur, je poste la question et la solution en espérant que cela puisse aider d’autres personnes.
Q : le plugin s’installe correctement, mais lorsque je clique sur "previsualisation, « publier », ou « ajouter un document », rien ne se passe et une page blanche s’affiche ...
R : Le formulaire a peut-être été installé dans un article (l’adresse de la page de publication est du type http://monsite.heberge.fr/spip.php?article5), or le plugin ne peut pas fonctionner si le formulaire est installé de cette manière. Il faut le mettre dans une page à part - par exemple publie.html - et appeler cette page depuis le squelette de votre site : http://monsite.heberge.fr/spip.php?page=publie
e plugin openPublishing est correctement installé
* Version installée :
* Gestion d’un agenda :
* Gestion des documents :
* Post-traitement
o Titre en minuscule :
Spip 1.9.2a debug Google Web Toolkit tutorials
+ Error(s) in template
# ()
MySQL error
version FROM spip_op_config WHERE id_config=1 LIMIT 1
La table ’php_newb.gwt_op_config’ n’existe pas
HELP,
# ()
MySQL error
agenda FROM spip_op_config WHERE id_config=1 LIMIT 1
La table ’php_newb.gwt_op_config’ n’existe pas
HELP,
# ()
MySQL error
there is a bug when you re using other prefix, than the normal one.
thanks for this bug report. I fix it as soon as can.
Répondre à ce message
Bonjour,
Merci pour le partage de ce bon travail,
J’avais une intérogation, comment faire pour que lorsque je propose un nouvel article par défault il prenne en compte l’environement dans lequel je suis déjà.
Par exemple je suis dans la rubrique 1 et bien par défault il me met l’article dans la rubrique 1.
Merci
Pareil que pour toutes les autres demandes d’évolution, ce sera pris en compte dans la prochaine version :)
Ps : si vous voulez aider et coder vos propres évolutions, n’hésitez pas à venir participer au développement du plugin http://edd.lautre.net/wiki/wakka.php?wiki=PageDevPlugin
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 : |