Documentation Infoglue : Développement de composants pour le CMS Infoglue



Documents pareils
Introduction aux concepts d ez Publish

WEB page builder and server for SCADA applications usable from a WEB navigator

Tutoriel de formation SurveyMonkey

Les Portfolios et Moodle Petit inventaire

Instructions Mozilla Thunderbird Page 1

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Once the installation is complete, you can delete the temporary Zip files..

Telecharger gratuitement convertisseur de fichier word en pdf

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

RAPID Prenez le contrôle sur vos données

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.

Plan. Department of Informatics

Get Instant Access to ebook Cest Maintenant PDF at Our Huge Library CEST MAINTENANT PDF. ==> Download: CEST MAINTENANT PDF

Application Form/ Formulaire de demande

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

How to Login to Career Page

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :

MANUEL MARKETING ET SURVIE PDF

PUPPET. Romain Bélorgey IR3 Ingénieurs 2000

Introduction aux «Services Web»

DOCUMENTATION - FRANCAIS... 2

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

Acronymes et abréviations. Acronymes / Abbréviations. Signification

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

Gestion des prestations Volontaire

CEST POUR MIEUX PLACER MES PDF

ANGULAR JS AVEC GDE GOOGLE

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

SYSTÈMES D INFORMATIONS

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

PHP 5.4 Développez un site web dynamique et interactif

Practice Direction. Class Proceedings

Manuel Utilisateur. Boticely

Exercices sur SQL server 2000

SERVEUR DÉDIÉ DOCUMENTATION

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

La rencontre du Big Data et du Cloud

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

4. SERVICES WEB REST 46

OpenPaaS Le réseau social d'entreprise

BIRT (Business Intelligence and Reporting Tools)

Service d'authentification LDAP et SSO avec CAS

Guide d'installation rapide TFM-560X YO.13

CETTE FOIS CEST DIFFERENT PDF

Guide de recherche documentaire à l usage des doctorants. Partie 1 : Exploiter les bases de données académiques

Acce s aux applications informatiques Supply Chain Fournisseurs

Préparation d un serveur Apache pour Zend Framework

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Module 7 : Configuration du serveur WEB Apache

LOI SUR LA RECONNAISSANCE DE L'ADOPTION SELON LES COUTUMES AUTOCHTONES ABORIGINAL CUSTOM ADOPTION RECOGNITION ACT

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Joomla! Création et administration d'un site web - Version numérique

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

Notice Technique / Technical Manual

Java et les bases de données

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Vanilla : Virtual Box

OUTIL DE TRAVAIL COLLABORATIF

iqtool - Outil e-learning innovateur pour enseigner la Gestion de Qualité au niveau BAC+2

Forthcoming Database

INTRODUCTION AU CMS MODX

TP1. Outils Java Eléments de correction

Contents Windows

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

DOCUMENTATION - FRANCAIS... 2

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

Formation en Logiciels Libres. Fiche d inscription

Architecture Orientée Service, JSON et API REST

Petit guide pour l installation de CVW sous Linux

THE LAW SOCIETY OF UPPER CANADA BY-LAW 19 [HANDLING OF MONEY AND OTHER PROPERTY] MOTION TO BE MOVED AT THE MEETING OF CONVOCATION ON JANUARY 24, 2002

Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante :

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

COUNCIL OF THE EUROPEAN UNION. Brussels, 18 September 2008 (19.09) (OR. fr) 13156/08 LIMITE PI 53

Le Product Backlog, qu est ce c est?

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Web Tier : déploiement de servlets

Connaître la version de SharePoint installée

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

4. Groupement d objets

Titulaires de marques

Paxton. ins Net2 desktop reader USB

les techniques d'extraction, les formulaires et intégration dans un site WEB

Module Title: French 4

APPENDIX 6 BONUS RING FORMAT

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Extension fonctionnelle d un CRM. CRM étendu >> Conférence-débat 15 April Club Management des Systèmes d Information de l'iae de Paris Alumni

Gestion d Epargne de Crédit & Comptabilité

Paris Airports - Web API Airports Path finding

Transcription:

Documentation Infoglue : Développement de composants pour le CMS Infoglue Menéndez Julián CRI (Centre de Ressources Informatiques) Université de Rennes I - 10/08/06 Avant-propos Cette documentation succincte s adresse aux utilisateurs désireux de se mettre rapidement à développer des composants pour le CMS Infoglue. Cette documentation, en français, s appuie sur la documentation Template Reference disponible en ligne (en Anglais) dont une limite est le manque criant d exemples permettant une rapide prise en main de l'outil. En effet, le seul exemple donné n est pas commenté, ne fait appel qu a des tags d Infoglue et non aux méthodes java de l API (i.e. l interface de programmation) et est écrit en Velocity. Tout en me basant sur la documentation précédente, je me propose ici d agrémenter le propos d exemples pertinents en favorisant l utilisation de l API Java d Infoglue et l écriture en JSP. La combinaison JSP API Java me semble, en effet, mieux exploiter la richesse d Infoglue, la combinaison Velocity Tags cherchant à simplifier le code des composants et leur présentation. De plus le passage JSP API Java vers Velocity et l utilisation de tags est très aisé. «L esprit» Infoglue. Infoglue est un système de gestion de contenus (ou CMS pour Content Management System) open source (bien que certaines documentations soient payantes). En tant que CMS, Infoglue cherche à séparer le fond de la forme lors de la construction d'un site Internet. Pour une présentation plus approfondie de l interface du CMS vous pourrez vous reporter avec profit à la documentation ou au tutoriel vidéo établis par Mattias Bogeblad, principal développeur de l'outil Infoglue. La construction des pages du site se fait grâce à des composants (que l'on nommera indifféremment templates par la suite) réutilisables correspondants à des tâches logiques de base (on pourra avoir un composant chargé de l'affichage du menu du site, un autre qui affiche un flux RSS paramétrable, etc.). Les classes BasicTemplateController et ComponentLogic sont les deux classes les plus utiles pour la réalisation de composants et offrent de nombreuses méthodes intéressantes. Le langage utilisé dans les templates peut aussi bien être du Velocity d Apache que du JSP. Infoglue offre une série de points de connexion et de fonctionnalités qui permettent d extraire du contenu du CMS. Plan «L ESPRIT» INFOGLUE....1 GENERALITES...2 SYNTAXE :...3 CONTENUS...4 DIGITAL ASSETS...5 STRUCTURE / NAVIGATION...6 REUTILISATION DE TEMPLATES...8 INTEGRATION D APPLICATIONS...9 DIVERS...9 LIENS :...9

Généralités Il y a certaines notions qui doivent être comprises avant de pouvoir construire des templates. La plus importante est celle de contexte de page. Quand un utilisateur demande une page dans le site toutes les requêtes passent par un distributeur central. Si on prend, par exemple, une requête courante cela doit ressembler à cela : http://localhost/site/viewpage.action?sitenodeid=34&languageid=1&contentid=null Le ViewPage.action est le distributeur central et possède de nombreuses fonctionnalités mais nous nous focaliserons sur le traitement courant des pages. La page demandée par l utilisateur est identifiée par son sitenodeid=34 dans l URL précédente. Le sitenodeid identifie un unique sitenode, c'est-à-dire un nœud donné, vu comme un dossier, dans la structure hiérarchisée du site (Figure 1). Ces sitenodes sont construits dans l outil Structure du CMS Infoglue. Lorsque le sitenode est localisé ViewPage.action vérifie d abord la langue dans laquelle il doit rendre la page. L URL contient également cette information dans le paramètre languageid=1 qui identifie de façon unique la langue Française par exemple. SiteNodes Figure 1 - Nœuds du site (SiteNodes) dans l'onglet Structure du CMS L étape suivante consiste à associer un (ou plusieurs) template à cette page. L onglet structure permet d associer des template de contenu (template-content) au template conteneur (ou de liaison : template-binding) associé à chaque page (Figure 2). Figure 2 - Permet d associer un template au nœud courant parmi les templates disponibles (crées dans l onglet contenu) au travers d'une fenêtre "pop-up" Développement de Composants pour le CMS Infoglue 2

Syntaxe : En JSP Les pages JSP (Java Server Pages) permettent de générer des pages HTML dynamiques à partir de scriptlets (morceaux de code Java). L utilisation de JSP dans le CMS Infoglue est bien éloignée de leur utilisation dans une application Web quelconque où il est recommandé de concentrer la partie présentation dans les JSP et la partie applicative dans des servlets. Dans Infoglue les JSP contiennent à la fois la présentation (le code HTML généré) et la partie applicative (souvent limitée malgré tout). Il faut tout d abord récupérer le contexte du template principal lié à une sitenode (page du site) à l aide de l instance de la classe BasicTemplateController qui est la principale classe de l API. Pour cela on fait appel à la méthode suivante : (BasicTemplateController) request.getattribute("org.infoglue.cms.deliver.templatelogic") On peut ensuite appliquer la méthode désirée à notre instance de classe. ({méthode} fait référence à une méthode quelconque de l API). templatelogic.{méthode} Exemple L exemple ci-dessous se contente d importer l objet BasicTemplateController dont on récupère l instance de la page dans la variable templatelogic. On affiche ensuite le titre de la page : <%@page import="org.infoglue.deliver.controllers.kernel.impl.simple.basictemplatecontroller" <% (BasicTemplateController) request.getattribute("org.infoglue.cms.deliver.templatelogic") ; <%= templatelogic.getpagetitle() En Velocity En Velocity, on récupère très facilement le contexte grâce à la référence : $templatelogic Ensuite Infoglue met à disposition 4 librairies propres qui, bien que non exhaustives, donnent accès aux fonctionnalités les plus utilisées du CMS. Page Tags : Librairie de méthodes concernant la manipulation de pages Content Tags : Librairie de tags concernant la manipulation de contenu Structure Tag : Librairie de tags concernant la manipulation de la structure du site Management Tags : Librairie de tags concernant la partie management Exemple L exemple ci-dessous est l équivalent de l exemple précédent mais rédigé en Velocity et faisant appel aux taglibs propres à Infoglue : $templatelogic.getpagetitle() CRI Université de Rennes I Julián Menéndez -10/08/2006 3

Contenus Les contenus sont les briques de base d un site. Ce peut être du texte, des images, des pdfs, des templates ou tout autre type d information. Un contenu n est disponible à partir d un sitenode qu après qu il y ait été attaché d une façon ou d un autre par l intermédiaire de l outil structure. L idée de l établissement de liens (binding) est basée sur celle de réutilisation de contenus dans diverses pages, ce qui constitue une pierre angulaire de la gestion de contenu (content management). En effet, la plupart du temps, les personnes saisissant le texte et celles décidant de leur utilisation dans le site ne sont pas les mêmes. Le concept sépare très nettement le contenu de l architecture du site. De même que le CMS Infoglue offre de multiples façons de lier les contenus il existe également de multiples façons de les récupérer dans les templates. Ci-dessous vous trouverez les méthodes concernant les contenus de type texte ordinaire. Reportez-vous à la javadoc pour une liste complète. getcontentattribute(string contentbindningname, String attributename) This method delivers a String with the content-attribute asked for. As the sitenode can have multiple bindings as well as content as a parameter this parameter requires a bindingname which refers to the AvailableServiceBinding.name-attribute. getcontentattribute(string attributename) This method delivers a String with the content-attribute asked for if it exists in the content defined in the url-parameter contentid. getcontentattribute(integer contentid, String attributename) This method delivers a String with the content-attribute asked for on the content specified. getboundcontent(string structurebindningname) The method returns a single ContentVO-object that is the bound content of named binding. It's used for getting one content. getboundcontents(string structurebindningname) The method returns a list of ContentVO-objects that is the bound content of named binding. The method is great for collection-pages on any site. getboundfoldercontents(string structurebindningname, boolean searchrecursive, String sortattribute, String sortorder) The method returns a list of ContentVO-objects that is children to the bound content of named binding. The method is great for collection-pages on any site where you want to bind to a folder containing all contents to list. You can also state if the method should recurs into subfolders and how the contents should be sorted. The recursion only deals with three levels at the moment for performance-reasons. Exemple L exemple ci-dessous récupère les Méta Informations de la page courante grâce à la méthode getmetainformationcontentid() et en affiche l'attribut Title : <%@page import="org.infoglue.deliver.controllers.kernel.impl.simple.basictemplatecontroller" <% (BasicTemplateController) request.getattribute("org.infoglue.cms.deliver.templatelogic") ; <%= templatelogic.getcontentattribute(templatelogic.getmetainformationcontentid(),"title") Développement de Composants pour le CMS Infoglue 4

Digital Assets La section précédente concernait les contenus basés sur du texte tel qu un article ou un simple champ contenant une phrase ou une URL. La plupart des sites font également appel a des contenus de type image ou documents binaires (PDF, Word, Excel etc.) entre autres. La plateforme Infoglue supporte cette dernière catégorie de façon générique sous l'appellation "Digital Assets" dont il existe plusieurs façons de les manipuler. De même que les autres contenus, les assets sont également stockés dans la base de données. Cependant, lors de la requête, les assets sont convertis (et mis en cache) en fichiers atteignables au travers d une URL. getasseturl(string contentbindningname) This method delivers a String with the URL to the digital asset asked for. As the sitenode can have multiple bindings as well as content as a parameter this parameter requires a bindingname which refers to the AvailableServiceBinding.name-attribute. getasseturl(integer contentid) This method delivers a String with the URL to the digital asset asked for. getasseturl(integer contentid, String assetkey) This method delivers a String with the URL to the digital asset asked for. getasseturl(string contentbindningname, int index) This method delivers a String with the URL to the digital asset asked for. As the sitenode can have multiple bindings as well as content as a parameter this parameter requires a bindingname which refers to the AvailableServiceBinding.name-attribute. getasseturl(string contentbindningname, String assetkey) This method delivers a String with the URL to the digital asset asked for. As the sitenode can have multiple bindings as well as content as a parameter this parameter requires a bindingname which refers to the AvailableServiceBinding.name-attribute. getarchivebaseurl(string contentbindningname, String assetkey) This method delivers a String with the URL to the base path of the directory resulting from an unpacking of a uploaded zip-digitalasset. getarchivebaseurl(integer contentid, String assetkey) This method delivers a String with the URL to the base path of the directory resulting from an unpacking of a uploaded zip-digitalasset. getarchivebaseurl(string contentbindningname, int index, String assetkey) This method delivers a String with the URL to the base path of the directory resulting from an unpacking of a uploaded zip-digitalasset. getcontentattributeasimageurl(string contentbindningname, String attributename, int canvaswidth, int canvasheight, int textstartposx, int textstartposy, int textwidth, int textheight) This method delivers a String with the content-attribute asked for generated as a gif-file. That is - the text is printed as an image. getcontentattributeasimageurl(string contentbindningname, String attributename, int canvaswidth, int canvasheight) This method delivers a String with the content-attribute asked for generated as a gif-file. That is - the text is printed as an image. CRI Université de Rennes I Julián Menéndez -10/08/2006 5

Exemple Cet exemple récupère dans une Collection Java les images attachées au template par l'intermédiaire d'une propriété ajoutée au template (Figure 3). Cette Collection est ensuite transformée en tableau afin d y accéder plus aisément et on affiche ensuite la dernière Image de la collection (Remarque : la méthode getcomponentlogic() permet de récupérer le contexte de l'objet ComponentLogic associé) : <%@page import="org.infoglue.deliver.controllers.kernel.impl.simple.basictemplatecontroller, java.util.collection" <% (BasicTemplateController) request.getattribute ("org.infoglue.cms.deliver.templatelogic") ; //Récupération dans une Collection de toutes les Images contenues dans la propriété Image Collection assetkeyscollection = templatelogic.getassetkeys(templatelogic.getcomponentlogic().getboundcontentid("images")); //Conversion de la collection en tableau pour un accès séquentiel des éléments Object[] assetkeysarray = assetkeyscollection.toarray() ; //Récupération du nombre d'images contenues dans le contenu Images int nbimages = assetkeyscollection.size(); <img src=" <%= templatelogic.getcomponentlogic().getasseturl("images",assetkeysarray[nbimages-1].tostring()) " /> Figure 3 - Définition d'une propriété "Images" dont le type devra correspondre à du Contenu Image et qui contenant des "Digital Assets" image. Structure / Navigation La structure d'un site, à l'instar du contenu, est un élément central. C est à ce niveau qu'est définie l'ossature générale du site et qui influera de façon décisive sur la navigation future au sein du site. Les relations entre les pages et les nœuds du site (SiteNodes) sont définies grâce à de liens (bindings) établis à l aide de l outil structure (Structure Tool). Le CMS Infoglue met à disposition un ensemble de méthodes permettant de définir de quelle manière les pages et les nœuds sont mis en relation ainsi qu un ensemble de méthodes permettant des récupérer des références aux nœuds dans les templates. getpageurl(string structurebindningname) This method delivers a String with the URL to the page asked for. As the sitenode can have multiple bindings the method requires a bindingname which refers to the AvailableServiceBinding.name-attribute. Développement de Composants pour le CMS Infoglue 6

getpageurl(webpage webpage, Integer contentid) This method just gets a new URL but with the given contentid in it. getpagebaseurl(string structurebindningname) This method delivers a String with the URL to the page asked for. As the sitenode can have multiple bindings the method requires a bindingname which refers to the AvailableServiceBinding.name-attribute. getsitenodeid(string structurebindningname) Getter for the sitenodeid on a specific bound page getpageurl(string structurebindningname, Integer contentid) This method delivers a String with the URL to the page asked for. As the sitenode can have multiple bindings the method requires a bindingname which refers to the AvailableServiceBinding.name-attribute. This method also allows the user to specify that the content is important. This method is mostly used for master/detail-pages. getpageurl(string structurebindningname, int position, Integer contentid) This method delivers a String with the URL to the page asked for. As the sitenode can have multiple bindings the method requires a bindingname and also allows the user to specify a special sitenode in an ordered collection which refers to the AvailableServiceBinding.nameattribute. This method also allows the user to specify that the content is important. This method is mostly used for master/detail-pages. getcurrentpageurl() This method delivers a new url pointing to the same address as now but in the language corresponding to the code sent in. getpageurlafterlanguagechange(java.lang.string languagecode) This method delivers a new url pointing to the same address as now but in the language corresponding to the code sent in. getpagetitle() The navigation-title is fetched from the meta-info-content bound to the site node. getpagenavtitle(string structurebindningname) This method delivers a String with the Navigation title the page asked for has. As the sitenode can have multiple bindings the method requires a bindingname which refers to the AvailableServiceBinding.name-attribute. The navigation-title is fetched from the meta-info-content bound to the site node. getchildpages() The method returns a list of WebPage-objects that is the children of the current sitenode. The method is great for navigation-purposes on a structured site. getboundpages(string structurebindningname) getboundpages(integer sitenodeid, String structurebindningname) This methods get a list of bound pages with the structurebindningname sent in which resides on the sitenodeid sent in. CRI Université de Rennes I Julián Menéndez -10/08/2006 7

getlocalizedboundpages(string structurebindningname) The method returns a list of WebPage-objects that is the bound sitenodes of named binding. The method is great for navigation-purposes on any site. We also filter out all pages that don't have a localized version of the page meta-content. getboundpage(string structurebindningname, int position) The method returns a list of WebPage-objects that is the bound sitenodes of named binding. The method is great for navigation-purposes on any site. getisparenttocurrent(integer sitenodeid) This method helps us find out if the current site node is the same or a child to the sent in one. So if the current page is a child (in the entire hierarchy below) below the sitenode sent in the method returns true. Useful for navigational purposes. Exemple L exemple ci-dessous récupère les pages du site, liées au composant par l'intermédiaire d'une propriété "Pages" (Figure 4), sous forme d'objets WebPage contenus dans une liste et affiche des hyperliens y conduisant : <%@page import="org.infoglue.deliver.controllers.kernel.impl.simple.basictemplatecontroller, org.infoglue.deliver.applications.databeans.webpage, java.util.list, java.util.iterator" <% (BasicTemplateController) request.getattribute("org.infoglue.cms.deliver.templatelogic") ; // Récupération d'une liste contenant les Pages associées au template grâce à la propriété Page List listpages = templatelogic.getcomponentlogic().getboundpages("pages") ; // Itération sur chaque page contenue dans la Liste pour construire le menu for (Iterator itc = listpages.iterator() ; itc.hasnext() ; ) { WebPage unepage = (WebPage) itc.next(); <a href=" <%= unepage.geturl() " > <%= unepage.getnavigationtitle() </a> <% } Figure 4 - Propriété "Pages" contenant les pages du site dont on veut récupérer des références dans le template Réutilisation de Templates Lors de la construction du site Internet ou toute autre représentation visuelle de l information il y a souvent de nombreuses parties réutilisables dans la page. Par exemple, on pourra vouloir réutiliser un entête dans d autres templates. Cette fonctionnalité est supportée par Infoglue. Ce que l on souhaite c est identifier les parties réutilisables et les mettre dans leur propre contenu de type template. Les templates auront alors le même contexte que les template appelants ce qui implique qu un template offre exactement les mêmes fonctionnalités que le template principal. On peut en particulier inclure des templates dans un template lui-même inclus dans un autre template ce qui permet de développer de très petits composants réutilisables si tel est le but recherché. Développement de Composants pour le CMS Infoglue 8

include(string contentbindningname, String attributename) This method allows the current template to include another template which is also rendered in the current context as if it were a part. Intégration d applications Les sites web proposent en général de nombreuses fonctionnalités. Cette section présente quelques façons d intégrer des applications dans un site web sans avoir à réécrire l application ou en ayant juste à intégrer une logique applicative dans le site tout en la paramétrant à votre gré. Il est aussi possible de construire des logiques applicatives directement dans la plateforme dans une optique de réutilisabilité et d extensibilité. geturlcontent(string url) This method fetches a given URL contents. This means that we can include an external url's contents in our application. Divers Ici sont regroupées quelques fonctionnalités utiles supplémentaires. Assurez-vous de consulter la javadoc pour une liste exhaustive. getsitenodeid() Getter for the sitenodeid getlanguageid() Getter for the languageid getcontentid() Getter for the contentid getrequestparameter(string parametername) Getter for request-parameters getcontenttypedefinitionvo(integer contentid) The method returns the ContentTypeVO-objects of the given contentid. Liens : Template Reference : http://www.infoglue.org/infogluedeliverlive/projects/infoglue_cms/template_reference API / javadoc : http://www.infoglue.org/javadocs/infoglue235/ Velocity : http://jakarta.apache.org/velocity/ Documentation : http://www.infoglue.org/infogluedeliverlive/projects/infoglue_cms/documentation Tutoriel vidéo : http://www.infoglue.org/downloads/igtutorialpart1.zip Mathias Bogeblad : mailto:mattias.bogeblad@modul1.se BasicTemplateController : http://www.infoglue.org/javadocs/infoglue235/org/infoglue/deliver/controllers/kernel/impl/simple/basictemplatecontroller.html ComponentLogic : http://www.infoglue.org/javadocs/infoglue235/org/infoglue/deliver/controllers/kernel/impl/simple/componentlogic.html JSP : http://www.infini-fr.com/sciences/informatique/langages/imperatifs/java/servletsjsp/jsp.html WebPage : http://www.infoglue.org/javadocs/infoglue235/org/infoglue/deliver/applications/databeans/webpage.html CRI Université de Rennes I Julián Menéndez -10/08/2006 9