# FiloBlu Flow

This module allows to import data in Magento from CSV files

### Flow Pipeline

 #### 1 - Fetch
 
 Discover new files on configured remote sources
   
 #### 2 - Receive
 
 Download discovered files from remote sources
 
 #### 3 - Parse
 
 Parse 
 
 #### 4 - Process

 Process

 ## Channels

 ### Mapping

 #### Allowed Properties

 - "direct_insert: 1" Check if parser need to insert record directly, without any kind of processing



# NOTES

## With use_map = 0 in channel config -> map

gli headers ci devono essere e devono cincidere con i campi della tabella

ITE : mappatura campo a campo e la prendo dalle instestazioni csv del masterfile ite


	i dati sono inseriti per riga
	PARSING : 
		carico le righe direttamente sulla tabella in databse
	PROCESSING:
		viene creato L'item in magento con associazione al configurabile

EAVS :
	csv sono per colonne
	
	PARSING : 
		carico i dati direttmnte in databese
        espando $row['l'] per tutte le store view

	PROCESSING:
		
		- applico gli attributi al prodotto tramiste lo sku
		- applico i fltri
		- applico applico le special actions


NON SONON AMMESSE LE JOIN
	
## With use_map = 1 in channel config -> map


ITE :

	SONO SEMPRE PER RIGHE 


EAVS : 

	SONO PER RIGHE -> devo trasformarle in colonne
	
CASO IBRIDO


#### VALIDATOR AND FILTERS 

IN PARSING 

prima vengono applicati i validatori e poi i filtri

## CHANNEL MAP EXAMPLES
### ITE

```json
{
    "codice_articolo": {
        "from": "codice_articolo",
        "to": "codice_articolo",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": [],
        "actions": []
    },
    "codice_articolo_del_fornitore": {
        "from": "codice_articolo_del_fornitore",
        "to": "codice_articolo_del_fornitore",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": [],
        "actions": []
    },
    "nome_articolo": {
        "from": "nome_articolo",
        "to": "nome_articolo",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": "it",
        "actions": []
    },
    "codice_configurabile": {
        "from": "codice_configurabile",
        "to": "codice_configurabile",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": [],
        "actions": []
    },
    "configurable_attributes": {
        "from": "configurable_attributes",
        "to": "configurable_attributes",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": [],
        "actions": []
    },
    "configurable_values": {
        "from": "configurable_values",
        "to": "configurable_values",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": [],
        "actions": []
    },
    "taxvat_code": {
        "from": "taxvat_code",
        "to": "fascia_iva_articoli",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": [],
        "actions": []
    },
    "visibility": {
        "from": "visibility",
        "to": "visibility",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": [],
        "actions": []
    },
    "attribute_set": {
        "from": "attribute_set",
        "to": "attribute_set",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": [],
        "actions": []
    }
}
```

### Anagrafica (con Talend)
```json
{
    "sku": {
        "from": "e",
        "to": "e",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": []
    },
    "a": {
        "from": "a",
        "to": "a",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": []
    },
    "v": {
        "from": "v",
        "to": "v",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": []
    },
    "s": {
        "from": "s",
        "to": "s",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": []
    },
    "l": {
        "from": "l",
        "to": "l",
        "type": "text",
        "validators": [],
        "filters": [],
        "stores": [],
        "locale": []
    }
}
```

## Filters

### BarcodeToSkuConverter

### Categories

### Concat

### ConcatCategories

### Configurable

### EanToSkuConverter

### ForceMinimumNumber

### Multiselect
```json
{
    "class": "Multiselect",
    "args": {
        "separator": "|"
    }
}
```
### SelectTranslation
```json
{
  "class": "SelectTranslation",
  "args": {
    "default": 5
  }
}
```
    
### SetDefaultLocale

### SetStaticValue

### StoreCodeToStoreIdConverter

### StrReplace

### Trim
```json
{
    "class": "Trim",
    "args": {
        "attributes": []
    }
}
```
### ValueReplace
```json
{
    "class": "ValueReplace",
    "args": {
        "TGU": "One size"
    }
}
```
