Accueil > Documentation incomplète > Documentation pour les administrateurs > Édition du contenu > Diogene : création de masques spécifiques de formulaires d’édition de (...)

Diogene : création de masques spécifiques de formulaires d’édition de contenus

Diogene est un des plugins ? SPIP activé par défaut (extension) lors de l’initialisation de MediaSPIP.

A quoi sert ce plugin

Création de masques de formulaires

Le plugin Diogène permet de créer des masques de formulaires spécifiques par secteur sur les trois objets spécifiques SPIP que sont :

  • les articles ;
  • les rubriques ;
  • les sites

Il permet ainsi de définir en fonction d’un secteur particulier, un masque de formulaire par objet, ajoutant ou enlevant ainsi des champs afin de rendre le formulaire d’édition conforme à ce que l’on souhaite réellement publier dans ces secteurs mais également rassemblant au sein d’un même formulaire d’édition l’ensemble des informations permettant de publier rapidement.

Ainsi, il est possible par exemple d’ajouter dans le formulaire d’édition d’un article particulier :

  • sa date ;
  • l’ajout d’auteur ;
  • l’ajout de sa géolocalisation ;
  • l’ajout de mots clés ;
  • un sélecteur de statut pour le publier directement ;
  • ...

Création et modification d’objets depuis l’espace public

En plus de la création spécifique de masques de formulaires par secteur, Diogène dispose également de squelettes permettant de créer ou de modifier directement depuis l’espace public un objet de type article, rubrique, ou site.

Pour ce faire, Diogene dispose de plusieurs choses :

  • une page "publier" complète compatible avec le système de squelettes Zpip (également activé par défaut en tant qu’extension par MediaSPIP) permettant d’accéder à une liste d’objets publiables en fonction du statut de l’auteur et dont le statut minimal d’accès est fixé dans le formulaire d’édition du masque ;
  • un élément de menu pour le plugin éponyme "Publier" permettant d’ajouter dans un menu la liste des objets publiables également menant directement vers leur page de création (MediaSPIP installe par défaut cet élément de menu dans le menu en haut de page) ;
  • un morceau de squelette inclure/diogene_modifier_publication.html qui affiche dans la page d’un objet en cours de consultation un lien vers sa page de modification et d’autres options si nécessaires :
    • Ce morceau de squelette vérifie les droits de l’utilisateur en cours à modifier l’objet en cours de consultation ;
    • Si cet objet est lié à un template de formulaire utilisable depuis l’espace public, on autorise cet utilisateur à accéder à la page de modification de l’objet ;
    • Si on est dans un site multilingue, on propose alors à l’utilisateur en cours de créer une traduction si :
      • l’objet consulté n’est pas encore traduit dans toutes les langues du site ;
      • l’utilisateur en cours a les droits suffisants pour créer une traduction de l’objet, même s’il n’a pas créé lui-même l’objet en cours de visualisation ;

Exemple d’utilisation

Ce plugin a été créé à l’origine pour la distribution MediaSPIP afin de faciliter la publication.

Dans cette distribution, nous souhaitions disposer d’un moyen simple de publier :

  • des medias correspondant à des articles dans lesquels on associe un seul document. C’est ce document qui compose l’essentiel du contenu de l’article ;
  • des actualités. Une actualité est ;
  • des éditos ;
  • des sites ;
  • des catégories

A l’initialisation de MediaSPIP, quatre secteurs sont automatiquement créés :

  • Medias ;
  • News ;
  • Editos ;
  • Sites ;

À l’initialisation, cinq masques de formulaires sont également créés automatiquement permettant d’avoir à disposition dans la partie publique du site internet un élément de menu disponible aux utilisateurs connectés afin de les diriger automatiquement vers un des 5 formulaires de publication d’objets différents disponibles.

Ainsi, l’utilisateur, en fonction de ses droits peut ajouter rapidement un nouveau contenu dans le site.

Plugins nécessaire à son fonctionnement

Plusieurs plugins sont nécessaires au bon fonctionnement de Diogene :

  • Saisies
  • Spip-bonux

Polyhiérarchie : permettant, si activé et configuré dans le template d’un formulaire, de disposer un même article dans plusieurs catégories différentes sans avoir à le dupliquer ;

Champs extras 2

Pour prendre en compte les champs extras, il est nécessaire de :

  • Mettre dans le plugin.xml que l’on utilise champs extras et champs extras interface afin de passer notre traitement après celui de champs extras
  • Ajouter un sélecteur multiple dans le formulaire d’édition d’un diogene listant les champs extras possibles à enlever associés au type d’objet en cours.
  • Lorsqu’il y a des champs extras à enlever (à la validation du formulaire d’édition du diogène), on enregistre dans le champ "options_complements" de la table des diogènes un tableau serialisé de la liste.
  • Il est important de faire attention si le champ enlevé était obligatoire ou pas.

Spip.icio.us : pour pouvoir "taguer" les objets depuis leur formulaire d’édition

Il est possible de coupler Diogène au plugin Spip.icio.us via un sous plugin spécifique à Diogène nommé "Diogène spip.icio.us". Lorsque les deux plugins sont activés, il est possible d’ajouter dans le template du formulaire ce champ supplémentaire qui ajouter un sélecteur de tags lors de l’édition.

Licences

Il est possible de coupler le plugin Licences et Diogène via un sous plugin spécifique à Diogène "Diogène licences".

Limitations

La principale limitation est que ces masques de formulaires sont créés par secteur.

Pour les développeurs

  • Auteur :
  • Publié le :
  • Mis à jour : 28/10/17
  • Révisé par : bruno, 5 anonymes

1 commentaire


Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document