Clavier import export

En 2010, Jérome Vieilledent a sorti la célèbre extension SQLIImport (merci à lui). Cette extension, développée pour eZ Publish, permet d'importer automatiquement des contenus en masse à partir de sources externes aux formats variés.

Cette fameuse extension a séduit les développeurs de nombreux projets par sa simplicité de mise en place et son extensibilité. Pour cela, il est simplement nécessaire de créer un "import handler" pour chaque source de données, d'appeler la commande d'import depuis la crontab, et le tour est joué : vous importez vos contenus régulièrement dans eZ Publish et vous pouvez les manipuler depuis l'interface d'administration.

Depuis la migration du socle technique d'eZ Publish vers Symfony en 2013, aucune solution candidate au remplacement de SQLIImport n'avait vraiment été proposée. Or l'utilisation de cette extension dans un projet moderne pose problème : elle n'est compatible qu'avec eZ Publish legacy, et nécessite donc l'utilisation du bundle LegacyBridge pour fonctionner dans un projet eZ Platform. Ce bundle communautaire est toujours maintenu par l'éditeur, mais ne sera plus compatible avec les versions 3+ de eZ Platform.

Plusieurs de nos clients nous ont fait confiance pour migrer leurs projets eZ Publish 5.4 vers eZ Platform 2.5, sans utiliser le LegacyBridge. Pour répondre à ces demandes, la conception et le développement d'un successeur à SQLIImport se sont avérés nécessaires.

C'est pourquoi, après de nombreuses semaines de recherche et développement, Code Rhapsodie vous propose aujourd'hui Dataflow Bundle, une solution pérenne et extensible d'import / export pour Symfony, et eZ Dataflow Bundle, son intégration dans eZ Platform.

Dataflow Bundle apporte à vos projets Symfony une solution extensible pour traiter vos flux de données, imports, exports, ou opérations internes de masse. Dataflow Bundle facilite l'écriture de vos traitements, leur exécution, et fournit un ordonnanceur pour programmer leur lancement. L'utilisation passe exclusivement par les commandes Symfony, sans toutefois vous interdire le développement de votre propre interface web d’administration.

Un dataflow représente un traitement à réaliser. Il contient un lecteur (reader), une ou plusieurs étapes (steps) et un ou plusieurs écrivains (writer). La configuration de la périodicité de l'exécution d'un Dataflow utilise le format DateInterval de PHP.

eZ Dataflow Bundle intègre Dataflow Bundle pour les usages spécifiques liés à eZ Platform tel que l'interface d'administration et l'enregistrement ou la modification de contenu eZ.

Ce projet est ouvert à la communauté Symfony et eZ Platform avec le support de Code Rhapsodie. Nous attendons vos retours ou suggestions sur le GitHub de nos projets.

Nous allons prochainement partager avec vous des cas d'utilisation pour nos bundles.