Project

General

Profile

Administration de beCPG

Mots clés

Famille, sous-famille, liste de valeur, caractéristiques,

Introduction

Ce document présente l'administration du logiciel beCPG. Elle est destinée aux administrateurs de beCPG.

Gestion des groupes

L'interface de gestion des groupes se fait via le bouton « Groupes » accessible dans le menu beCPG> Administration beCPG du bandeau supérieur.

Les groupes peuvent être hiérarchisés. Par exemple, le groupe « Utilisateurs R&D » et « Responsables R&D » font parti du groupe « R&D ».

Les groupes de beCPG sont :

Module PLM Ces groupes sont fourni à titre d'exemple
Trade beCPG Commerciaux
Production beCPG Production
Purchasing beCPG Achats
Quality beCPG Qualité
RD beCPG R&D
PurchasingMgr beCPG Responsables Achats
TradeMgr beCPG Responsables commerciaux
ProductionMgr beCPG Responsables Production
QualityMgr beCPG Responsables Qualité
RDMgr beCPG Responsables R&D
PurchasingUser beCPG Utilisateurs Achats
TradeUser beCPG Utilisateurs commerciaux
ProductionUser beCPG Utilisateurs Production
QualityUser beCPG Utilisateurs Qualité
RDUser beCPG Utilisateurs R&D
Module Portail fournisseur
ReferencingMgr beCPG Responsables référencement Permet d'accéder au MP en cours de référencement
ExternalUser beCPG Utilisateurs externes Groupe assigné à un fournisseur et permettant de limiter l’accès
Module administration
SystemMgr beCPG Responsables Système Permet d'avoir accès à l'administration beCPG
ALFRESCO_ADMINISTRATOR Administrateur
Module réclamation client Ces groupes sont utilisés par le processus de réclamation client
ClaimAnalysis beCPG Pilotes de l'analyse réclamations client
ClaimClassification beCPG Pilotes de la classification réclamations client
ClaimClosing beCPG Pilotes de la clôture réclamations client
ClaimStart beCPG Pilotes de la saisie réclamations client
ClaimResponse beCPG Pilotes de réponse réclamations client
ClaimTreatment beCPG Pilote

Le groupe « Responsables Système » possède les droits en écriture dans le dossier Système.

Gestion des utilisateurs

Création d'un utilisateur :

L'interface de gestion des utilisateurs se fait via le bouton « Utilisateurs» accessible dans le menu beCPG> Administration beCPG du bandeau supérieur.

La création d'un utilisateur se fait via le bouton « Nouvel utilisateur ».

L'interface permet de renseigner les informations concernant l'utilisateur (Nom, Prénom, compte, email, etc...) et les groupes auxquels il appartient.

Modification d'un utilisateur :

Recherchez l'utilisateur :

  1. Saisir quelques lettres du nom ou prénom de la personne recherchée dans le champs prévu à cet effet,
  2. cliquer sur "Recherche",
  3. sélectionner dans la liste qui apparaît le nom de la personne recherchée en cliquant sur son nom.

Modification des droits :

  1. En haut à droite de la fenêtre qui vient de s'ouvrir : cliquer sur Modifier un utilisateur,
  2. dans : "A propos de l'utilisateur" : rechercher le groupe (saisir les 1ère lettre du nom du groupe, voir administration> groupe> parcourir, pour voir le nom des différents groupes qui existent),
  3. sélectionner le groupe souhaité en cliquant sur "Ajouter"
  4. enregistrer les modifications.

Retournez dans Becpg>administration : cliquer sur "recharger les permissions".

Création d'un site

Les sites sont des espaces collaboratifs permettant à une équipe ou un service de travailler sur les mêmes données/produits dans un espace qui leur est dédié par ex :
  • Site R&D;
  • Site R&D Produits frais;
  • Site R&D Produits surgelés;
  • Site Achat;
  • Site Qualité;
  • Site Usine A;
  • etc...

La création d'un site se fait via le bouton « Créer un site » du menu « Sites », accessible dans le bandeau supérieur.

Une fois que le site est créé, il faut administrer les membres via l'onglet « Membre » du site en indiquant les groupes et/ou les utilisateurs qui y accèdent.

Pour ajouter un groupe ou un utilisateur, il faut cliquer sur l'icône tel qu’encadré en rouge dans la capture d'écran ci-dessous.

Sélectionner l'onglet « Personnes » ou « Groupes » pour ajouter des personnes ou des groupes respectivement. Taper ensuite la 1ère lettre du noms des personnes ou des groupes à ajouter.

Pour chaque groupe ou utilisateur, il faut indiquer son profil :
  • Lecteur (il peut consulter du contenu);
  • Contributeur (peut ajouter et éditer ses documents);
  • Collaborateur (peut ajouter et éditer ses documents et ceux des autres);
  • Gestionnaire (il peut inviter des personnes).

La matrice des droits est accessible à cette page: http://docs.alfresco.com/5.0/references/permissions_share_components.html

La gestion des droits dans les sites est plus simple que la gestion des droits dans l'entrepôt:

  • Il n'est pas possible de dire qu'un groupe est collaborateur sur un dossier et pas sur un autre dossier.
  • Si un groupe est collaborateur dans un site, il est collaborateur sur tous les contenus.
  • Si vous souhaitez créer un site où le groupe A est collaborateur sur le dossier A et le groupe B est collaborateur sur le dossier B, ce n'est pas possible. Il faut donc créer 2 sites, un pour le groupe A et un deuxième pour le groupe B.

Permissions dans l'entrepôt

Il est possible de définir des permissions sur un contenu (par exemple un dossier ou document) via le bouton « Gérer les permissions ».

Une permission est définie par :
  • Un groupe utilisateur ou un utilisateur (pour rechercher un utilisateur ou un groupe, il faut taper les 3 premières lettres du nom);
  • Un rôle :
  • Consumer (peut consulter du contenu)
  • Editor (peut éditer du contenu)
  • Contributor (peut ajouter et éditer ses documents)
  • Collaborator (peut ajouter et éditer ses documents et ceux des autres)
  • Coordinator (peut supprimer du contenu créé par d'autres, ajouter des règles, etc...)

Le détail de la "matrice des permissions": http://docs.alfresco.com/5.0/references/permissions_share_components.html

Un dossier peut hériter des permissions définies sur le dossier parent.

Permission sur les champs

BeCPG permet de restreindre les accès à certains champs du modèle par groupe d'utilisateurs. Pour cela, allez dans le dossier « Système/Sécurité » de l'entrepôt et créez une nouvelle entité. Cette entité correspond à un groupe de permissions appliquées à un type de nœud beCPG. Une fois l'entité créée, éditer ses propriétés et choisir le type de nœud pour lequel la permission est activée :

Ici nous choisissons de créer des permissions sur le type « Emballage ». Pour définir les droits sur les propriétés, aller sur le groupe de permission et cliquer sur la liste « Permissions » :

Ajouter ainsi de nouvelles permissions à la liste de données via le bouton « Nouvel élément » :

Les règles sont les suivantes :
  • Si un groupe est marqué en lecture, les autres groupes n'ont pas accès aux champs;
  • Si un groupe est marqué en lecture/écriture, les autres groupes ont accès aux champs en lecture;
  • Par défaut un champ est accessible en lecture et écriture.

Une fois toutes les règles définies, aller dans « Administration beCPG » et exécuter le rechargement des permissions appliquées aux propriétés de modèle.

Permissions sur les rapports

Il est possible de définir des droits sur les fiches techniques afin de gérer finement leur consultation et/ou leur édition.

Pour ce faire:
  1. Aller dans: Entrepôt> Système> Rapports> Rapports de fiche produits;
  2. Sélectionner le dossier correspondant au type de produits dont vous souhaitez gérer les permissions sur les fiches techniques (PF,SF,MP);
  3. Placer le curseur sur la ligne correspondant à la fiche technique concernée et cliquer sur "Plus" puis "Gérer les droits d'accès";
  4. Si la configuration par défaut ne convient pas, c'est-à-dire si tout le monde n'a pas le droit de consulter la fiche technique en tant que "Lecteur", cliquer sur "Hériter des droits d'accès" pour faire passer le logo du "Check" à "Sens interdit" et pouvoir administrer vos propres droits;
  5. Cliquer sur "Ajouter un utilisateur/groupe" pour donner des droits sur cette fiche technique à certains utilisateurs ou groupes uniquement. Une fois l'utilisateur ou le groupe choisi, lui assigner un rôle (lecteur, collaborateur etc.).
  6. Cliquer sur "Enregistrer";
  7. Enfin, placer le curseur sur la ligne correspondant à la fiche technique concernée et cliquer sur "Plus" puis "Mettre à jour les droits d'accès".

Permissions sur les projets

Il est possible de définir des droits:

  • Soit sur les projets individuellement. Pour ce faire:
    1. Aller dans le dossier contenant le projet en question;
    2. Placer le curseur sur la ligne correspondant au projet concerné et cliquer sur "Plus" puis "Gérer les droits d'accès";
    3. Si la configuration par défaut ne convient pas, c'est-à-dire si tout le monde n'a pas le droit de consulter le projet en tant que "Lecteur", cliquer sur "Hériter des droits d'accès" pour faire passer le logo du "Check" à "Sens interdit" et pouvoir administrer vos propres droits;
    4. Cliquer sur "Ajouter un utilisateur/groupe" pour donner des droits sur le projet à certains utilisateurs ou groupes uniquement. Une fois l'utilisateur ou le groupe choisi, lui assigner un rôle (lecteur, collaborateur etc.).
    5. Cliquer sur "Enregistrer".

N.B: un utilisateur ou un groupe défini en tant que "Lecteur" sur un projet ne pourra pas ajouter de nouvelles tâches ni modifier ou supprimer des tâches SAUF si elles lui sont assignées !

Ici, Jérôme en tant que lecteur ne peut pas modifier la tâche car elle ne lui est pas assignée:

Ici, Jérôme en tant que lecteur peut modifier la tâche car elle lui est assignée:

Permissions sur les ordres de modification

La possibilité de créer et d'appliquer un ordre de modification est régie par des droits.

Il en existe 2 :
  • beCPG Créateurs d'ordres de modifications (CreateChangeOrder) : donne les droits pour créer un ordre de modification réaliser les simulations et l'analyse d'impact.
  • beCPG Responsables d'ordres de modifications (ApplyChangeOrder) : donne les droits pour appliquer l'ordre de modification.

beCPG Responsables d'ordres de modifications et l'administrateur sont les seuls à pouvoir appliquer un ordre de modification.

Modification des droits d'un utilisateur : voir le Wiki N°12 : ici

Définir des règles sur les dossiers

Des règles peuvent être définies sur chaque dossier. Par règles, on entend :

  • Envoie d'un email lorsqu'un contenu est ajouté/supprimé/modifié dans un dossier;
  • Démarrage d'un workflow lorsqu'un contenu est ajouté à un dossier;
  • etc.
Pour définir une règle :
  • Aller dans le répertoire contenant le dossier sur lequel vous souhaitez ajouter une règle ;
  • Cliquer sur « Plus » puis sur « Gérer les règles ».

Deux cas sont alors possibles :

Si aucune règle n’est associée au dossier, deux actions sont alors possibles :
  • Créer des règles: définir des règles à partir de rien pour le dossier choisi.
  • Associer un jeu de règles: réutiliser un jeu de règles existant pour un autre dossier.

Si une ou plusieurs règles sont déjà associées au dossier, quatre actions sont alors possibles :
  • Hériter des règles: pour que le dossier sur lequel on travaille hérite des règles de son dossier parent ;
  • Supprimer: pour supprimer une règle existante ;
  • Modifier: pour modifier une règle existante ;
  • Exécuter une règle: pour exécuter une règle existante ;
  • Nouvelle règle: pour créer une nouvelle règle.

Généralités concernant la création d’une nouvelle règle

En appuyant sur « Nouvelle règle », un formulaire s’affiche alors et permet de définir :
  • Le nom de la règle (1) ;
  • La description de la règle (2);
  • Le moment où l’action générée par la règle est executée (3);
  • Le type d'action déclencheur(4);
  • Les conditions à respecter(5);
  • L'action à exécuter (6).

Remarque : des options supplémentaires sont disponibles (7):

  • Désactiver une règle : permet de désactiver une règle sans avoir à la supprimer (au cas où elle servirait dans le futur) ;
  • Appliquer la règle aux sous-dossiers : on parle alors de règle récursive. Dans ce cas, il faut bien définir les conditions pour ne pas dégrader les performances.
  • Exécuter la règle en tâche de fond.

Enfin, cliquer sur « Créer » pour enregistrer la règle.

Exemple de création d’une nouvelle règle permettant de déplacer les produits d’un dossier A vers un dossier B lorsqu’ils passent à l’état « Validé ».

Tips pour les débutants :
Les actions doivent être en anglais : valid (validé), archived (archivé) ...
Afin de facilité la création des règles, dans le champs concerné de l’élément à qui s'applique la règle, il faut "inspecter" l’élément en question : clic droit + inspecter l’élément (Inspect element (Q)). En bas de la page s'ouvrira une fenêtre. Les informations (traductions et termes exacts)y sont disponibles.

"Plus de détails": http://docs.alfresco.com/4.1/index.jsp?topic=%2Fcom.alfresco.enterprise.doc%2Fconcepts%2Flibrary-folder-rules.html

Règle de gestion des versions

beCPG propose une règle pour gérer le nombre de versions sur un document. Cette règle gère l'héritage.

L'action de gestion des versions contient les paramétrages suivant :

    Version: (Mineur,Majeur,Les deux)
    Nombre de versions: (Toutes si vide)
    Nombre de jour à conserver: (Tous si vide)
    Nombre de versions par jour: (Toutes si vide)

Dans le cas de plusieurs règles de versions (héritées ou non) les champs sont surchargés. Exemple :

    Règle 1 sur la GED (Les deux, 5 versions Max)
    Règle 2 sur le Site A (Mineur, vide)
    Règle 3 sur le Site A (Majeur, 5 versions Max, 1 Version par jour)
    Règle 4 sur le Site B (Majeur, vide)

Donne pour un document dans le Site A:

    Toutes les versions mineures
    5 versions Max, 1 Version par jour pour les versions majeurs

Pour un document dans le Site B:

    Toutes les versions majeures
    5 versions mineures Max

L'application des règles se fait lors de la mise à jour d'un document ou manuellement. Ainsi, même si le nombre de jour maximum est 2, si le document n'est pas modifié les versions restent. Si la règle est modifiée lors de la mise à jour d'un document celui-ci se voit appliquer la nouvelle règle sur toutes les versions de l'historique.

La rétention des versions ce fait dans cette ordre:

On commence par supprimer les versions majeures puis les versions mineures. Lorsqu'une version majeure est supprimé toutes ces versions mineure le sont.
L'évaluation des règles pour les versions mineures, s'entend pour les versions mineures de chaque version majeure.

On commence par la dernière règle et on remonte:

- On regroupe les versions par jour. Puis on supprime celle en trop dans une journée;
- On supprime les jours en trop;
- Et enfin, on garde le nombre de versions Max dans l'ensemble restant trié par date (on garde les plus récentes).

Catalogues de propriétés obligatoires

Il est possible de définir des catalogues de propriétés obligatoires pour un produit. Ces propriétés impactent le calcul de la note d'avancement de ce produit quand elles ne sont pas renseignées.


Ces catalogues sont définis au format JSON dans le fichier:

/opt/becpg-tc-server/instances/<nom de l'instance>/becpg/classes/beCPG.properties

La propriété contenant le tableau JSON des catalogues se nomme "beCPG.formulation.score.mandatoryFields"
Redémarrer le système après avoir modifié le fichier beCPG.properties


Ou encore, sur l'instance directement:

Entrepôt > Système > Catalogues de propriétés > Catalogs

Chaque catalogue contient un certain nombre de champs obligatoires ou non dans sa définition:

  • id: string, l'identifiant unique du catalogue (ex: "inco");
  • label: string, le nom affiché de ce catalogue (ex: "EU 1169/2011 (INCO)");
  • entityType: tableau, si ce catalogue s'applique à un type précis d'entité (ex: ['bcpg:finishedProduct'] appliquera se catalogue uniquement aux produits finis). Champ optionnel;
  • fields: tableau, la liste des champs à renseigner pour que l'entité soit validée (ex: ["bcpg:legalName", "bcpg:storageConditionsRef"] créera un catalogue où le libellé légal ainsi que les conditions de conditionnement doivent être renseignés);
  • locales: tableau, la liste des langues auxquelles s'applique le catalogue. Utilisé pour les champs multilingues, qui devront être remplis dans toutes les langues en commun avec celles indiquées dans le catalogue via ce champ, et celles sélectionnées dans les paramètres des rapports. Si ce champ n'est pas présent, les langues des rapports seront choisies (s'il y en a), sinon la langue du système sera la langue sélectionnée. Une langue est définie par un code de deux lettres selon la norme ISO-639-1 https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1 Champ optionnel

Pour ce qui est des champs multilingues, il est possible de forcer un champ dans une certaine langue, auquel cas il faut faire suivre le champ d'un underscore et de la langue, par exemple bcpg:legalName_pl force le renseignement du champ libellé légal en polonais, quelque soit la langue choisie dans le catalogue ou les rapports.

Ci-dessous des exemples de catalogues:

beCPG.formulation.score.mandatoryFields=[{"id":"incoFinishedProduct","label":"EU 1169/2011 (INCO)","entityType":["bcpg:finishedProduct"],\
"fields": ["bcpg:legalName","bcpg:precautionOfUseRef","bcpg:storageConditionsRef"]},\
{"id":"incoRawMaterials","label":"EU 1169/2011 (INCO)","entityType":["bcpg:rawMaterial"],"fields": ["bcpg:legalName"], "locales":["fr"]}]

L'antislash en fin de ligne permet de faire continuer la propriété sur la ligne suivante

Il est recommandé de vérifier la validité du tableau JSON (sans antislash) grâce à un parser avant de lancer l'instance - http://json.parser.online.fr/

N.B : il n'y a plus besoin de redémarrer le système pour que la modification apportée au catalogue des propriétés obligatoires soit prise en compte dans le calcul du score d'avancement du produit.

Démarche facile pour ajouter/supprimer un champ du catalogue:
  1. Aller sur Entrepôt>Système>Catalogue de propriétés;
  2. Mettre le curseur sur "Catalogs" et cliquer sur "Télécharger";
  3. Ouvrir le fichier avec un éditeur de texte (Atom par exemple);
  4. Ajouter ou supprimer une ligne;
  5. Retourner sur l'instance et cliquer sur "Plus" puis "Importer une nouvelle version" et choisir le fichier tout juste modifié.

Console d'administration beCPG

La console d'administration beCPG est accessible via le menu "beCPG" du bandeau supérieur.

Caractéristiques système

La console d'administration permet d'éditer :
  • les caractéristiques:
  • les nutriments
  • les ingrédients
  • les caractéristiques organoleptiques
  • les allergènes
  • les coûts
  • les caractéristiques physico-chimiques
  • les caractéristiques microbiologiques
  • les origines géographiques
  • les origines biologiques
  • les listes de valeurs;
  • les hiérarchies des produit (famille, sous famille);
  • les listes projet.

Les caractéristiques

L'ajout d'une caractéristique la rend utilisable lors de l'édition d'un produit. Par exemple, l'ajout d'un allergène permettra aux utilisateurs de déclarer cet allergène dans la liste des allergènes d'un produit. Il en est de même pour toutes les autres caractéristiques.

La hiérarchie de produit ou la gestion des familles et sous-familles des entités.

Accès :

beCPG>Administration BeCPG> Caractéristiques système/hiérarchie des produits

La hiérarchie des produits se paramètre par type d'entités (produits finis, emballages, clients, fournisseurs, ...).

Ajout d'une famille :
Pour ajouter une famille aux matières premières, il faut ajouter un élément dans la « Hiérarchie des matières premières » :

  • vous allez dans "hiérarchie des matières premières",
  • vous cliquez sur "ajouter" (bandeau supérieur). Une fenêtre va s'ouvrir,
  • vous indiquez le nom de votre nouvelle famille (Epicerie) dans Valeur,
  • vous enregistrez.

Ajout d'une sous-famille :
Pour ajouter une sous-famille aux matières premières, il faut ajouter un élément dans la « Hiérarchie des matières premières ».

  • vous allez dans "hiérarchie des matières premières",
  • vous cliquez sur "ajouter" (bandeau supérieur). Une fenêtre va s'ouvrir,
  • vous indiquez le nom de votre nouvelle sous-famille (Pâtes, riz, semoules) dans Valeur,
  • vous lui allouez un Parent c'est à dire une famille (Epicerie),
  • vous enregistrez.

Dans cet exemple, il est possible désormais de classer les matières premières par Epicerie (famille / hiérarchie1) / Pâtes, riz, semoules (sous-famille / hiérarchie2)

Listes Projet

Dans les listes Projet, on retrouve:
  • les légendes des étapes (associe une couleur aux étapes);
  • la hiérarchie des projets (familles et sous familles des projets);
  • les états des demandes;
  • les origines des demandes (ex: service qui a fait la demande, Marketing/Achat/R&D/...);
  • les sponsors (la personne ou le service sponsor du projet);
  • les critères d'évaluation (les critères pour évaluer les projets, ex: Marché/Stratégique/Rentabilité/Faisabilité).

Les modèles d'entité (ex : produit)

dossiers

Les modèles d'entité se paramètrent par type d'entité (produit, client, fournisseur,...) dans lequel on trouve ses sous dossiers, par exemple : Images, Documents. Une fois que le modèle est paramétré, dès qu'un utilisateur créé un produit, le système initialise le dossier de l'entité par rapport au modèle de dossier en créant les sous dossiers.

listes de données

Les modèles d'entité permettent de définir les caractéristiques à renseigner (ex: coûts, allergènes, nutriments, etc...). Une fois que le modèle est paramétré, dès qu'un utilisateur créé un produit, le système initialise le produit avec les caractéristiques du modèle de produit.

L'ajout d'un nouvel allergène aux produits consiste donc à :
  1. Sélectionner le modèle produit;
  2. Afficher la liste des allergènes via le bouton « Caractéristiques produit »;
  3. Ajouter le nouvel allergène au modèle.

Remarque:
Le nouvel allergène sera ajouté aux nouveaux produits, mais il ne sera pas ajouté aux produits déjà créés tant qu'ils ne sont pas formulés ou tant que l'administrateur ne clique pas sur l'action "Synchroniser les entités".

Création d’une MP générique

Objectif
La création et l’utilisation d’une MP générique a pour objectif de permettre, si on le souhaite, la gestion indépendante de plusieurs matières premières « identiques » mais présentant des différences comme les fournisseurs, les origines, leur code produit interne,…
On va créer un modèle d’entité « matière première générique » qui contrairement à une MP classique, aura une liste « composition » .
On pourra ajouter dans « composition » les MP sélectionnées . La MP générique réalisera la synthèse des informations mises à sa disposition.

Création d’un modèle d’entité spécifique : MP génériques

BeCPG> Administration BeCPG>modèle d’entité>modèles de produits>

  1. Faire une copie du modèle de la matière première,
  2. Renommer la copie : « Matière première générique »,
  3. Cliquer sur le modèle Matière première générique,
  4. Ajouter une nouvelle liste : choisir « Composition »,
  5. Nommer la liste,
  6. Enregistrer,

Utilisation d’un modèle d’entité

  1. Retournez dans votre dossier,
  2. Créez une matière première,
  3. Remplissez les informations de dénomination,
  4. Choisissez le modèle : matière première générique,
  5. Validez.

Vous avez dorénavant la possibilité de rajouter une composition à votre matière première.
Vous pouvez ajouter toutes les matières premières identiques mais possédant des caractéristiques différentes (fournisseurs, origines, …),
Formulez,

Les différents champs : nutritionnels, allergènes, fournisseurs, clients, … seront automatiquement renseignés. Les règles de calculs sont identiques lors de la création d’un produit semi-fini ou un produit fini.

Formulation

Si votre système BeCPG n'est pas connecté à votre ERP :
il est possible de formuler avec les matières premières contenues dans la matière première générique.
Pour cela, il est conseillé de coder les matières premières qui font partie de la matière première générique : codeERP générique + code ERP fournisseur (par exemple) pour pouvoir les distinguer facilement les unes des autres.

Si votre système est connecté à votre ERP :
cela ne sera pas possible car votre sytème ne reconnaîtra pas les codesERP de ces MP. Le seul code ERP qui lui sera connu est celui de votre matière première générique.

Les modèles de rapports

La documentation sur les rapports se trouve à cette page:
https://support.becpg.fr/projects/becpg-community/wiki/14_Rapports_et_fiches_produits

Import

Utilisation

Les dossiers utilisés pour l'import se trouvent dans l'entrepôt: Entrepôt/Échange/Import

Les dossiers utilisés pour l'import sont:
  • A traiter : pour importer des fichiers csv;
  • Traité avec échec : fichiers en erreur;
  • Traité avec succès : fichiers importés avec succès;
  • Log : Log d'import;
  • A retravailler : dossier de stockage;
  • Import d'utilisateurs : permet d'importer des utilisateurs.

Le paramétrage des imports

Import simple

Les imports simples (import de propriétés et d'associations) ne nécessitent pas de paramétrage. Il suffit de définir dans le fichier d'import les colonnes (propriétés et associations) à importer.

Le format d'import est le suivant :

PATH    /Temp/Products                    
TYPE    bcpg:rawMaterial                    
COLUMNS    bcpg:productCode    cm:name    cm:creator    cm:modified    cm:modifier    bcpg:suppliers
VALUES    1014    Saumon surgelé 80x20x4    admin        admin    12,13

Où :

PATH: est le dossier où seront importées les données;
TYPE: le type d'objet créé (matière première, nutriment, etc...);
COLUMNS: sont les noms des attributs (propriétés et association) à importer;
VALUES: sont les valeurs à importer en respectant un certain format :

  • date : JJ/MM/AAAA sur un système français, MM/DD/YYYY sur un système anglais;
  • utilisateur : le compte de l'utilisateur;
  • nombre décimal : le séparateur décimal est la virgule sur un système français et le point sur un système anglais;
  • association : le code de l'entité (bcpg:code) pointée par l'association séparé par une virgule lorsque l'association est multi-valeur. Dans le cas du produit, on mettra le code produit (bcpg:productCode). Dans l'exemple, l'association Fournisseurs (bcpg:suppliers) est une association multi-valeur où l'on définit les Fournisseurs ayant le code 12 et 13. Dans le cas où l'association pointée n'a pas de propriété code, il faut mettre le nom de l'association pointée. Dans ce cas, il faut que le nom soit unique.

Navigateur de nœuds

Pour renseigner les fichiers .csv des imports (cf. partie précédente), et notamment le chemin du dossier où seront importées les données, il est possible d'utiliser le navigateur de nœuds.

Il y a deux cas de figure :

  • La cible est une entité (par exemple, si vous voulez importer les nutriments d'un produit), auquel cas le NodeRef nécessaire au navigateur de nœuds est visible dans la barre d'adresses.
  • La cible est un dossier (par exemple, pour importer des matières premières dans un dossier d'un site particulier)

Dans ce deuxième cas, l'astuce pour récupérer le NodeRef de ce dossier est de lancer la création d'un nouveau produit en son sein.

Une fois sur la page de création du produit, le NodeRef du dossier est visible dans la barre d'adresses.

Pour la suite de cette partie, nous supposerons que l'import des données se fera sur une entité existante.

  • Aller dans l'URL de la liste devant être complétée et copier le NodeRef.
  • Aller ensuite dans beCPG> Outils d'Administration> Navigateur de nœuds. Cliquer sur "fts-alfresco" et choisir "noderef". Coller le noderef obtenu dans l'URL dans l'encart blanc et appuyer sur "Rechercher". Vous aller ensuite pouvoir naviguer dans les "enfants" et trouver les termes associés à chaque liste/entité pour écrire le "PATH".

Exemple: import de la liste déroulante "Sponsors" d'un projet

1. Copier le NodeRef

Pour cela, aller dans beCPG> beCPG Administration> Listes Projet> Sponsors

2. Chercher le "PATH" dans le navigateur de nœuds

Aller en bas de la page et cliquer sur le lien "entitylist" de la rubrique "Fils".
Une fois sur la nouvelle page, descendez en bas de la page et dans la rubrique "Fils" chercher "Sponsors" puis cliquer sur le lien associé.

Vous arrivez alors à cette page sur laquelle se trouve le "PATH":

3. Compléter le PATH dans le fichier .CSV

Le PATH copié doit être réduit pour les imports:

  • La partie "app:company_home" peut être omise
  • De même, tous les "cm:" peuvent être retirés, cependant les autres préfixes comme bcpg: doivent rester.

PATH: /System/ProjectLists/bcpg:entityLists/Sponsors

Import avancé

Certains imports nécessitent un paramétrage pour indiquer au système comment importer les données. Par exemple, lorsqu'on importe :
  • des caractéristiques produits (Coûts, Nutriments, Allergènes, etc...);
  • des données dont l'unicité d'une entité est déterminée un ou plusieurs attributs autre que le code, par exemple, le code d'un autre système comme le code ERP;
  • des images ou documents.

Le paramétrage de ces imports se fait dans le dossier : Système/Exchange/Import/Mapping.

Le format de l'import est le suivant :

PATH    /Temp/Products                                                    
TYPE    bcpg:rawMaterial                                                    
MAPPING    Products                                                    
COLUMNS    bcpg:productCode    cm:name    cm:creator    cm:modified    cm:modifier    bcpg:suppliers    coutMP    coutMPPrev    coutEmb    nutProteines    nutLipides    nutGlucides    img1Path    img1Title
VALUES    1014    Saumon surgelé 80x20x4    admin        admin    12,13    1.0    2.0    3.1    2.5    3.6    5.6    /home/querephi/Documents/beCPG/projets/demo/jeu de données/Sushi/sushi saumon/produit.jpg    saumon

Où :
PATH: idem à la section précédente
TYPE: idem à la section précédente
COLUMNS: idem à la section précédente
VALUES: idem à la section précédente
MAPPING: le nom du mapping à utiliser pour l'import

Les caractéristiques importées dans l'exemple précédent sont :
  • coutMP
  • coutMPPrev
  • nutProteines
  • nutLipides
  • nutGlucides

et le fichier de mapping définit à quoi correspond chaque colonne, exemple :

<column id="coutMP" dataListQName="bcpg:costList" charactQName="bcpg:costListCost" attribute="bcpg:costListValue" 
                charactNodeRef="" charactName="Coût MP" type="Characteristic" />

Où :
id: l'id de la colonne;
dataListQName: le nom de liste de caractéristique (Coûts, Nutriments, Allergènes, etc...);
charactQName: la propriété de la liste où est stockée la caractéristique;
attribute: la propriété où la valeur est stockée;
charactNodeRef: l'id de la caractéristique dont le format est : workspace://SpacesStore/34e2f6eb-a139-4f93-8926-ae21612fd221;
charactName: le nom de la caractéristique importée ;

type : le type de la colonne à importer. Il existe 3 valeurs : Attribute, Characteristic, File.

Il faut renseigner soit charactNodeRef, soit charactName. Si charactNodeRef est renseigné, charactName n'est pas pris en compte.

Les fichiers importés dans l'exemple précédant sont définis par les 2 colonnes :
  • img1Path
  • img1Title

et le mapping est :

<column id="img1Path" attribute="cm:content" path="Images/produit.jpg" type="File"/>
<column id="img1Title" attribute="cm:title" path="Images/produit.jpg" type="File"/>

Où :
id: l'id de la colonne;
attribute: la propriété où la valeur est stockée (« cm:content » pour le contenu du fichier et « cm:title » pour le titre du fichier;
path: le chemin relatif à l'entité où est stocké le fichier : « Images/produit.jpg » indique que le fichier est stocké dans le répertoire Images et le nom du fichier est produit.jpg;
type: le type de la colonne à importer, ici, File.

Le format du mapping pour l'exemple précédent est le suivant :

<mappings>
    <settings>
        <setting id="dateFormat" value="dd/MM/yyyy"/>
    </settings>
    <!-- PRODUCT -->
    <mapping name="bcpg:rawMaterial">        
        <nodeColumnKeys> 
            <nodeColumnKey attribute="bcpg:productCode"/>
        </nodeColumnKeys>
        <columns>
            <!-- characteristic properties -->
            <column id="coutMP" dataListQName="bcpg:costList" charactQName="bcpg:costListCost" attribute="bcpg:costListValue" charactNodeRef="" charactName="Coût MP" type="Characteristic" />
            <column id="coutMPPrev" dataListQName="bcpg:costList" charactQName="bcpg:costListCost" attribute="bcpg:costListValue"    charactNodeRef="" charactName="Coût prévisionnel MP" type="Characteristic" />
            <column id="coutEmb" dataListQName="bcpg:costList" charactQName="bcpg:costListCost" attribute="bcpg:costListValue"    charactNodeRef="" charactName="Coût emballage" type="Characteristic" />
            <column id="nutProteines" dataListQName="bcpg:nutList" charactQName="bcpg:nutListNut" attribute="bcpg:nutListValue"    charactNodeRef="" charactName="Protéines" type="Characteristic" />
            <column id="nutLipides" dataListQName="bcpg:nutList" charactQName="bcpg:nutListNut" attribute="bcpg:nutListValue"    charactNodeRef="" charactName="Lipides" type="Characteristic" />
            <column id="nutGlucides" dataListQName="bcpg:nutList" charactQName="bcpg:nutListNut" attribute="bcpg:nutListValue"    charactNodeRef="" charactName="Glucides" type="Characteristic" />
            <!-- files -->
            <column id="img1Path" attribute="cm:content" path="Images/produit.jpg" type="File"/>
            <column id="img1Title" attribute="cm:title" path="Images/produit.jpg" type="File"/>
        </columns>
    </mapping>        
</mappings>

<setting id="dateFormat" value="dd/MM/yyyy"/>: définit le format des dates
<nodeColumnKeys/>: définit les colonnes utilisées pour calculer l'existence de la données à importer
<mapping name="bcpg:rawMaterial">: définit le type à importer

Import caractéristiques dynamiques

Dans le mapping (système>Echange>Import>mapping)
A ajouter à Product.xml


<mapping name="bcpg:dynamicCharactList">
        <nodeColumnKeys>
            <nodeColumnKey attribute="bcpg:erpCode" />
        </nodeColumnKeys>
        <dataListColumnKeys>
            <dataListColumnKey attribute="bcpg:dynamicCharactTitle" />
        </dataListColumnKeys>
        <columns>
        </columns>
    </mapping>

Le format d'import sera à adapter en fonction de la caractéristique dynamique. Par exemple pour une caractéristique dynamique appliquée au niveau des ressources de votre produit fini :

PATH    /Temp/Products                                                    
TYPE    bcpg:dynamicCharactList
LIST_TYPE bcpg:processList                                                        
MAPPING    Products                                                    
COLUMNS bcpg:erpCode bcpg:dynamicCharactTitle bcpg:dynamicCharactValue
VALUES code erp1 Nom_formule valeur

Tips : divers

En cas d'erreur dans la saisie d'une datalist, il est possible de la ré-importer. Il faut supprimer l'ancienne datalist au moment du nouvel import en ajoutant le paramètre suivant :

DELETE_DATALIST  true

Cette fonction est équivalent à un "ANNULE ET REMPLACE"

Import d'utilisateurs

beCPG permet d'importer un lot d'utilisateurs et de les associer à des groupes et ou à des sites. Les sites et groupes non existants sont créés par l'import. L'import se fait par un fichier au format CSV qui doit être placé dans le dossier de l'entrepôt « Échange/Import/Import d'utilisateurs ». Une fois l'import exécuté, le fichier est automatiquement déplacé dans « Échange/Import/Traité avec succès ».

Le fichier CSV doit comporter une ligne en entête :

"cm:lastName";"cm:firstName";"cm:email";"cm:telephone";"cm:organization";"username";"password";"memberships";"groups";"notify" 

Il est possible d'ajouter d'autres propriétés à l'utilisateur en rajoutant en entête le nom de la propriété. Les champs « username » et « password » sont obligatoire.

Le champ « membership » permet d'associer l'utilisateur à des sites en définissant son rôle au sein du site. Les différents rôles sont :
  • Consumer
  • Collaborator
  • Manager

Les sites doivent être séparés par des « | » et le rôle avec « _ ». Ainsi l'utilisateur «Test » appartenant au site « Site de test 1 » avec le rôle Manager et « Site de test 2 » avec le rôle « Consumer » aura le champ « membership » rempli comme suit : « Site de test 1_Manager|Site de test2_Consumer »

Le champ « groups » permet d'associer l'utilisateur à un ou des groupes. Les différents groupes sont séparés par « | » un groupe peut être hiérarchique il est représenté en utilisant le séparateur de chemin « / ». Les groupes beCPG doivent être référencés par leurs noms systèmes :

  • Marketing (Marketing)
  • Responsables marketing (MarketingMgr)
  • Utilisateurs marketing (MarketingUser)
  • Achats (Purchasing)
  • Responsables Achats (PurchasingMgr)
  • Utilisateurs Achats (PurchasingUser)
  • Responsables Qualité (QualityMgr)
  • Utilisateurs Qualité (QualityUser)
  • R&D (RD)
  • Responsables R&D (RDMgr)
  • Utilisateurs R&D (RDUser)
  • Réviseurs Produit (ProductReviewer)
  • Responsables Système (SystemMgr)

Ainsi l'utilisateur appartenant au groupe « Réviseurs Produit » et au groupe « Groupe de test 2 » enfant de « Groupe de test 1 » aura le champ « groups » rempli comme suit : « ProductReviewer|Groupe de test 1/ Groupe de test 2 »

Le champ « notify » permet d'envoyer un mail à l'utilisateur. Les valeurs possibles sont « true » ou « false ».

Un exemple complet de CSV pour l'utilisateur Test :

"cm:lastName";"cm:firstName";"cm:email";"cm:organization";"username";"password";"memberships";"groups";"notify" 
"test";"test";"test@becpg.fr";"";"test";"test"; "Site de test 1_Manager|Site de test2_Consumer";"ProductReviewer|Groupe de test 1/ Groupe de test 2";"false" 

Identification du nom des champs dans l'interface beCPG

Identification des noms de propriétés

Il y a plusieurs méthodes pour connaître le nom des propriétés. Deux d'entre elles sont:

Voyons maintenant chacune d'entre elles.

Méthode par Édition multiple

L'édition multiple permet d'avoir accès aux champs des propriétés, d'un type de produit.
Pour y avoir accès :
  • Placez-vous dans le dossier contenant les produits.
  • Cliquez sur le bouton Edition multiple (flèche rouge).

  • Sur l'interface d'édition multiple, cliqué sur le bouton Type applicable aux contenus (flèche rouge).
  • Puis, dans la liste déroulante, sélectionnez un type de produit. Dans notre cas, Produit semi fini (encadré en vert).

  • Cochez ensuite les propriétés que vous voulez importer.
  • Puis cliquez sur le bouton afficher (flèche rouge).

  • Cliquez sur Exporter pour téléchergez l'export excel des résultats (flèche verte).

  • Ouvrez le fichier excel téléchargé.

À la ligne 2, du fichier excel, vous avez accès aux noms des propriétés d'une entité.

Remarque: La ligne 1 et 2 du fichier excel sont par défaut réduits, pensez à les agrandir.

Méthode par l'Outil de développement du navigateur

Introduction

La méthode par l'édition multiple est à privilégiée, car plus simple. Mais il arrive parfois, suite à certaines configuration du système, que certain champs d'une entité (Produit Fini, etc) ne soient pas accessible via l'édition multiple. Il est alors possible de trouver le nom des champs interne, via l'outil de développement du navigateur.

Procédure

Prenons l'exemple du champs Commentaires placé sur le Produit Fini.

  • 1. Placez vous sur la section Propriétés du Produit Fini (encadré vert) puis cliquer sur Éditer les propriétés (cf: Encadré rouge)

  • 2. Une fois sur la page d'édition de propriétés, faire un clique droit sur le label Commentaires (encadré vert), puis sélectionner l'option Inspecter dans la pop-up (Encadré rouge).

  • 3. L'outils de développement apparaît suite à l'étape 2. La présentation de l'outil de développement peut changer selon votre navigateur mais le principe est le même. Vous aurez en surbrillance le bloc de texte correspondant à l'élément sur lequel vous avez cliqué. (Encadré vert).

  • 4. Toujours au niveau du bloc de texte en surbrillance, c'est l'attribut for qui contient le nom interne de la propriété "Commentaires", productComments (Encadré rouge).

Identification du nom des champs d'une liste

beCPG permet d'exporter en excel, directement via l'interface des listes.

  • Placez-vous dans la liste à exporter, par exemple, cliquez sur la liste Composition (encadré vert).
  • Cliquez ensuite sur le bouton Exporter (flèche rouge).

  • Ouvrez le fichier excel téléchargé.

À la ligne 2, du fichier excel, vous avez accès aux noms des champs.