Skip to content

Import et export de la donnée

Raphael Odini edited this page Nov 10, 2020 · 4 revisions

Import de la donnée

Il existe actuellement deux parcours :

  • Questions dans Notion --> bouton d'import (script) --> Import dans le Backend/Admin (validation) --> bouton d'export (script) --> Github et déploiement
  • Questions/Quizs/Tags dans le Backend/Admin --> bouton d'export (script) --> Github et déploiement

Important :

  • Les questions se créent/modifient dans Notion
  • Les quizzes se créent/modifient dans le Backend

Table des matières

Import des questions depuis Notion

Questions dans Notion --> bouton d'import (script) --> Import dans le Backend/Admin (validation)

Step-by-step

  1. Notion : s'assurer de l'intégrité de la donnée
  • Vérifier qu'il n'y a pas de questions sans id
  • Vérifier qu'il n'y a pas de questions vide
  1. know-your-planet Backend : Importer les questions
  • Admin > Questions > boutons "Lancer l'import" (en haut à gauche)
  • Cette étape est divisée en plusieurs boutons car l'import peut prendre du temps et faire planter l'application
  • Si il y a des erreurs, elles seront affichées en dessous. Les questions ayant des erreurs n'ont pas été importés. Donc il faut réparer les erreurs dans puis relancer l'import
    • Si par exemple des tags sont manquants, il faut les créer (Admin > Tags > bouton "Ajouter")
    • Si c'est des erreurs liés au contenu (une url mal formattée), il faut les réparer dans Notion

Screenshot

Screenshot 2020-11-10 at 21 44 19

Export des questions et des quizs vers l'application

Questions/Quizs/Tags dans le Backend/Admin --> bouton d'export (script) --> Github et déploiement
  1. know-your-planet Backend : Créer ou modifier les quizs à partir des questions
  • Admin > Quizs
  • Un quiz n'est pas publié si la case "publish" n'est pas cochée
  • Un quiz avec la case "publish" cochée doit contenir uniquement des questions au status "Validée" (une erreur s'affichera sinon)
  • Ne pas modifier les questions dans l'Admin. Les modifier dans Notion, et refaire un import.
  1. know-your-planet Backend : Exporter la donnée au format YAML
  • page Admin principale > bouton "Lancer l'export de la donnée"
  • les questions, quizzes et tags seront exportés au format YAML
  • Une PR sera ouverte sur Github avec les modifications. L'url apparaitra en dessous du bouton
  1. Merger la PR
  • Si il n'y a pas d'erreurs, un bot "automerge" se chargera de merger automatiquement la PR
  • Si il y a des erreurs, Raphael jetera un oeil et fixera.

Une fois la PR mergée, l'application sera automatiquement re-deployée. Les nouvelles questions & quizs apparaitront alors dans l'application 🎉

Screenshot

Screenshot 2020-11-10 at 21 46 11

Tips

Comment exporter au format YAML

  1. Aller sur le modèle que vous souhaitez exporter (Question, Tag, Quiz, Glossaire, ...)
  2. Cocher au moins un des elements
  3. Dans le menu du haut, Action > "Export All (YAML)" > choisir le dossier /data du repo, et overwrite le fichier correspondant existant
  4. L'export se fera au format YAML, avec les elements ordonnés par id

Ancien workflow

Ancienne méthode d'import

  1. idem au 1. de la méthode d'import actuelle

  2. Notion : Exporter les questions

  • Page Questions > menu "..." (en haut à droite) > Export, sauvegarder en local
  • Extraire le zip pour obtenir le csv
  1. know-your-planet Backend : Importer le fichier csv de questions
  • Admin > Questions > bouton "Importer" (en haut à droite)
  • Si il y a des erreurs "Tag.DoesNotExist", créer les tags absents (Admin > Tags > bouton "Ajouter"), puis relancer l'import
  • S'assurer aussi que toutes les modifs sont pertinentes
  • Si l'import n'affiche pas d'erreur, cliquer sur le bouton "Confirmer l'importation"

Ancienne méthode d'import

vidéo explicative ici

  1. idem au 1. de la méthode d'export actuelle

  2. know-your-planet Backend : Exporter la donnée au format YAML

  • Admin > Questions > Action : Export All (YAML) > Envoyer. Sauvegarder dans le dossier /data du repo, en remplacant le fichier questions.yaml existant
  • Admin > Quizs > Action : Export All (YAML) > Envoyer. Sauvegarder dans le dossier /data du repo, en remplacant le fichier quizzes.yaml existant
  • Si des tags ont été rajoutés, faire de même pour les Tags (en remplacant le fichier tags.yaml existant)
  1. Git : commit & PR
  • Créer une nouvelle branche data-update-YYYY-MM-DD
  • Commiter les modifications de la donnée "Data: update quizzes" (ou "Data: update quizzes & tags", etc)
  • Créer une Pull Request "Data: update quizzes (YYYY-MM-DD)"
  • S'assurer que les tests passent bien (tout est vert)
  • Merger la PR

Les nouvelles questions & quizs apparaitront maintenant dans l'application 🎉