From 3bb37d277a043cd963334eb2c2e2a65bd851a5ea Mon Sep 17 00:00:00 2001 From: Arnaud Levy <contact@arnaudlevy.com> Date: Mon, 25 Oct 2021 14:19:18 +0200 Subject: [PATCH] doc --- .../communication/website/imported/medium.rb | 8 +++-- docs/websites/import.md | 29 +++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/app/models/communication/website/imported/medium.rb b/app/models/communication/website/imported/medium.rb index 0331b0903..9211ae724 100644 --- a/app/models/communication/website/imported/medium.rb +++ b/app/models/communication/website/imported/medium.rb @@ -33,8 +33,12 @@ class Communication::Website::Imported::Medium < ApplicationRecord belongs_to :medium, class_name: 'Communication::Website::Medium', optional: true - has_many :pages, class_name: 'Communication::Website::Imported::Page', foreign_key: :featured_medium_id - has_many :posts, class_name: 'Communication::Website::Imported::Post', foreign_key: :featured_medium_id + has_many :pages, + class_name: 'Communication::Website::Imported::Page', + foreign_key: :featured_medium_id + has_many :posts, + class_name: 'Communication::Website::Imported::Post', + foreign_key: :featured_medium_id before_validation :sync diff --git a/docs/websites/import.md b/docs/websites/import.md index 3dca015fe..2e2127707 100644 --- a/docs/websites/import.md +++ b/docs/websites/import.md @@ -43,6 +43,35 @@ Etapes : 4. Import du contenu brut des pages importées 5. Analyse du contenu des pages importées et création / mise à jour des pages +## Import depuis WordPress + +### Media +1. On importe les media depuis l'API +2. On crée des objets en DB (Communication::Website::Imported::Medium) + +### Pages +1. On importe les pages depuis l'API +2. On crée des objets en DB (Communication::Website::Imported::Page) +3. Les objets importés créent ou mettent à jour les objets réels (Communication::Website::Page) + 3.1 sans écraser de modifs locales + 3.2 uniquement si l'import a bougé + 3.3 Le contenu de l'html est filtré + 3.3.1 enlever les balises problématiques + 3.3.2 supprimer les classes + 3.3.3 supprimer les ids + 3.3.4 décaler les titres si h1 + 3.4 la featured image est transformée en attachment + 3.5 si pas de featured image, la première image est enlevée du texte et devient featured + 3.6 les medias dans le texte html sont transformés en action text attachments + 3.6.1 lister les files dans le domaine + 3.6.2 identifier le media master correspondant (via data:jsonb) + 3.6.3 s'il n'existe pas, le créer (le cas se produit il ?) + 3.6.4 crée l'attachment + 3.6.5 on remplace le code du media par l'action text attachement + +### Posts +Idem pages + ## Exemples ### Condé -- GitLab