Projet

Général

Profil

BadgexDesktop » Historique » Version 10

Version 9 (Christophe LEON, 06/09/2013 12:16) → Version 10/19 (Christophe LEON, 06/09/2013 12:50)

h1. Mettre un badge sur xDesktop (2.3)

h2. 1° Définition du type de badge

La définition du type de badge se passe dans la gestion des profil (/posh-profil)

Lors de cette définition, vous avez la possibilité de définir
* *Le type de badge*: Informations, Attention et erreurs, le type de badge déterminera le type d'icone qui sera affiché
* *Le message* qui sera affiché à droite, juste au dessus du post-it
* *Une url distante* qui permettra de charger des badges dynamiques

+Exemple+
Voici la définition d'un badge sur piwigo
!badge-definition-photo.png!
Voici le résultat
!badge-infos-photo.png!
Vous noterez le *formatage HTML* et le lien *cliquable*

h2. 1° URL distante

Il est possible de définir une url distante qui permettra de récupérer une information qui peut donc être dynamique. comme par exemple le nombre de mail non lu.
Le chargement de l'url peux se faire de deux manière

h3. L'URL retourne un objet json directement

Dans ce cas il est *INDISPENSABLE* que cette url retourne directement un objet json, sans passer par des redirections HTML
pour cela la définition de l'url devra être préfixée par :

@:http://URL_DU_BADGE/chemin/?parametres@ @:http://URL_DU_BADGE/chemin/?@

Cette url devra donc retourner

@{count:<count>,message:<message>,type:<type>}@ @{count:<count>,message:<message>,type:<type de message>}@

Voici la signification définition des champs différentes informations sera définie un peu plus loin dans ce document

* type: type de message (infos, warning, errors, count)
* message : votre message a afficher, laisser a vide si pas de message
* count: si c'est de type count, ce paramètre affichera le nombre dans l'info bulle

h3. L'URL doit passer par des redirections pour notamment permettre une authentification.

Dans la méthode précédente, l'appel utilisé est une fonction AJAX qui permet de charger une URL.
Sauf que l'appel d'une fonction AJAX, ne permet pas de suivre les liens de redirection
C'est ce qui se produit notamment lors d'une authentification CAS.

La définition de l'url se fait de manière classique de manière absolue ou relative

@http://URL_DU_BADGE/chemin/mapage?parametres
ou /chemin/mapage?parametres@

xDesktop appel cette URL en précisant une url de callback et un id, ce qui donne l'appel suivant

@http://URL_DU_BADGE/chemin/mapage?parametres&callback=<domaine envole>/includes/plugins/plugin_xdesktop/infosplus.php&id=<id interne xdesktop>@

Votre page doit alors rediriger vers l'url de callback en précisant les informations suivantes

* id: id interne xdesktop, que vous avez reçu
* type: type de message (infos, warning, errors, count)
* message : votre message a afficher, laisser a vide si pas de message
* count: si c'est de type count, ce paramètre affichera le nombre dans l'info bulle
* link: pour le moment self permet de rendre le message cliquable

Ces informations peuvent être transmises en POST ou en GET

@<domaine envole>/includes/plugins/plugin_xdesktop/infosplus.php?id=123456&type=count&count=3&message=3%20messages@

CAS