Hacker News new | comments | ask | show | jobs | submit login

From an architecture point of view, I'm convinced that the CMS is better treated as a service, and not as part of your web application. This is especially true in a larger organization where content needs to be collected and managed in different ways (via import, or where people edit or curate content).

At the start of this year, the company I work at had about six different CMS platforms. Many of the applications that used them were built on top of CMSs, and were tightly coupled to them. As for static content generators, we tried that. It really didn't scale, especially for dynamic content. Too many hacks, deploys, and hard to train people.

As of today, our team has switched nearly all public content for our company to LocomotiveCMS (http://www.locomotivecms.com/), and deployed a centralized multi-tenant system. In many cases, we use our Locomotive instances as an API, pushing content via the API or the command-line tool, wagon. The CMS then renders HTML templates (or even JSON), which are consumed by our applications via HTTP. Sometimes it's just a tiny part of a page, or sometimes entire mini-sites. As a result, most of our apps don't need to know about a database.

Whenever there's a change that requires a new model, or the addition of a field, it can be done quickly through the LCMS back-office UI (or the wagon CLI tool). We update the application(s) affected, and re-deploy. Non-techies can edit the content using the admin web UI in a familiar way.

In any case, it's been working really well for us. The CMS has become an API, a service, and a separate app, shared by many applications. We've become more flexible and efficient as a result, our web applications are no longer burdened by CMS frameworks or admin interfaces of their own. And we dont have to struggle with Sharepoint or Wordpress or any other nonsense.

It's been a fundamental shift in how we think about the CMS, and has scaled well across multiple projects.

I had LocomotiveCMS on my radar for quite a while as it looked very promising, but lost track as development staggered for a year or so. Do you use their hosted solution or do you host it on your own servers? Do you have any information if the version on Github[1] differs in significant ways from the hosted solution? It seems like they are really pushing the hosted solution now, their website doesn't make it very clear that you can install it by yourself too.

[1] https://github.com/locomotivecms/engine

hey, I'm Didier from LocomotiveCMS.

From a person outside the project, I understand that you may have been under the impression that the CMS did not evolve quicly enough. But believe me, we were working just as hard on it.

Actually, you cannot have a clear look at the project activity just based on the Engine github repository because LocomotiveCMS is relatively a big project, made of many different components (Wagon, CustomFields, Engine). Besides, I even don't include the documentation site which has been greatly improved recently and it takes a long time to write documentation. A lot of work for a very small team :-)

I've been working on this project for years and for free and no project is sustainable in those conditions. That's why I decided to grow the business and to develop the commercial side of LocomotiveCMS. So we launched LocomotiveHosting this summer. And it goes well beyond hosting. It also gives you access to free upgrades and premium support. Moreover, the hosting solution relies on the same version of the engine. The slight difference is that we add maintenance functionalities like site backup on the fly.

LocomotiveHosting is an option. You can still host your sites on your servers, so this should not deter you from using our CMS. But we really appreciate it when our users sign up to LocomotiveHosting because this helps fund the development of new features.

We also provide consultancy for our CMS :-)

Thanks! Would you please how you handle SEO this way? (I assumed you embed content on the client, but maybe you do it server-side?)

A link to one of your apps/sites using this would be great.

thanks @foz, I could not have explained better than you did ;-)

So you need to re-deploy for a simple typo fix?

hey @kiro, I'm Didier, creator of LocomotiveCMS (www.locomotivecms.com). You do not need to re-deploy for a simple typo because the structure of your site and the content are definitely separated. You or your content editor will use the user back-office to fix that typo.

However, if you want to change the layout or tweak the style, you have to use Wagon and its frontend tools (SASS, Compass, Less, Compass), make your changes, test them locally with the embedded web server in Wagon, commit them to git if you version your site structure and then deploy. The redeployment won't touch the live data unless you modified your data structure. Hope my answer was clear :-)

Thanks for the answer! I will give Locomotive a try next time I need to install a new CMS.

No we normally never need to re-deploy the app for new content or edits. We treat Locomotive like a service: it provides us a customizable content API. So only in the case of breaking schema changes would we need to re-deploy.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact