Sur la route d'Oxiane digressions diverses

LeBlog OXiane

30 jan
2014

Partager l’entityManager JPA/Hibernate entre plusieurs bundles OSGI-Equinox

Contexte du projet

J’ai une web application qui consomme des services métiers, mis à disposition grâce à OSGI (Implémentation Equinox).

J’ai un premier bundle « A » qui fournit un ensemble de services métiers et permet de mettre en place la persistance de mon application.

Dans mon bundle « A » j’ai :

  • Mon registry : il permet de créer mon entityManager via mon fichier persistence.xml
  • Des classes annotées @Entity : elles définissent une première partie de mon modèle
  • Des DAOs
  • Des services métiers

Lire la suite du bllet »

Julien Cheron

jcheron

24 jan
2014

Mise en place de JPA/Hibernate dans un bundle OSGI-Equinox

Dans le cadre d’un projet, j’avais besoin de mettre en place un bundle OSGI (implémentation EQUINOX) qui utilise JPA / Hibernate.

Les versions de départs sont les suivantes :

  • OSGI Equinox org.eclipse.osgi_3.5.2
  • Hibernate : hibernate-4.2.6.Final
  • Hibernate envers : hibernate-envers-4.2.6.Final

Ici : l’utilisation hibernate-envers n’est pas obligatoire

Lire la suite du bllet »

Julien Cheron

jcheron

20 déc
2013

Ajouter un bouton « envoyer un article » dans buddypress

Quand on développe avec WordPress / Buddypress, il y a parfois des fonctionnalités qui ne sont pas natives et qui manquent.
De nombreux plugins permettent de partager des liens, des infos avec les membres, mais il n’existe pas (à ma connaissance) de module qui permet de partager du contenu interne à son site avec des membres du même site (de la communauté buddypress).

Il existe une fonction native qui permet de pré-remplir le nom d’un destinataire de message, elle se situe dans :
/plugins/buddypress/bp-messages/bp-messages-template.php

La fonction qui permet de remplir le contenu du message :

bp_messages_content_value()

Cette fonction expose un filter WordPress :

bp_get_messages_content_value()

Ce filtre permet tout simplement d’injecter des informations dans le message.
Mais le code ne prend en charge que les données en POST :

$content = '';
if ( !empty( $_POST['content'] ) )
	$content = $_POST['content'];
return apply_filters( 'bp_get_messages_content_value', $content );

Pour réaliser un simple bouton de partage d’article, nous n’avons peut-être pas besoin de faire un formulaire pour chaque article.
Nous allons donc étendre ce filtre avec la gestion des données en GET.
Dans notre fichier functions.php (ou autre suivant votre organisation de code) :

function add_message_content($content){
	if ( !empty( $_GET['content'] ) ) {
		return $content . $_GET['content'];
	}
}
add_filter( 'bp_get_messages_content_value', 'add_message_content' );

Et voilà, il ne reste plus qu’à ajouter un lien vers l’écran de composition de message de buddypress dans une boucle d’articles.
Dans un template d’archive par exemple :



   <p><a class="msg" href="<?php echo wp_nonce_url( bp_loggedin_user_domain() . bp_get_messages_slug() .
   '/compose/?r=' . bp_core_get_username( $user_id ). '&content=' . get_permalink() ); ?>">
   <?php echo __( 'Send'); ?></a></p>


Le paramètre content peut être un peu enrichi, mais il va falloir surveiller la longueur de la query string !
On peut bien sûr faire de même avec le champ « subject » qui a lui aussi un filtre wordpress.

Alain Boudard

aboudard

11 oct
2013

Partenariat XebiaLabs – Oxiane

XebiaLabs, éditeur spécialisé dans l’automatisation de déploiement d’applications, propose la solution Deployit. Cet outils permet aussi bien aux équipes de développement qu’à l’exploitation de déployer et configurer leurs applications sur leurs environnements en maîtrisant la fameuse phase critique de mise en production. Un des gros avantages de Deployit est d’assurer la compatibilité avec les serveurs de développement (Tomcat, Jboss,Websphere, Weblogic et MS/.Net IIS), d’intégration (Jenkins, Bamboo ou TFS ) et de production (Unix ou Windows).

C’est dans le cadre de notre expertise autour des outils de productivité qu’Oxiane s’est intéressé à Deployit. Nous avons décidé de devenir partenaire exclusif XebiaLabs pour l’animation des formations sur Deployit en France. Ce cours vient enrichir notre filière de formation Industrialisation Java proposant les formations sur Git, Jenkins, Subversion, Maven, etc.

wabden

17 sept
2013

ESUG 2013 : jours 4 et 5

Avec quelques jours de retards, une brève description des deux derniers jours à Annecy.
J’ai manqué plusieurs conférences en passant beaucoup de temps à discuter avec différentes personnes mais c’est ça aussi l’intérêt majeur de ce type de conférence.
De toutes façons, grâce à l’organisation exceptionnelle (un grand bravo aux organisateurs), les vidéos sont mises en ligne immédiatement sur YouTube et les slides des présentations sont disponibles sur le site de l’ESUG donc pas de problème pour revoir tout ça plus tard.

Voici un rapide aperçu des choses présentées pendant ces deux derniers jours (désolé pour ceux que j’ai oublié).

Lire la suite du bllet »

Jean-Francois Lefevre

jflefevre