What is a "Headless CMS"?

293 views
Skip to first unread message

ssnobben

unread,
Aug 31, 2016, 4:47:18 AM8/31/16
to Joomla! CMS Development
FYI

I just saw this article about two "headless CMS" comparison. I never heard that wording before and maybe there is some ideas to pickup for Joomla architecture?

https://medium.com/apegroup-texts/two-headless-cms-head-to-head-94ea26b0b80f#.kkzhx98wf

What you think?

Michael Babker

unread,
Aug 31, 2016, 8:28:10 AM8/31/16
to joomla-...@googlegroups.com
It's basically designing your system so that the UI layer is basically an addon to your core architecture.  Frankly, Joomla will never be able to consider that; the CMS is too deeply coupled with the expectation that HTML pages are being generated still.

--
You received this message because you are subscribed to the Google Groups "Joomla! CMS Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-cms+unsubscribe@googlegroups.com.
To post to this group, send email to joomla-dev-cms@googlegroups.com.
Visit this group at https://groups.google.com/group/joomla-dev-cms.
For more options, visit https://groups.google.com/d/optout.

Sergio Manzi

unread,
Aug 31, 2016, 9:07:08 AM8/31/16
to joomla-...@googlegroups.com
Michael,

I found those two resources which are essentially in tune with what you're saying:
https://css-tricks.com/what-is-a-headless-cms/
https://www.contentful.com/r/knowledgebase/headless-and-decoupled-cms/
In the second one the concept is expressed this way:
A headless CMS has its front-end component (the head) stripped and removed from its backend, and what remains is a backend delivering content via an API. It thus does not care how and where the content is displayed, and focuses on storing and delivering the content and provides tools to create and organize it – nothing more.

Michael Babker

unread,
Aug 31, 2016, 9:15:23 AM8/31/16
to joomla-...@googlegroups.com
Conceptually Joomla already can be headless.  The MVC layer is where you'd apply this approach.  As long as your controllers and models aren't spitting out anything that would be considered output (beyond the point where our JControllerLegacy::display() method echoes the rendered view because we have a "funny" handler for getting that output into the JDocument buffer), your components can pull off being headless.  View classes should be the only point in components that are spitting output and integrating with your presentation layer.

In my experiences, what keeps this from working well is the extensions on one's site.  Plugins that try to manipulate JDocument before the component is dispatched (so the initialise and route system events; the JDocument object isn't built until after the app is routed so it can have awareness of stuff from the menu system like the expected response format) are usually what cause sites to not work well with non-HTML output.

--

piotr_cz

unread,
Sep 2, 2016, 5:33:38 AM9/2/16
to Joomla! CMS Development
Look for phrase Joomla REST api.
Reply all
Reply to author
Forward
0 new messages