Relax – A CMS on Top of React and Node.js
github.com
github.com
I'd really like to see CMSes which only do content management, then expose that content via very simple JSON APIs. Then I build the website myself separately as a super lightweight HTML rendering service which pulls from the CMS API.
Every CMS I've ever used didn't scale because its templating/rendering/request stack was so heavy.
I think I'd be more tempted to adopt a CMS library than a CMS framework.
Why not put it in the search engine to start with? So the editors can edit the content. And the search engine is rarely the master of the data.
Another important distinction between CMSs are those provide full templating system (Wordpress etc) and those that control the request, but don't put any restrictions on how the html is generated. You use standard .net/java/javascript to generate the template based on data from the CMS. Two completely different approaches.
There are plugins available for other CMSs[2] which do pretty much the same thing too.
[1]: http://v2.wp-api.org [2]: https://github.com/pixelandtonic/ElementAPI
Front end written in java.
Are you concerned about being coupled to the particular shape of the returned JSON? That seems valid to me, especially if you're not very fond of the schema.
I wouldn't advocate for WP for anyone continually developing an evolving product, but for small business clients it's not bad. It's easy to use and familiar, which goes a long way.
Having a great JSON API baked into the core and dogfooded for the admin UI should really be a focus for WordPress.
Have you tried version 2? Personally I found it substantially easier to work with than v1.
Awesome, that's great to hear.
> Have you tried version 2?
I've actually worked with both versions. v2 is nicer but also didn't support some required functionality at all.
As a bonus, the it also makes writing simple pure-php "templates" (yea, its not really templates, but) super easy. You basically just drop in your HTML/CSS/JS stuff, and add a few pw api lines here and there, and you're done.
In my experience after 8 years of Drupal experience, and 1 year of ProcessWire experience, is that PW is what Drupal should have been from the start: Elegant, Lightweight, Fast, and Flexible. I'm sold!
But in my experience, it's not fast: even with caching enabled, every request took >250ms. I don't want to rely on Varnish for reasonable latency. Did I do something wrong?
Drupal 8 does exactly this. Use Drupal 8 for data modeling and storing the data. Use its forms if you want to. Retrieve the data using GraphQL and do all the rendering yourself. It even is capable of a hybrid model, where it serves pages BigPipe-style, and you do client-side rendering for the most dynamic/interactive parts.
Have these issues been resolved in later versions? Because there was a lot about Drupal that I did like.
Massive modernization. Most high-level concepts remain the same. The implementation became much better. And it's a joy instead of a pain to extend/customize.
I recommend you to take a look :) See https://www.drupal.org/drupal-8.0 — RC1 was tagged _yesterday_.
It sounds like you will particularly like the Configuration System. See https://www.chapterthree.com/blog/principles-configuration-m...
Relax creator here :)
Read most of comments here and I think there is still a lot users didn't try out on Relax.
Relax is not just a page builder, it provides a way of creating schemas in a graphic ui, and the magic happens when you create a template for that schema and link data to components by drag and drop on the page builder.
Will eventually make some screencasts showing some cool features that past unnoticed at first glance.
Also Relax is modular, developers can create react components that will work perfect with the page builder.
Thanks all for the feedback! Keep it coming!
You git clone the repo (assuming you have git installed). You then have to npm install (assuming you have node installed). You then have to npm install sharp. But before sharp can work, you have to npm install node-gyp. But in before that can work, you have to make sure you're using a specific version of Python, specific versions of Visual Studio (2010 and 2015 both seem to fail), an SDK, and then run some console commands to set the WindowsSDKDir.
After you spend 30 minutes downloading and uninstalling and re-installing different version of Visual Studio and SDKs and sorting out other error messages, you're finally back to trying to install sharp. You install sharp, but wait, then you need to download this zip file and change your environment variables and PATH variables, which you have to Google to remember how to do each time because it's done so rarely.
This is obviously all feasible and to an experienced developer not intimidating, but for someone who's on a Windows machine and new to node, it doesn't seem like simply getting a package running should be this difficult in 2015. The demo is broken and I wanted to check it out, but it's just not worth the effort.
Just install Linux, it's much more user friendly.
This is not a Content Management System, but a Page Management System. A CMS works with structured content and the relations between those pieces of structured content. It allows you to model the data it needs to store, receive (forms) and render. So you can then reuse, combine and display that data in any way you need.
(Many projects/people conflate "page builder" with "CMS".)
That being said, this looks very nice :) There totally are use cases for an easy-to-use page builder :)
That's because there's no clear bright line between the two. I've created systems that lie on many points between these two extremes.
Sometimes the page metaphor is as simple as it sounds. Sometimes pages pull in structured content or are placeholders for a subtree of structured content. Sometimes the page structure plus metadata IS the structured content.
But giving lots of WYSIWYG-esque options to the content creator is a sure way to end up with unstructured content that cannot be reused, because it's got so much garbage HTML in it, and so few semantics.
Sounds interesting! :)
Yes search engines can index javascript but I still see a requirement of any CMS to deliver html first and foremost.
P.S. I'm not the author.
Right, I agree. And interestingly, I'm firmly of the opinion this is one of the reasons Wordpress continues to win in this space; albeit for familiarity reasons rather than it being a paragon of good UX, and despite it's core and plugin system being incredibly ugly in too many ways.
Major problem for now is that in some places it still doesn't retrieve data with the right projection, for example when creating a menu it loads all the pages with everything in it. That's why I'm switching to Relay to make this easy pie and more reliable
Anyone tested it with Firefox?