From 453aca56d1599605b43babc64d13b8032d2a6c19 Mon Sep 17 00:00:00 2001
From: ncastejon <castejon.nicolas@gmail.com>
Date: Thu, 6 Jun 2019 15:26:13 +0200
Subject: [PATCH] Init the cms documentation (with ghost logo)

---
 architecture/cms.md   |  19 +++++++++++++++++++
 assets/ghost-logo.png | Bin 0 -> 7223 bytes
 2 files changed, 19 insertions(+)
 create mode 100644 assets/ghost-logo.png

diff --git a/architecture/cms.md b/architecture/cms.md
index e69de29..1424d65 100644
--- a/architecture/cms.md
+++ b/architecture/cms.md
@@ -0,0 +1,19 @@
+# Content Management System (CMS)
+
+For all the editorial content on the portal one CMS is used to offer the possibility to non-developper person to add content.
+
+## Ghost: headless CMS
+
+![ghost-logo](/assets/ghost-logo.png)
+
+The choice went for the open source CMS [Ghost](https://ghost.org/), replacing Wordpress as our first choice at the beginning of the project.  
+Whereas it's not perfect and there is still room for improvement, this is a great tool to use to create content in a beautiful user interface. The API allows us to get all the information needed for the web application by a REST API.
+
+
+ ## Hooks for indexing it inside Elasticsearch
+The CMS offers a hooks functionnality. Put it simply, you can trigger any API call after some events.
+In our case, after saving a page or an article, the Elasticsearch (ES) indexer service will be called to re-index the article or the page which was just modified. In few seconds the modification will be visible inside the webapp without any manual manipulation.
+
+## Integration into the webapp
+ After the content is indexed inside ES, very little work is needed to integrate it into the web application.  
+ The content actually retrieved as HTML, and the code is pretty clean, so very few CSS adjustment is needed to display a nice article.
diff --git a/assets/ghost-logo.png b/assets/ghost-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..14777f97d9a5d790b50ef0a8ae4e4a0e6e1ff8b1
GIT binary patch
literal 7223
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

literal 0
HcmV?d00001

-- 
GitLab