Categories
Eclipse

Eclipse 3.4 M6 – API Freeze !

NoteworthyAvec quelques jours de retard (il semblerait que l’intégration de p2 ait été assez laborieuse…) voici la cuvée M6 d’Eclipse 3.4 !

Comme pour chaque milestone, voici les nouveautés qui ont particulièrement retenu mon attention :

Equinox

Beaucoup de sous-projets qui étaient jusqu’alors en incubation ont été gradés et font donc maintenant partie du projet Equinox “officiel”, et sont ainsi accessibles aux utilisateurs du SDK Eclipse. Parmi ces projets :

  • p2 (prononcer pitou !). Pour faire (très) court : le mécanisme antédiluvien d’installation et de mises à jours de “features” a été totalement refondu. C’est la nouveauté de cette milestone, et je serai amené à en parler plus en détail très prochainement !
  • Equinox Security. L’idée est de faciliter l’intégration de mécanismes de gestion de la sécurité (authentification, autorisation, …) dans Eclipse. Le plan pour la 3.4 comprend les items suivants :
    • intégration de fournisseurs de sécurité Java
    • framework d’authentification utilisateur
    • gestion des certificats utilisateur (gestion de mots de passe, clés, …)
    • support de l’autorisation de code des bundles (à l’installation, au chargement, à l’exécution…)

PDE

  • Le projet incubatoire API Tooling a lui aussi été promu, et est maintenant intégré à Eclipse.
    Le principe de ce projet est de mettre à la portée du développeur un certain nombres d’annotations Java et de processeurs associés afin de faciliter la documentation et la maintenance d’une API. On peut par exemple utiliser une annotation @noreference lorsque l’on veut indiquer qu’une méthode (définie dans une classe abstraite, par exemple) ne doit pas être appelée par les “clients”. A l’heure actuelle, ce genre de contrainte était tant bien que mal explicité dans la javadoc de la méthode (“Clients must not call this method” …), et le moins qu’on puisse dire c’est que ce n’était pas très formel, et encore moins exploitable de manière automatique.
    En outre, API Tooling peut détecter tout un tas d’erreurs auxquelles tout le monde à un jour où l’autre été confronté, comme par exemple la définition d’une méthode dans une interface exportée, qui retourne un type qui lui n’est pas exporté par le bundle ; ou, mieux, détecter la rupture possible de compatibilité lors de l’évolution d’une API (ajouter une méthode à une interface rend caduques toutes les classes concrètes qui n’implémentant pas encore cette méthode…)
  • Nouvel attribut de type “id” dans les schémas de points d’extension. J’en ai déjà parlé ici, et suis toujours aussi enthousiaste vis-à-vis de cette nouvelle feature 🙂 .

Platform / SWT

  • API pour avoir des labels “multicolores” dans les arbres et les tables. Depuis l’avénèment de la 3.4, vous aviez tous remarqué que la vue qui affiche les résultats d’une recherche, par exemple, était désormais beaucoup plus sexy, grâce à l’utilisation de différentes couleurs. Ceux qui avaient essayé d’intégrer cela dans leur propre plug-ins avaient alors pu se rendre compte qu’il n’y avait pour l’instant pas de quoi manipuler simplement ces couleurs depuis la couche JFace. C’est désormais possible ! StyledCellLabelProvider est la classe abstraite à étendre pour avoir le support de cette nouvelle fonctionnalité ; IStyledLabelProvider permettant de venir enrichir un LabelProvider qui auraient déjà une super-classe. A noter que cela ne se résume pas qu’aux couleurs d’avant et d’arrière-plan puisque l’on peut également souligner, encadrer, mettre en gras, … certains tronçons de son label !
  • Partage de projet CVS. Une nouveauté toute bête mais trèèès pratique : on peut maintenant, lors du partage d’un projet CVS, venir simplement choisir le module dans lequel on veut que notre projet vienne se rajouter, et un sous-module du nom de notre projet Eclipse sera automatiquement créé !

JDT

Pour les curieux, le New & Noteworthy complet est ici !

Categories
Eclipse

2 nouveaux étages à la tour de Babel

Le projet Babel avance à grands pas !

  • Avant-hier, gros boost du côté du nombre de traductions disponibles, puisque Denis Roy a fait tourner un script qui a permis de réimporter l’ensemble des traductions déjà effectuées par IBM pour la version 3.2 d’Eclipse.
    Au total, cela fait plus de 20.000 clés supplémentaires, en près de 20 langues différentes, par version d’Eclipse (Babel gère à l’heure actuelle les traductions pour Eclipse 3.3 et 3.4) !
  • Et hier, ce sont les premier nightly builds des features de localisation qui ont fait leur apparition.
    Un update-site –http://download.eclipse.org/technology/babel/update-site/– vous permet de les intégrer facilement à votre environnement de développement. Attention, Denis Roy signale que l’on peut, pour l’instant, se retrouver confronté à des problèmes d’encoding sur certaines traductions.
    Pour les petits curieux qui voudraient savoir ce qui se cache derrière le front-end Web (en GWT) de Babel, un dump “brut” de la base MySQL est aussi réalisé chaque nuit… 😉
Categories
Eclipse

Higgins, plateforme pour l’identité numérique

Le 21 février sortait la version 1.0 du framework Higgins.

Longtemps attendue (la revue de création du projet –qui s’appelait alors ETF, Eclipse Trust Framework– a été faite en… avril 2005 !), cette plateforme de gestion de l’identité numérique voit donc enfin le jour !

L’objectif d’Higgins est de faciliter l’intégration des différentes solutions de gestion de l’identité dans un contexte réseau. Cet objectif est double : il s’agit de simplifier la vie de l’utilisateur final (widgets d’authentification homogènes quel que soit le média : RCP, web, …), mais aussi celle du concepteur/développeur d’applications qui est confronté à des problématiques de gestion de l’identité (authentification, profils, …).

Higgins et l’utilisateur finalsxipper_screenshot

L’idée générale est d’amener des mécanismes d’IHM génériques (i.e. indépendants de la plateforme : Web, RCP, …) pour choisir l’identité que l’on veut utiliser dans un contexte donné.
C’est exactement comme dans Sxipper (voir la capture d’écran à droite), pour ceux qui connaissent.

Higgins et le développeur

Du côté du développement, Higgins prévoit d’amener (et amène déjà), les mécanismes nécessaires à l’implantation de la notion d’identité dans une application.
En particulier, HGG (Higgins Global Graph) est le modèle qui a été conçu pour permettre l’intégration et l’unification de données hétérogènes représentant des “identités”. La description d’un mapping données legacy—données “identity” se fait à la mode RDF (Resource Description Framework), et on vient ainsi décrire des liens entre personnes et/ou “entités” (Dupont appartient au département R&D, Dupont connaît Dupond, …).
Higgins doit être vu comme un framework permettant d’implémenter des “identity providers” de manière générique (i.e. sans se lier à une techno. spécifique, du type OpenID, LDAP, ou autre…).

Même si, à mon sens, on n’a encore que peu de visibilité sur ce que sera l’avenir d’Higgins, il suffit de regarder les parties impliquées dans le développement pour se dire qu’il y a de quoi être optimiste : Novell, IBM, Oracle, Google, … 😉
Aussi, et comme souvent dans le monde Eclipse : affaire à suivre !…