Locomotive is an open source CMS for Rails. It's super flexible and integrates with Heroku and Amazon S3.

Theme inspired by nostrich.

22nd July 2011

Text

Meet us on IRC !

Great news! So many of you have been looking to connect in real time with the Locomotive team and community, we really wanted to create a centralized place for it.

So, now we have the official IRC channel #locomotivecms at irc.freenode.net! Here’s a link to chat right now: webchat.freenode.net/

We’ll generally have someone in there to answer questions, and we encourage you to do the same. Stop by, chat, get help, and help other Locomotive users!

See you there!

()

19th July 2011

Text with 2 notes

Changelog #1

Here is a pretty exhaustive list of what the BIG MERGE includes:

  • upgrade the list of gems: Rails 3.0.9, Devise 1.3.4, Rake 0.9.2, …etc 
  • roles with the CanCan gem
    note: 3 kind of roles. Administrator (they can do everything), Designer (like Administrator but applied on a single website), Author (only edit pages and contents) 
  • resizing images on the fly (ticket #79)
  • tinyMCE enhancements (ticket #99):
    - the locomotive image plugin has been replaced by the locomotive media plugin which allows you to upload any kind of files
    -  fullscreen mode, very convenient to edit a long text 
  • remove asset_collections
    note: the asset collections tab was confusing for users (and me too). Actually, it’s like a content type with a different kind of view in the back-office (the galery view is not implemented yet)
  • use dashes instead of underscores (ticket #56):
     note: pages (slug) and contents (permalink) uses the parameterize String method.
  • SEO (tickets #57 & #90):
     - index and index/ are the same page now (301 redirection)
     - add a seo_title for both the site, the page and content objects.
     - write a {% seo %} liquid tag to display the title, meta (description and keywords) tags depending on the context
  • fix issue about httparty (ticket #91)
  • check if custom contents are organized in a category when displaying the select box for the has_one / has_many fields
  • add 2 liquid global variables in the page conext: current time and date. Dates from a custom content are now comparable
  • site export (but editable_elements inside a page are not correctly handled for now)
  • rake task to import a remote template
  • UI tweaks, a quick list of some of them:
    - better hints for the theme asset new/edit action
    - slight modifications on forms: separator between fields, text shadow, error message redesigned, …etc
    - quick link to edit directly a model from the submenu 
  • new sites picker (if the multi_sites mode is enabled and correctly set up)
  • the robots.txt can be edited directly from the back-office (site settings) (ticket #57)
  • 2 new languages:
    - dutch (#92)
     - spanish (#103)
  • a lot of internal refactoring as well as a ton of bug corrections

Checkout the following link for the upgrade procedure:
www.locomotivecms.com/support/howto/upgrade 

I’d like to thank all the contributors, users and developers who reported bugs / problems or just simply suggested relevant improvements. Seriously folks, THANK YOU SO MUCH !

A very special and big thank to 2 companies. The first one, a german company (designhunger) run by Bernd Hauser, funded the has_one / has_many feature. If you are in touch with him, please thank him, he deserves it :-) 

The other one is a startup from San Francisco named Bushi.do. Sean and Kevin, the 2 owners behind this company, have been helping us so much for a couple of months now. They provide us a financial support so that we can be focused as much as possible on the CMS. On top of that, they provide us a great help for the documentation (believe me they are working hard to deliver a top notch FAQ) and they also advise us on the commercial side of LocomotiveCMS.
Working with them led, in a first time, to the update to the demo section. Before our partnership, the demo section was just a simple application with the same credentials for everyone and without the ability to edit the demo website. Now, anyone can launch as many LocomotiveCMS websites as they want and do everything possible with them !
The bushi.do people rock and I love their product ! 

To sum up things, I feel so great about LocomotiveCMS !

Tagged: changelog

()

4th May 2011

Text

Introducing our modules platform

LocomotiveCMS is a very young open source project but it gets more and more users each week. More users also means that we have to deal with more work like answering questions, look into feature requests, fixing bugs of course, …etc. That’s the price of fame ! 

Unfortunately, all of these tasks take a lot of time. At the end, we spend more time on LocomotiveCMS than on our other (paid) projects which can compromise the future of our CMS.

That being said, the situation also made us think about how we were going to monetize LocomotiveCMS. We had in mind a couple of obvious ideas like providing a hosting platform for example.
In fact, we are already collaborating with a startup (bushi.do) which its activity is to who offers hosting solutions for any open source project. We’ll talk about it very soon. Believe us, it i’s going to be huge !

Since we already developed a command line tool to quickly build Locomotive websites, we came to the conclusion that it would be simpler for us, in terms of development, to sell it.
Moreover, our tool was used successfully by a couple of early adopters. Besides, it became obvious we were going to sell other tools or modules, for the reason that our philosophy on this project is to keep the core engine as simple as possible. One thing leading to another, we ended up with the modules marketplace solution.

The concept behind is quite simple. Let’s say, as a developer and LocomotiveCMS user, you miss a functionality which has a business value for you and certainly for other people / companies. No problem ! You develop it with our help (that way we validate your idea), we sell it directly from the LocomotiveCMS official website and we share the revenues. The percentage will depend on our contribution to each module’s development.

Does our modules marketplace break the spirit of the open source ? We don’t think so.
First, there is nothing preventing people to use LocomotiveCMS, the core engine remaining free of charge and we won’t force developers to sell their modules if they want them to be free.
Secondly, we do need revenues to regularly continue the development of Locomotive.
And lastly, we do like the idea to imply developers in the whole business environment.

One more thing :-) We looked for a way to sell ruby gems because all our modules will be ruby gems but we didn’t find anything.
So yes, we built our own platform named gemforsale ! For now, the marketplace functionality is not totally implemented but the basic functionalities are here.

We strongly believe that selling gems will help a lot of open source projects to generate revenues.

We are pretty excited by the way Locomotive is growing and we believe it’s going to be a major CMS soon, thanks to our users and contributors !

By the way, we’d be glad to get feedback and ideas from you.

()

15th March 2011

Text

Locomotive status

First of all, I would to thank all of you who sent us very kind and encouraging messages, helped us to fix issues (a lot, let’s face the truth !) or developed new features. Actually, we were not expecting such a positive wave. For instance, the Locomotive back-office has been translated in German (thanks Bernd !), French and Brazilian Portuguese (thanks Raphael !). Believe me, it is always a great moment when you see your app in another language.

More than that, some companies adopted Locomotive on a daily basis. The Frontier Group, a web design and development company, built many websites powered by our engine. The feedbacks given by 3 of their employees (Dirk, Mario and Karl) were tremendous helpful for our CMS. They did an amazing job by fixing a lot of issues and answering questions from the community. 
I also could name John, Bernd, Raphael, Benjamin for their great help. I hope actually I don’t forget someone :-) 

By the way, folks, if you built a site with Locomotive and you want to show proudly your work, send us an email, we will feature you on our blog (+ twitter as well).

Will there be a roadmap ?

I don’t think so. At first, I tried to release specific versions of the Locomotive gem. But, pretty quickly, it seemed clear to me that it does make any sense since, unfortunately, there still were bugs to be fixed the day after, making the release quickly outdated. That is mainly because Locomotive is still a young project.

Anyway, I keep up-to-date a todo list for tasks / issues / new features. Let me share the main ones with you. By the way, the order does not reflect the priority:

  • documentation. [UPDATE] documentation about the liquid syntax is coming soon.
  • duostack version. LocomotiveCMS should work with both Heroku and Duostack only by specifying it in the locomotive.rb config file.
  • associations in the custom content types. simple at the beginning: belongs_to/has_many
  • internationalization. Pages, content types, assets have a different version depending on the locale (specified in the url or the domain).
  • enhancement of the inline editing module. Uploading images is not implemented for now for instance, …etc.
  • a better way to install locomotive in a mono-site mode.
  • dynamic image resizing. Only by using a special liquid tag, the image (images from asset collections and content types) will be resized. {{ ‘foo.png’ | transform: ‘500x400#’ | image_tag }}. Varnish + Rack.
  • moving all the Locomotive models into a brand new namespace. (Locomotive::Site, Locomotive::Page, …etc). Crucial for a better integration in another Rails app.
  • convert css into scss.
  • integration with an existing rails app. I wish Locomotive could be used as the cms module of any Rails app.

As you can see, nothing major (except for the “Internationalization”) because I am following the same rules I apply since the beginning. Keep the core as simple / light as possible and refine / refactor as often as possible. Besides, I pay attention to the delivered code, or at least I try to.

My mojo ? The development of new features should be only driven by the need of them.

Want to contribute ?

A lot of people asked me what was the best way to contribute to the project and how they could help. My answer is quite simple. Use Locomotive for your websites for real !!! If you need a feature or if you run into a bug, fork the project, fix or implement and then submit your pull request on github.

Anyway, again, thanks to all of you who were enough patient to check Locomotive despite the bugs and saw its great potential !

What’s next ?

It seems that some people get worried about the durability of LocomotiveCMS which is, in my point of view, a very pertinent question. 
First, as I mentioned it at the beginning of the post, a lot of companies are using Locomotive meaning that you will always find someone who can help you.
Then and that’s the beauty of the open source, you are not an hostage of a product. I mean, the code is clear and can be easily modified.
Lastly, things are moving fast for Locomotive and we are going to announce some big news in the next weeks. I will talk more about it in my next post. 

choo-choo :-)

Tagged: status

()

4th January 2011

Text

Beta release out

Hi folks, 

It’s been a long road to launch this beta. That was really tough to stop adding new features and to be focus to release something. Yes, I had to struggle against my nature but I managed at the end !

I spent a lot of time writing a good installation guide, especially for the Heroku part. I hope it is clear enough. If it is not, feel free to send me your suggestions at info@locomotivecms.com.

Besides, I added the themes section, which is useful if you want to try Locomotive with a real example.
I just took some nice templates from different gallery templates or blog (thanks Tom by the way !) and converted them for Locomotive. I suggest you to take a look at them because you will understand how the Locomotive templates and the other modules work.
Actually, it is pretty easy to convert a html template since I have a special tool for that. I call it the Locomotive Editor (fancy name, isn’t it ?). Basically, it is based on the locomotive engine bundled in a Sinatra app but without mongodb and other stuff like the back-office for instance. The edition of templates, contents and other assets can be done with a simple text editor, Textmate in my case. Once I’m done with a theme, I simply zip the folder and import it in Locomotive.
For now, I don’t plan to open source the editor. It depends on the way I’m going to “monetize” Locomotive. Even if I’ve got several ideas, I’ve not taken a decision yet.

What are the next steps for Locomotive ?

First of all, I expect a lot from developers. I’m looking for feedbacks and even for bugs to solve !
On my side, I’m going to write tutorials. The first one will be probably about how to create a custom content and use it in a liquid template. 

You are a company and you want to use Locomotive to host a couple of websites ?

Even if you build super sexy and big apps, you always have to manage some simple websites for small clients. That’s not a problem anymore ! I’m willing to help companies which want Locomotive as their website hosting solution for their clients. Locomotive is definitely a good fit for you ! For instance, I’ve got a single Locomotive instance running on Heroku and serving 3 websites (www.locomotivecms.com is one of them).

I’m very excited to see how Locomotive’s going to turn out ! I’m sure it will help people a lot to build and edit websites. That’s the reason why I created it.

()

19th October 2010

Text

Big thanks to Nicholas Young !

I’d like to thank Nicholas Young who gives us the domain name locomotivecms.com.

We didn’t ask for anything, he just sent us an email and told us he wanted to help the project. 

That’s very kind to him.

Tagged: project

()

2nd August 2010

Text

A fresh coat of paint

When Didier first approached me to work on a user interface for Locomotive, his content management system (at the time still called NoCoffeeCMS), I thought it was a great opportunity to finally design my ideal CMS interface. I’ve worked with Joomla, Wordpress, Textpattern, and Expression Engine, and none of them had that perfect mix of features, flexibility, and good design (although Wordpress and Expression Engine came pretty close).

I was inspired by the tabs of The Hit List, a Mac to-do app, and quickly came up with a first mockup, which ended up being pretty close to the final product.

spacer

We tweaked the colors and buttons some more, and came up with the idea of assigning a different color to each tab.

spacer

Around that time, we also came up with the name “Locomotive”. We liked how it related to the Rails world, and evokes something powerful enough to pull a lot of weight. I remember how I used to play Railroad Tycoon (now renamed Railroads) as a kid, and went looking for locomotive inspiration. The Golden State Locomotive was a perfect mascot: sleek, powerful, and has a beautiful retro art-deco feel.

spacer

Since I can’t draw anything more complex than a modal pop-up, the very talented Emmanuel Grard did the actual vector rendering of the locomotive. For the front-end site, we knew that we wanted something that matched the back-end’s colors and style. But I went too far in trying to keep things simple, and the result looked uninspired and dry.

spacer

Thankfully Didier wasn’t afraid to call me out on it and push me harder, and so the second version was completely different, and much more promising.

spacer

But something was still missing. The design felt flat and lacking impact, and more importantly my girlfriend didn’t like it (Dribbble might be nice, but no one beats girlfriends when it comes to giving out criticism) It was also clear that the site didn’t evoke the Ruby universe enough. It was time for a bold move.

spacer

Applying a single gradient turned out to make a huge difference, and all the other elements started falling into place. A few tweaks later, Locomotive’s home page was finally good to go. By the way, you might have noticed that the site doesn’t have any navigation. I liked the idea of the homepage being self-contained. I think it encourages people to scroll down the page, while reassuring them that they won’t need to browse through dozens of pages to find the info they need. So there you go. I encourage you to give Locomotive a try, and await your feedback on the design and general user experience.

()

2nd August 2010

Text

Jacques Crocker got on board !

We are exciting to announce you that Jacques (aka Railsjedi in the Ruby on Rails community) joined us two weeks ago on Locomotive.

He is a great developer and has a clear vision about how has to be managed an open source project. Want a proof ? Look at his amazing job on Mongoid !

The big first feature he is going to work on is the inline editing. But for now, his job is to clean the code and to build a solid tests suite. I should say I’m super astonished by his work and his efficiency.

And more than that, we are on the same page and we are pretty so sure Locomotive CMS is going to rock ! 

Stay stuned.

p.s.: By the way, thank you so much Jacques !

()

9th July 2010

Photo

spacer

First website running with Locomotive !

()

9th July 2010

Text

A new Rails CMS on board !

At last, I launched it, thanks to Sacha’s help ! Of course, it is not as perfect as I wish. But, I think it represents a good start and I have a ton of new features to add. There are so many things to say about the CMS and how I see its future…

The documentation section looks empty but do not worry, I’m working hard on it.

“First come, first serve”. My CMS has been “approved” (by me) since I used it to run 3 websites including this one on Heroku (Heroku/MongoHQ are so awesome). I will post urls and some screenshots about them later.

I’d be very pleased to hear your ideas, comments and even critics.

Tagged: general launch

()

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.