9 ms·
Relax – A CMS on Top of React and Node.js
- Dakuan 11y agoInteresting, would love to see a 'fluxed' version.
- awjr 11y agoMy major concern with a CMS that delivers a front-end is that it must to be able to deliver "raw" HTML to be accessible and support search engines. Yes search engines can index javascript but I still see a requirement of any CMS to deliver html first and foremost.
- chadscira 11y agoWell the real question is: "is it isomorphic?"
- bruno12mota 11y agoRelax does server side rendering with cache, so it is indexed by any search engine.
- morgante 11y agoIt does. Most React apps are trivial to make universal and Relax does indeed deliver raw HTML.
- BillinghamJ 11y agoI don't understand why (seemingly) every CMS wants to get involved in the request serving process. 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.
- richmarr 11y agoAgreed. Not least because you're more than likely going to want to pull CMS data into an existing site, or push it into Solr/elasticsearch, or customise the site in ways the CMS authors haven't allowed for. I think I'd be more tempted to adopt a CMS library than a CMS framework.
- bryanrasmussen 11y agoI'm having a hard time visualizing what this CMS data would be like or how it would be any different than just having it in Solr/elasticsearch/couchdb to begin with.. Can you or someone else provide me examples of how it would work?
- vlangber 11y agoI'm not quite sure what he meant, but it is common to push data from a CMS to a search engine. Note that most "real" CMSs have a built-in search engine, so the data is pushed automatically. Most seem to use Lucene/SOLR or Elasticsearch. 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.
- 4lun 11y agoI believe they're referring to something like this: http://getcockpit.com/ http://getcockpit.com/
- vlangber 11y agoThere are CMSs that can expose the content via a simple API. 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.
- neogenix 11y agoYou might want to check out teletext.io, it just launched a couple of days ago.
- melle 11y agoCompletely off-topic, but I really like the logo. Who made it?
- autoreleasepool 11y agoI wouldn't say the logo of the thing posted is off-topic.
- factorialboy 11y agoLooks promising but the demo app is very slow. When I pick a CMS, the tech stack is a consideration but I scrutanize the admin interface much much more.
- hliyan 11y agoThe demo clearly seems to be deployed on hardware not designed to handle the kind of traffic HN generates. When I first posted this, it was working just fine. Now it won't even load. P.S. I'm not the author.
- girvo 11y ago>When I pick a CMS, the tech stack is a consideration but I scrutanize the admin interface much much more. 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.
- bruno12mota 11y agoRelax had an enormous spike of traffic that I wasn't expecting, in the meantime upgraded the server a bit to support the traffic it was getting. There is still of course work to do to optimize it
- gildas 11y agoOut of curiosity, was the server side rendering the cause of this issue?
- bruno12mota 11y agoIt was simply the huge traffic inflow and our server had only one core, poor thing ahah. We've upgraded it to only two cores and it's day to night difference. Server side of course has some weight but it has caching so it is quite fast. 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
- marknadal 11y agoThis is quite the accomplishment for 1 developer. Haters going to hate, of course there will be problems/bugs. But I think we should encourage people for doing spectacular things, rather than gripe. Great job and keep it up!
- bruno12mota 11y agoThanks mate! Type of feedback that keeps me working on this full time :)
- jwarren 11y agoIt's very slick, but also rather confusing. Perhaps in future releases you can work towards making the page creation process more structured and predictable.
- bruno12mota 11y agoWill need an ux designer working fulltime with me, I'm not the best in that area, so a lot of work to be done there still :)
- WimLeers 11y agohttps://raw.githubusercontent.com/relax/relax/gh-pages/assets/images/screenshot.jpg https://raw.githubusercontent.com/relax/relax/gh-pages/asset... shows the key features are WYSIWYG-style building of entire HTML pages. 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 :)
- andybak 11y ago> Many projects/people conflate "page builder" with "CMS" 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.
- WimLeers 11y agoTrue, there's not always a clear distinction. 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.
- bruno12mota 11y agoRelax actually acts as a complete cms, it is not just a page builder, check our schema feature. You can even create templates for the schemas you create on the page builder and link data to components with drag and drop :)
- WimLeers 11y agoCould you add screenshots for that too? Sounds interesting! :)
- wpyz 11y agoAvoid the media section if you are at work - it appears to have been subject to some abuse already.
- bruno12mota 11y agoHi! 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!
- babby 11y agoQuick suggestion; grab ShareX and make some .webm's showcasing Relax for your landing page. Much more accessible than learning how it all works. People want to see results.
- bruno12mota 11y agoWasn't expecting this sudden inflow since it isn't even in beta version, so didn't prepare anything to showcase it. I'll be working in refactoring it to use graphQL and relay and then will make some videos to showcase it :)
- beeboop 11y agoIs it just me or is the barrier of getting apps like this working seem silly? 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.
- Dnguyen 11y agoFire up a Linux VM and get going in 15 minutes?
- eloisant 11y agoIf you want to develop on a Windows machine, unless you just want to do .NET with Visual Studio, you're asking for trouble. Just install Linux, it's much more user friendly.
- beeboop 11y agoI use Linux at home, but I was attempting this at work where it's Windows. I know Linux is much easier in this regard, but most more-beginner programmers are still Windows (or sometimes OSX).
- lips 11y agoFrom a "site-builder" perspective, I find this to be an excellent balance between high and low level interface. Perhaps less capable than something like webflow, but the learning curve here is a piece of cake. But unfortunately, the person who will feel freed by ease of use will likely be nonplussed at installation.
- 0x4a42 11y agoI wanted to test the admin but in Firefox (v43 Developper Edition) it doesn't work at all, I'm just getting the menus but the page body is empty. It works under Chrome. Anyone tested it with Firefox?
- bruno12mota 11y agoThere's an issue created for that https://github.com/relax/relax/issues/45 https://github.com/relax/relax/issues/45 will take care of it after the Relay refactoring