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