Aricie
The DNN Expert for your web project
Aricie Blog

DNN 6.2 - modules sociaux et réécriture d'url

May 29 2012

L'arrivée imminente de DotNetNuke 6.2 s'accompagne d'une communication accrue sur les fonctionnalités sociales du CMS. Ces évolutions nous intéressent particulièrement chez Aricie car elles auront un impact sur ce que nous pourrons proposer à nos clients mais aussi parce que nos modules vont devoir gérer ces fonctionnalités. Aussi je vous propose de faire un tour d'horizon de ce que DotNetNuke 6.2 va proposer et la manière dont notre module de réécriture d'url Friendlier Url Provider (FUP) va pouvoir vous aider à gérer ces composants sociaux le plus rapidement possible.

Nouveautés sociales DotNetNuke 6.2

Les composants sociaux de DotNetNuke sont principalements dominés par le concept de flux d'activité, un module qui présente l'ensemble des opérations effectuées par un utilisateur ou dans le cadre d'un groupe d'utilisateur.

Journal DotNetNuke 6.2

Si l'utilisateur peut directement publier des messages dans son flux d'activité, les modules installés sur le site bénéficient eux aussi de cette fonctionnalité. Ainsi un post dans un forum ou un article de blog apparaitront dans l'activité de l'utilisateur qui les crée, ou du groupe qui est concerné par ces messages. On verra donc dans le Journal apparaitre des liens vers des contenus gérés par d'autres parties du site.

Avec ce module, DotNetNuke permet aux propriétaires de sites de créer facilement des communautés regroupées autour d'intérèts communs; que ce soit pour le travail en équipe ou pour des regroupements d'utilisateurs autour de sujets particulier, le Journal deviendra sans doute la colonne vertébrale d'un site DotNetNuke faisant usage des composants sociaux.

En parallèle du Journal, DotNetNuke va proposer un Centre de messages qui permet de réunir deux usages: la communication entre les utilisateurs et la gestion des notifications.

Centre de messages DNN 6.2

Les utilisateurs pourront communiquer directement via des fils de discussion gérés par DotNetNuke. A l'inverse du Journal dont les entrées peuvent être configurées pour être visibles par différentes personnes, les messages sont destinés à la communication inter-utilisateurs uniquement.

Un autre élément important du centre de messages est la gestion des notifications. Des modules tiers peuvent désormais avertir un utilisateur d'informations qui lui sont propres; de la même manière que le module de blog peut indiquer la publication d'un article dans le Journal, il peut aussi avertir un administrateur qu'il lui faut valider cet article avant publication.

La gestion des groupes sociaux est gérée par un module qui travaille sur la base des rôles de DotNetNuke; le groupe est tout simplement un rôle qui est assigné à plusieurs utilisateurs.


Groupe DNN 6.2

La dernière brique des composants sociaux est un module permettant à chaque utilisateur de gérer les relations qu'il entretient avec d'autres utilisateurs du site.

Répertoire d'utilisateurs

Les composants sociaux et FUP

Si on regarde ces composants, on voit très vite que le plus important du point de vue de la gestion des urls et de leur réécriture va être le module Journal. Il est la colonne vertébrale de la journalisation des activités via la publication d'urls en provenance de nombreux modules tiers. Voyons comment Friendlier Url Provider (FUP) est en mesure dès aujourd'hui de gérer les informations en provenance du Journal.

FUP fonctionne sur un principe de briques de réécriture. Des providers prennent en charge certaines réécritures en se basant sur les valeurs comprises dans l'url. Ces providers peuvent ensuite être rattachés à différents scénarios et effectuer leur tâche de réécriture dans différents cas.

Provider de blog FUP

Par exemple, un provider capable de réécrire le paramètre identifiant utilisateur (userid) d'une url avec le login de l'utilisateur en question peut être utilisé sur le module de forum et le module de blog. Dans les deux cas, la réécriture sera la même, seule la configuration de l'endroit ou la réécriture aura lieu sera différentes; pour le blog le nom de l'auteur sera placé de manière proéminente dans l'url, alors que dans le forum il figurera en position moins critique...

Cette construction fait que FUP peut prendre en charge la réécriture des urls du Journal de DotNetNuke 6.2 dès sa sortie. Il suffit de configurer FUP pour charger les providers des modules qui apparaitront dans le Journal pour que ce dernier soit capable de gérer la réécriture d'url pour des modules qu'il ne connait pas encore.

Module Journal et ses providers

Grâce à cette fonctionnalité, FUP vous permet de gérer immédiatement les modules sociaux de DotNetNuke 6.2 grâce aux providers qu'il prend déjà en charge, et vous pouvez écrire vos providers simplement grâce à notre API de providers simples.

Des limites

DotNetNuke 6.2 utilise intensément dans ses nouveaux modules un framework de gestion d'interface nommé KnockoutJs , chargé de simplifier la gestion des interfaces utilisateurs et qui fonctionne en javascript sur le navigateur client. Certains modules voient ainsi la gestion de leurs urls déportées dans la partie cliente de l'interface; en particulier le centre de messages fait une utilisation très importante de KnockoutJs pour gérer les différentes vues que vous pouvez avoir sur les messages. Ces urls ne peuvent pas aujourd'hui être réécrites par les mécanismes standards de DotNetNuke et ne sont donc pas pris en charge par FUP.

De la même manière, la version RC de DotNetNuke 6.2 présente encore quelques problèmes. Certaines urls ne sont pas passées aux mécanismes de réécriture quand elles arrivent dans le Journal, par exemple; d'autres urls ne doivent pas être réécrites du tout sous peine de créer des problèmes pour KnockoutJs. Bref tous les problèmes n'ont pas encore été réglés et quelques détails empèchent parfois l'utilisateur d'arriver au bout du chemin qu'il a pris. Oops

Et après la sortie...

Néammoins la sortie de DotNetNuke 6.2 et de ses nouvelles fonctionnalités nous apporte plusieurs bonnes nouvelles. D'abord, DotNetNuke bouge à toute vitesse dans une direction qui nous parait très intéressante; même si certains modules devront sans doute être raffinés avec les retours utilisateurs (on peut regretter la granularité encore trop grosse du flux d'activité par rapport à d'autres solutions) ils permettent dès aujourd'hui de mettre en place l'infrastructure sociale de vos sites. Ensuite, nos modules prouvent que leur architecture est prête à s'adapter à ces évolutions tout aussi rapidement, un gros avantage pour pouvoir avancer au même rythme que DotNetNuke. Une perspective prometteuse!

Dans mon prochain article, je ferai un point sur l'écriture de providers pour rappeller comment utiliser les mécanismes de l'API de providers simples.

Bloggers
Jesse's blog
 Jesse
 1  9  12/6/2014
Musings without a muse
 samyb
 6  99  1/3/2013
Stephane DNN Blog
 Stéphane TETARD
 1  4  4/23/2012
Categories