guide_create_widget - How to create a widget
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 ...).
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 carnet de fonctionnalité doit comprendre toutes les fonctionnalités des widgets du module.
Extenso -> Configuration -> Menu de gauche
Associez ce menu au menu parent « Modules »
Rafraichir la page pour voir votre module apparaitre.
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.
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 :
{{/* Description: Implement widget sed_image. This widget uses information from sn_widget and…. @title sed_image @author pascale@sednove.com @version 1.0 2015-11-18 16:01:13 laplante@sednove.com Initial version @version 1.1 2061-05-30 14:00:00 pascale@sednove.com : Code review + add imageProcessor with a max width */}}
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 :
{{/* sn_ct("sed_image empty fields", publish:"/publish/sn_widgets.sn", uids:widget.rows.uid, module:"sed_image") */}}
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.
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>"
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"] },
Faire un commit de tous les fichiers du module.
Written by Pascale Dewingaerde, <pascale@sednove.com>
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
1.0 2014-09-09 21:24:14 laplante@sednove.com