Projet

General

Profil

beCPG Administration

Introduction

This document introduces the administration of beCPG software. It’s dedicated to beCPG administrators.

  • Open beCPG Admin console to initialize the PLM
  • Click on "Initialize the repository"

Groups management

The groups management interface is accessible through the beCPG>beCPG administration menu of the upper headband. Here, on the left headband, click on « Groups ».

Groups can be prioritised. For example, the group « R&D users » and « R&D leaders» are part of the « R&D group ».

beCPG groups are:

PLM Module Those groups are supplied as examples
Trade beCPG Sales Representatives
Production beCPG Production
Purchasing beCPG Purchases
Quality beCPG Quality
RD beCPG R&D
PurchasingMgr beCPG Purchase Managers
TradeMgr beCPG Sales Managers
ProductionMgr beCPG Production Managers
QualityMgr beCPG Quality Managers
RDMgr beCPG R&D Managers
PurchasingUser beCPG Purchasing Users
TradeUser beCPG Business Users
ProductionUser beCPG Production Users
QualityUser beCPG Qualité Users
RDUser beCPG R&D Users
Supplier Gateway Module
ReferencingMgr beCPG Referencing Managers Access a raw material which is being benchmarked
ExternalUser beCPG External users Group assigned to a supplier which allows to reduce the access
Administration Module
SystemMgr beCPG System Managers Access the beCPG administration
ALFRESCO_ADMINISTRATOR Administrator
Customer claim module These groups are used by the customer claim process
ClaimAnalysis beCPG Customer Claim Analysis Pilots
ClaimClassification beCPG Customer Claim Classification Pilots
ClaimClosing beCPG Customer Claim Closing Pilots
ClaimStart beCPG Customer Claim Input Pilots
ClaimResponse beCPG Customer Claim Answer Pilots
ClaimTreatment beCPG Pilot

The « System Managers» group has the write permission in the system folder.

Users management

Create a user

The users management interface is accessible through the beCPG>beCPG administration menu of the upper headband. Here, on the left headband, click on « Users ».

Creation of a new user can be done by clicking on the « New User » button.

The interface allows the filling of the user’s information (name, account, email and so one) and groups he belongs.

Edit/modify a user : add a new group:

  1. write a few letters of the user's name you are looking for in the text field,
  2. click on "Research",
  3. select in the list the user by clicking on his name.

Modify a permission :

  1. in the upper right of your screen : click on "Edit User" ,
  2. in : "About User" : Search for the groups by writting the first letters of the group in the text field (you can see all the group in Becpg> administration > groups> Browse) : click on Search,
  3. select the group by clicking on "Add"
  4. Save Changes

Go back to Becpg > administration BeCPG > Click on "Reload" properties permissions.

Site creation

Sites are collaborative spaces in which a team or a service can work on the same data/products in a dedicated space. For example :
  • R&D site;
  • fresh products R&D site;
  • frozen products R&D site;
  • Purchases;
  • Quality;
  • Plant A;
  • etc.

To create a new site, click on Sites> Create site (on the upper headband).

Once the site has been created, administer the members thanks to the site’s « Members » tab by indicating groups and/or users who can access the site.

To add a new group or a new user, click on the icon which is surrounded in red on the screenshot as below :

Select the « Members » tab or the « Groups » tab to add people or groups respectively. Write the first letters of these people or groups’ names to find them.

Then, assign rights to users or groups by chosing a statute :
  • Consumer (he can consult content);
  • Contributor (he can add and modify its own documents);
  • Collaborator (he can add and edit his documents and others’ documents) ;
  • Manager (he can invit people).

Rights matrix is available at:

http://docs.alfresco.com/5.0/references/permissions_share_components.html

Rights management in sites is easier than the rights management in the repository :

  • It’s not possible that a group is collaborator on a folder and not another folder.
  • If a group is collaborator in a site, he’s collaborator on all the contents.
  • If you want to create a site where the group A is collaborator on the folder A and the group B is collaborator on the folder B, it’s not possible. Thus, you should create two sites, one for the group A and another for the group B.

Permissions in the repository

It’s possible to define permissions on a content (for example, a folder or a document). For that purpose, place the cursor on the folder or the document line and click on « More » and then on « Manage permissions ».

A permission is defined by :
  • A group of users or a user (to search a group or a user, write the first letters of its name) ;
  • A rôle :
  • Consumer: can consult content ;
  • Editor : can edit content ;
  • Contributor : can add and edit his documents ;
  • Collaborator : can add and edit his documents and others’ documents ;
  • Coordinator : can delete others’ content, add rules etc.

Rights matrix details :

http://docs.alfresco.com/5.0/references/permissions_share_components.html

A folder can inherit permissions defined on its parent folder.

Fields permissions

beCPG restricts access to certain fields of the model per users groups. For this purpose, go to Repository> System> Security rules and create a new entity. This entity corresponds to a group of permissions applied to a beCPG node type. Once the entity is created, edit its properties and choose the node type for which the permission is activated :

Here, permissions are created on the node type « Packaging ». To define the rights on properties, click on the « Permissions » list :

Add new permissions to the data list by clicking on « New row » :

Rules are as follow :
  • If a group has the « Read » permission on a field, others don’t access the field ;
  • If a group has the « Read and writte » permission on a field, others have the « Read » permission on the field ;
  • Per default, a field is accessible in reading and writting mode.

Once all the rules have been defined, go to « Administration beCPG » and execute « Reload properties permissions » by clicking on the corresponding button.

Permissions on reports

It’s possible to define rights on technical sheets so that their consultation and/or their edition is rigorously managed.

For that purpose :
  1. Go to : Repository> System> Reports> Product reports ;
  2. Select the folder corresponding to the type of products of which you want to manage the technical sheets (finished product, raw material …) ;
  3. Place the cursor on the line corresponding to the concerned technical sheet and click on « More » and then on « Manage permissions » ;
  4. If the default configuration doesn’t suit you, which means that you don’t want everybody to have the right to consult the technical sheet as a « Consumer », click on « Inherit permissions ». Thus, the logo turns from « Check » sign to « No entry » sign so that you can administrate your own rights.
  5. Click on « Add a user/group » to give rights only to some users or groups on this technical sheet. Once the user or the group selected, give it a rôle (consumer, collaborator etc.);
  6. Click on « Save » ;
  7. Finally, place the cursor on the line corresponding to the technical sheet and click on « More » and then on « Update permissions ».

Permissions on projects

It’s possible to define rights :

  • Either on folders which specifically contain projects. For that purpose, consult the documentation concerning the permissions on folders, available at :

ADRESSE

  • Either on individual projects. For this matter :
    1. Go to the folder containing the concerned project ;
    2. Place the cursor on the line corresponding to the concerned project and click on « More » and then on « Manage permissions » ;
    3. If the default configuration doesn’t suit you, which means that you don’t want everybody to have the right to consult the project as a « Consumer », click on « Inherit permissions ». Thus, the logo turns from « Check » sign to « No entry » sign so that you can administrate your own rights ;
    4. Click on « Add a user/group » to give rights only to some users or groups on this project. Once the user or the group selected, give it a rôle (consumer, collaborator etc.);
    5. Click on « Save » ;

N.B : a user or a group of users defined as « Consumer » on a project won’t have the right to add new tasks neither to modify or delete tasks UNLESS they are assigned to these tasks !

Here, Jérôme (as a consumer) doesn’t have the right to modify the task because he’s not assigned to this latter :

Here, Jérôme (as a consumer) has the right to modify the task because he is assigned to this latter :

Permissions on change order

If you want to create a change order, you need to have the right permissions.

There are 2 different permissions :

  • beCPG Change orders creators (CreateChangeOrder) : you can create a change order but you can not apply one.
  • beCPG Change orders managers (ApplyChangeOrder) : you can apply a change order.

beCPG Change orders managers and the administrator are the only ones able to apply a change order.

How to change a user's permission : see wiki N°7: here

Define rules on folders

Rules can be defined on each folder. By rules is meant :
  • Send a mail when a content is being added/deleted/modified in a folder ;
  • Initialize a workflow when a content is added in a folder ;
  • etc.
To define a rule :
  • Go to the directory containing the folder in which a rule has to be added ;
  • Click on « More » and then « Manage rules ».

Two cases are possible:

If no rule is associated to the folder, two actions are possible:
  • Create rules : define rule from nothing on the chosen folder ;
  • Associate a deck of rules : re use an existing deck of rules for another folder.

If one or more rules are already assciated to the folder, four actions are possible:
  • Inherit the rules : the folder on which we’re working inherits the rules of its parent folder ;
  • Delete : delete an existing rule ;
  • Modify : modify an existing rule ;
  • Execute a rule : execute an existing rule ;
  • New rule : create a new rule.

Generalities about the creation of a new rule

By clicking on « New rule », a form appears in order to fill :
  • The name of the rule (1) ;
  • The descripion of the rule (2);
  • The moment when the action generated by the rule has to be executed (3);
  • The trigger action (4);
  • The conditions that have to be met (5);
  • The action to execute (6).

Note : supplementary options are available  (7) :

  • Disable a rule: desactivate a rule instead of deleting it (because perhaps it could be useful later) ;
  • Apply rules to the subfolders : the rule is called « recursive rule ». In that case, conditions have to be well defined, otherwise the performances could be degraded.
  • Run rule in background

Finally, click on « Save » to register the rule.

Example of a new rule creation allowing the deplacement of products, from a folder A to a folder B, when they pass from the state « Simulation » to the state « Validated ».

"More details": http://docs.alfresco.com/4.1/index.jsp?topic=%2Fcom.alfresco.enterprise.doc%2Fconcepts%2Flibrary-folder-rules.html

Versions management rules

beCPG proposes a rule to manage the number of versions on a document. This rule manages the legacy.

The action of versions management contains the following configurations :

    Version: Minor,Major,Both;
    Number of versions: all if empty ;
    Number of days to conserve: all if empty ;
    Number of versions per day: all if empty ;

In the case of many versions rules (inherited or not) fields are surcharged. Example :

    Rule 1 on the ECM (Both, 5 versions max)
    Rule 2 on the Site A (Minor, empty)
    Rule 3 on the Site A (Major, 5 versions max, 1 version per day)
    Rule 4 on the Site B (Major, empty)

Which gives for a document in the site A:

    All the minor versions
    5 versions max, 1 version per day for the major versions 

Which gives for a document in the site B:

    All the major versions
    5 minor versions Max

The rules application is done when a document is updated or manually. Thus, even if the number maximum of days is 2, if the document is not modified, the versions are preserved. If the rule is modified when the document is updated, the new rule is applied on all the document’s historical versions.

The versions conservation is made in this order :

  • Major versions are deleted before the minor versions.
  • When a major version is deleted, all its minor versions are also deleted.
  • The rules evaluation for the minor versions is made for all the minor versions of each major version.
It begins with the last rule and it goes back to the former one:
  • Versions are gathered per day ;
  • Day surplus versions are deleted ;
  • Surplus days are deleted ;
  • The remainder is sorted by date and the maximum number of versions is conserved (the most recent versions are conserved).

Mandatory properties catalog

It’s possible to define mandatory properties catalogs for a product. These properties impact the computation of the product advancement score when they are not filled.


These catalogs are defined in JSON format in the folder:

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

The property containing the JSON catalogs table is named :

"beCPG.formulation.score.mandatoryFields"

Each catalog contains a certain number of mandatory (or not) fields in its definition:


The catalog can also be directly downloaded from the instance by going to:

Repository> System> Properties catalog

  • id: string, the unique catalogue identifier (ex: "inco");
  • label: string, the catalog name displayed (ex: "EU 1169/2011 (INCO)");
  • entityType: table, if this catalog is applied for a specific entity type (ex: ['bcpg:finishedProduct'] will apply this catalog only on finished products). Optional field;
  • fields: table, the list of fields that have to be filled in order to validate the entity (ex: ["bcpg:legalName", "bcpg:storageConditionsRef"] will create a catalog where the legal name and the packaging conditions must be filled);
  • locales: table, the languages list for which the catalog is applied. It’s used for the multilingual fields, which must be filled in all languages in common with these indicated in the catalog through this field, and these which are selected in the reports parameters. If this field doesn’t exist, reports languages will be chosen (if there are), otherwise the system language will be the one selected. A language is defined by a 2 letters code according to the ISO-639-1 regulation.

    https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1 Champ optionnel

Concerning the multilingual fields, it’s possible to force a field in a certain language. In that case, the field must be followed by a souligner and the language, for example becpg:legalName_pl forces the filling of the legal name in polish, whatever the language chosen in the catalog or the reports.

See below for some examples of catalogs:

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"]}]

The backslash at the end of a line allows the property to continue to the next line.

It’s recommended to verify the JSON table validity (without back slash) thanks to a parser before starting the instance - http://json.parser.online.fr/

N.B : there is no more need to restart the system. In fact, the modification are taken into account as soon as a new version of the JSON document is uploaded.

Easy way to add/delete a field in the catalog:
  1. Go to Repository>System>Properties catalog;
  2. Put the cursor on "Catalogs" and press "Download";
  3. Open the file with a text editor (Atom for example);
  4. Add or delete a line;
  5. Return to the instance and press "More" and then "Import a new version" and choose the file which has just been modified.

beCPG administration console

The beCPG administration console is available through the menu « beCPG » on the upper headband.

System characteristics

The administration console allows the edition of :

  • the characteristics ;
  • the nutrients ;
  • the ingredients ;
  • the organoleptic characteristics ;
  • the allergens ;
  • the costs;
  • the physicochemical characteristics  ;
  • the microbiological characteristics ;
  • the geographical origins ;
  • the biological origins.
  • Lists of values ;
  • Products hierarchies (family, subfamilies) ;
  • Project lists.

Characteristics

Adding a characteristic makes it usable during the product edition. For example, adding an allergen will allow the users to declare it in the allergens list of a product. It’s the same for all the other charactristics.

Products hierarchy

The product hierarchy is configured per type of product :

Add a family :
In order to add a family to raw materials, it’s necessary to fill the « Hierarchy of raw materials » list.

Value : grocery

Add a subfamily :
In order to add a subfamily to raw materials, it’s necessary to fill the « Hierarchy of raw materials » list.

Value : pasta, rice, semolina
Parent : grocery
This allows to link the family to the sub family.

Projects list

In the projects lists, there are :

  • The steps’ legends (which associate colours to steps) ;
  • Projects hierarchy (projects’ families and subfamilies) ;
  • Requests status ;
  • Requests origins (ex : the service which made the request) ;
  • Sponsors (persons or sponsor service of the project) ;
  • Evaluation criteria (criteria to evaluate the project, for example, market or feasibility).

Entity templates

Folders

Entities’ templates are configured per entity type (product, client, supplier) in which there are subfolders, for example : images, documents etc. When the model is parameterized, once a user will create a product, the system will initialize the entity’s folder according to the folder model by creating the subfolders.

Data lists

Entity templates allows you to define the characteristics managed on each product (ie : costs, allergens, nutrition facts).
Each time you create a new product, it inherits characteristics defined on template.

  • From beCPG admin console, open "Entity templates".
  • Open folder "Templates of product"
  • Open "Finished Product" datalists
  • For each datalist, add characteristics you want to manage on every product
  • Costs, select costs previously created (Cost raw material, Cost packaging, Cost production)
  • Nutrients, select nutrients previously created (Energy, Fat, Sugar, ...)
  • etc...
  • Do the same with other templates : semi-finished, raw material, ...
  • Now, when you create a new product, it inherits characteristics defined on template.

Note:

The new allergen will be added to new products, but won’t be added to already existing products as long as they are no formulated or as long as the administrator doesn’t click on the « Synchronize the entities » action.

Creation of a new template for raw material (if it is really necessary)

Repository> System> Entity templates> Product templates

  1. Make a copy of a raw material template,
  2. Change the name of the copy (for exemple :  "Fresh fruit Raw Material"),
  3. Clic on the "Fresh fruit Raw Material" template,
  4. Change the informations in the lists (physico-chemical ...)

Now you have 2 different templates for raw material. When you will create a raw material, you will have to chose the right template.

Creation of a generic raw material

Purpose

You create and use a generic RM because you want to manage independently several "identical" RM which have slight differences (suppliers, origins ...)

You will have te create an entity template call "generic raw material". It will have a composition's list so it will be possible to add in the composition list the "identical RM" The generic raw material will bring together the informations.

For exemple, you have 3 tomatoes with 3 different suppliers and with different quantities of minerals. You will create one unique RM which will synthetize all the informations.

How to create a specific entity's template : "generic RM"

Repository> System> Entity templates> Product templates

  1. Make a copy of a raw material template,
  2. Change the name of the copy to : « Generic Raw Material »,
  3. Clic on the Generic Raw Material template,
  4. Add a new list and choose « Composition »,
  5. Name this new list "Composition" for example,
  6. Save.

How to use this entity template :

  1. Go back to your original folder,
  2. Create a raw material,
  3. Name your raw material,
  4. Choose the template : Generic Raw Material,
  5. Save.

Now, it is possible to add in the composition list of your raw materials, the similar RM.
Formulate,

The various fields : nutrients, allergens ... will be completed automatically using the information you added in the "similar" raw materials. The calculation are the same as for the semi-finished products and the finished products.

Formulation

If BeCPG is not linked to your ERP:
It is possible to formulate your recipes with the raw material contained in the generic raw material. You just need to create a different ERP code. For example : ERP code of your generic RM + ERP code of your supplier. It will be easy to tell them appart.

If BeCPG is linked to your ERP :
It won't be possible because your ERP won't tell the RM appart. Only the ERP code of the generic RM will be regonized by your ERP.

Reports models

Entity reports (example : product technical sheet)

There exists two types of reports for the product sheet:
  • System report (always generated by the system, automatically) ;
  • User report (chosen by the user when he edits the product). This type of report is an upon request report.

Product reports are defined in Repository> System> Reports> Product reports.

The addition of a new report is made like that :
  1. Add a folder ;
  2. Add the file .rptdesign and then edit its metadata :
    • The name of the report ;
    • The product type (raw material, finished product etc.) to define the product type on which the report can be applied ;
    • Tick « System model » to indicate if the report is automatically generated for this type of product. In the case in wich the report isn’t a system report, the user must select it when he edits the product ;
    • Tick « Default model » to indicate that the report is the default report for the product, which means that it will be display per default when the user opens the « Reports » list. It’s not possible to have more than one default report for a type of product. Reports which are not default reports are classified in the product « Documents » folder when the report is generated.
  • Report extension

To create or modify a BIRT report, please refer to « Product report model modification ».

When a product is created or edited, the system generates a report which is associated to the product.

Extraction reports from a research

These reports are defined in the folder Repository> System> Reports> Export search.

They are BIRT or EXCEL reports which export a research result. They are also used for the projects follow up.

To add a new report :
  1. Add a folder ;
  2. In this later, add :
    • The BIRT or EXCEL report, filled with its name and its metadata. The name will be displayed on the results page of a research ;
    • The file extension must be « xls » for an EXCEL report and « rptdesign » for a BIRT report ;
    • Define its permissions on the report folder. People must have the « Reading » permission to be able to see the report in the result of a query.

Solely for the BIRT reports :
Definition of the data to be exported to feed the report, which name is ExportSearchQuery.xml. This file defines the attributes of a product which must be exported during the report execution :

  • product properties (state, name etc.);
  • product’s links (supplier, clients, etc...);
  • product’s characteristics (costs, nutrients, allergens, etc...).

To create or modify a BIRT report, please refer to « Modification of a product report model ».

EXCEL reports are easy to create. In EXCEL, in the first tab, define the principal type to extract as follow :

TYPE    bcpg:finishedProduct                
COLUMNS    cm:name    bcpg:code    bcpg:erpCode    bcpg:productHierarchy1    bcpg:productHierarchy2
#    Nom    Code    Code ERP    Famille    Sous famille

On the following tabs, extract the principal type datalists. Example for the composition :

TYPE    bcpg:compoList            
COLUMNS    bcpg:erpCode    bcpg:compoListProduct    bcpg:compoListProduct_bcpg:erpCode    bcpg:compoListProduct_bcpg:productHierarchy1
#    Produit    Composant    Composant – Code ERP    Composant – Famille

Columns and types attributes are internal names given to fields.

Import

Use

Folders used for the importation are available in the repository : repository/exchange/import.

Folders used for the importation are :
  • To treat : to import .csv files;
  • Failed : error files;
  • Succeeded : files importation succeeded;
  • Log : Log of importation;
  • To do : storage folder;
  • User import : to import users.

Imports configuration

Simple import

Simple imports (importation of properties and associations) don’t need configuration. Simply define columns in the importation file (properties and associations) to import.

Importation format is the following :

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

Where :

PATH: is the folder where the data will be imported ;
TYPE: the object type which has been created (raw material, finished product etc.) ;
COLUMNS: attributes’ names (properties and associations) to import;
VALUES: are values to import with a certain format.

  • Date : JJ/MM/AAAA in a French system, MM/DD/YYYY in an English system;
  • User : the user account ;
  • Decimal number: the decimal separator is a comma on a French system and a dot on an English system ;
  • Association : the entity code (bcpg:code) pointed by the association and separed by a comma when the association is multi-value. In the case of a product, enter the product code (bcpg:productCode). In the example, the association « Supplier » (bcpg:suppliers) is a multi-value association where the suppliers with the 12 and 13 code are defined. In the case in which the pointed association doesn’t have a code property, the name of this later has to be entered.

Node browser

To fill import .csv files (cf. the previous part), and notably the way to access the folder where the data will be imported, it’s possible to use the node browser .

There are two cases :

  • The target is an entity (for example, if you want to import the nutrients of a product), in which case the « nodeRef » (necessary to use the node browser), is visible in the address bar.
  • The target is a folder (for example, to import raw materials in the folder of a particular site). In this second case, the tip to get the « nodeRef » from this folder is to launch the creation of a new product in this folder. Once on the creation page of the new product, the « nodeRef » of the folder is visible in the address bar.

For the next part, we will suppose that the importation of data will be applied on an existing entity.

  • Go to the URL of the list which have to be completed and copy the « nodeRef » ;
  • Go to beCPG> Administration> Node browser. Click on « fts-alfresco » and choose « nodeRef ». Paste the nodeRef got from the URL in the blank inset and press « Search ». You will be able to navigate in its children and to find terms associated to each list/entity to write the « PATH ».

Example: importation of the drop down list « Sponsors » of a project

1. Copy the « nodeRef »

For this purpose, go to beCPG> beCPG administration> Lists> Projects> Sponsors

2. Search the « PATH » in the node browser

Go to the bottom of the page and click on the link « entitylist » of the section «Child».
Go to the bottom of the page and search « Sponsors » in the «Child» section, then, click on the associated link. You arrive on a page on which you can find the « PATH » as on the screenshot as below :

3. Complete the « PATH » in the .CSV file

The pasted « PATH » should be shortened for the importations :

  • The part "app:company_home" can be omitted;
  • In the same way, all the « cm : » can be deleted, however, the other prefixes such as « bcpg : » must be kept.

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

Advanced import

Certain imports need a configuration to indicate to the system how to import the data. For example, for the import of:
  • product characteristics (costs, nutrients, allergens, etc.) ;
  • images or documents ;
  • etc.

The configuration of this impots is done in the folder : Système/Exchange/Import/Mapping.

The import format is the following :

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

Where :

PATH: is the folder where the data will be imported ;
TYPE: the object type which has been created (raw material, finished product etc.) ;
COLUMNS: attributes’ names (properties and associations) to import;
VALUES: are values to import with a certain format ;
MAPPING: the name of the mapping that has to be used for the import.

Characteristics imported in the previous example are:
  • coutMP : costs of the raw materials ;
  • coutMPPrev : previsional costs of the raw materials ;
  • nutProteines : protein content ;
  • nutLipides : fats content ;
  • nutGlucides : carbohydrates content.

And the mapping file defines which corresponds to which column, for example :

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

Where :

id: the ID of each column ;;
dataListQName: the characteristics list’s name (costs, nutrients, allergens, etc...);
charactQName: the list property where is situated the characteristic;
attribute: the property where the value is stocked;
charactNodeRef: the ID of the characteristic which format is: workspace://SpacesStore/34e2f6eb-a139-4f93-8926-ae21612fd221;
charactName: the name of the imported characteristic ;
  • type : the type of the column which must be imported. There exists 3 values : Attribute, Characteristic, File.

You can choose to fill either the charactNodeRef or the charactName. If the charactNodeRef is filled, charactName is not taken into account.

Files imported in the previous example are defined by the 2 columns :
  • img1Path
  • img1Title

and the mapping is :

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

Where :

id: the ID of the column;
attribute: the property where the value is stocked (« cm:content » for the file content and « cm:title » for the file tittle);
path: the path relating to the entity where the file is stocked : « Images/produit.jpg » indicates that the file is stocked in the « Images » repertory and the file name is « produit.jpg » ;
type: the type of the column to be imported, here : FILE.

The mapping format for the previous example is the following :

<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>

Where :

<setting id="dateFormat" value="dd/MM/yyyy"/>: defines the dates format ;
<nodeColumnKeys/>: defines the columns used to calculate the existence of the data to be imported ;
<mapping name="bcpg:rawMaterial">: defines the type to be imported.


Dynamic characteristics Import

In the mapping (systeme>Exchange>Import>mapping)
You need to add to Product.xml

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

Importation format needs to be adapt for your Dynamic characteristics. For example for a process list :

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

Soluces


if you import a wrong datalist, It is possible to import again the information. But, you need to delete the last datalist (the wrong one) when you import the new one. You just need to add this to your import format :

DELETE_DATALIST  true

It CANCELS AND REPLACES the datalist

Fields names identification in beCPG interface

Properties names identification

The bulk edition allows the access to the properties’ fields of a product type. To access it :
  • Enter the folder containing the products ;
  • Press the button « Bulk edition ».

  • On the bulk edition interface, press the button « Content base type »
  • Then, in the drop down list, select a type of product. In our case, « Semi finished product ».

  • Tick the properties that you would like to import.
  • Press the button « Refresh ».

  • Click on « Export » and download the Excel file.

  • Open the Excel file previously downloaded.On the line 7 of the Excel file, there are the properties’s names.

Note: line 1 to 7 of the Excel file are reduced per default, you’ll have to enlarge them.

List fields’ name identification

beCPG allows the exportation in EXCEL directly through the lists’ interface.

  • Enter the list to be exported, for example, click on the « Composition » list.
  • Press the « Export » button.

  • Open the downloaded EXCEL file.

On the line 2 of the Excel file, there are fields’names.

Users import

bePG allows the importation of a users pack and their association them to different groups and/or to different sites. Sites and groups nonexistent are created thanks to the importation. The import is done through a .csv file which have to be placed in the repertory folder Exchange> Import> Users import. Once the import has be executed, the file is automatically moved to Exchange> Import> Import succeeded.

The .csv file must contain a header row:

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

It’s possible to add other properties to a user by adding the properties’ names in header. « Username » and « Password » fields are mandatory.

The « Membership » field allows the association between users and sites. The user rôle in the site has to be defined. The different roles are :
  • Consumer
  • Collaborator
  • Manager
Sites must be separated by « | » and roles with « _ ». Thus, the user « Test » belonging to :
  • the site « Site de test 1 » in which his rôle is « Manager » ;
  • the site « Site de test 2 » in which his rôle is «Consumer» ;
    will have the « Membership » field filled like this : « Site de test 1_Manager|Site de test2_Consumer »

The « Groups » field allows the association between users and groups. Groups are separated by « | ». Groups can be hierarchized using a « / ». beCPG groups should be referenced by their system’s names :

  • Marketing (Marketing)
  • Marketing managers (MarketingMgr)
  • Marketing users (MarketingUser)
  • Purchases (Purchasing)
  • Purchases managers (PurchasingMgr)
  • Purchases users (PurchasingUser)
  • Quality manager (QualityMgr)
  • Quality users (QualityUser)
  • R&D (RD)
  • R&D managers(RDMgr)
  • R&D users (RDUser)
  • Product reviewer (ProductReviewer)
  • System manager (SystemMgr)

Thus, the user belonging to the « Product reviewer » group and to the « Groupe de test 2 » group child of « Group de test 1 » will have the « Groups » field filled like this :
« ProductReviewer|Groupe de test 1/ Groupe de test 2 »

The « notify » field allows to send email to the user. Possible values are « True » or « False ».

Complete CSV example for the « Test » user :

"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"