Note de lecture : Electronic Document Management Systems, par Larry Bielawski & Jim Boyle

Note : 2 ; Pas le bon niveau de jeu

Voilà un ouvrage qui accuse un âge certain, il ne faut pas en attendre des miracles ! Les concepts évoqués ici datent des années 90. Même s’ils survécus au moins dans les principes, ils sont loin d’avoir l’attrait de la nouveauté du moment. Voyons de plus près de quoi il retourne.

Le texte est long de 320 pages environs, découpés en 17 chapitres, eux-mêmes regroupés en 4 parties. Pour l’instant, ça va.

La première partie, qui compte 50 pages sur 3 chapitres, s’intitule « EDMS concepts » et traite donc des concepts dominants : stockage, versionning, cycle de vie, workflow et métadonnées. Beaucoup de bla-bla à mon avis. Les chapitres sont courts et cette partie pas si longue que ça, mais il n’y a pas grand chose de dit non plus.

Lire la suite

… Et Neo4J devint CMS !

Lors de ce Meetup Neo4J de Janvier, toujours dans le zLocalHost de Zenika, nous avons pu découvrir Structr, et comment il adresse la problématique du CMS. Ou du moins, nous allons le faire.

Cédric Fauvet au pas de charge !

Cédric commence par sa très classique introduction à Neo4J. Introduction un peu écourtée d’ailleurs : c’était la soirée des problèmes techniques et il a fallu rattraper le temps perdu.

Le temps tout de même de donner quelques nouvelles de la communauté et de l’actualité. On s’attardera quelques instants sur la dernière référence Française : Meetic ! Bien entendu, comme pour Viadeo, le but est la recherche d’adéquation de profiles. Ce n’est d’ailleurs pas une première expérience pour Neo4J qui a équipé d’autres sites de rencontre avant de s’occuper du n°1 européen.

Autre nouvelle intéressante : la mise à disposition de cours en ligne ! J’ai hâte d’aller voir ça…

Structr

Axel Morgner est fondateur de Structr, il est venu spécialement de Frankfort pour évoquer son usage de Neo4J. Après avoir longtemps travaillé dans le domaine du CMS, il a décidé de changer d’horizon, de faire autre chose. Il a découvert Neo4J, et a décidé de construire avec … un CMS !

image

Structr c’est une société mais aussi un logiciel open-source. La motivation ? Construire des sites web dynamiques avec du contenu. La première release de la bête est apparue en 2011.

La première itération : c’est une classique webapp standalone, dont la partie front utilise freemarker.

Les choses changent radicalement en seconde itération ! C’est d’abord un changement de scope : Structr devient un pur back-end, le front-end est abandonné ! Le produit assure un mapping bidirectionnel entre JSON et le graphe. Et le produit intègre une notion de schéma et de contraintes (avec même une gestion des suppressions en cascade), des choses qui vont bien plus loin que les évolutions apportées par Neo4J 2.0 !

L’interface utilisateur revient en 3ème itération, mais elle s’est faite HTML5 ! Elle permet l’édition sur place, la visualisation des liens entre pages, etc…

Démo time !

Axel nous fait bien sûr une petite visite guidée de la bête. On commence fièrement par un import de page que l’outil digère pour le transformer en graphe. On peut utiliser alors l’édition sur place pour importer ou saisir du contenue … ou faire référence à du contenu dans le graphe, via des requêtes Cypher, par exemple !

image

La sécurité n’est pas en reste et elle se configure sur les noeuds. Elle est bien sûr transitive, suivant les liens “contains”. L’IHM est aussi synchronisée entre les clients, permettant l’édition de contenu collaboratif.
Mais tout cela, c’est du statique. Du “boring stuff” comme le dit Axel. Structr gère la dynamicité du contenu, en partie du fait qu’il ne gère pas de cache et se repose sur la performance de neo4J. L’une des clés est la référence qui peut être faite depuis les pages vers du contenu structuré lui-même dans le graphe.

Pour cela il faut créer un projet “data type”. C’est lui qui permet la structuration des données et les contraintes dont nous avons parlé plus haut. On y crée aussi des bindings qui peuvent être référencés par des noms symboliques.

L’une des question que je me posais pendant que la démo se déroulait concernait les contenu volumineux, de type “blob”. On sait que Neo4J n’est pas fait pour cela. Qu’a cela ne tienne, les data types peuvent référencer des fichiers ou même des répertoires ! Au-delà de cela, il y a aussi des concepts de “web components” et de “shared components area”, mais ne m’en demandez pas plus, car j’ai un peu perdu le fil à ce moment là !

Malgré quelques petits accrocs lors de la démo, il faut avouer que cette gestion de contenu est pour le moins étonnante et résolument différente de ce qui se fait !

Teasing

Cédric souhaitait innover en donnant une minute de parole au débotté à des participants du Meetup ayant un projet avec Neo4J.

Un étudiant de Supinfo Lille (désolé, je n’ai pas noté son nom) nous a donc parlé de son projet d’étude : un “Dropbox like” intégrant une dimension sociale de partage. L’utilisation de Neo4J permet ici de représenter les structures de fichiers, répertoires, partages et droits, tandis que les contenus eux-même peuvent être répartis sur différents serveurs de stockages, ces contenus étant simplement référencés dans le graphe.

Quand Sébastien Just est venu nous parler de Seij, j’ai cru que Structr venait de trouver son frère jumeau ! J’ai pu discuter un peu avec Sébastien et suis maintenant convaincu que ce n’est pas le cas. Certes les deux applications partagent nombre de concepts : le CMS basé sur des graphes Neo4J et la possibilité de constituer son contenu en assemblant les éléments issus des noeuds. Mais là où Structr s’appuie sur une structuration et un typage fort, Seij s’enorgueillis de son approche “free form”, un peu comme si l’on avait un Excel pour la gestion de contenu. Des concepts très proches mais un ciblage client très différents en font deux produits qui ne se comparent finalement pas. J’espère que Sébastien aura l’occasion de revenir nous le présenter et nous en parler !

Note de lecture : Alfresco Developer Guide, par Jeff Potts

Note : 5 ; Très complet, mais un poil indigeste.

Avec ses 500 pages, cet ouvrage ne cache pas ses ambitions de couvrir le sujet en profondeur. Il n’est découpé qu’en neuf chapitres, mais complétés d’annexes assez volumineuses couvrant les API sous forme de manuel de référence sur 70 pages.

Le chapitre 1 nous fait le tour du propriétaire sous l’angle de l’architecture. C’est ma fois fort réussie.

Au chapitre 2, on s’attaque au développement d’une extension d’Alfresco en utilisant Eclipse. Le but essentiel semble être de prendre de l’aisance sur l’environnement de travail. Toutefois j’ai trouvé la démarche un peu confuse.

Le chapitre 3 est particulièrement consistent, mais aussi très complet. Il aborde une facette différente d’Alfresco mais plus importante encore : la programmation de définition de contenus : création de nouveaux types, de propriétés, relations et facettes. Puis viennent les aspects qui viennent s’y greffer : programmation avec Java, les Web Services et PHP, customisation de l’IHM et des recherches, etc… Bref c’est particulièrement complet, mais le style rend tout cela hélas pas très facile à appréhender.

Le chapitre 4 fait suite assez logiquement, car il trait de tous les automatismes de traitement qui peuvent se greffer sur les contenus : actions, transformateurs, extracteurs, etc… Cela n’est en fait utile que si l’on a bien sûr l’intention de basculer de l’intelligence métier sur la gestion de contenu…

Le chapitre 5, moins utile de mon point de vue évoque la customisation de l’IHM d’Alfresco, donc utile seulement si l’on veut donner un accès à l’IHM du progiciel aux utilisateurs. J’avoue que je finis par être un peu noyé par ces fragments de code ou de XML que j’ai du mal à rattacher à quelque chose. C’était déjà un peu vrai dans les chapitres précédents, mais ça l’est plus encore ici.

Le chapitre 6 est particulièrement important, du moins à mes yeux : il évoque l’API Rest d’Alfresco. Hélas, le texte part du postulat de l’utilisation de cette API depuis des pages HTML, depuis du code JavaScript. De mon point de vue cela réduit nettement l’intérêt et la portée du chapitre.

Un large chapitre, le chapitre 7, est consacré aux « worflows avancés », donc ceux s’adossant à jBPM. Si les aspects en contact avec Alfresco présentent un peu d’intérêt (mais je cherche toujours comment lier un document à une instance de workflow, comme je le fais pour Documentum…), la description en profondeur de jBPM sort un peu du cadre de cet ouvrage à mon avis. D’ailleurs il y a des livres sur jBPM, même chez PACKT publishing !

Le chapitre 8 est assurément le plus volumineux de l’ouvrage, car ses 80 couvrent le Web Content Management. Le lien entre WCM et ECM (alors que c’est sans aucun doute l’un des intérêts d’Alfresco) ne m’apparaît pas clairement montré. Mais il faudrait que je mette mon nez de plus près dans ce chapitre pour m’en assurer.

Le dernier chapitre aborde la sécurité, aspect souvent complexe sur les systèmes d’ECM. Mais on fait bel et bien le tour de la question : authentification (essentiellement avec LDAP), SSO et permissions.

De manière générale, je dirais que l’ouvrage semble faire le tour de la question. Ou plus exactement, il aborde tous les sujets, même s’il nous laisse aller vers la documentation pour couvrir complètement en largeur tous les sujets. Si l’on avait voulu le faire, le livre aurait probablement fait 2000 pages ! Donc le parti pris était surement le bon. Il n’en reste pas moins que le traitement du sujet est assez aride, et comme je dis plus haut, un peu indigeste.

Enfin bon, le livre fait le boulot. Si vous développez avec Alfresco, ce sera sans aucun doute un plus de l’avoir près de vous.

alfresco-dev-guide

Référence complète : Alfresco Developer Guide, Customizing Alfresco with actions, web scripts, web forms, workflows and more – Jeff Potts – Packt Publishing 2008 – ISBN : 978 1 847193 11 7

Alfresco Developer Guide

http://www.goodreads.com/book/add_to_books_widget_frame/1847193110?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : Pro Full-Text Search in SQL Server 2008, par Michael Coles avec Hilary Cotter

Note : 6 ; Fait le boulot pour être pleinement opération sur le full texte selon SQl Server.

Un livre spécifiquement dédié aux fonctionnalités « full text » de SQL Server ? Cela peut sembler excessif, et d’ailleurs Apress nous a habitué à une qualité assez variable de ces ouvrages. Qu’en est-il de celui-ci ?

Le texte n’est pas exagérément volumineux : 270 pages pour traiter le sujet, 255 hors annexes, divisé en 11 chapitres. D’ailleurs le texte n’est pas non plus particulièrement dense : de nombreuses copies d’écran et listings. On n’atteint pas l’exagération ni pour l’un ni pour l’autre, mais disons que l’on est à la limite, à mon avis.

Le premier chapitre est une introduction aux principes de la recherche plein texte, aux principes de tokenisation de proximité et à l’intégration dans SQL Server. Une introduction plutôt sympathique et pas tellement violente. Mais on apprend 2/3 trucs.

Le second chapitre a trait à l’administration : depuis le setup jusqu’au backup en passant par les différentes options d’installation et de paramétrage. Un peu trop de copies d’écran à mon avis, mais le chapitre a le mérite de ne pas être superficiel.

Au chapitre 3 on attaque réellement les requêtes. On y voit plusieurs façon d’interroger a base sur la recherche plein texte. Les différents mots-clés T-SQL et leurs usages y sont traités. Efficace.

Au chapitre 4, on attaque des choses beaucoup plus compliquées et qui ne serviront pas à tout le monde : la construction d’une application utilisant l’indexation full texte. Il faut s’attendre à construire de complexes procédures, une véritable grammaire avec des cas d’utilisation ! J’avoue que cela dépasse ce que j’escompte faire ! C’est un prélude au chapitre 5 qui lui adresse la recherche multi linguale.

Au contraire, le chapitre 6 me paraît particulièrement utile : il adresse l’indexation full texte des « LOB » qu’ils soient TEXT, BLOB, XML ou filestreams. Je regrette juste le mélange de code T-SQL et de code .NET …

Chapitres 7 et 8 sont en quelques sorte complémentaires. Le premier traite des « stoplistes » permettant de filtrer le bruit généré par certains mots, tandis que le chapitre 8 traite de la gestion des thésaurus. Les possibilités offertes sont simplement étonnantes.

A partir du chapitre 9, on attaque réellement les parties avancées. Ici il s’agit des DMV, du moins celles servant pour le full text. Le chapitre 10 traite des filtres. J’ai un peu décroché, je l’avoue. Il suffit simplement de savoir qu’ils permettent de travailler sur des formats de fichiers spécifiques. Ici encore, le mélange entre T-SQL et .NET m’a quelque peu dérangé.

Le livre termine avec la question des recherches avancées, plus spécifiquement les recherches phonétiques.

Clairement ce livre couvre la question des fonctions « full texte » de SQL Server de manière très convaincante et exhaustive, du moins il me semble. Même si le texte n’est pas enthousiasmant, il fait le boulot pour devenir opérationnel sur le sujet !

pro-full-text-search-in-sql-server-2008

Référence complète : Pro Full-Text Search in SQL Server 2008, Take advantage of the vastly new and improved full-text search feature in SQL Server 2008 – Michael Coles with Hilary Cotter – Apress 2009 – ISBN : 978-1-4302-1594-3

Pro Full-Text Search in SQL Server 2008

http://www.goodreads.com/book/add_to_books_widget_frame/1430215941?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : La gestion électronique documentaire, par Jean-Yves Prax & Simon Larcher

Note : 4 ; Ennuyeux, mais à jour (en tout cas, au moment) !

Encore un ouvrage qui souffre du mal réccurent des livres français : un style pédant ! C’est toutefois un défaut dont on peut passer outre si le contenu est à la hauteur. Comme il est de coutume dans ce type de livre, les auteurs proposent une démarche projet de mise en place de GED. Celle-ci, exposée au chapitre 2, toutefois pose plus de question qu’elle ne propose de réponses.

Le chapitre 3 couvre les aspects « acquisition de documents », ce qui inclus encodages, typoes de documents, mais aussi : polices de caractères, formats de documents et d’images, OCR et types de compressions ! Il s’agit littérallement de l’état de l’art en la matière et le paysage est complet. Il faut dire que le chapitre fait quand même 60 pages…

Le chapitre 4 est tout aussi volumineux et couvre la chaine de traitements : indexations, langages de description, gestion de thésaurus et relations entre termes. En clair, il s’agit d’apporter une valeur sémantique exploitable au document. Sur les techniques, ce chapitre traite des indexations « à postériori » de type « full texte » et de la discrimination terminologique. Enfin, les aspects matériels tels que les technologies de stockages (primaires et secondaires) ainsi que les types et standards d’impression sont abordés ici.

C’est aux normes et aspects juridiques que le chapitre 5 est consacré. Les célèbres standards de structure des documents que sont SGML et DSSL (entre autres) sont succintement exposés. A cette occasion, les auteurs extrapolent le futur des applications Web, celles-ci étant dissimulées derrière les applications. Les aspects d’architecture, de répartition et autres datawarehouse sont également couverts ici. La détermination des besoins de sécurité, sauvegarde et encryptages avec des « approches standard » cloturent un chapitre encore une fois conséquent (70 pages).

C’est aux aspects collaboratifs (Groupware, Internet) et aux nouvelles technologies GED que le chapitre 6 est consacré. L’ISO 9000 est aussi abordé, mais de façon peu convaincante, il faut bien le dire…

Un tel ouvrage ne saurait être complet sans aborder les technologies avancées tels suq réseaux sémantiques, data mining et analyse linguistique. C’est le but du chapitre 7. Celui-ci est suivi d’un traitement de la gestion de contenu (le chapitre 8). C’est probablement pour se donner bonne conscience, tellement son traitement est pauvre.

Ce livre n’a pas de quoi soulever l’enthousiasme, mais as-t-on le choix ? La GED est un domaine sur lequel la littérature pratique est des plus pauvres, ce qui fait de ce livre le plus utile de sa catégorie.

gestion-documentaire

Référence complète : La gestion électronique documentaire, 3ème édition – Jean-Yves Prax & Simon Larcher – Dunod 2004 – ISBN : 2-10-007891-7

Alfresco Enterprise Content Management Implementation


http://www.goodreads.com/book/add_to_books_widget_frame/1904811116?atmb_widget%5Bbutton%5D=atmb_widget_1.png

Note de lecture : Alfresco Enterprise content management implementation, par Munwar Shariff

Note : 4 ; Visite guidée, mais sans plus.

Avec ce livre j’avais l’intention de mieux appréhender Alfresco, d’en connaitre les concepts, l’architecture ainsi que les fonctions et les APIs. Cet ouvrage n’a répondu que pour moitié à mes attentes. Autant dire que j’en ressors un peu frustré. Il s’apparente d’avantage à un accompagnement orienté utilisateur, ce qui un peu surprenant venant de PACKT publishing.

Pourtant, cela commence plutôt bien, avec un premier chapitre, nous donnant un tour d’horizon des fonctionnalités proposées par Alfresco et une vue très « PowerPoint » de l’architecture. Le second chapitre nous mets le pied à l’étrier (et l’eau à la bouche) en nous permettant de démarrer, installation comprise.

A partir du chapitre 3, l’auteur tente, non sans maladresse, de nous mettre dans la situation d’un déploiement réel d’Alfresco. Cela commence par le paramétrage du déploiement, aux chapitres 3, pas spécialement clairs et dont on se demande si l’on a vu tout les aspects en question. La question de l’authentification est abordé au chapitre 4, là encore si l’on inondé de copies d’écran, on reste hélas sur notre faim pour ce qui est de la configuration avec LDAP, par exemple ! Le chapitre 5 dédié à l’implémentation de la gestion de contenu est dans le même ton : l’auteur ne développe pas les concepts, focalise sur des sujets secondaires (l’édition des documents dans l’interface) et passe trop rapidement sur d’autres sujets plus importants (la vue WebDAV, par exemple). Au moins, on sait qu’il nous reste des choses à apprendre.

L’implémentation des règles métier est abordée au chapitre 6, de manière plutôt claire.  L’extension du modèle de document fait l’objet du chapitre 7, mais est trop succinct à mon goût. Difficile de plonger dans la création et la mise en place d’un aspect avec ce type d’information. De même les types et relations « custom » sont plutôt bâclées. Un exemple solide aurait été le bienvenu, adossé à un cas réel.

Il y a peu à dire des recherches (traitées au chapitre 8) et il y aurait beaucoup à dire des workflows (traités au chapitre 9) qui se déclinent en 2 types. Au moins on a ici une vue d’ensemble, mais on sait que l’on a pas mal à approfondir. L’aspect « collaboratif » est traité au chapitre 10, de façon fort superficielle, à grand renfort de copies d’écran. Elle passe complètement sous silence l’intégration dans les portails JSR 168, ce qui est une grave erreur à mon avis.

Je n’ai pas porté d’intérêt au chapitre 11 consacré à la customisation de l’interface utilisateur. Mais les 2 derniers chapitres sont parmi les plus intéressants du livre. Le chapitre 12 se focalise sur la maintenance : sauvegardes, exports et migrations. Le chapitre 13 traite l’intégration avec les systèmes d’imagerie et d’OCR tels que Kofax.

Voici donc un livre qui m’a largement laissé sur ma faim. De plus, la façon dont l’auteur aborde le système par les fonctionnalités visibles et non les fondamentaux lui garantie une obsolescence rapide. Quoi qu’il en soit, c’est hélas le seul ouvrage dédié à la star de l’ECM open source.

alfresco-ecm

Référence complète : Alfresco, Enterprise content management implementation – Munwar Shariff – Packt publishing 2006 – ISBN : 1-904-811-11-6 ; EAN : 978-1-804-81111-4

Alfresco Enterprise Content Management Implementation

http://www.goodreads.com/book/add_to_books_widget_frame/1904811116?atmb_widget%5Bbutton%5D=atmb_widget_1.png