Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incohérence de workflow dans l'envoi par FTP #1

Open
Wilkins opened this issue Sep 17, 2015 · 2 comments
Open

Incohérence de workflow dans l'envoi par FTP #1

Wilkins opened this issue Sep 17, 2015 · 2 comments

Comments

@Wilkins
Copy link
Contributor

Wilkins commented Sep 17, 2015

Bonjour,

Je souhaiterai signaler un problème de workflow dans la bibliothèque.

J'utilise le module maileva pour faire un envoi par FTP.
Je créé la campagne à partir d'un code similaire à https://github.com/rdarricau/maileva/blob/master/public/scenarii/package/package.php
Sauf qu'avant d'envoyer mon package par FTP, je souhaite vérifier la cohérence du XSD généré, pour être sur que mon package est valide.

Donc juste avant la ligne :

$package->generate($campaign);

Je rajoute ce code :

$domDoc = \Maileva\Element::getDomFromCampaign($campaign);
$domDoc->preserveWhiteSpace = false;
$domDoc->formatOutput = true;
libxml_use_internal_errors(true);
$valide = $domDoc->schemaValidate(\Maileva\Element::getXmlSchema());
$error = libxml_get_last_error();
libxml_clear_errors();

if (!$valide) {
    throw new \Exception("Génération du XML non valide : ".$error->message."\n XML : ".$domDoc->saveXml());
}  

Et j'obtiens une erreur de XSD, car j'ai ajouté des documents qui contiennent des caractères invalides notamment un underscore « _ ».
Pourtant, si je ne fais pas cette vérification de XSD, le package envoyé sur le FTP est tout de même valide, car la méthode \Maileva\Ftp\Package::generate() change elle même le nom des fichiers.

Je pense donc qu'il y a une petit incohérence, et que le changement de nom des fichiers dans la méthode generate devrait être effectué dans la classe \Element\Campaign, via une méthode close(). Et on pourrait ajouter une méthode validate() dans le \Element\Campaign qui vérifierait la validité selon le XSD.

En tout cas merci pour cet excellent module.
J'ai quelques patchs à soumettre, je vous envoie une PR sous peu.

PS: Je peux faire le patch si besoin.

@rdarricau
Copy link
Collaborator

@Wilkins Salut, salut,
As-tu une PR à soumettre sur le sujet qui nous agite ?

A ta dispo,

Rémi

@Wilkins
Copy link
Contributor Author

Wilkins commented Jan 22, 2016

Pas dans l'immédiat, mais dans le courant de la semaine prochaine, probablement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants