Pages enfant
  • EsupTwitter

Description rapide

EsupTwitter est une portlet Java JSR 286 intégrable dans un portail type EsupPortail.

Fonctionnalités

Elle permet d'afficher le Timeline Twitter (http://twitter.com) d'un utilisateur donné.
Cet utilisateur est défini dans les préférences de la portlet et peut ainsi être positionné lors de la publication de la portlet.
On peut aussi permettre à la personne authentifiée sur le portail de modifier sur une portlet cet utilisateur (mode EDIT de la portlet).
Enfin la personne authentifiée peut également s'authentifier sur Twitter avec son propre compte Twitter (si il en a un évidemment) afin de suivre son propre Timeline.

Activer la possibilité du Twitter oAuth (maintenant requis)

Vous devez enregistrer votre application sur Twitter pour qu'EsupTwitter fonctionne, ce même pour utiliser EsupTwitter pour suivre les timelines Twitter publiques d'un utilisateur : depuis le 11 Juin 2013, c'est une contrainte de l'API Twitter .

Twitter propose un site dédié pour cela :http://dev.twitter.com/

Pour l'ENT de l'UNR Normandie, nous avons mis la description suivante :

"""Normandy University Portal aims to present students and personnals with access to web based services within and beyond the University."""

EsupPortletTwitter n'a pas besoin des autorisations d'écriture au niveau de Twitter puisqu'il ne permet que de consulter les timeline (le "Access Level" peut être mis à read-only).

De http://dev.twitter.com/ vous devez donc récupérer un "Consumer key" et un "Consumer secret" qu'il faut donner dans le fichier WEB-INF/context/portlet/twitterConfig.xml (ou src/main/webapp/WEB-INF/context/portlet/twitterConfig.xml si vous partez des sources de la portlet)

Sachez qu'à ce jour le OAuth Callback URL n'est pas utilisé par EsupPortletTwitter cependant ce paramètre (qui peut en fait être multi-valué) sert également à informer des domaines susceptibles d'héberger votre application, en effet un filtrage sur les hôtes est également mis en place par Twitter lors d'une authentification oAuth.

Rappelons que si vous laissez twitterConfig.xml donné par défaut, vous n'autoriserez pas l'authentification sur Twitter ... et cela empêchera l'usage d'EsupPortletTwitter : la mise en place de la configuration oAuth est obligatoire dans EsupTwitter (depuis EsupTwitter 0.9, les versions inférieures ne fonctionnant plus depuis le 11 Juin 2013).

Téléchargement et code sources

Une version 0.14 d'EsupTwitter est disponible au téléchargement, les sources sont gérées depuis Github.

https://github.com/Jasig/EsupTwitter/releases

Technologies

Portlet JSR286, EsupTwitter a au départ été élaboré également pour expérimenter au mieux les techologies Spring v3 (RestTemplate, Spring-OXM, ...) notamment dans l'optique de réflexion autour d'EsupCommons v2 (qu'elle utilise depuis la version 0.5.0).

Le code et les fonctionnalités sont volontairement épurées.

EsupTwitter, bâti sur EsupCommons v2, est un projet construit avec Maven en s'inspirant des développements récents de portlets uPortal (FunctionalTestsPortlet et WeatherPortlet notamment).

En attaché à cette page de présentation EsupTwitter, des slides de la présentation du début de son développement, consultables ci-dessous directement :

Création du war depuis les sources.

Depuis le répertoire d'EsupTwitter un

mvn package

vous package un EsupTwitter.war

Déploiement de la portlet (du war) dans un uPortal / EsupPortail

Depuis le répertoire source d'uPortal / EsupPortail :

ant deployPortletApp -DportletApp=/opt/canaux/EsupTwitter/target/esup-twitter.war

devrait compiler et déployer la portlet EsupTwitter sur votre portail.

Copies d'Écran

Annexes

English page on jasig.org.

  • Aucune étiquette

2 commentaires

  1. Modifications EsupTwitter pour travailler derrière un proxy :
    ===========================================

    1) Dans la classe TwitterController.java :

     1.a) Dans la déclaration des variables, ajouter les deux lignes suivantes (remplacer my.proxy.Host par l'adresse de votre proxy
    et 3128 par son numéro de port):

    public static final String PREF_TWITTER_PROXY_HOST = "my.proxy.Host";
    public static final Integer PREF_TWITTER_PROXY_PORT = 3128;

    1.b) Ajouter la ligne suivante dans la méthode setRestTemplate :

       client.getHostConfiguration().setProxy(PREF_TWITTER_PROXY_HOST, PREF_TWITTER_PROXY_PORT);

    2) Dans la classe OAuthRequestProxy.java, ajouter les deux lignes suivantes dans la méthode OAuthRequestProxy

       this.connection.setRequestProperty("http.proxyHost", TwitterController.PREF_TWITTER_PROXY_HOST);
       this.connection.setRequestProperty("http.proxyPort", TwitterController.PREF_TWITTER_PROXY_HOST);

    1. ! ATTENTION : Une erreur s'est glissée dans le commentaire ci-dessus, le point 2) est erroné , il ne faut pas en tenir compte