page

Création d'un widget (FR)

VERSIONlatest How to create a widget

Création d'un widget

NAME

guide_create_widget - How to create a widget

DESCRIPTION

In this tutorial, we show you how to create a simple widget but keep in mind that modules can contain any kind of component (forms, templates, resources, etc ...).

Étape 1 - Créer un module

Pour créer un module dans Extenso, accédez au menu :

Dev. Site -> Modules

Voici les valeurs pour un module qui va contenir un widget image :

  • Le code du module sera sed_image
  • Acronyme du développeur : sed
  • Répertoire du module : image
  • Version : numéro de la dernière version
  • Modification log : contiendra les changement

Le carnet de fonctionnalité doit comprendre toutes les fonctionnalités des widgets du module.

Étape 2 - Ajouter un module dans le menu de gauche Modules

Extenso -> Configuration -> Menu de gauche

Associez ce menu au menu parent « Modules »

Rafraichir la page pour voir votre module apparaitre.

Étape 3 - Créer une table

Extenso -> Base de données -> Liste des tables

Le nom des tables associées au widget doit commencer par le nom du développeur.

Exemple si le développeur est sed, la table s’appellera sed_image. 

Les champs de la table doivent être documenter pour l'utilisateur lambda.

La table doit être associée à son module.

Rafraichir la page pour voir apparaitre votre table dans le menu Modules.

Étape 4 - Créer un widget

In Extenso: Widgets -> Configuration -> Widgets

Le code du widget doit commencer par le nom du développeur (/module/développeur/répertoire du module/widget):

/module/sed/image/widget/sed_image.sn

Le widget doit être associé à son module. Exemple : sed_image

Le code du widget doit commencer par un en-tête :


Mettre des commentaires dans le code

Les ct doivent avoir un nom qui commence par le nom du programmeur et doivent être associé à leur module.

Exemple :



Il faut ajouter une description et mettre une image du widget.

Dès que votre widget contient du contenu provenant d'une table, il faut prévoir des valeurs par défaut.

Par exemple, si vous créez un widget qui affiche la liste des employés avec leur photo, il faut prévoir une image par défaut si l'employé n'a pas encore uploadé d'image.

Étape 5 - Ressource, email, fichier, image, package…

Ils doivent être placé dans le dossier du module.

Exemples :

/module/sed/contact/image/sed_photo.png  

/module/sed/contact/email/sed_contact_form_email.sn

/module/sed/contact/ressource/sed_contact_form.sn

Il faut metre la class "<nom_du_widget>" et le ID "<nom_du_widget>_<uid_instance_du_widget>"

Étape 6 - Version.sn

Mettre à jour le fichier version.sn qui se trouve à la racine du site puis publier la page fullpage qui se trouve dans le menu de gauche Extenso -> Base de données -> Pages Extenso

Rafraichir la page et cliquer sur le numéro de version qui se trouve dans le bas du menu Extenso.

{ "date" : "2016-05-30", "author": "pascale@sednove.com", "comment" : "Change name", "files" :  ["/module/sed/image/widget/sed_image.sn"] },

Si plusieurs fichiers

{ "date" : "2016-04-04", "author": "laplante@sednove.com", "comment" : "Specify sqlqm in publish of stored procedure and triggers", "files" :  ["extenso/publish/sn_stored_procedures.sn","extenso/publish/sn_triggers.sn"] },

Étape 7 - Commit

Faire un commit de tous les fichiers du module.

Étape 8 - Vérifier votre widget

  • Il ne doit pas y avoir de H1 dans la widget mais s'il est obligatoire, il faire attention que le H1 ne soit pas répété plusieurs fois dans la page.
  • La publication doit fonctionner
  • Il ne doit pas y avoir de boutons « Sauver et publier » inutiles 
  • les ct doivent fonctionner et republier la page.
  • les images du widget ne doivent plus être dans /sn_uploads/

Étape 9 - Tester votre widget

  • Placer le widget dans une page et vérifier qu’elle se publie. S'il est déjà sur la page, supprimer le et insérer-le à nouveau.
  • Utilisez des champs caractères spéciaux dans les champs : ', ", …
  • Les champs vident doivent afficher un message d’erreur
  • Les fonctionnalités du widget doivent fonctionner correctement, les erreurs doivent être traitées et un message doit être affiché 

AUTHOR

Written by Pascale Dewingaerde, <pascale@sednove.com>