Utiliser l’héritage de thèmes de Liferay

Dans un projet Liferay, le thème contient généralement l’ensemble des fichiers constituant le thème (template, css, images).

Ce principe oblige la reprise du thème complet lors d’une montée de version et ne permet pas d’avoir une vision claire des modifications effectuées.

Afin d’éviter cela, il est préférable de mettre en place l’héritage de thème. Lire la suite

{lang: 'fr'}

Intégrer Liferay et Alfresco

Dans cet article, nous proposons d’étudier les moyens existants pour l’intégration de Liferay et Alfreco. Le but est de permettre l’utilisation de documents stockés dans Alfresco dans les fonctions de publication proposées par Liferay.

Liferay propose en standard deux modes d’intégration :

  • L’intégration des documents via le protocole CMIS
  • Le déploiement de portlets pour l’affichage des documents.

Lire la suite

{lang: 'fr'}

Outil de migration de dépendances ant vers maven

Un rapide post pour présenter un petit outil très pratique : Provenance

Marre de devoir écrire à la main les balises dependency dans votre pom.xml ?
Vous avez un répertoire rempli de jar à inscrire dans votre pom.xml ? (pour une migration depuis Ant par exemple)

Cet outil est fait pour vous ! : )

Téléchargez les sources, packager le projet (maven package) puis exécuter simplement :

1
java -jar Provenance.jar lib_dir > dep.xml

Cela créera le xml correspondant aux librairies trouvées dans le ‘lib-dir’.

Cet outil se base sur le checksum des jar et le service REST de recherche de chez Sonatype, peu de chance de se tromper sur le résultat !

{lang: 'fr'}

Introduction aux EIPs (suite) : mise en pratique avec Spring Integration

Passons à la mise en pratique avec Spring Integration !

Comme nous l’avons vu dans l’article précédent, Camel prends quelques libertés vis-à-vis des concepts des EIPs, les channels sont implicites et l’implémentation des routes modélisées par EIPs peuvent se révéler assez différentes. Spring Integration au contraire, est à la base une pure implémentation des EIPs, chaque élément retrouvé dans notre modélisation va être retranscrite point par point et enrichie : Lire la suite

{lang: 'fr'}

Introduction aux EIPs (suite) : mise en pratique avec Apache Camel

Suite de l’article précédent, la mise en pratique des EIPs se fera avec une mise en bouche de deux frameworks d’intégrations : Apache Camel et Spring Integration

Pour rappel, l’exemple de flux simple a été modélisé ainsi :

Deux implémentations vont être réalisées afin de présenter les deux frameworks, voici la première avec Apache Camel. Lire la suite

{lang: 'fr'}

Introduction aux Entreprise Integration Patterns

Les design patterns, on en connaît à la pelle ! Mais ce billet est une petite introduction à ces patterns particuliers que sont les Entreprise Integration Patterns ou EIP.

 

Les EIPs ? Qu’est ce que c’est ?

Nous connaissons tous les patterns Gof, les MVC, les IOC qui concernent la programmation orientée objet, mais les EIPs, comment leur nom l’indique, concernent une toute autre problématique, l’intégration d’entreprise ou plus simplement les flux de données dans un système d’information. La moindre application faisant partie d’un SI est amenée à échanger des informations avec d’autres applications, par transfert de fichier, partage de base de données, web services, système de messaging… Les EIPs proposent de modéliser ces échanges et d’identifier les patterns les plus courants utilisés lors de ces flux, ne se basant pas sur des diagrammes de classes, ils proposent une toute autre représentation graphique. Principalement orientés autour de systèmes de messaging, nous verront que leur application peut être plus large et plus simple et que même l’intégration d’un fichier plat peut être modélisé sous forme d’échange de message. Lire la suite

{lang: 'fr'}

JSoup

Vous connaissez JSoup ?
Il s’agit d’une librairie très utile. Elle vous permettra de lire et surtout de parcourir, manipuler, traverser un DOM et son contenu avec des sélecteurs html/css. Elle est en plus compatible Html 5.
Un exemple:

1
2
Document doc = Jsoup.connect("http://en.wikipedia.org/").get(); 
Elements newsHeadlines = doc.select("#mp-itn b a");

ou à partir d’un fichier:

1
2
File input = new File("/tmp/input.html"); 
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

La configuration Maven:

1
2
3
4
5
<dependency>
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.7.2</version>
</dependency>

JSoup.org

{lang: 'fr'}