Bonnes pratiques ?

cancel
Showing results for 
Search instead for 
Did you mean: 
nferay
Member II

Bonnes pratiques ?

Bonjour, nous allons démarrer en production avec alfresco en avril (2.1.1, serveur 2003, base oracle, synchro active directory). Nous avons opté pour une ihm simplifiée pour la majorité des collaborateurs/lecteurs de l'entreprise (utilisation de webscript intégrés dans notre portail d'entreprise). Les contributeurs vont utiliser l'interface alfresco standard et le cifs.

Je me pose des questions sur certains points et vos retours d'expérience m'intéressent.

- Nous sommes en synchro avec notre active directory et l'identifiant des utilisateurs est normalisé ; première lettre du prénom concaténé avec le nom de famille. Lorsqu'une personne est renommée (mariage) comment gérer les impacts dans alfresco. Il y a au moment de la synchro création d'un nouvel utilisateur et création d'un nouvel espace perso dans alfresco. Comment gérer la récupération de l'ancien espace perso et  surtout les droits qui avaient été positionnés avec l'ancien login.

- De la même façon avec les groupes récupérés dans l'active directory, comment gérer l'utilisation de ces derniers sachant qu'un groupe peut dans le cadre d'une réorganisation des équipes être renommé/éclaté ….

- Pour le moment la gestion des catégories passe nécessairement pas un administrateur. J'ai lu que des évolutions permettraient de déléguer cela sur des utilisateurs en 3.0 (je parle bien de catégorie et pas de tags). Est ce que vous avez des informations sur le sujet (pour faire patienter mes utilisateurs)

- Actuellement une personne qui veut lancer un workflow avancé accède à tous les workflows de la société. Avec la page standard de lancement de ces derniers, Il n'y a pas de gestion de droit sur les workflows avancés. Cela ne pose pas de problème lorsqu'il n'y a que des workflows génériques mais lorsque l'on commence à traiter les processus métiers cela n'est plus viable car la page ne cesse de grossir. Pour info nous avons essayé de traiter le lancement des workflows via des webscripts mais nous avons abandonné car trop compliqué avec l'API actuel. Est ce qu'il y a des évolutions sur ce point prévues en 3.0 ou est ce que vous avez trouvé des moyens de gérer cela facilement dans la version actuelle.

- Nous avons ramé longtemps avec le cifs (très longtemps …) avant d'avoir une architecture fiable. Notre retour d'expérience est de ne pas utiliser le cifs avec windows 2000. Cela ne marche pas, cela marchouille de temps en temps !! Depuis que nous sommes en 2003 plus aucun problème. Terminé les déconnexions, terminé les postes qui ne peuvent accéder au cifs, terminé les copies de fichiers  qui se plantent. Par contre pour le problème de la machine alfresco qui est vue en double sur le réseau (et qui empêche l'accès au cifs), la solution a été de supprimer les partages de fichier (au niveau de la conf réseau) sur le serveur alfresco. Plus aucun problème de cifs, mais nous ne pouvons plus faire les sauvegardes car nos outils passaient par les partages administratifs. Pour le moment nos volumes nous permettent de faire un export depuis le serveur alfresco vers une autre machine du domaine qui est ensuite sauvegardée par nos logiciels. C'est viable pour le moment avec nos volumes, demain ? Avez vous des bonnes pratiques pour la sauvegarde lorsqu'il n'y a plus de partage de fichiers.

Merci d'avance pour vos réponses
8 Replies
rguinot
Customer

Re: Bonnes pratiques ?

Quelques éléments de réponse :

* Pour la question sur les "mariages", rien ne vaut un test en grandeur nature. mettre en place une synchro LDAP de test est assez rapide, voir le comportement d'Alfresco une fois le user renommé. Si vos logins sont amenés à bouger souvent pour une raison ou pour une autre il faut peut être choisir un attribut plus "stable" comme par exemple un ID.

* Concernant les groupes, ils sont par défaut supprimés et recrées à chaque import donc cela a moins d'impact (voir la propriété ldap.synchronisation.import.group.clearAllChildren dans le fichier conf/alfresco/extension/ldap-synchronisation.properties) . Il faudra en revanche replacer les "nouveaux" droits pour les "nouveaux" groupes. Un script JavaScript ou autres contenant une table de correspondance et executé récursivement peut sans doute faire l'affaire.

* Concernant les catégories, je n'ai pas beaucoup d' infos la-dessus. Michaël a je crois posté sur ce sujet, en indiquant que "des gens" pourront être localement être à même d'ajouter / supprimer des catégories en 3.0 effectivement.

* Concernant la politique de backup, nous adoptons la technique suivante : Backup journalier,nocturne, et à froid pour garantir la cohérene, du repository et de la base MySQL InnoDB, ainsi que les indexes Lucene (pour gagner du temps en cas de restauration si votre volumétrie est importante). En plus de cela,nous réalisons chaque semaine un backup complet du repository par FTP dans le cas critique ou la base ne pourrait plus être restaurée avec son repository associé. Cela à l'avantage de fournir une arborescence human-readable du repository et indépendante de tout outil, mais les métadonnées seraient perdues dans le cas où on devrait en arriver la. En plus de tout ça, il faut bien entendu y associer les hash MD5 et les vérifier périodiquement (des crons, des mails, un plugin Nagios et les choses se passent) ainsi que la mise en oeuvre d'outils tels que Nagios pour être alerté de la faiblesse d'un disque ou autre.

* Concernant le CIFS, nous sommes entièrement sous Linux (clients et serveurs) donc cela ne correspond pas vraiment à votre environnement. Pour l'accès client je peux vous suggérer de jeter un oeil à l'accès WebDAV ou WebDAVS qui a le gros avantage de passer respectivement sur HTTP ou HTTPS donc accessible de partout ce qui est très intéressant si vous avez des clients mobiles.

J'espère vous avoir éclairé.
michaelh
Active Member

Re: Bonnes pratiques ?

Bonjour,

Je vais faire des réponses assez rapide sous peine de devoir y passer quelques heures pour détailler mais en gros :

- Nous sommes en synchro avec notre active directory et l'identifiant des utilisateurs est normalisé ; première lettre du prénom concaténé avec le nom de famille. Lorsqu'une personne est renommée (mariage) comment gérer les impacts dans alfresco. Il y a au moment de la synchro création d'un nouvel utilisateur et création d'un nouvel espace perso dans alfresco. Comment gérer la récupération de l'ancien espace perso et  surtout les droits qui avaient été positionnés avec l'ancien login.
Je n'ai pas de solution magique à ce sujet, hormis reprendre les droits manuellement.
Cela dit, si vous travaillez sur la base de groupes d'utilisateurs ça ne devrait concerner principalement que l'espace personnel (donner des droits par user est toujours problématique). Dans tous les cas vous devriez facilement pouvoir écrire un bout de script pour parcourir l'entrepôt et appliquer les nouveaux droits.

- De la même façon avec les groupes récupérés dans l'active directory, comment gérer l'utilisation de ces derniers sachant qu'un groupe peut dans le cadre d'une réorganisation des équipes être renommé/éclaté ….
La grande question de la gestion d'annuaire ….  et pour laquelle il n'existe pas une seule et unique réponse. Le contexte peut tout changer.

- Pour le moment la gestion des catégories passe nécessairement pas un administrateur. J'ai lu que des évolutions permettraient de déléguer cela sur des utilisateurs en 3.0 (je parle bien de catégorie et pas de tags). Est ce que vous avez des informations sur le sujet (pour faire patienter mes utilisateurs)
Pas beaucoup plus pour le moment que ce qui est disponible sur ce même forum. Dans l'ensemble la gestion des droits devrait voir apparaître un profil permettant de gérer des "groupes d'interêt" (même ce nom n'est pas finalisé) pour permettre de déléguer des droits aujourd'hui réservés à l'administrateur. Mais on en saura plus … quand ce sera prêt. Je ne connais pas le degré de priorité de tous les détails, je suis donc toujours prudent quand je parle de feuille de route Smiley Happy

- Actuellement une personne qui veut lancer un workflow avancé accède à tous les workflows de la société. Avec la page standard de lancement de ces derniers, Il n'y a pas de gestion de droit sur les workflows avancés. Cela ne pose pas de problème lorsqu'il n'y a que des workflows génériques mais lorsque l'on commence à traiter les processus métiers cela n'est plus viable car la page ne cesse de grossir. Pour info nous avons essayé de traiter le lancement des workflows via des webscripts mais nous avons abandonné car trop compliqué avec l'API actuel. Est ce qu'il y a des évolutions sur ce point prévues en 3.0 ou est ce que vous avez trouvé des moyens de gérer cela facilement dans la version actuelle.
Vous allez rire … je ne me suis jamais posé la question du "filtrage de la liste". Mais je vais y penser très vite !
Pour le lancement des workflows via webscript, c'est assez utilisé, et on trouve de très bons exemples dans le plugin office (qui n'est rien d'autre qu'un appel de webscripts). Dans tous les cas l'API associée va être augmentée, oui, mais les bases resteront les mêmes.

- Nous avons ramé longtemps avec le cifs (très longtemps …) avant d'avoir une architecture fiable. Notre retour d'expérience est de ne pas utiliser le cifs avec windows 2000. Cela ne marche pas, cela marchouille de temps en temps !!
Il y a bien des problèmes dans certaines configurations très spécifiques de Windows 2000 (ce qui ne veut pas dire que votre configuration est étrange, simplement que vous êtes dans ce cadre) mais elles ne touchent pas tout le monde de la même manière. C'est assez complexe à reproduire, et on ne peut pas dire que la transparence de Microsoft sur les interfaces aide beaucoup … De plus le parc installé en Windows 2000 est très faible, et donc génère peu de retour d'expérience (c'est une version qui a eu une durée de vie très courte par rapport à un XP qui est sorti 18 mois après seulement et va encore durer longtemps)
Vous en avez parlé avec le support (dans le cas où vous êtes un souscripteur) ?

Depuis que nous sommes en 2003 plus aucun problème. Terminé les déconnexions, terminé les postes qui ne peuvent accéder au cifs, terminé les copies de fichiers  qui se plantent.
Je confirme Smiley Happy

Par contre pour le problème de la machine alfresco qui est vue en double sur le réseau (et qui empêche l'accès au cifs), la solution a été de supprimer les partages de fichier (au niveau de la conf réseau) sur le serveur alfresco.
Je m'étonne qu'il n'existe pas d'autre solution, mais je vous fais confiance (le nom NETBIOS étant différent, on ne devrait pas voir de conflit… si ?).

Plus aucun problème de cifs, mais nous ne pouvons plus faire les sauvegardes car nos outils passaient par les partages administratifs. Pour le moment nos volumes nous permettent de faire un export depuis le serveur alfresco vers une autre machine du domaine qui est ensuite sauvegardée par nos logiciels. C'est viable pour le moment avec nos volumes, demain ? Avez vous des bonnes pratiques pour la sauvegarde lorsqu'il n'y a plus de partage de fichiers.
Dans 80% des cas, les outils de sauvegarde utilisent des démons qui ouvrent des ports/protocoles spécifiques. Une solution existe avec windows en utilisant Unison, Rsync, et tout type d'outil un peu plus efficace que les partages réseau (y compris FTP car le backup à travers CIFS n'est pas l'idéal quand on peut l'éviter : c'est lent, et un gouffre en bande passante).
Bref, ça dépend surtout de votre outil de backup.
nferay
Member II

Re: Bonnes pratiques ?

* Pour la question sur les "mariages", rien ne vaut un test en grandeur nature. mettre en place une synchro LDAP de test est assez rapide, voir le comportement d'Alfresco une fois le user renommé. Si vos logins sont amenés à bouger souvent pour une raison ou pour une autre il faut peut être choisir un attribut plus "stable" comme par exemple un ID.

Nous avons fait le test. Il y a création d'un nouvel utilisateur avec création d'un nouvel espace perso. Nous avons en effet pensé à un id plus stable pour le login mais c'est un sacré changement pour les utilisateurs et un sacré chantier technique  :roll:

* Concernant les groupes, ils sont par défaut supprimés et recrées à chaque import donc cela a moins d'impact (voir la propriété ldap.synchronisation.import.group.clearAllChildren dans le fichier conf/alfresco/extension/ldap-synchronisation.properties) . Il faudra en revanche replacer les "nouveaux" droits pour les "nouveaux" groupes. Un script JavaScript ou autres contenant une table de correspondance et executé récursivement peut sans doute faire l'affaire.

Ok je comprends la logique mais cela me décourage un peu de devoir coder cette partie. En fait nous venons du monde lotus notes/domino ou les process de renomage et de gestion des groupes et des users sont super avancés. En gros un process administratifs se charge de toute cette partie en propageant les changements dans tout le système. Je sais que l'on ne peut pas tout faire à la fois, mais la gestion des users et des groupes est un point hyper important d'une architecture, notamment si elle permet de déléguer la gestion des droits sur des users coordinateurs. J'espère qu'alfresco évoluera sur cette partie.

En plus de cela,nous réalisons chaque semaine un backup complet du repository par FTP dans le cas critique ou la base ne pourrait plus être restaurée avec son repository associé. Cela à l'avantage de fournir une arborescence human-readable du repository et indépendante de tout outil, mais les métadonnées seraient perdues dans le cas où on devrait en arriver la. En plus de tout ça, il faut bien entendu y associer les hash MD5 et les vérifier périodiquement (des crons, des mails, un plugin Nagios et les choses se passent) ainsi que la mise en oeuvre d'outils tels que Nagios pour être alerté de la faiblesse d'un disque ou autre.

Cela doit être très utile dans le cas d'un scénario catastrophe mais pourquoi est ce que c'est meilleurs qu'un export acp full de alfresco (qui conserve les métas) ?

Merci pour vos réponses
michaelh
Active Member

Re: Bonnes pratiques ?

En plus de cela,nous réalisons chaque semaine un backup complet du repository par FTP dans le cas critique ou la base ne pourrait plus être restaurée avec son repository associé. Cela à l'avantage de fournir une arborescence human-readable du repository et indépendante de tout outil, mais les métadonnées seraient perdues dans le cas où on devrait en arriver la. En plus de tout ça, il faut bien entendu y associer les hash MD5 et les vérifier périodiquement (des crons, des mails, un plugin Nagios et les choses se passent) ainsi que la mise en oeuvre d'outils tels que Nagios pour être alerté de la faiblesse d'un disque ou autre.

Cela doit être très utile dans le cas d'un scénario catastrophe mais pourquoi est ce que c'est meilleurs qu'un export acp full de alfresco (qui conserve les métas) ?

Merci pour vos réponses

Je répondrai au reste, mais puisque cette ligne m'interpelle Smiley Happy

Les ACP ne sont pas, et ne doivent pas être utilisés comme des outils de sauvegarde.
    - La limitation du format zip32 utilisé implique qu'au dessus de 4Go un ACP est inutilisable (il va être généré, mais ne pourra pas être importé)
    - Le temps de restauration est très long
    - La génération d'ACP journalièrement est consommateur en ressources
    - Surtout on a pas 100 % du paramétrage dans les ACP, même avec un export complet …
Le backup c'est :
    - un export de la base
    - une copie de tout ou partie de alf_data (selon que l'on récupère l'index Lucene ou pas, comme expliqué par Romain)
De toute façon, un backup sert justement à prévenir le scénario catastrophe non ? (et moi je suis dans le camp des paranos tendance "le monde entier conspire pour nous faire perdre nos données" Smiley Wink ).
nferay
Member II

Re: Bonnes pratiques ?

si vous travaillez sur la base de groupes d'utilisateurs ça ne devrait concerner principalement que l'espace personnel

Le problème est le même sur la gestion des groupes et chez nous je crois bien que les équipes changent de nom plus souvent que les users  :roll: 

(donner des droits par user est toujours problématique). Dans tous les cas vous devriez facilement pouvoir écrire un bout de script pour parcourir l'entrepôt et appliquer les nouveaux droits.

Merci, je vais regarder plus en détail l'API mais c'est un chantier qui me décourage (cf post précédent)  :cry:

Vous allez rire … je ne me suis jamais posé la question du "filtrage de la liste". Mais je vais y penser très vite !
Pour le lancement des workflows via webscript, c'est assez utilisé, et on trouve de très bons exemples dans le plugin office (qui n'est rien d'autre qu'un appel de webscripts). Dans tous les cas l'API associée va être augmentée, oui, mais les bases resteront les mêmes.

Le lancer n'a pas posé de problème, c'est permettre à l'utilisateur qui le lance de renseigner avant le lancement des informations ou d'ajouter des doc en plus qui nous a posé des problèmes. En gros ce que fait l'écran standard alfresco qui nous va très bien. Donc si il y a des moyens de filtrer la liste nous sommes très intéressés.

Il y a bien des problèmes dans certaines configurations très spécifiques de Windows 2000 (ce qui ne veut pas dire que votre configuration est étrange, simplement que vous êtes dans ce cadre) mais elles ne touchent pas tout le monde de la même manière. C'est assez complexe à reproduire, et on ne peut pas dire que la transparence de Microsoft sur les interfaces aide beaucoup … De plus le parc installé en Windows 2000 est très faible, et donc génère peu de retour d'expérience (c'est une version qui a eu une durée de vie très courte par rapport à un XP qui est sorti 18 mois après seulement et va encore durer longtemps)
Vous en avez parlé avec le support (dans le cas où vous êtes un souscripteur) ?

Oui nous en avons parlé au support. J'aurais aimé trouvé dans un forum cette analyse sur win2000, nous aurions gagné beaucoup beaucoup de temps. C'est fait pour les suivant, vive l'open source  :wink:

Par contre pour le problème de la machine alfresco qui est vue en double sur le réseau (et qui empêche l'accès au cifs), la solution a été de supprimer les partages de fichier (au niveau de la conf réseau) sur le serveur alfresco.
Je m'étonne qu'il n'existe pas d'autre solution, mais je vous fais confiance (le nom NETBIOS étant différent, on ne devrait pas voir de conflit… si ?).

C'est le prestataire qui travail avec nous qui a trouvé sur le wiki ou un forum anglais la solution et cela marche. Il traine souvent sur le forum, je lui laisse mettre le lien  Smiley Very Happy

Dans 80% des cas, les outils de sauvegarde utilisent des démons qui ouvrent des ports/protocoles spécifiques. Une solution existe avec windows en utilisant Unison, Rsync, et tout type d'outil un peu plus efficace que les partages réseau (y compris FTP car le backup à travers CIFS n'est pas l'idéal quand on peut l'éviter : c'est lent, et un gouffre en bande passante).
Bref, ça dépend surtout de votre outil de backup.

Ok, merci nous allons fouiller. Cela m'étonne que notre outil de sauvegarde ne puisse pas fonctionner sans partage réseau sur la base d'un démon, mais bon je n'y connait rien dans ce domaine !!

Merci pour toutes ces réponses
michaelh
Active Member

Re: Bonnes pratiques ?

* Concernant les groupes, ils sont par défaut supprimés et recrées à chaque import donc cela a moins d'impact (voir la propriété ldap.synchronisation.import.group.clearAllChildren dans le fichier conf/alfresco/extension/ldap-synchronisation.properties) . Il faudra en revanche replacer les "nouveaux" droits pour les "nouveaux" groupes. Un script JavaScript ou autres contenant une table de correspondance et executé récursivement peut sans doute faire l'affaire.

Ok je comprends la logique mais cela me décourage un peu de devoir coder cette partie. En fait nous venons du monde lotus notes/domino ou les process de renomage et de gestion des groupes et des users sont super avancés. En gros un process administratifs se charge de toute cette partie en propageant les changements dans tout le système. Je sais que l'on ne peut pas tout faire à la fois, mais la gestion des users et des groupes est un point hyper important d'une architecture, notamment si elle permet de déléguer la gestion des droits sur des users coordinateurs. J'espère qu'alfresco évoluera sur cette partie.
Oui et non (ça c'est de la réponse pertinente).

C'est "facile" pour Notes/Domino de prendre cela en compte. C'est une boite noire (je résume) qui n'a que peu d'interactions avec l'extérieur. On pourrait comparer avec le fait de n'utiliser que la base des utilisateurs Alfresco. On pourrait faire les choses "à notre façon" sans se préoccuper des outils tiers. Mais ce n'est pas le principe d'un annuaire …

Cela dit, avec l'extension facilité du modèle "person", on va pouvoir plus facilement mettre en œuvre des solutions. C'est déjà possible en fait, mais étendre le "person" est encore un peu délicat.

Bref, on va pouvoir obtenir qq chose de ce genre :
            <property name="cm:department">
               <type>d:text</type>
            </property>
Ensuite un mapping de l'attribut dans l'annuaire.

Oui nous en avons parlé au support. J'aurais aimé trouvé dans un forum cette analyse sur win2000, nous aurions gagné beaucoup beaucoup de temps. C'est fait pour les suivant, vive l'open source :wink:
En même temps le support ne peut pas se permettre de dire que la couche réseau de Windows 2000 est une bouze et que ce produit est aussi mal né que Windows Millenium (moi si, mais en dehors de cet endroit je ne l'avouerai jamais !). Ce n'est pas votre problème dans ce cas, c'est celui du support qui ne peut pas vous dire de suite "il suffit de migrer tous les postes".

Une pensée pour le pauvre Gary qui se bat depuis 6 ans avec CIFS sans aucune doc, et en conservant sa santé mentale Smiley Happy

En tout cas je peux dire pour avoir suivi votre problème d'assez près (oui, je fais des choses aussi en dehors du forum) qu'il y a rarement eu autant de sueur dépensée sur un cas. Ce n'est pas une consolation, je sais, mais en tout cas on y a mis les moyens (et le prestataire aussi) Smiley Happy

Même Romain n'a jamais réussi à nous occuper autant Smiley Tongue

C'est le prestataire qui travail avec nous qui a trouvé sur le wiki ou un forum anglais la solution et cela marche. Il traine souvent sur le forum, je lui laisse mettre le lien

Inutile, je connais Smiley Wink
nferay
Member II

Re: Bonnes pratiques ?

C'est "facile" pour Notes/Domino de prendre cela en compte. C'est une boite noire (je résume) qui n'a que peu d'interactions avec l'extérieur. On pourrait comparer avec le fait de n'utiliser que la base des utilisateurs Alfresco. On pourrait faire les choses "à notre façon" sans se préoccuper des outils tiers. Mais ce n'est pas le principe d'un annuaire …

Oups, je vais pas être d'accord, mais bon je suis un pro domino depuis longtemps et donc pas forcément objectif  8)  L'annuaire domino supporte LDAP et l'ouverture du produit est une réalité, nous intégrons alfresco dans notre portail et c'est du domino  Smiley Tongue  Cela étant, cela faisait longtemps que nous n'avions pas travaillé (je parle d'alfresco) sur une architecture qui nous avait autant branché.

En tout cas merci pour tous ces retours
michaelh
Active Member

Re: Bonnes pratiques ?

Bon, je peux l'avouer maintenant, j'ai un peu volontairement forcé le trait sur Domino  :mrgreen:

Content de voir que vous prenez aussi du plaisir avec Alfresco en tout cas !