Plugin Gadgets - Manuel d'intégration v1.3.0, v1.4.0, v1.5.0

  1. Installation
  2. Bibliothèque de gadgets
    1. Exemple
    2. Gadgets UWA
    3. I-frame contenant un gadget personnalisé
  3. Fin de l'intégration

Installation

  • Arrêter le serveur
  • Télécharger les jars du plugin et ajouter-les (ametys-plugin-gadgets-1.3.0.jar et ametys-plugin-gadgets-resources-1.3.0.jar)  dans le répertoire WEB-INF/lib de votre application Ametys

  • Le plugin nécessite un certain nombre de librairies externes pour fonctionner. Télécharger le fichier zip contenant ces librairies, et extraire les fichiers dans le répertoire WEB-INF/lib de votre application Ametys

  • Le plugin gadget dépend également du package javax.el. Selon votre serveur d'applications, il peut être inclus par défaut ou non (si vous utilisez Tomcat, il devrait l'être)

Bibliothèque de gadgets

Vous devez définir votre propre bibliothèque de gadgets qui sera disponibles pour vos visiteurs et contributeurs.

Cette bibliothèque est définie dans le fichier WEB-INF/param/gadgets.xml de votre application.

Les gadgets sont regroupés par catégories.

Les clés i18n contenus dans ce fichier doivent être traduites dans le fichier WEB-INF\i18n\application.xml.

Pour chaque gadget il faut fournir l'url de définition Open Social ou UWA, ou encore l'url HTML de votre propre gadget, ou enfin l'url d'un flux RSS

  • pour un gadget UWA, ajouter l'attribut type="UWA"

    <gadget url="http://widget.pagesjaunes.fr/uwa/index.html" type="UWA"/>
    
  • pour votre propre iframe de gadget, ajouter l'attribut type="HTML" :

    <gadget url="http://localhost:8080/samplecontainer/iframe.html" type="HTML"/>
    
  • pour un flux rss, ajouter l'attribut type="RSS" :

    <gadget url="http://www.nytimes.com/services/xml/rss/nyt/GlobalBusiness.xml" type="RSS"/>
    

Exemple

Voici un exemple de bibliothèque contenant trois catégories

<library>
    <group>
        <label i18n="true">application:GADGETS_GROUP_OFFICE_TOOLS</label>
        <gadget url="http://www.google.com/ig/modules/dictionary.xml"/>
        <gadget url="http://bbs.cnnas.com/igoogle/datetimemulti.xml"/>
        <gadget url="http://www.labpixies.com/campaigns/converter/converter.xml"/>
        <gadget url="http://www.netvibes.com/modules/multipleFeeds/multipleFeeds.php?provider=ft_india" type="UWA"/>
    </group>
 
    <group>
        <label i18n="true">application:GADGETS_GROUP_GAMES</label>
        <gadget url="http://www.google.com/ig/modules/horoscope.xml"/>
        <gadget url="http://hosting.gmodules.com/ig/gadgets/file/102462998830435293579/dradio.xml"/>
        <gadget url="http://throttled.org/googlegadgets/youtubesearch.xml"/>
        <gadget url="http://hosting.gmodules.com/ig/gadgets/file/117375892785445698801/flickr-photos-search.xml"/>
        <gadget url="http://hosting.gmodules.com/ig/gadgets/file/100080069921643878012/facebook.xml"/>
        <gadget url="http://www.labpixies.com/campaigns/trio/trio.xml"/>
        <gadget url="http://www.programme.tv/webmaster/google/tv.xml"/>
    </group>
 
    <group>
        <label i18n="true">application:GADGETS_GROUP_NEWS</label>
        <gadget url="http://bbcnewsgadget.googlecode.com/svn/trunk/Gadget/bbc_igoogle_ukedition12.xml"/>
        <gadget url="http://hosting.gmodules.com/ig/gadgets/file/116551734240963456629/cnn-tech.xml"/>
        <gadget url="http://www.weatheronline.co.uk/rss/igoogle"/>
        <gadget url="http://widget.pagesjaunes.fr/uwa/index.html" type="UWA"/>
        <gadget url="http://localhost:8080/samplecontainer/iframe.html" type="HTML"/>
        <gadget url="http://www.netvibes.com/modules/multipleFeeds/multipleFeeds.php?provider=lefigaro" type="UWA"/>
            <gadget url="http://www.nytimes.com/services/xml/rss/nyt/GlobalBusiness.xml" type="RSS"/>
    </group>
</library>

Attention, si vous changez la bibliothèque, le serveur doit être redémarré !

 

Gadgets UWA

Il existe 3 manières de définir la hauteur des gadgets UWA (dans le fichier WEB-INF/param/gadgets.xml) :

  • Dynamiquement : ne fonctionne pas pour tous les gadgets

    <gadget url="http://www.voyages-sncf.com/design/daily/deals/widget/uwa/expbooking/uwa_expbooking.html" type="UWA" dynamic_height="true"/>
    
  • Fixe : à utiliser si l'on connaît la largeur du gadget

    <gadget url="http://www.voyages-sncf.com/design/daily/deals/widget/uwa/expbooking/uwa_expbooking.html" type="UWA" height="270"/>
    
  • Par défaut

    <gadget url="http://www.voyages-sncf.com/design/daily/deals/widget/uwa/expbooking/uwa_expbooking.html" type="UWA"/>
    

     

     

I-frame contenant un gadget personnalisé

Il est possible de définir votre propre gadget : il est constitué d'une page XHTML, accessible via le protocole http://, et commençant par <?xml version="1.0" encoding="UTF-8"?>

La page doit contenir une balise <title> et les balises <meta> suivantes pour la description du gadget :

  • title : titre du gadget
  • description : description facultative du gadget
  • thumbnail : utilisé pour la bibliothèque
  • height : la hauteur préférée en pixels pour l'affichage du gadget
  • author : l'auteur du gadget
  • author_email : l'adresse mail de l'auteur
  • screenshot : une copie d'écran facultative du gadget

Exemple de gadget dans un iframe :

  • page HTML du gadget (http://localhost:80/sample/ametys_en.html)

    <?xml version="1.0" encoding="UTF-8"?>
    <html>
       <head>
        <title>Ametys Smart Web CMS</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta content="A simple gadget provided by Anyware Services" name="description"/>
        <meta content="Anyware Services" name="author"/>
        <meta content="250" name="height"/>
        <meta content="support@anyware-services.com" name="author_email"/>
        <meta content="http://localhost:8080/samplecontainer/ametys.jpg" name="screenshot"/>
        <meta content="http://localhost:8080/samplecontainer/ametys.jpg" name="thumbnail"/>
     
        <style>
            body {
              font-size: 11px;
              font-family: Arial,Helvetica,sans-serif;
            }
        h1 {color: #812281;}
        </style>
        </head>
        <body>
            <h1>Ametys Smart Web CMS</h1>
        <img src="ametys.png" style="float:left; margin-right: 10px"/>
            <p>Ametys is an open source project distributed under the Apache open source license.
            The developers and users community has a set of tools allowing them to contribute to the project</p>
            <ul>
               <li>If you have any questions, go and ask the community on <a target="blank" href="http://www.ametys.org/forum">forum</a> (in french)</li>
               <li>The <a target="blank" href="https://wiki.ametys.org">Wiki</a> stores documentations and initiatives related to Ametys</li>
               <li><a target="blank" href="https://issues.ametys.org/secure/Dashboard.jspa">JIRA</a> allows issues and suggestions gathering and tracking</li>
            </ul>
            <p>All this information and other on <a target="blank" href="http://www.ametys.org">www.ametys.org</a>.</p>
        </body>
    </html>
    
  • Rendu du Gadget en l'ajoutant au conteneur

Fin de l'intégration

Après avoir tout paramétré, redémarrez le serveur.