Bienvenue

Jalios Community

Tout ce que vous souhaitez savoir sur l'écosystème Jalios

Portlet Feed : Export RSS et Atom
JCMS 4.1.0 JCMS 4.1.1 JCMS 5.0 JCMS 5.5
Olivier Jaquemet
9 février 2005 350 vues
En résumé...

Cette fiche décrit la mise en place d'une Portlet Feed pour l'export de vos contenus JCMS au format RSS et/ou Atom.


Grâce à la Portlet Feed, votre site peut exporter ses contenus sous forme de flux  RSS (0.91, 1.0, 2.0) ou Atom pour être inclus dans les sites de vos partenaires.

1. Utilisation Standard

Dans votre Portlet Feed, spécifiez vos requêtes de sélection de contenus ainsi que les formats d'exports que vous voulez fournir.
Les flux sont alors accessibles grâce à l'url :

    http://www.monsite.com/feed/<feedFormat>.jsp?id=<portletId>

<feedFormat> est un des formats que vous aurez choisi ("Rss091", "Rss1", "Rss2", "Atom03"), et <portletId> est l'id JCMS de la portlet feed que vous aurez créé.

Si vous insérez la portlet feed dans un portail, ces icônes  fourniront un lien direct vers les flux RSS et Atom.


2. Utilisation Avancée

2.1 Ajouter un format d'export

Vous pouvez également grâce à la Portlet Feed exporter les contenus de JCMS dans le format d'export de votre choix.

Pour ajouter un format d'export, éditez le type Portlet Feed, et ajoutez-y votre format dans la liste des choix de format disponibles. Le nom du format spécifié dans la PortletFeed est en suite utilisé de manière suivante :

  • Dans le portail, c'est le nom de l'image qui sera utilisé pour le lien donnant accès à votre format d'export.
    Vous devez l'ajouter le fichier /images/jalios/icons/feed/<MonFormat>.gif .
  • C'est le nom du jsp qui donnera acces à votre nouveau format.
    Créez le fichier /feed/<MonFormat>.jsp en vous inspirant des autres formats déjà disponibles.

2.2 Personnaliser par type de contenu, les données exportées.

Si vous souhaitez personnaliser les flux générés pour un type de contenu donné, il vous est possible de créer un jsp dans le répertoire de votre type :

    /types/<monType>/do<monType><feedFormat>ElementDisplay.jsp

Par exemple, si pour le type FileDocument, vous souhaitiez ajouter l'élément " enclosure " au format RSS 2.0, vous pourriez créer le jsp suivant :

    /types/FileDocument/doFileDocumentRss2ElementDisplay.jsp


  <%@ include file="/jcore/doInitPage.jsp" %>
  <%
    String       lang = (String) request.getAttribute("feedLang");
    Publication  itPub = (Publication) request.getAttribute("feedItPub");
    Integer      itPublicationCounter = (Integer) request.getAttribute("feedItPublicationCounter");
  %>
    <item>
      <guid><%= channel.getUrl() %>display.jsp?id=<%= itPub.getId() %></guid>
      <title><%= XmlUtil.normalize(itPub.getTitle(lang)) %></title>
      <link><%= channel.getUrl() %>display.jsp?id=<%= itPub.getId() %></link>
      <jalios:if predicate='<%= itPub.getAuthor().isEmailVisible() && Util.notEmpty(itPub.getAuthor().getEmail()) %>'>
        <author><%= XmlUtil.normalize(itPub.getAuthor().getEmail()) %></author>
      </jalios:if>
      <description><%= XmlUtil.normalize(itPub.getAbstract()) %></description>
      <pubDate><%= Util.formatRfc822Date(itPub.getCdate()) %></pubDate>

      <% FileDocument fileDoc = (FileDocument) itPub; %>
      <enclosure url="<%= channel.getUrl() %>display.jsp?id=<%= itPub.getId() %>"
                 length="<%= fileDoc.getSize() %>"
                 type="<%= fileDoc.getContentType() %>" />

  </item>