JCMS 7 : les principales nouveautés et les modules associés

1. Les espaces collaboratifs

1.1 Le module Espaces Collaboratifs

Le module Espace Collaboratif est au coeur des usages collaboratifs dans JCMS. Il a été entièrement repensé afin d’être plus ergonomique et administrable en front-office.

Un nouvel assistant permet l’ouverture d’un espace collaboratif en quelques clics. Après avoir indiqué le nom de l’espace, son descriptif et la politique d’accès, l’utilisateur choisit un modèle d’espace et termine en invitant des membres à rejoindre ce nouvel espace. Si l’utilisateur dispose des droits appropriés, l’espace est directement créé et opérationnel. Sinon, une demande d’ouverture est soumise à un workflow. Une fois la demande acceptée, l’espace est créé et l’utilisateur est prévenu par e-mail.

Fig. 1. Le nouvel assistant permet l’ouverture d’un espace collaboratif en trois étapes.

Au sein de l’espace, l’administrateur gère les utilisateurs qui y participent. Pour cela, il peut choisir différentes politiques d’inscription : inscriptions libres, soumises à validation ou uniquement gérées par l’administrateur. Il peut aussi envoyer des invitations.

Fig. 2. L’administrateur dispose d’une interface simple pour gérer les membres de son espace.

Un espace collaboratif est toujours créé selon un modèle qui définit notamment les services qui le composent. On trouve ainsi des services de base (derniers contenus, workflows, glossaire, ...) ainsi que les services apportés par les différents modules JCMS (agenda, activité des membres, wiki, gestion documentaire, boîtes à idées, ...)

Fig. 3. L’administrateur sélectionne les services qu’il souhaite ajouter dans son espace.

Enfin, l’administrateur de l’espace peut configurer son espace (accès public/privé, mode d’inscription, ...), définir la mise en page ainsi que l’habillage (choix du bandeau, des couleurs, ...)

Fig. 4. L’interface de paramétrage de l’espace collaboratif.

1.2 Calendrier

1.2.1 Portlet calendrier

Toutes les fonctions de calendrier ont été placées dans le module Calendrier. Les interfaces ont été modernisées et revues afin d’être plus simples et plus ergonomiques. L’interface de la vue détaillée de la portlet calendrier permet de créer des événements, de les déplacer par simple glisser/déposer, de filtrer et de faire des recherches.

Fig. 5. La nouvelle portlet Calendrier.

1.2.2 Les événements de calendrier

L’édition d’un événement se fait dans un formulaire à étapes qui apparait dans une fenêtre modale.

Fig. 6. Le formulaire d’ajout d’un événement.

Les événements de calendrier ont été enrichis. On peut associer à un événement un lieu, des ressources et des documents. On peut aussi définir des événements sur la journée, des événements privés et des événements répétitifs (p. ex. tous les lundis de 14h à 15h). Dans ce dernier cas, il est possible de définir des exceptions.

Fig. 7. Le nouveau gabarit d’affichage des événements de calendrier.

1.2.3 Les ressources d’événement

Des ressources peuvent être réservées pour l’événement. Les ressources peuvent être de nature variée : salles de réunion, vidéo projecteurs, véhicules, système de téléconférence, ... Le type Ressource d’événement permet d’en créer rapidement avec une structure simple (titre, caractéristiques, localisation et photo). Si cela s’avère nécessaire, il est possible de définir des sous-types. Chaque ressource a son propre agenda qui est utilisé pour connaitre ses dates de disponibilité.

Fig. 8. Le planning des ressources.

Une fois l’événement créé, chaque participant reçoit une invitation par e-mail. S’il l’accepte, il sera ajouté dans la liste des participants confirmés.

1.2.4 La planification d’événements

Le service de planification d’événement s’inspire du service en ligne doodle.com qui offre une façon originale de convenir d’une date entre plusieurs personnes. L’organisateur de la réunion indique les dates envisagées et sélectionne les participants. Chaque participant reçoit un e-mail qui l’invite à indiquer ses disponibilités pour chacune des dates. Une fois que tous les participants ont fait leur choix, l’organisateur sélectionne l’une des dates, ce qui déclenche la création automatique de l’événement de calendrier correspondant. Les participants sont alors prévenus de la date finalement retenue.

Les planifications en cours peuvent être affichées dans les calendriers. Une portlet est aussi disponible pour rapidement consulter l’ensemble de ses planifications et leur état d’avancement.

Fig. 9. Le service de planification d’événement permet de convenir d’une date entre plusieurs participants.

1.3 Wiki

Le module Wiki est un système d’édition collaborative très simple qui peut être utilisé au sein d’un espace collaboratif. JCMS 7 apporte plus de souplesse aux rédacteurs utilisant les zones de saisie Wiki.

Dès qu’une page Wiki comporte beaucoup de contenus, elle est généralement organisée en sections. Le rédacteur peut maintenant éditer le contenu d’une section précise simplement en cliquant sur l’icone d’édition associée. L’édition se fait directement dans la page. La zone d’édition apparaît en remplacement de la section sélectionnée.

Dans les précédentes versions, la fonction de prévisualisation ouvrait une nouvelle fenêtre pour faire apparaître le texte mis en forme. Afin d’éviter l’ouverture et la fermeture de cette fenêtre, le rédacteur peut maintenant basculer en mode prévisualisation. La zone d’édition est alors remplacée par le texte mis en forme. Dès qu’il appuie à nouveau sur l’icône de prévisualisation, la zone d’édition réapparaît.

A l’édition, le rédacteur dispose de fonctions d’auto-complétion. Il peut ainsi insérer rapidement un lien vers une donnée telle qu’une autre page Wiki, un document, le profil d’un membre,... Il peut aussi utiliser ce menu pour insérer des balises de traitement telles que la table des matières, des figures, le lecteur de vidéo, ou l’une des nouvelles balises disponibles (galerie d’images, résultats d’une recherche, portlet, ...) Enfin, les images insérées dans les pages Wiki peuvent être redimensionnées en indiquant simplement la largeur ou la hauteur désirée.

Fig. 10. Exemple d’édition wiki par section et insertion d’un lien vers un membre avec l’auto-complétion.

1.4 Suivi des publications

En complément des fonctions de notifications existantes, JCMS 7 propose un nouveau système de suivi des mises à jour sur une publication. En cliquant sur l’icône , le membre intéressé par les évolutions sur un contenu recevra un e-mail à chaque modification. Il sera prévenu aussi de l’ajout d’avis ou de commentaires.

Fig. 11. Le suivi des publications permet d’être alerté à chaque modification d’un contenu.

1.5 Suivi de projet (module Gantt)

Le module Gantt fournit un système de gestion de projet sous forme d’un diagramme de Gantt. Il n’a pas vocation à remplacer les applications dédiées à ce domaine, telles que Microsoft Project, mais fournit les éléments nécessaires pour suivre l’avancement de petits projets. Il peut d’ailleurs importer et exporter des projets au format Microsoft Project.

La portlet Mes projets permet d’accéder aux projets déjà créés et d’en créer de nouveaux. La création d’un nouveau projet se fait avec un assistant dans lequel on précise toutes les facettes du projet à suivre.

Fig. 12. L’assistant de création de projet.

Une fois le projet créé, on définit les tâches et les membres associés à ces tâches ainsi que leur taux d’affectation. Les tâches peuvent être composées de sous-tâches et dépendre d’autres tâches. Le gabarit d’affichage du projet affiche l’arborescence de tâches ainsi que le planning sous forme d’un diagramme de Gantt.

Fig. 13. Exemple de suivi de projet.

Les participants aux projets peuvent renseigner le temps passé sur chaque tâche. Et il est possible de consulter l’occupation de l’ensemble des participants et le taux d’avancement du projet

Fig. 14. Affichage du taux d’occupation de chaque ressource.

1.6 Espaces Hiérarchiques

Le module Espaces Hiérarchiques a été réintégré nativement dans JCMS 7. Un administrateur d’espace de travail peut créer des sous-espaces de travail qui eux-mêmes peuvent être composés de sous-espaces.

L'ergonomie de sélection de l’espace de travail courant a aussi été revue. Ainsi, si un utilisateur appartient à plus de vingt espaces (quantité paramétrable via la propriété hierarchical-ws.menu-limit), l’interface de sélection de l’espace n'est plus basée sur un menu avec la liste des espaces, mais propose une fenêtre modale avec une zone de saisie prédictive de l’espace choisi et la liste des derniers espaces visités.

Fig. 15. L’interface de sélection d’un espace s’adapte à la quantité d’espaces auxquels appartient un utilisateur.

2 Les espaces de conversations

Le module Espaces de conversations apporte une nouvelle dimension conversationnelle à JCMS. Il met en relation des membres autours d’une thématique. D’une certaine manière, il est le successeur des traditionnels forums. Le module propose actuellement deux types d’espace de conversations : les boîtes à idées et les FAQ Collaboratives.

Un espace de conversations est géré par un (ou plusieurs) animateurs. Il est aussi possible de préciser un groupe d’experts. Les utilisateurs démarrent une conversation autour d’une thématique, typiquement une idée ou une question. Les autres membres peuvent y participer à plusieurs niveaux : en publiant des réactions, des réponses, des remarques mais aussi en votant. De ces votes émergeront les idées les plus intéressantes, les questions les plus pertinentes et les meilleures réponses. Ainsi, tous les utilisateurs participent à la valorisation de l’information.

Fig. 16. La page d’accueil d’une FAQ Collaborative.

2.1 Boîtes à idées

Dans une boîte à idées, les participants suggèrent des idées. Ils associent à leur idée un descriptif contenant éventuellement des médias (documents, images, vidéo), des catégories, des mots-clés (tags). Les autres membres votent pour ou contre cette idée et publient leurs réactions à cette idée. Ils peuvent aussi voter pour ou contre les réactions des autres membres et faire des remarques sur l’idée et les réactions afin de se faire préciser certains points. Enfin, les animateurs de l’espace gèrent le cycle de vie des idées au travers de statuts (idée retenue, planifiée, réalisée, ...)

Fig. 17. Exemple de conversation autour d’une idée.

2.2 FAQ Collaborative

Dans une FAQ Collaborative, les membres posent des questions. Comme pour les idées, les questions sont catégorisées, accompagnées d’un descriptif et de mots-clés. Les membres votent pour évaluer la pertinence de la question et y apportent leurs réponses. Ils peuvent aussi voter pour les réponses des autres membres. Par défaut, toute réponse apporte un point à son auteur (paramétrable). Enfin, l’auteur de la question ou l’animateur peuvent choisir l’une des réponses comme étant celle qui répond le mieux à la question.

Fig. 18. Exemple de conversation autour d’une question.

2.3 Système de points

Afin d'augmenter la dimension ludique et de motiver les participants, chaque espace de conversations dispose d’un système de points paramétrable.

Les participants d’un espace de conversation peuvent gagner des points :

  • En recevant des votes sur leurs questions, idées, réponses, réactions. Les valeurs des points sont paramétrables.
  • Chaque réponse apportée dans une FAQ donne par défaut un point (paramétrable) à son auteur
  • Si une réponse de FAQ est choisie comme étant la meilleure, l’auteur de la réponse et l’auteur de la question gagnent 2 points.

Les points obtenus par un membre sont propres à chaque espace de conversation. Au sein d’une conversation, ils sont rappelés sous sa photo et dans son profil.

Fig. 19. La page profil d’un membre détaille les points qu’il a obtenus.

2.4 Tableau de bords

En page d’accueil d’un espace de conversation, apparaissent les meilleurs contributeurs de l’espace, les experts et les animateurs.

Fig. 20. Liste des meilleurs contributeurs, des experts et des animateurs.

Le profil d’un membre donne des statistiques sur sa participation dans un espace de conversations, sur les membres qui le suivent et sur ceux dont il suit les conversations.

Fig. 21. Profil d’un membre dans un espace de conversations.

Enfin, l’animateur d’un espace dispose d’un tableau de bord fournissant des statistiques sur l’ensemble de l’espace.

Fig. 22. Tableau de bord d’un espace de conversations (FAQ).

2.5 Notification

Afin de garantir une bonne réactivité des participants, des notifications sont envoyées par e-mail. Par défaut, tout contributeur reçoit des notifications des conversations auxquelles il participe. Pour chaque espace, il peut aussi demander à être notifié des nouvelles conversations.

2.6 Sécurité

Les espaces de conversations sont des types de contenus JCMS. En tant que tels, ils bénéficient de tous les contrôles d’accès proposés par JCMS. Il est donc possible de restreindre l’accès à un espace de conversations à un groupe particulier.

Sur des espaces ouverts au grand public, un système d’alerte peut être mis en place afin de permettre aux utilisateurs de signaler aux animateurs tout contenu inapproprié. Au bout de 3 alertes, le contenu est passé dans un workflow de modération.

Enfin, les animateurs ont tout pouvoir sur l’espace de conversations. Ils peuvent éditer et supprimer toutes les conversations.

2.7 Intégration avec les autres modules JCMS

2.7.1 Jalios ESN

Le module Espace de conversations ajoute l’onglet Conversations dans le profil ESN d’un membre. Cet onglet liste l’ensemble des espaces de conversations auxquels il participe.

Fig. 23. La liste des espaces de conversations auxquels participe le membre.

2.7.2 Module Espaces collaboratifs

Via la Portlet Espace de conversations, il est possible d’ajouter des boîtes à idées et des FAQ collaboratives dans les services d’un espace collaboratif. Si l’espace collaboratif est privé, tout le contenu de l’espace de conversations le sera aussi.

2.7.3 Module Bureau Personnalisé

La portlet Espace de conversations peut aussi être placée dans le bureau personnalisé du membre. Dans ce cas, elle liste les dernières conversations de tous les espaces auxquels participe le membre. Elle permet aussi de poser rapidement une nouvelle question ou de publier une nouvelle idée.

Fig. 24. La portlet Espace de Conversations liste les dernières idées et questions des espaces de l’utilisateur.

2.7.4 Module iPhone

Enfin, les espaces de conversations sont accessibles depuis un smartphone (iPhone ou Android) dès lors que le module iPhone est installé. L’interface proposée permet de consulter, de voter et aussi de contribuer dans chacun des espaces. Voir la section 5.2.3.

3 Gestion documentaire

JCMS propose de nombreuses fonctions documentaires (dépôts, édition, verrouillage, workflow, ...). JCMS 7 apporte plusieurs améliorations tant techniques que fonctionnelles.

3.1 Les DB Documents

Dans les précédentes versions de JCMS, toute la gestion documentaire était prise en charge par le type Document. Un document contient les métadonnées associées au fichier (titre, auteur, catégories, droits, ...) et le chemin du fichier. Le fichier est stocké dans une arborescence de dépôt gérée par JCMS et conçue pour tenir une grande volumétrie. Mais du fait du stockage dans JStore, si l’accès à ces documents est très performant, leur nombre reste limité à quelques centaines de milliers.

JCMS 7 repousse ces limites en permettant de gérer plusieurs millions de documents. Pour ce faire, il propose le nouveau type DBDocument qui stocke les métadonnées associées au fichier dans JcmsDB, la base de données de JCMS. Les fichiers restent toujours stockés dans l'arborescence de dépôt.

Fonctionnellement les DBDocument disposent de l'essentiel des fonctionnalités des Documents :

  • Métadonnées
    • titre, description, auteur, date de création, de modification, ...
    • catégorisation
    • versions majeures et mineures
    • droits d’accès
  • Suivi des lectures
  • Historisation des versions
  • Indexation et recherche multicritères
  • Workflow
  • Verrouillage
  • Edition par WebDAV
  • Edition par l’Add-In Microsoft Office
  • Accès OpenAPI

Les limites sur les DBDocument sont les mêmes que pour toutes les publications stockées dans JcmsDB (cf. section 7.1).

Enfin, il est à noter que les deux types Document et DBDocument peuvent coexister.

3.2 Dépôts multiples

JCMS 7 fournit une nouvelle interface de dépôt de fichier. Celle-ci permet de sélectionner plusieurs fichiers à déposer en même temps. Avec certains navigateurs, il est possible de sélectionner les fichiers par glisser/déposer (voir la liste des navigateurs compatibles).

Une barre de progression affiche l’état d’avancement du dépôt pour chaque fichier.

Fig. 25. Nouvelle interface de dépôt de fichiers.

3.3 Editeur d’image

JCMS 7 propose un éditeur d’image permettant de recadrer et de faire pivoter les images. Après avoir effectué ses modifications, l’utilisateur peut choisir de créer une nouvelle image ou de modifier l’image de départ. Cette dernière option n’est possible qu’avec les images JPEG.

Fig. 26. L’éditeur d’image permet de recadrer et faire pivoter les images.

3.4 Poids des documents

L’interface Tableau de bord, présente dans les espaces de travail, dispose d’un nouvel onglet Documents qui liste pour chaque type de document (PDF, MS Word, Excel, ...) le poids de tous les fichiers de ce type présents dans cet espace. Cette fonction est aussi proposée dans la zone d’administration pour consulter le poids des fichiers de tout un site JCMS. Les chiffres affichés ne tiennent pas compte des fichiers associés (vignette, PDF, SWF, ...) ni des précédentes versions gardées.

Fig. 27. L’onglet Documents du tableau de bord indique le poids des documents de l’espace.

3.5 Verrouillage

Afin d’éviter les modifications concurrentes, JCMS permet de verrouiller un document en édition. Contrairement aux verrous sur les autres types de contenus, ils ne sont pas uniquement informationnels et empêchent toute édition du document. Seuls les administrateurs d’espaces de travail et les administrateurs centraux peuvent forcer le relâchement de ces verrous.

L’édition par WebDAV et l’édition par l’add-in Microsoft Office utilisent ces verrous. Les prises et relâchement de verrous pouvant être fréquents, ces verrous sont désormais stockés dans JcmsDB.

La liste des documents verrouillés apparait dans l’onglet Documents des tableaux de bord de l’espace de travail.

3.6 Traitement et indexation des fichiers

JCMS 7 intègre nativement un système de traitement des fichiers permettant de déclencher des actions lorsque des fichiers sont déposés dans JCMS. Cette fonctionnalité était précédemment proposée par le module Indexation des fichiers et utilisée par plusieurs modules dont le module de conversion PDF et le module d’import des fichiers. Ces derniers ne sont donc plus dépendants de ce module. Par ailleurs, le module indexation des fichiers n’est plus utilisable dans JCMS 7 et a été remplacé par le module Indexation des documents.

Il est aussi possible d’utiliser ce système pour superviser d’autres répertoires dans lesquels arrivent des fichiers. C’est par exemple ce que font le module Imports de document et le module Kofax.

Fig. 28. L’interface Traitements des fichiers permet de superviser l’état de tous les fichiers.

3.7 Module Visionneuse de documents

Le module Visionneuse de documents intègre dans la page d’affichage d’un document une visionneuse qui permet de feuilleter le document. La visionneuse n’affiche pas directement le document mais une version convertie en SWF. Pour faire cette conversion, le module déclenche un programme externe, tel que l’utilitaire pdf2swf. Dans ce cas d’usage seuls les fichiers PDF peuvent être visualisés. Aussi, pour que les autres types de documents (MS Word, Excel, PowerPoint) bénéficient de la visionneuse, il faut installer le module de conversion PDF.

Grâce à la visionneuse, il est de moins en moins nécessaire d’ouvrir les documents dans leur application d’origine pour les consulter. Aussi, par défaut, JCMS est paramétré pour que l’utilisateur soit redirigé sur la page d’un document lorsqu’il clique sur le lien d’un document plutôt que de déclencher son téléchargement. Néanmoins, ce comportement peut être modifié via la propriété file-document.default-detail-view.

Fig. 29. La visionneuse permet de consulter un document directement dans la page.

4 Bureau Personnalisé

Le module Bureau Personnalisé met à la disposition de chaque membre une page portail personnelle dans laquelle il choisit les services qu’il souhaite utiliser. Ces services sont représentés par les différentes portlets disponibles sur le site (flux RSS, agenda, annuaire, conversations, tâches, favoris, ...)

La nouvelle version du module permet de passer tout service en vue élargie. Il occupe alors tout l’espace du bureau personnel. Dans ce cas, ce n’est plus le gabarit box mais le gabarit full de la portlet qui est utilisé.

4.1 Flux RSS

Les flux RSS sont un composant essentiel du bureau personnel. Dans JCMS 7, le nouveau moteur d’analyse des flux est plus robuste aux flux mal formatés et supporte les flux Atom en plus des flux RSS. La portlet RSS propose une vue élargie en plus de la vue en boîtes pour naviguer dans les articles du flux. Enfin, JCMS grise les articles déjà consultés afin de repérer rapidement les nouveaux articles.

Fig. 30. Dans le bureau personnel, les flux RSS peuvent être consultés en vue élargie.

4.2 Module Microsoft Exchange

Le module Microsoft Exchange fournit 5 portlets qui permettent d’intégrer dans son bureau personnel (ou dans tout autre partie du site) les outils de la messagerie Microsoft Exchange (mail, contacts, agenda et tâches)

La nouvelle version de ce module est désormais compatible avec les Microsoft Exchange 2007 et 2010 grâce à l’utilisation des Exchange Web Services. La compatibilité avec Exchange 2003 est encore proposée via le connecteur SyncEx. Enfin, quelle que soit la version d’Exchange utilisée, le module propose une portlet permettant d’intégrer le service OWA (Outlook Web Access) dans son bureau personnel tout en gérant l’authentification unique.

Fig. 31. La portlet OWA dans le bureau personnalisé.

4.3 Module Lotus Notes

Le module Lotus Notes propose à l’instar du module Microsoft Exchange l’accès aux 5 services de la messagerie IBM Lotus Notes depuis son bureau personnalisé : les e-mails, les contacts, l’agenda, les tâches et le bloc-notes. Deux jeux de portlets sont proposés pour afficher ces services. Par ailleurs, il propose aussi la recherche dans les bases Notes et l’import de base Notes.

4.3.1 Les portlets iNotes

Ces portlets insèrent les services iNotes Web Access au sein du bureau personnel tout en proposant l’authentification unique. Il est possible d’avoir soit une seule portlet incluant tous les services (mails, calendrier, tâches, ...) soit une portlet par service.

Fig. 32. Les portlet iNotesdans le bureau personnalisé.

4.3.2 Les portlet Lotus Note

Ces portlets remontent les informations de chaque service (mail, calendrier, tâches, ...) en interagissant avec le serveur Domino via le Jalios Notes Agent. Cet agent est fourni en accompagnement du module. Il doit être installé et configuré sur le serveur Domino.

Fig. 33. Les portlet Lotus Notesdans le bureau personnalisé.

4.3.3 Recherche

Le module Lotus Notes permet aux utilisateurs d’étendre leurs recherches textuelles à des bases Notes. Ces bases doivent avoir été déclarées dans le module. Par ailleurs, l’utilisateur doit avoir le droit d’effectuer des recherches dans ces bases. La recherche nécessite la présence du Jalios Notes Agent dans le serveur Domino.

Fig. 34. La recherche peut être étendue à des bases Lotus Notes.

Les résultats issus des bases Notes apparaissent avec l’icone . Si un mapping a été défini avec un type JCMS, ils peuvent être consultés directement dans le portail JCMS sinon ils seront affichés dans l’interface Web de Lotus Notes.

Fig. 35. Affichage des résultats d’une recherche dans des bases Lotus Notes.

4.3.4 Import de base Notes

Le module propose une fonction pour importer dans JCMS tout le contenu de bases Lotus Notes. L’import nécessite de définir un mapping entre les types de Document Lotus Notes et les types de Contenu JCMS. Pour les cas simples, ce mapping peut se faire via des propriétés. Pour les cas plus complexes, il est possible de définir une classe Java chargée du mapping (NotesImportHandler).

Fig. 36. La fonction import permet d’importer le contenu d’une base Lotus Notes dans JCMS.

5 Module iPhone

Le module iPhone apporte l’ensemble des services présents dans un intranet JCMS aux utilisateurs mobiles utilisant des smartphones iPhone ou Android.

Il s’agit d’une application Web et non d’une application native. L’utilisateur n’a donc pas à faire d’installation. Néanmoins, un effort particulier a été mené pour donner à cette application Web le comportement et la réactivité d’une application native.

Ce module propose un ensemble de services de base et accueille les services des autres modules JCMS.

5.1 Les services de base

5.1.1 Authentification et page d’accueil

L’accès au site via le smartphone nécessite d’être authentifié. Le module fournit une interface d’authentification adaptée à la taille de l’écran. Après s’être authentifié, l’utilisateur arrive sur une page d’accueil qui liste l’ensemble des services auxquels il a accès (en fonction des modules installés et de ses droits)

Fig. 37. Les écrans d’authentification et page d’accueil avec la liste des services.

5.1.2 Recherche

L’interface de recherche permet de rechercher dans l’ensemble des contenus présents dans le site JCMS et pour lesquels le membre a les droits de consultation.

Fig. 38. L’interface de recherche.

5.1.3 Affichage d’un contenu

L’affichage des contenus est adapté à la taille des écrans des Smartphones. Pour les documents, des liens ouvrent le fichier et la version PDF si elle existe. L’affichage est extensible. Par exemple, le module DB Commentaires insère un lien vers les commentaires associés au contenu.

Fig. 39. Affichage d’un contenu et d’un document.

5.1.4 Workflow

Avec le service Workflow, l’utilisateur peut valider les contenus et les formulaires qui lui sont soumis et sur lesquels il travaille.

Fig. 40. Le service Workflow permet de valider les contenus et les formulaires.

5.1.5 Administration

Le service Administration est réservé aux administrateurs centraux. Il leur donne des informations sur la supervision du site (état, journal des événements, ...)

Fig. 41. L’interface d’administration donne des informations sur le fonctionnement du site.

5.2 Les services additionnels

5.2.1 Module Annuaire

Le module Annuaire propose la recherche dans l’annuaire des membres et des contacts. La fiche d’une personne contient ses informations, ses coordonnées cliquables (appel téléphonique, envoi de SMS, de mail, plan de l’adresse) et aussi des points d’entrée additionnels. Par exemple le module ESN ajoute un lien vers l’activité des membres.

Fig. 42. La recherche dans l’annuaire et l’affichage du profil d’un membre.

5.2.2 Module Calendrier

Avec le module Calendrier l’utilisateur peut consulter ses prochains rendez-vous.

Fig. 43. L’agenda liste les prochains événements auxquels participe le membre.

5.2.3 Module Espace de conversations

Le module Espace de conversations fournit un accès complet aux FAQ collaboratives et aux boîtes à idées. L’utilisateur peut consulter les dernières conversations, réagir, voter, répondre, proposer de nouvelles idées et poser des questions.

Fig. 44. Les espaces de conversations.

5.2.4 Jalios ESN

Jalios ESN fournit les services pour suivre l’état des membres de son réseau de relation, consulter leur activité et mettre à jour son statut.

Fig. 45. Suivi de l’activité et de son réseau de relation.

5.2.5 Module Gestion de tâches

Le module Gestion de tâches ajoute un service pour consulter ses listes de tâches mais aussi pour les gérer (ajout, modification, suppression).

Fig. 46. Gestion des tâches.

5.2.6 Module Bureau Personnalisé

Enfin, le module Bureau Personnalisé propose à l’utilisateur de retrouver sur son smartphone tous les flux RSS qu’il a placés dans son bureau personnalisé.

Fig. 47. Consultation des flux RSS.

6 Administration et exploitation

6.1 ACL

JCMS 7 dispose d’un nouveau système de contrôle d’accès aux fonctions avancées du site : les ACL. Les ACL (Access Control List) ne remplacent pas mais complètent le système de droits sur les données (publications, catégories, espaces de travail, ...) en permettant de choisir précisément qui a accès aux fonctions d’administration techniques et fonctionnelles.

Les ACL ne remettent pas en cause le rôle de l’administrateur qui garde un accès complet à toutes les fonctions du site. Par contre, elles permettent de déléguer la gestion d’une partie du site à des utilisateurs bien identifiés. Par exemple, on donnera à certains utilisateurs fonctionnels la responsabilité de gérer les comptes utilisateurs et à d’autres utilisateurs plus techniques l’accès aux fonctions de supervision du site.

Le principe général consiste à définir des listes de contrôle d’accès (ACL). Une ACL donne accès à un ensemble de fonctions. On associe ensuite l’ACL à un groupe. Toutes les personnes appartenant à ce groupe bénéficient de l’ACL.

Afin de rendre les ACL plus simples à gérer, les fonctions proposées sont regroupées en arborescence. En donnant accès à un niveau, on donne accès à tous les sous-niveaux. Toutes les fonctions proposées dans les espaces d’administration et dans l’administration des espaces de travail peuvent être affectées. Dès qu’un membre dispose d’un accès à l’une des fonctions de l’espace d’administration il a accès à cet espace mais il ne voit aucune des autres fonctions auxquelles il n’a pas accès.

Fig. 48. Les fonctions soumises aux ACL sont organisées en arborescence.

Une fonction d’audit permet d’afficher l’ensemble des accès dont dispose un membre ou un groupe. A l’inverse, il est aussi possible de connaître l’ensemble des membres ayant accès à une fonction donnée.

Fig. 49. L’interface de gestion des ACL permet d’auditer les accès des groupes et des membres.

Le système d’ACL est extensible. Chaque module peut apporter ses propres fonctions soumises aux ACL. Par exemple, le module Espaces Collaboratifs permet d’affecter dans une ACL le droit de création d’un nouvel espace collaboratif.

6.2 Script de déploiement

JCMS 7 propose un nouveau système de déploiement en remplacement du DeployManager. Ce système ne peut être utilisé qu’avec les sites JCMS fonctionnant sur un serveur Unix ou Windows 2008. Les sites utilisant Windows 2003 peuvent continuer d’utiliser le DeployManager.

Ce système repose sur une nouvelle organisation de la webapp dans laquelle les fichiers applicatifs sont physiquement séparés des fichiers de données. La liaison entre ces deux espaces est réalisée avec des liens symboliques. Les fichiers de données sont regroupés dans les 3 répertoires suivants :

  • WEB-INF/data : contient entre autre, le store, les propriétés, les logs, les statistiques, ...
  • upload : contient l’ensemble des fichiers déposés sur le site
  • archives : contient toutes les publications archivées

Fig. 50. La nouvelle organisation des fichiers de la webapp pour le script de déploiement.

Contrairement au DeployManager qui déploie un delta de changement, le nouveau script de déploiement déploie une archive de webapp complète (un fichier WAR).

La tâche est donc simplifiée à la fois pour les équipes de développement qui n’ont qu’à donner leur webapp à déployer ; et pour les exploitants qui déploient cette webapp en une seule ligne de commande.

Pour plus de détails, reportez-vous au Manuel d’installation et d’exploitation de JCMS 7 qui décrit en détail cette nouvelle procédure de déploiement.

6.3 Export des statistiques d’accès

JCMS propose en standard des statistiques sur l'usage du site. Il s'agit de statistiques basique (nombre de visiteurs, contenus les plus consultés, mots les plus recherchés, ...). Pour certains usages, ces statistiques sont trop limitées, notamment s'il faut croiser plusieurs critères ou faire des analyses sur de grandes périodes. JCMS 7 propose une fonction d’export de l’ensemble des informations d’accès (date, membre, publication consultées, ...) afin de faire ces analyses dans des outils spécialisés.

La fonction d’export permet de préciser la période et l’espace de travail sur lesquels porte l’export. Par défaut l’export peut être fait au format CSV ou XML et il est possible de mettre en place d’autres formats d’export.

Enfin, la procédure d’export pouvant prendre un certains temps si les fichiers sont volumineux, le traitement se fait de façon asynchrone et le demandeur reçoit un mail lorsque les données exportées sont prêtes.

Fig. 51. Interface d’export des statistiques.

7 JcmsDB

7.1 Enrichissement des DB Publications

Depuis la version 6, JCMS dispose d’un stockage hybride avec le store et la base de données relationnelle (JcmsDB). Le store offre des temps d’accès très performants et permet de gérer un graphe d’objets à la structure riche. JcmsDB est destinée à accueillir les données volumineuses, plutôt périphériques et qui subissent de nombreuses mises à jour.

JCMS 7 lève plusieurs limitations fonctionnelles des publications stockées dans JcmsDB :

  • Volumétrie : JCMS 7 est conçu pour pouvoir gérer plusieurs millions de DB Publications tout en continuant d’offrir de bonnes performances (notamment lors des recherches).
  • Catégorisation : les DB Publications peuvent être catégorisées. Néanmoins certaines limites existent :
    • Pas d’affinement sur la catégorie courante pour les Portlets Requête/itération qui affichent des DB Publication
    • Pas d’affinement par catégories contextuelles
    • Portlet Explorateur : pas de multicatégorisation
  • Historisation et version : tous les changements sur une DB Publication peuvent être historisés. Chaque modification peut être marquée comme majeure ou mineure. On peut consulter l’ensemble des versions d’une DB Publication, faire des comparaisons et revenir à une version. L’historisation des versions pouvant engendrer une très grande volumétrie en base, elle n’est activée qu’à la demande de chaque type de publication. En standard, seul le type DBDocument en bénéficie.
  • Suivi des lecteurs : le suivi des lecteurs peut être activé sur les DB Publications. Le tri par nombre de lecteurs peut être activé pour les DB publications.
  • RightPolicyFilter : les DB Publication peuvent être soumises au contrôle d’accès dynamique des RightPolicyFilter (méthode canBeReadBy). Néanmoins, comme ce contrôle peut affecter les performances, le développeur doit préciser pour quel type de requête ce contrôle doit être fait (méthode callCanBeRead). Par exemple, une RightPolicyFilter portant sur le type Commentaire ne doit pas impacter les recherches sur les soumissions de formulaires.

JCMS 7 est conçu pour offrir des temps de réponses corrects même avec des requêtes portant sur de grands volumes de publications. Aussi, afin de pouvoir bénéficier des fonctionnalités avancées de recherche proposées par JCMS (recherches hybrides, multicritères, paginées, droits dynamiques, ...), le moteur de recherche privilégie le temps de réponse sur l’exhaustivité des résultats. Lorsqu’une recherche a été interrompue avant son terme, l’icone indique qu’il s’agit de résultats partiels. Plusieurs propriétés, permettent d’agir sur l’algorithme de recherche :

Propriété

Valeur par défaut

Rôle

dbpub.search.category.exact

false

false : comportement habituel de JCMS

true : toute recherche avec des catégories sera en mode catégorie exacte (plus performant)

dbpub.search.auth-group.parents (vide) Permet de définir une liste de groupes parents sur lesquels portera le contrôle des droits d'accès. Par défaut, la recherche utilise tous les groupes du membre. En précisant les groupes parents a contrôler, la recherche sera plus performante.

dbpub.search.max-pub

100000

Si une recherche paginée faisant intervenir les droits dynamiques porte sur plus de données que la valeur indiquée par cette propriété, la recherche est interrompue.

dbpub.search.fulltext.hits.timeout

5 secondes

Lors d’une recherche textuelle, si la recherche des résultats dépasse le temps indiqué par cette propriété, la recherche est interrompue.

dbpub.search.scroll.timeout

5 secondes

Lors d’une recherche textuelle, si le parcours de résultats dépasse le temps indiqué par cette propriété, la recherche est interrompue.

dbpub.search.scroll.pagesize

1000

Taille de pré-chargement des pages lors du parcours des résultats dans une recherche paginée.

dbpub.search.row-id-set.max

500

Taille maximum du buffer utilisé lors des chargements par lot d’identifiants.

 

7.2 Cache de second niveau

Pour augmenter les performances des recherches et de toutes les requêtes à JcmsDB, JCMS 7 intègre EHCache, un système de cache de second niveau pour Hibernate. JCMS 7 a été adapté pour rendre ce système compatible avec l’utilisation de JSync.

Hibernate gère un premier niveau de cache dans lequel il stocke les objets qui ont été chargés durant une session Hibernate. Par contre, si un même objet est utilisé lors d’une seconde session, Hibernate déclenche à nouveau une requête SQL pour le charger.

Le cache de second niveau gère les accès aux objets entre différentes sessions Hibernate. Il augmente ainsi les performances en évitant de recharger les objets précédemment utilisés.

EHCache met aussi en cache les requêtes SQL et leur résultat. Ainsi lorsqu’une requête déjà faite est à nouveau demandée, EHCache retrouve les résultats associés. Attention ! Il s’agit des résultats de la requête SQL et non des objets retournés par Hibernate. Aussi si cette requête concerne le chargement d’objets, ils devront être chargés séparément. Le cache de second niveau entre aussi en jeu à ce moment. Le cache de requête est particulièrement utile pour mémoriser des résultats de projections, comme typiquement les requêtes de comptage (count(*)). Lors d’une recherche paginée, JCMS fait 2 requêtes : une première requête de comptage pour connaître le nombre total de résultats et une seconde requête pour charger la tranche de résultats demandée. Grâce au cache de requête, ces requêtes seront traitées très rapidement, en ne déclenchant des requêtes SQL qu’au premier accès.

En contre partie, ces deux caches doivent être invalidés lorsque le contenu des tables évolue. EHCache prend en charge ces invalidations au sein d’une instance JCMS. Mais dans une architecture répliquée avec JSync, chaque réplica JCMS doit déclencher des invalidations des caches lorsqu’une donnée en base a été modifiée sur un autre réplica. Pour cela, JCMS 7 utilise le système d’écoute sur les écritures en base (DBListener) qui déclenche ces appels sur chacun des réplicas.

JCMS 7 fournit un paramétrage standard pour EHCache. Il est possible de modifier les valeurs par défaut définies dans le fichier WEB-INF/classes/ehcache.xml.

7.3 Déclaration via une source de données

La déclaration de JcmsDB se fait habituellement en précisant une URL JDBC, un compte utilisateur et un mot de passe. En complément de ce type de déclaration, JCMS 7 permet de déclarer JcmsDB via une source de données (DataSource).

Une source de donnée est définie dans le serveur d’applications et associée à un chemin JNDI du type java:comp/env/jdbc/jcmsdb. L’utilisation d’une source de donnée permet de masquer à JCMS les détails de la connexion avec la base de données mais aussi de mettre en place des paramétrages avancés proposés par le serveur d’application, comme par exemple un pool de connexions. En conséquence, le pool de connexion c3p0 fournit avec JCMS est désactivé lorsque JcmsDB est déclaré via une source de données.

Fig. 52. Déclaration de l’accès à JcmsDB via une source de données (DataSource).

7.4 Support de DB2

En complément du support des SGBDR PostgreSQL, MySQL, Oracle, SQLServer et Derby, JCMS 7 apporte le support pour le SGBDR IBM DB2 9.7. Pour des raisons de performance, la taille recommandée des pages de la base est de 32KB.

7.5 SQLServer UTF-8

JCMS 7 complète le support du multilinguisme lorsque SQLServer est utilisé. Le nouveau dialecte Hibernate pour SQLServer utilise les types de colonnes adaptés à la gestion des caractères encodés en UTF-8.

8 Ergonomie

JCMS 7 entame une refonte graphique et ergonomique qui se continuera sur les prochaines versions. Ce premier lot comporte de nouveaux composants d’interface homme/machine, des améliorations sur le page portail, et un rafraichissement des interfaces back-office.

8.1 Nouveaux composants

8.1.1 Les formulaires en modales

JCMS 6 avait introduit les fenêtres modales (aussi appeler parfois lightbox ou pop-in). Elles ont pour but de focaliser l’attention de l’utilisateur tout en ne changeant pas son contexte de navigation.

JCMS 7 utilise ces fenêtres modales pour des formulaires qui doivent être saisis en front-office comme, par exemple, la saisie d’un événement dans le calendrier, l’ouverture d’espaces collaboratifs, l’ajout d’un contact dans l’annuaire ou la mise à jour de son statut.

Lorsque le formulaire comporte de nombreux champs, ceux-ci sont regroupés en étapes. L’utilisateur saisit ainsi progressivement et de façon logique le formulaire. Par exemple, lors de l’ajout d’un évènement dans le calendrier, l’utilisateur saisit les informations générales sur l'évènement à la première étape (titre, dates, lieu, ...), les participants à la deuxième étape, puis les ressources à réserver et les documents associés et enfin des options avancées comme la récurrence de l’événement. A partir de la deuxième étape, les champs étant optionnels, il peut terminer la saisie sans avoir à continuer sur les étapes suivantes.

Fig. 53. Les formulaires en fenêtre modale préservent le contexte de navigation et peuvent être composés de plusieurs étapes.

8.1.2 Les item box

Dans JCMS, de nombreuses portlets listent un ensemble de résultats et proposent à l’utilisateur qui dispose des droits de les éditer ou d’en ajouter de nouveau. Afin d’améliorer l’ergonomie sur ces types de boîtes leur présentation a été revue et elles ont été homogénéisées. Ces boîtes ont des options : elles peuvent comporter des onglets, afficher pour chaque item une information synthétique dans une petite bulle (p. ex. le nombre de propositions pour une planification d'évènement en cours, la date de dernière modification d’une page wiki, ...), disposer de mini icones d’édition ou de l’icône d’édition avec le menu contextuel, ...

jcms7-itembox

Fig. 54. Différents exemples d’item box.

8.1.3 Les cartes des données

Il est assez fréquent que l’on ait besoin d’obtenir des renseignements complémentaires sur une information qui apparaît dans une page. Par exemple, l’activité ESN indique qu’un membre a déposé un document, participera à une réunion, a ajouté un contact, ... Mais si l’on veut en savoir plus (de quoi parle ce document, quand a lieu cette réunion, de quelle société fait partie ce contact, ...) il faut aller sur la page associée. Avec JCMS 7, il suffit de survoler le lien pour voir apparaître une petite carte qui donne toutes ces informations complémentaires.

Fig. 55. Carte d’un document.

Les cartes sont propres à chaque type de données (membre, publication) et peuvent être affinées par sous type (document, événement, ...) et même selon le contexte de navigation. Ainsi, dans un espace de conversations, la carte d’un membre affiche en plus de ses coordonnées, son niveau de participation dans l’espace (animateur, expert, nombre de point, nombre de questions/idées, réponses/réactions, ...)

Fig. 56. Carte d’un membre au sein d’un espace de conversation.

8.1.4 Saisie simplifiée des liens

JCMS 7 propose un mode de saisie simplifiée des champs de type lien. Cela concerne les champs catégories, liens sur publication, liens sur membre, liens sur groupe, ... L’utilisateur commence à taper dans un champ texte le nom d’un membre, le titre du lien souhaité, ... JCMS propose dans une liste les liens correspondant et l’utilisateur n’a plus qu’à choisir la donnée recherchée. Pour simplifier ce choix, dans le cas des membres, leur photo est affichée.

Fig. 57. Saisie simplifiée des liens (ici un champ Membre).

Dans le cas des catégories, si la catégorie saisie par l’utilisateur n’existe pas et qu’il possède les droits de création des catégories dans cette branche, il peut l’ajouter. Ainsi, ce nouveau mode de saisie permet de proposer aux utilisateurs l’équivalent des tags que l’on retrouve dans les services 2.0 (Flickr, Delicious, Facebook, ...) tout en disposant de la richesse des catégories (unicité, déplacement, multilinguisme, requête, panier, ...)

Ce principe est par exemple utilisé dans les espaces de conversations.

Fig. 58. Création de catégories à la volée.

8.1.5 Pagination des auto- complétions

JCMS propose systématiquement de l’auto- complétions dans les champs catégories et les champs liens. Par défaut, le nombre de propositions affichées est limité à 10. Parfois cela ne suffit pas, et la donnée recherchée se situe au delà. JCMS 7 résout ce problème en proposant un système de pagination simplifié (suivant / précédent) dans les auto- complétions.

Fig. 59. La fonction d’auto-complétions permet de naviguer dans la liste des propositions.

8.1.6 Rendu des vignettes

JCMS intègre depuis plusieurs versions un système de redimensionnement automatique des images. Ce système est utilisé dans de nombreuses fonctionnalités (prévisualisation d’une image, d’un document, d’une vidéo, d’une page web, photo des membres en différentes tailles, ...)

L’algorithme de redimensionnement a été revu afin d’améliorer la qualité des images produites.

Fig. 60. L’algorithme de redimensionnement produit des images de meilleure qualité.

Grâce à cela, il est devenu possible de proposer un redimensionnement de la taille d’une icone (16x16) pour les photos de membre tout en préservant un rendu correct. Même si à cette taille, il est difficile de reconnaître quelqu’un, cela permet à un utilisateur de repérer rapidement les personnes avec lesquelles il travaille.

Fig. 61. Le nouvel algorithme de redimensionnement permet d’avoir des photos en taille icone.

Enfin, JCMS 7 permet de faire un redimensionnement d’image côté serveur simplement en ajoutant les paramètres suivant à l’URL d’une image :

  • "w" avec la largeur demandée
  • "h" avec la hauteur demandée

8.2 Portail

8.2.1 Ajax-Refresh

Depuis sa version 6, JCMS propose Ajax-Refresh. Il s'agit d'un framework qui simplifie l’utilisation de la technologie Ajax pour le rafraichissement partiel de la page. Lors des requêtes Ajax, les JSP invoqués ont généralement besoin d’accéder à des informations de contexte qui ont été calculées lors du traitement initial de la page (p. ex. le portail courant, la catégorie courante, ...) Dans les précédentes versions, ces informations étaient stockées dans la session J2EE de l’utilisateur. Cette session est généralement paramétrée à 30 minutes dans les serveurs d'applications. Si l’utilisateur déclenchait une requête Ajax-Refresh au delà de cette période, par exemple pour changer de page dans une liste paginée, il recevait un message d’erreur lui indiquant que la page devait être rechargée.

JCMS 7 évite ce désagrément. Toutes les informations nécessaires au traitement de la requête Ajax-Refresh sont désormais mémorisées dans la page initiale. Elles sont renvoyées à chaque requête Ajax-Refresh. Ainsi, même si cette requête est déclenchée après l’expiration de la session J2EE, JCMS peut reconstituer le contexte de la requête initiale et effectuer le traitement attendu.

Ce rattrapage est fait pour toute requête déclenchée via l’API Ajax-Refresh. Ce n’est pas le cas pour les requêtes Ajax utilisant une autre API telle que JSON (p. ex. ouverture de l’arbre des catégories).

8.2.2 Champs CSS pour les habillages portlets

Toutes les portlets supportant un habillage (PortletSkinnable) disposent d’un nouveau champ pour indiquer les classes CSS à appliquer à la balise DIV contenant cet habillage. Ce champ sert aussi pour ajouter des comportements à la portlet (cf. infra).

8.2.3 Chargement différé

Toutes les portlets JCMS 7 peuvent être paramétrées pour subir un chargement différé. Une portlet ainsi paramétrée ne sera chargée qu’après que toute la page portail a été rendue. L’utilisateur peut donc commencer à lire le contenu de la page pendant que la portlet effectue son traitement et retourne le résultat

Ceci est particulièrement utile pour les portlets faisant des traitements longs ou pour celles interagissant avec des services externes dont on ne peut garantir le temps de réponse. Ces portlets ne bloqueront plus le rendu de la page.

Pour paramétrer une portlet en chargement différé, il suffit d’indiquer ajax-lazy dans le champ Classes CSS de l’onglet Habillage de la portlet.

Fig. 62. Les portlets avec la classe ajax-lazy bénéficient du chargement différé.

Afin d’éviter un effet de sursaut dans la page lorsque le contenu de la portlet apparaît, la portlet peut renvoyer immédiatement une vue statique avec une indication que l’information est en cours de récupération, puis le chargement différé se déclenche. Lorsque le contenu final de la portlet arrive, il remplace le contenu d’attente, évitant ainsi que les portlets situées dessous subissent un décalage vers le bas.

8.2.4 Chargement périodique

Avec JCMS 7, les portlets peuvent aussi être paramétrées pour se rafraichir régulièrement sans que l’utilisateur ait à demander le rechargement de sa page. Ceci est particulièrement adapté aux portlets dont le contenu change très fréquemment, comme par exemple la portlet affichant l’activité ESN ou des portlet de supervision (température d’une salle machine, suivi d’un traitement externe, ...)

Pour paramétrer une portlet en chargement périodique, il suffit d'indiquer ajax-periodical-N dans le champ Classes CSS de l’onglet Habillage de la portlet avec N égal à la fréquence de rafraichissement en seconde. Par exemple, ajax-periodical-60 pour un rafraichissement toutes les minutes.

Fig. 63. Les portlets avec la classe ajax-periodical bénéficient du chargement périodique.

9 Autres nouveautés

9.1 Utilisateurs

Voici quelques nouveautés dans la gestion des utilisateurs :

  • Le nom des groupes est multilingue ;
  • Les DBMember peuvent contribuer tout type de contenu et avoir accès aux back-offices ;
  • Tout espace de travail comporte un groupe par défaut. Lors des montées de version, les anciens espaces reçoivent, comme groupe par défaut, leur groupe avec le moins de droits de contribution ;
  • L’administrateur central n’est plus considéré comme faisant partie de tous les espaces de travail. Il doit y être explicitement attaché.

9.2 Développement

9.2.1 Traitement des fichiers

JCMS 7 fournit nativement une API de traitement des fichiers entrants. Cette API permet de surveiller un répertoire et de déclencher un traitement à chaque fois qu’un fichier est ajouté dans ce répertoire (ou dans un sous-répertoire). En standard, JCMS 7 supervise le répertoire upload/docs. Des modules peuvent donc très simplement demander à être notifiés lors du changement des fichiers.

9.2.2 Fichiers satellites

En complément, JCMS 7 ajoute la notion de fichiers satellites. Lorsqu’un fichier est déposé par un contributeur, toute une série de fichiers satellites peuvent être produits autour de ce fichier initial :

  • Le fichier contenant le texte à indexer;
  • Des images de prévisualisation en différentes dimensions ;
  • Le fichier PDF si le module de conversion PDF est présent ;
  • Le fichier SWF si la visionneuse de documents est présente.

Les fichiers satellites sont effacés à chaque fois que le document est modifié ou supprimé.

Par défaut, les fichiers satellites sont les fichiers ayant le même préfixe que le Document auquel ils sont associés. Par exemple, les fichiers rapport.doc.pdf et rapport.doc.swf sont des fichiers satellites du fichier rapport.doc.

Il est possible de déclarer d’autres expressions régulières d’association via des propriétés préfixées par file-document.associated-files.

9.2.3 ProcessExecutor

La classe ProcessExecutor simplifie et unifie la façon d’exécuter des processus externes. Elle permet de capturer simplement la sortie standard du processus. Elle permet aussi de préciser un timeout d'exécution. Si un processus met plus d'un certain temps à s'exécuter, il est stoppé. La valeur par défaut de ce timeout est de 10 minutes.

Exemple :

ProcessExecutor executor = new ProcessExecutor("/bin/echo", "Hello World!");
executor.setCaptureOutput(true);

ProcessExecutionResult result = executor.execute();
assertEquals(0, result.getExitValue());
assertFalse(result.hasTimedOut());
assertEquals("Hello World!", result.getStdout().trim());
assertEquals("", result.getStderr());

9.2.4 PersonalizedMailMessage

La classe PersonalizedMailMessage permet d’envoyer très simplement un e-mail personnalisé à un ensemble d’utilisateur. L’envoi peut se faire en synchrone ou en asynchrone, dans une Thread séparée, afin de ne pas bloquer le reste du traitement.

Exemple :

PersonalizedMailMessage mail = new PersonalizedMailMessage() {
public String getOrigin() {
return "MyCustomNotification";
}
public String getSubject(Member mbr) {
return "A personal mail for " + mbr;
};
public String getContentText(Member mbr) {
return mbr.getFriendlyName() + ",\n\nThis is a personal mail for you...\n";
}
};
mail.sendInThread(myMemberSet);

9.2.5 Nom du site en classe CSS

Le nom du site (channel.name) est systématiquement mis dans les classes CSS de la balise body de toute page générée avec doEmptyHeader.jsp. Il devient ainsi très aisé de surcharger n’importe laquelle des définitions CSS de JCMS ou de l’un de ses modules.

10 Nouvelles certifications

JCMS 7 est certifié avec de nouveaux composants du SI :

  • Systèmes d’exploitation
    • Windows 2008
  • Serveurs d’application
    • IBM WebSphere 7
    • Oracle WebLogic 10.3
  • Bases de données
    • IBM DB2
    • Oracle 11g2
  • Messagerie et suite bureautique
    • Microsoft Exchange 2010
    • Microsoft Office 2010
    • Lotus Domino 7 et au-delà

Pour plus de détails sur les plateformes sur lesquelles JCMS 7 est certifié, reportez-vous au Manuel d’installation et d’exploitation.

Enfin, les pré-versions des navigateurs Internet Explorer 9 et Firefox 4 ont été testées avec succès. Ils seront certifiés avec une prochaine version de JCMS, lorsqu’ils seront proposés en version stable.

En résumé...

JCMS 7 est une nouvelle version majeure qui apporte de nombreuses évolutions fonctionnelles pour tous les usages : collaboratif, gestion documentaire, bureau personnalisé, portail, ... Il s’agit à la fois d’évolutions sur le cœur de JCMS, sur des modules existants et aussi sur de nouveaux modules tels que les modules espaces de conversations, le suivi de projet, la visionneuse de documents, l’accès pour les SmartPhones, ... Par ailleurs, des évolutions techniques permettent de dépasser les limites de volumétrie et enrichissent la palette des composants disponibles. Enfin, JCMS 7 s’ouvre encore plus au SI de l’entreprise notamment via le support de DB2, Office 2010, Exchange 2010 et Lotus Notes.

Sujet
Produits
Publié

24/03/11

Rédacteur
  • Olivier Dedieu