Download the PHP package griiv/synchroengine without Composer

On this page you can find all versions of the php package griiv/synchroengine. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package synchroengine

Griiv Synchro Engine

Le module de synchro Griiv est utilisé pour créer des flux d'import, export via des fichiers CSV, fichier texte, API Prestashop, BDD, API REST, etc...

Il permet également de traiter de gros volumes de données avec une parallélisation de plusieurs sous tâche pour traiter les données entrantes.

Par exemple un fichier CSV de 1 000 000 peut être traité via 100 sous taĉhes lancées en parallèle qui traite chacune 10 000 entrées de la source de donnée entrante

La librairie symfony/process est utilisé pour faire cette parallélisation.

Commandes Symfony disponible

Utilisation pour la crontab notamment php bin/console gsynchro:execute MonImport

Configuration générale modules/griivsynchroengine/config/services.yml

Variables d'environnement .env

Un fichier .env est fourni à la racine du module pour personnaliser les chemins utilisés par l'application et configurer les notifications. Les principales variables sont :

Créer un Import

Pour créer un import :

Si la dossier n'existe pas à la racine du projet, d'abord lancer la commande php bin/console gsynchro:create-ftp-folders

Lancer la commande php bin/console gsynchro:add-import gsynchro Customers

Le fichier suivant est crée : _PS_ROOT_DIR_/modules/griivsynchroengine/src/Synchro/Import/CustomersImport.php

Pensez à faire un composer dumpautoload dans votre module pour mettre à jour l'autoloading

Voici le contenu fichier crée :

La méthode initDataSources() permet d'initialisé la ou les sources de données que l'on souhaite utilisé pour l'import (Fichier, Api, Requete BDD, etc)

La méthode initItemDefinition() permet de définir la structure de la source de donnée, pour un fichier CSV par exemple cela va être le nom des colonnes du fichier traité

La méthode processRow() cette méthode sera appelé pour traité un jeu de donnée source

Il est également possible pour chaque import de surcharger les méthodes suivantes :

initLogger() : permet d'initialiser un logger pour l'import. De base un fichier de log est pour chaque import voir

Créer le service associé à l'import

Pour que l'import soit reconnu par le système, il faut créer un service dans le fichier services.yml de votre module :

Créer un Export

Pour générer la classe d'export il suffit d'exécuter la commande suivante :

Un fichier NomDeMonExportExport.php est alors créé dans le dossier _PS_ROOT_DIR_/modules/griivsynchroengine/src/Synchro/Export/ de votre module. Pensez à lancer composer dumpautoload après la création pour que l'autoload soit mis à jour.

Le squelette généré ressemble à ceci :

Les DataSources

Une DataSource décrit la manière de lire les données en entrée. Plusieurs implémentations sont fournies dans src/Core/DataSource :

Les DataTargets

Une DataTarget représente la destination des données lors d'un export. Quelques classes sont disponibles dans src/Core/DataTarget :

Sous le capot

Le moteur s'appuie sur symfony/process pour paralléliser les traitements. Chaque lot de données est exécuté dans un sous‑processus via le script bin/batchSynchro.php. Les logs sont gérés par Monolog et stockés dans le répertoire défini par le paramètre gsynchro.logsPath. Les fichiers sources peuvent être archivés automatiquement après traitement et les logs sont compressés grâce à la commande gsynchro:log-rotate.

TODO

  1. [ ] Mise en place Validateur pour ItemProperty
  2. [x] Mise en place des séquences
  3. [x] Mise en place logrotate fichier de logs
  4. [x] Mise en place backup file gzip après import (pour les fichiers)
  5. [ ] Rajouter des hooks pour Prestashop
  6. [ ] Mise en place rotate pour les fichiers dans.backup
  7. [ ] Ajouter Datasource database doctrine ORM
  8. [x] Mise en place service tagé pour identifier les synchros
  9. [ ] Mise en place dispatcher d'évènement Symfony
  10. [x] Mettre parameterBag pour les globalparameters
  11. [ ] En mode cli ajout d'un mode debug
  12. [ ] En mode cli sur la commande gsynchro:execute ajouter un paramètre pour avoir une progessbar
  13. [ ] Tester avec un gros fichier +1M de ligne

All versions of synchroengine with dependencies

PHP Build Version
Package Version
Requires symfony/process Version v5.0.11
monolog/monolog Version 1.27.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package griiv/synchroengine contains the following files

Loading the files please wait ....