diff --git a/architecture/cms.md b/architecture/cms.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1424d654e3d99f67c712e55b93ab9974e374d9d8 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 + + + +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 Binary files /dev/null and b/assets/ghost-logo.png differ