Aller au contenu
Support de Zwii
Fred

Import d'utilisateurs

Messages recommandés

Bonjour

Suite à un petit travail réalisé pour @McGregor je vous propose en test une fonction d'importation dans le module user.

Cela fonctionne à partir d'un fichier plat de type csv cf pièce jointe.

Exemple :

image.png.7811e820f2ecc344da65a8581ba891a8.png

 

Pour le tester, on télécharge https://github.com/fredtempez/ZwiiCMS/archive/import_user.zip

La copie du dossier core/moduke/user est suffisante.

 

Notes :

  • pour éviter le renommage du fichier csv en txt j'ai désactivé le forçage du contrôle de type mime dans config.php
  • le champ pseudo est une anticipation de la 10.4 sur laquelle travaille @sylvainlelievre

 

 

template-1.csv

Partager ce message


Lien à poster
Partager sur d’autres sites

Bien le bonjour.

Je teste cette version de suite et rends compte dés que possible; 👍

💡 j'entrevois une future demande pour cette fonction "import utilisateurs" ==> la possibilité de faire l'inverse c'est à dire exporter une liste d'utilisateurs dans le même format 😀

Merci à @McGregor d'avoir suggéré cette excellente idée qui effectivement peut s'avérer fort utile dés lors que l'on construit un nouveau site vierge et rapatrier les utilisateurs d'un autre zwii...

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @Fred,

 

Un test rapide de ton module/user que j'ai importé dans une 10.3.01

 

ça fonctionne parfaitement

2020-10-06_11h48_10.png.9d5a86078af04901d88ee2359fee8ac0.png

 

Tu connais le détail à régler qui est la modification d'extension csv en txt par ce sacré Filemanager...

+

Peut être que sur la page d'importation le bouton Enregistrer pourrait être Importer ?

 

Sinon, bravo, encore un bel atout pour Zwii !

 

Bonne journée

Sylvain

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Testé à fond chez moi...9 captures d'écran la fonction import marche mais pas un utilisateur importé qui veux se connecter.

ce qui marche:

1.png.5620b8cd0ddf7fbd56d1c56ae66373e3.png

 

2.thumb.png.5af3033cc4a5f94dd2769d09df34bfe4.png

 

3.thumb.png.aef4d89cf54f6a4ffb7cc2680401bd25.png

 

4.png.2e70a4690bcf4ff89b5fae6673aa2de7.png

 

5.thumb.png.a957ed9d7bf7ade05cb22e104034b504.png

 

6.png.fe89cbdd525d9943e112c386949ca9bf.png

 

 

Modifié par roger
coorection aprés erreur de rapport

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 9 minutes, Fred a dit :

@roger l'utilisateur doit changer son mot de passe en cliquant sur mot de passe oublié. Et pour ce qui du code, c'est le mien 😉

Je pense que tu as du lire ce que j'ai corrigé pour le mot de passe, c'est ainsi que j'ai pu reprendre la main en cliquant sur le mot de passe oublié après ma "petite déconvenue"👍

Citation

 Et pour ce qui du code, c'est le mien 😉

rendons donc à Cesar ce qui lui appartient, je croyais que tu avais corrigé puis mis en pratique et intégré le code de notre ami (petit travail réalisé pour..) dans le cms en le plaçant dans les fichiers voulus sur le git avant essai chez nous 😳

 

Partager ce message


Lien à poster
Partager sur d’autres sites

L'idée originale et le script de démarrage viennent de @McGregor, je me suis juste occupé de la réalisation dans Zwii.

 

Commit de ce début d'après-midi, avec quelques améliorations.

Partager ce message


Lien à poster
Partager sur d’autres sites

@Fred, @roger, @McGregor,

 

Attention, après la mise à jour de  core/module/user et les tests réalisés plus haut, je n'arrive plus à me connecter sur ce site d'essai même après une réinitialisation du mot de passe.

 

Je refais la manip en partant d'une installation neuve :

  • Installation de Zwii 10.3.01 officielle
  • Connexion : OK
  • Remplacement par FTP de core/module/user du core/module/user de import_user
  • Tests d'import : OK
  • Déconnexion
  • Tentative de reconnexion : blocage.

 

Ce remplacement partiel est à déconseiller

 

Je refais la manipulation en partant de l'archive import_user.zip

  • Installation de Zwii à partir de import_user.zip
  • Connexion : OK
  • Tests d'import : OK à 100% y compris le support des fichiers csv par Filemanager
  • Déconnexion
  • Tentative de reconnexion : OK

 

Je confirme faire pour ces tests une installation complète à partir de l'archive import_user.zip !

 

Sylvain

Modifié par sylvainlelievre
  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bien vu @sylvainlelievre, le nouveau module est compatible avec 10.3.02 et pas avec la branche master actuelle.

 

En fait tu as trouvé un bug qui empêche de se connecter sans le captcha de la 10.3.02. Le module import n'a rien voir, il fonctionne correctement avec la master

 

Je viens de le corriger 👍

 

J'édite mon message initial.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 3 heures, sylvainlelievre a dit :

Attention, après la mise à jour de  core/module/user et les tests réalisés plus haut, je n'arrive plus à me connecter sur ce site d'essai même après une réinitialisation du mot de passe

C'est ce qui m'avait fait éditer mon message rapportant mon premier essai...il y a 7 heures maintenant...ce que tu décris est exactement ce que j'ai vu la première fois comme "blème", le plus

Dommage que j'ai édité mon message sans en faire copie avant, par contre j'ai toujours les captures d'écran faite de l'évènement à ce moment précis.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, roger a dit :

C'est ce qui m'avait fait éditer mon message rapportant mon premier essai...il y a 7 heures maintenant...ce que tu décris est exactement ce que j'ai vu la première fois comme "blème", le plus

Dommage que j'ai édité mon message sans en faire copie avant, par contre j'ai toujours les captures d'écran faite de l'évènement à ce moment précis.

On ne parle pas de la connexion avec un compte importé mais avec un compte déjà créé. 
 

Pour que ce soit clair pour tout le monde :

 

Lorsqu’un compte est importé avec le module le mot de passe est aléatoire, il n’est pas question d’injecter un mot de passe stocké de manière non sécurisée dans un CSV. 
 

La consigne est donc de spécifier que lors de la première connexion d’un compte importé, il faut cliquer sur mot de passe oublié. 
 


 

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 9 heures, Fred a dit :

La consigne est donc de spécifier que lors de la première connexion d’un compte importé, il faut cliquer sur mot de passe oublié. 

Fred c'est bien ce que j'ai fait quand j'ai eu les première alertes me disant qu'une erreur était survenue.

l'installation du site de test hier:

B.thumb.png.6f8eb4e84bb8ec6dcd9376946139c971.png

 

l'erreur après connexion sous l'identifiant Roger tout comme celui d'un membre importé par le cvs. j'ai donc clique "Mot de passe perdu ?"

9.png.af48c59b69e94ecdea23c2a92d182c59.png

 

réinitialisation du mot de passe (dans cet exemple le membre rn importé par le cvs, c'est pareil avec l'admin qui à installé le zwii de test Roger

A.thumb.png.4e725535091673b094634a707fee28c2.png

Et malgré cela impossible de se reconnecter au site ensuite...bien que je reçoive le mail pour réinitialiser mes mots de passe je ne pouvais le faire car la connexion m'était refusée hier. J'ai donc réinstaller une version vierge de ce test là..

 

😉 je confirme par contre que l'on est bien bloqué après un nombre de tentatives de connexion infructueuses (10mn dans le précédent test), normalement pour les tests je désactive cette sécurité là dans la config du zwii, ça fait gagner un temps précieux (vu qu'ensuite je "détruit les sites en ligne" et ne les conserve que chez moi pour archivage)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je viens de tester la dernière mouture.

- installation nickel

- création du fichier que j'ai nommé "membre.csv" selon les directives données nickel

- injection dans user de l''importation de mon fichier "membre.csv" nickel

- déconnexion de mon site et reconnexion nickel

- connexion avec l'un des membres "importés" par le fichier csv nickel

Le tout que ce soit avec ou sans captcha activé...

 

Cette fonction ne provoque aucun bug sur mon site en ligne 👍

 

💡 Une petite idée qui serait bien pratique que celle qui consiste pour les membres ajoutés à la liste d'un zwii de devoir systématiquement cliquer "mot de passe oublié?"

 

Étant donné que nous créons le fichier csv nous même (donc id, nom du membre et touti...) c'est que nous connaissons nos membres, leur adresses mails ainsi que groupe et mot de passe en passant par le fichier user.json..

Pourquoi ne pas inclure leur mots de passe codés dans le fichier user.json puisque nous le connaissons (l'admin qui monte le site avec des membres inscrits comme avant...) dans le code de ce script?

==> Cela fera gagner du temps au webmaster qui construira sa liste au format csv

==> Mais aussi aux membres qui ne râleront pas en devant réinitialiser le mot de passe alors qu'ils sont censés déjà en avoir un sur le site du zwii d'origine.

Voir l'exemple ci dessous (mot de passe bidon inventé par mes soins):

id;nom;prenom;email;groupe;password;
giles;Gille;Jarnak;giles@giloussien.fr;3;$2y$10$l6BpsJl;

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @roger, @Fred,

 

Pour les nouveaux inscrits plutôt que de communiquer les mdp même codés on pourrait imaginer d'émettre un mailing aux nouveaux inscrits en leur indiquant la procédure.

Dans ce cas ce serait préférable d'ajouter un paramètre à la fonction sendMail() de core.php pour choisir entre destinataires visibles ou masqués (bcc), plus adapté ici.

 

Bonne soirée

 

Sylvain

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon soir Sylvain

il y a une heure, sylvainlelievre a dit :

Pour les nouveaux inscrits plutôt que de communiquer les mdp même codés on pourrait imaginer d'émettre un mailing aux nouveaux inscrits

 

Ce serait bien pour les nouveaux inscrits mais moins bien pour c eux qui sont déjà inscrits sur le site du zwii, le mot de passe déjà codé ne peut de toute façon être craqué car il a déjà (si je ne me trompe pas) été ultra sécurisé par Fred et doit être tapé en toute lettre à la connexion.

Ce ne serait pas un gain de temps pour le concepteur d'un premier Zwii qui désire "migrer" ses membres vers un autres de ses zwii tout neuf, enfin c'est mon avis tout personnel dans ce cadre bien précis que je donne, 

Merci en tout cas Sylvain pour ton idée.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour à tous,

L'idée de @sylvainlelievre est d'envoyer un mail lors de l'importation du compte afin de prévenir de la procédure de changement de mot de passe, c'est une bonne idée et pas très compliqué à mettre en œuvre. Évidemment, il faut une checkbox dans le formulaire d'import pour la déclencher ou pas.

Si j'ai le temps demain...

Concernant le bug que tu as rapporté @roger mea culpa, j'ai été en capacité de le reproduire. L'erreur vient du fait que les données du user ne sont pas complètes et donc le script considère que le compte n'est pas valide. J'ai corrigé.

 

 

  • Merci 2

Partager ce message


Lien à poster
Partager sur d’autres sites

 

il y a une heure, Fred a dit :

Concernant le bug que tu as rapporté @roger mea culpa, j'ai été en capacité de le reproduire.

j'avais donc bien relevé la toute première fois un "inconvénient" majeur, super que tu ai pu le constater dans les mêmes conditions que moi et que tu ais pu le corriger

il y a 29 minutes, Fred a dit :

Bon ce fût rapide, option que je n'ai pas testée, je t'en laisse le soin @roger

Je pense que si c'est cette modif là, je devais effectivement retrouver dans mon thunderbird un email qui explique  qu'à la première connexion du membre il faudra alors simplement faire comme si nous avions oublier le mot de passe (ce que suggérait Sylvain initialement avec l'envoi d'un mail qui donnerait la procédure à suivre)

			// Envoi du mail
				if ($this->getInput('userImportNotification',self::FILTER_BOOLEAN)) {
					$this->sendMail(
						$item['email'],
						'Compte créé sur ' . $this->getData(['config', 'title']),
						'Bonjour <strong>' . $item['prenom'] . ' ' . $item['nom'] . '</strong>,<br><br>' .
						'Un administrateur vous a créé un compte sur le site ' . $this->getData(['config', 'title']) . '. Vous trouverez ci-dessous les détails de votre compte.<br><br>' .
						'<strong>Identifiant du compte :</strong> ' . $userId . '<br>' .
						'<small>Un mot de passe provisoire vous été attribué, à la première connexion cliquez sur Mot de passe Oublié.</small>'

PS:

C'est tout de même "dur pour un membre qui est déjà inscrit, qui connaît par cœur son MDP & Login de devoir faire comme si il avait oublié pour se connecter sur le nouveau site de son webmaster adoré (encore plus s'il y est admin qu’éditeur) 😂

 

je teste bien évidement la nouvelle fonction d'envoi de ce mail là 👍

Modifié par roger

Partager ce message


Lien à poster
Partager sur d’autres sites

@Fred

- installation neuve du zwii de test téléchargé ce soir OK

 

- importation d'un seul membre avec la case cochée "Message de confirmation" et hop!!!! je le donne en mille ça provoque illico un message d'erreur

 

Fatal error: Uncaught Error: Undefined class constant 'FILTER_BOOLEAN' in /homepages/18/d141619948/htdocs/wsb3904589601/ZwiiCMS-import_user/core/module/user/user.php:622 Stack trace: #0 /homepages/18/d141619948/htdocs/wsb3904589601/ZwiiCMS-import_user/core/core.php(1865): user->import() #1 /homepages/18/d141619948/htdocs/wsb3904589601/ZwiiCMS-import_user/index.php(40): core->router() #2 {main} thrown in /homepages/18/d141619948/htdocs/wsb3904589601/ZwiiCMS-import_user/core/module/user/user.php on line 622

 

==> je précise que ce même fichier membres.csv fonctionnait parfaitement avant la correction apportée ce soir sur la version précédente de  import_user.

 

Voila la capture d'écran de ce que j'ai coché avant d'appuyer sur le bouton "Importer"

C.thumb.png.d57822231d35e6f7e343414c458729de.png

 

==>  et aussi bizarre que cela paraisse malgré ce bug, le membre est bien crée

D.thumb.png.0838055014aa9d6b5cbd313f920d34d8.png

 

par contre aucun mail n'est envoyé au membre "giles" à son adresse mail pourtant bien renseignée (c'est la mienne) dans le fichier csv 😂

 

Je quite le pc, bonne soirée les amis, heu @Fred suis désolé je crois que tu va devoir t'y recoller sur la dernière correction, ça déconne un peu pour l'envoi du mail au nouveau membre.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 12 heures, roger a dit :

Fatal error: Uncaught Error: Undefined class constant 'FILTER_BOOLEAN' in

Une simple erreur de syntaxe 😉 il s’agit de la classe helper : helper::FILTER_BOOLEAN. 

 

Tu pourras la corriger toi-mème avant que je ne le fasse. 

 

Evidemment le membre est créé mais le mail ne peut pas partir puisque l’erreur sus-mentionnée bloque le script. 
 

Ça m’apprendra à ne pas tester avant. 
 

Edit :

 

L'envoi du mail est à contrôler merci d'attendre que je me penche dessus.

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...