-
Notifications
You must be signed in to change notification settings - Fork 4
Import et export de la donnée
Raphael Odini edited this page Nov 10, 2020
·
4 revisions
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
- Export des questions et des quizs vers l'application
- Tips
- Ancien workflow
Questions dans Notion --> bouton d'import (script) --> Import dans le Backend/Admin (validation)
- 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
- 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
Questions/Quizs/Tags dans le Backend/Admin --> bouton d'export (script) --> Github et déploiement
- 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.
- 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
- 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 🎉
- Aller sur le modèle que vous souhaitez exporter (Question, Tag, Quiz, Glossaire, ...)
- Cocher au moins un des elements
- Dans le menu du haut, Action > "Export All (YAML)" > choisir le dossier /data du repo, et overwrite le fichier correspondant existant
- L'export se fera au format YAML, avec les elements ordonnés par id
-
idem au 1. de la méthode d'import actuelle
-
Notion : Exporter les questions
- Page Questions > menu "..." (en haut à droite) > Export, sauvegarder en local
- Extraire le zip pour obtenir le csv
- 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"
vidéo explicative ici
-
idem au 1. de la méthode d'export actuelle
-
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 fichierquestions.yaml
existant - Admin > Quizs > Action : Export All (YAML) > Envoyer. Sauvegarder dans le dossier
/data
du repo, en remplacant le fichierquizzes.yaml
existant - Si des tags ont été rajoutés, faire de même pour les Tags (en remplacant le fichier
tags.yaml
existant)
- 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 🎉