Ask HN: Why is there no really successful Ruby on Rails CMS solution

19 points by etewiah ↗ HN
I know there are a lot of Rails CMS solutions out there but the ones that became popular a few years ago are now pretty much dead. The newer ones don't seem to be gaining traction and there are now so many half-decent options that it is really hard to pick which to use. What is the reason for this? Is it likely to change or is there something about Rails that makes it unlikely there will ever be one dominant CMS solution?

16 comments

[ 1.9 ms ] story [ 39.1 ms ] thread
LocomotiveCMS is very good, I use it for countless client projects. The only thing I dislike is the reliance on MongoDB, which basically was a no-go for me in the beginning but it runs fine for years now.
Locomotive does look interesting but I can't seeing it expanding much beyond a niche market. The use of MongoDB is certainly one reason. Also it seems to hit a bitter spot: a bit too complex for a non technical person but doesn't really give much power to a dev/
Have you actually looked at it? It's capable of doing a lot.
Because the Rails community seems to prefer small, single-purpose gems over frameworks/multi-purpose gems. There are not a lot of plug-n-play gems aside from Spree for e-commerce. And besides, Rails makes it super easy to spin up a custom CMS, so using a gem is pretty overkill. For example, to build a blog, all you need is a few models (users, posts, maybe comments), CRUD controllers, admin auth with Devise, Shrine/Paperclip/Carrierwave for image uploads and you're done. And all of that can be spun up rather quickly.
Yes, I think a lot of people in the Rails community do think using a gem for CMS functionality is overkill. I strongly disagree with that opinion though but before trying to make the counter argument I would like to understand your point of view better. Have you written a real world app that require WordPress like CMS functionality that you were able to code in less than 40 hours?
What exactly do you mean by WP-esque functionality, though? If by blog platform, then yes, that's easily done with Rails. And quick too. E-commerce? That's going to take more than 40 hours. WP is notoriously bloated and multi-purpose (not in the good way--in the square peg, round hole way). Really, the only WP functionality that would be tough to replicate in Rails is the WP theme/plugin ecosystem, but that's not really Rails' style--and if you need that, why not just use WP?
I don't use Rails, but a similar framework in Python. My clients love my CMS. The reason being that I can tailor an admin backend to their specific needs. Every single button in my backend has a purpose, and all the more complex settings are hidden behind code.

In a WordPress site, you practically need to be a WordPress dev just to do basic modifications.

Out of curiosity what framework do you use in Python?
I use web2py. I find it strikes a great balance between having an elegant API and getting shit done. And it generates Bootstrap compatible forms out of the box :)
Thanks, I'll definitely take a look at it. How does it compare to Django and Flask?
I found that Django makes too many assumptions for my taste, and you really need to fight it if you don't like them. You can get around the bad design decisions by using plugins, but they're not all compatible with each other and I found it got messy.

Flask on the other hand, comes with too few features out of the box. Getting an application with user auth, file uploads, an ORM and form generation can take over a week to set up perfectly.

Web2py was created by a professor at DePaul University who got tired of Django after teaching it in a web development course. He built Web2py to have feature parity, but, IMHO, he has a much better aesthetic when it comes to API design.

So rather than a design-by-comittee behemoth like Django, you get a succinct and intuitive API designed by a great programmer.

Beyond that, it has a handful of features that I find unmatched, notably its data grids and bootstrap compatibility by default.

I really love the bootstrap compatibility because it allows me to grab a theme off wrapbootstrap.com and everything just works without any tweaking. For small projects it works out perfectly :)

It also has a very active Google Group where the framework's author frequently helps people out!

The only thing I miss is the Werkzeug debugger that Flask comes with by default, and which can bet set up to run on Django. That thing is beautiful. But Web2py's debugger is good enough, and Web2py surpasses the competition in every other way.

To really grok how amazing web2py is, I recommend working through the tutorial. It's not too long and it shows off Web2py quite nicely. A lot of what makes web2py so great are subtle design decisions. It fixes almost all the problems I had with the other frameworks and introduces practically none of its own.

But what can't be thrown together are truly great content authoring capabilities that support mobile responsive. Those are sophisticated UI heavy features that are hard to do well.
That can't really be done well in WordPress either.
I ran into the same issue a couple of years ago. We had an existing WordPress site. Issues were continuous paving over by consultants resulting in a overweight and fragile site with zero support for true mobile-responsive content authoring. When we discussed our needs with consultants the universal response was to just use WordPress. Clearly Wordpress had frozen this space with their just barely good-enough solution. The other factor at play was the rise of site builder SaaS platforms like SquareSpace and Wix. Their tooling was very slick, but not something you could consider a true development platform, i.e. something that developers and content authors would both consider truly meeting their needs. I liked Locomotive a lot and they used to have a page on their site that really nailed the WordPress shortcomings, but they were in the midst of working on their next major release and we couldn't wait. We ended up going with a cloud based, platform neutral CMS, prismic.io. We got our responsive authoring capabilities and fairly easy integration with our Rails stack. It has worked well. I think our content authors would say they would like more control over the presentation, but I would say that is part of the reason why we like it, because they can't hijack the entire page which inevitably leads to quality issues because the authors are not prepared to test their work in multiple browsers and mobile devices. It also lacks the out of the box blogging structure that WordPress has, but if you are looking for a more versatile publishing capability then it may fit the bill for you. The market has evolved, I'm sure, and I have not kept up with it. I would recommend looking at Locomotive and prismic or other cloud based CMS options but I don't think anything is going to emerge as a dominant CMS platform al la WordPress any time soon, if ever.
I may be off the mark but I feel like managed web hosts play no small part in this. Managed web hosts that run Apache still almost predominantly support PHP only for a scripting language (if you don't count Perl CGI stuff). For us in silicon valley this seems unthinkable, but these web hosts still run a ton of sites on the internet.