Dataflow est un projet libre mis en œuvre par Code Rhapsodie dont le but est de gérer facilement les flux d'entrée et de sortie dans votre projet Symfony.
Son intégration au CMS eZ Platform permet de remplacer l'ancienne extension SQLi Import utilisé sur eZ Publish.
La version 2.2 a récemment été publiée et elle apporte un filtre prêt à l'emploi pour la plupart des cas.
Ce filtre évitera la sauvegarde des contenus eZ qui n'ont pas été modifiés depuis la dernière exécution du flux.
Voici la liste des champs (fields/attributs) nativement gérés par le filtre :
Si le content type du flux contient uniquement des champs de ce type, alors le filtre peut être utilisé nativement. Dans le cas contraire, vous allez devoir ajouter un service de comparaison de champ.
Note: L'utilisation du filtre avec un content type ayant des champs non gérés est contre productif. Le temps de traitement va s'allonger car les contenus seront comparés alors qu'un type de champ non géré est considéré comme différent et provoquera la mise à jour systématique du contenu.
<pre><?php
use CodeRhapsodie\EzDataflowBundle\Core\FieldComparator\AbstractFieldComparator;
use eZ\Publish\Core\FieldType\Value;
//[...]
class MyFieldComparator extends AbstractFieldComparator
{
//[...]
protected function compareValues(Value $currentValue, Value $newValue): bool
{
// Return true if values are identical, false if values are different.
}
}</pre>
Puis l'enregistrer en tant que service Symfony avec le tag coderhapsodie.ezdataflow.field_comparator et le type de champs traité par votre comparateur.
<pre># Service declaration
App\FieldComparator\MyFieldComparator:
parent: 'CodeRhapsodie\EzDataflowBundle\Core\FieldComparator\AbstractFieldComparator'
tags:
- { name: 'coderhapsodie.ezdataflow.field_comparator', fieldType: 'my_field_type_identifier' }</pre>
Votre service est prêt, vous pouvez utiliser le filtre dans votre flux.
A vous de jouer !
Une question ? Besoin d'aide ? Contactez-nous ! Nous sommes à votre disposition pour vous accompagner dans toutes les étapes de votre projet.
Crédit photo : pxfuel.com
La conférence annuelle Ibexa se tiendra les 30 et 31 janvier 2025 à Barcelone et ...
La sécurité des données, et en particulier des mots de passe des utilisateurs, est une ...
2024 aura été une année riche en tempêtes, avec ses hauts et ses bas. Mais ...
Pour célébrer la sortie de Dataflow 5 pour Symfony 7, voici un retour d'expérience sur ...
🎯 Nous relevons le défi de lancer un grand concours : Vous faire gagner un ...
Comment calculer dynamiquement des frais de port ? La documentation officielle qui explique comment créer ...
Comment créer un nouveau type d'attribut produit dans Ibexa Commerce ?
A la recherche d'un poste de travail temporaire ou permanent ? Vous recherchez un environnement ...
Après une découverte de surface d'Ibexa Commerce, entrons plus dans le détail pour comprendre son ...
La conférence annuelle Ibexa se tiendra les 30 et 31 janvier 2025 à Barcelone et ...
La sécurité des données, et en particulier des mots de passe des utilisateurs, est une ...
2024 aura été une année riche en tempêtes, avec ses hauts et ses bas. Mais ...
Pour célébrer la sortie de Dataflow 5 pour Symfony 7, voici un retour d'expérience sur ...
🎯 Nous relevons le défi de lancer un grand concours : Vous faire gagner un ...
Comment calculer dynamiquement des frais de port ? La documentation officielle qui explique comment créer ...
Comment créer un nouveau type d'attribut produit dans Ibexa Commerce ?
A la recherche d'un poste de travail temporaire ou permanent ? Vous recherchez un environnement ...
Après une découverte de surface d'Ibexa Commerce, entrons plus dans le détail pour comprendre son ...