Téléchargement .csv pour les modifications groupées des champs personnalisés des utilisateurs

Il serait très utile de pouvoir téléverser un fichier .csv (similaire aux invitations en masse) contenant les éléments suivants :

  1. nom d’utilisateur
  2. nom du champ personnalisé
  3. valeur du champ personnalisé

Et ensuite, que ces données soient directement appliquées aux comptes des utilisateurs. Uniquement si le nom d’utilisateur et le nom du champ personnalisé sont valides, bien sûr !

Cela aiderait énormément pour les exercices de nettoyage de données et les migrations, qui semblent être sacrément compliqués avec les champs personnalisés des utilisateurs.

1 « J'aime »

Si c’est pour une importation, il est facile de le faire dans l’importateur.

Vous pourriez également utiliser l’API.

Il est difficile d’imaginer une solution de téléchargement CSV plus simple.

2 « J'aime »

Eh bien, mon cas d’utilisation concerne la restauration de certains champs personnalisés d’utilisateur que j’ai accidentellement effacés pour un groupe d’utilisateurs (voir Manipulating custom user fields from the Rails console). J’ai la sauvegarde sur un site de staging, et je les ai aussi sous forme de .csv

Quand vous dites « facile », je suppose que vous voulez dire qu’il vous faudrait quelques heures pour créer quelque chose qui ferait le travail. Pouvez-vous me donner une estimation du coût ?

1 « J'aime »

Envoyez-moi un e-mail avec les détails.

Jay a livré la marchandise :

Il faut une certaine compétence avec Linux / Bash pour l’utiliser, et je recommande fortement de faire une sauvegarde au préalable et de le faire à un moment calme, car vous pouvez vraiment gâcher vos données utilisateur si vous ne faites pas attention. Je l’ai testé sur un serveur de staging avant de l’utiliser sur notre site de production.

Vous pourriez trouver cette requête Data Explorer utile pour obtenir les données existantes pour le user_field que vous ciblez :

--[params]
-- string :ucf_name = user_field_1

SELECT
    user_id, value as ":ucf_name"
    
FROM user_custom_fields

WHERE name = :ucf_name
ORDER BY user_id asc

Notez que vous devrez supprimer les apostrophes de chaque côté du nom du champ dans le .csv car je n’ai pas réussi à empêcher la requête de les inclure.

4 « J'aime »

Merci d’avoir créé ce script :

Ce serait bien s’il y avait simplement une option de téléchargement lors de la création du champ utilisateur
ou un téléchargement lors de la création de groupes d’étiquettes.

Pouvez-vous télécharger une image qui montre comment les données doivent être formatées dans Excel.

Merci !

1 « J'aime »
Colonne 1 Colonne 2 Colonne 3
user_id user_field_1 user_field_3
4 value hello
3 another value world
6 still another banana
2 « J'aime »

Merci !

2 « J'aime »