Portaneo utilise le standard de développement de Widgets Google pour créer des widgets intégrable dans un portail Internet personnalisable tel que POSH.
Pour les widgets RSS, il suffit d'importer l'url du flux RSS dans votre portail POSH, à travers l'interface tutorial ou dans le menu d'options de votre portail personnel.
Vous pouvez ajouter des widgets en provenance de la plate-forme Igoogle ou de la plate-forme Netvibes, ou encore des widgets créés spécialement par
Portaneo.
Votre widget se présente sous la forme d'un fichier XML :
la balise ModulePrefs sert à définir les propriétés du widget:
Certains tags permettent de signaler à l'API que votre widget comprend certains options obligatoires.
Avec POSH, vous pouver ajouter un pré-requis spécifique qui va signaler à l'API que les fichiers d'internationalisation de votre widget sont sur votre portail. Vous pourrez donc mettre des url relatives.
De la même façon, si vous téléchargez un widget propre à Portaneo, le widget contiendra le pré-requis suivant.
Certains widgets Portaneo peuvent être pré-intégrés au portail par l'administrateur. Dans ce cas, les urls seront relatifs à votre portail. Le widget contiendra le pré-requis suivant.
Les balises UserPref servent à définir les options du widget, qui vous permettent d'offrir une personnalisation du widget aux utilisateurs.
Ce sont les options qui s'affichent quand on clique sur "configurer" sur le bandeau du haut du widget.
La balise Content indique le type du widget et contient le code HTML et javascript du widget.
Avec la nouvelle version de Posh, vous pouvez définir plusieurs content,
qui correspondront à des vues différentes du widget, la vue classique et la vue plein écran.
Attribut view, différentes possibilités :
Fonctions principales | |
_IG_RegisterOnloadHandler(FONCTION) | Appeler une fonction au chargement du widget. FONCTION : fonction à appeler. exemple : function init(){ alert('hello world'); } _IG_RegisterOnloadHandler(init); |
_IG_AdjustIFrameHeight() | Ajuster la frame contenant le widget à son contenu. A utiliser si le contenu du widget change de taille. |
_IG_FetchContent(URL, FONCTION) | Récupérer le contenu d'un fichier dont l'URL est spécifiée et envoi les résultats à la fonction FONCTION. Utilisation asynchrone d'Ajax. Exemple : function treatFile(responsetxt){ var obj=_gel("mondiv"); obj.innerHTML=responsetxt; } _IG_FetchContent('http://www.monsite.com/mondoc.csv',treatFile); |
_IG_FetchXmlContent(URL, FONCTION) | Récupérer le contenu d'un fichier XML dont l'URL est spécifiée et envoi les résultats à la fonction FONCTION. Utilisation asynchrone d'Ajax. Exemple : function treatXml(responsexml){ var str="nom : "+responsexml.getElementsByTagName("name")[0].firstChild.nodeValue+" age : "+responsexml.getElementsByTagName("age")[0].firstChild.nodeValue; var obj=_gel("mondiv"); obj.innerHTML=str; } _IG_FetchXmlContent('http://www.monsite.com/myxmlfile.xml',treatXml); |
Fonctions permettant d'accéder aux options | |
_IG_Prefs(__MODULE_ID__) | récupérer les options du widget dans un objet. Exemple : var pref = new _IG_Prefs(__MODULE_ID__); |
.getString("variable") | récupérer la valeur d'une option de type "string". Exemple : var name = pref.getString("yourname"); |
.getInt("variable") | récupérer la valeur d'une option de type "string" au format entier |
.getBool("variable") | récupérer la valeur d'une option de type "bool" |
.set("variable","valeur") | modifier la valeur de l'option "variable" pour l'utilisateur. Assigner la valeur "valeur". Exemple : pref.set("yourname","John Wayne"); |
.open() | ouvre la fenetre de configuration des options. Exemple : <A href=# onclick="return pref.open()">Modifier les options</A> |
Gestion d'onglets | |
_IG_Tabs(__MODULE_ID__,"default selection") | Initialise la barre d'onglets. Retourne l'objets tabs, utilisé pour exécuter les fonctions ci-dessous. "default selection" est le nom de l'onflet selectionné par défaut (optionnel). Exemple : var tabs = new _IG_Tabs(__MODULE_ID__); |
.tabsContainer | Optionnel. Définit l'objet qui accueillera les onglets. Exemple : tabs.tabsContainer=_gel("tabsdiv"); (si vous avez créé un objet <div id="tabsdiv"></div>) |
.addTab("tabname","divid",function) | Ajoute un nouvel onglet, ayant pour nom "tabname", dans le div "divid", appelant la fonction "function". Exemple : tabs.addTabs("tab 1","tabdiv",displayTab1Content); |
.setSelectedTab("tabIndex") | Défini l'onglet sélectionné."tabIndex" est le numéro de l'onglet (commence par 0). |
Autres fonctions | |
_bringToFront(__MODULE_ID__) | Met le widget au premier plan. |
_gel("object") | Récupérer l'objet dont l'id est "object". Exemple : var obj=_get("mondiv");obj.innerHTML='Hello world !'; |
_gelstn("object") | Synonyme de la méthode javascript .getElementsByTagName() |
_esc("string") | Synonyme de la méthode javascript .escape() |
_unesc("string") | Synonyme de la méthode javascript .unescape() |
_uc("string") | Retourne le texte "string" en majuscules. |
_lc("string") | Retourne le texte "string" en minuscules. |
_min(valeur1,valeur2) | Retourne le minimum des deux valeurs. |
_max(valeur1,valeur2) | Retourne le maximum des deux valeurs. |
_args("string") | Transforme une chaîne "name=john&age=12&sex=m" en un tableau {"name":"john","age":"12","sex":"m"} |
_trim("string") | Supprime les espaces inutiles en début et fin de chaîne. |
Fonctions pour le mode canvas | |
gadgets.views.getCurrentView | retourne la vue courante |
gadgets.views.getName | retourne le nom de la vue courante |
gadgets.views.getSupportedViews() | Renvoie un hash des différentes vues supportées par le widget |
gadgets.views.requestNavigateTo(function) | Renvoie vers un type de vue ('home' ou 'canvas') Exemple pour ouvrir la vue CANVAS : gadgets.views.requestNavigateTo(gadgets.views.getSupportedViews()['canvas']); |
gadgets.views.changeUrl(url) | Modifie l'url d'un widget, ce qui permet d'ouvrir en plein écran une page web signalée dans le widget |