Paul Jarvis (of twothirty fame) and I have been discussing an idea over the last few days, centered around this concept: many designers (especially those who, like us, believe in and evangelize web standards for our projects, and care about building user-friendly interfaces) bemoan the absence of a CMS that meets the following requirements:
- Easy to incorporate into existing projects
- Easy to integrate with new projects
- Easy to tweak without being a programmer
- Easy to use (for designers, developers and clients)
So we started chatting about this problem in more detail, since the only solutions either of us have found thus far (for projects requiring a CMS) is to create something from scratch (time-consuming if you are a programmer or have one on your team, and usually expensive if you choose/need to hire a developer — for designers with no programming knowledge, the latter is almost always the case), attempt to customize one of the many open source CMS projects (which seem to have a long way to go), or hack/bend/twist blog-oriented systems (which is a less-than-elegant approach on many levels) such as WordPress, Textpattern or MovableType.
After agreeing on the poor state of the CMS union, we decided that something needs to be built from the ground up to target these specific requirements, as well as some others, including:
- Quick setup/configuration
- Wide compatibility with web servers/platforms
- Fast/efficient
- Customizable UI (e.g. make it look like a client’s site)
- More we haven’t yet thought of
Paul and I discussed a combination of Rails and AJAX as the perfect companions to web standards, and since neither of us are serious developers (we can both do a few fancy things with PHP, but that doesn’t really count for a project of this scope), I decided it would be interesting to find out what I could about the Rails world — being a front-end designer, I haven’t yet been able to dedicate enough time to Rails to really understand how to use it, though that’s still on my list (especially after using Basecamp and now Backpack so successfully, such great examples of the framework have me sold on its benefits completely). A brief discussion with David Heinemeier Hansson about potential Rails developers resulted in a short description of the concept on a public Backpack page (what else?) which David was kind enough to publicize on the Rails blog, with the hopes of generating interest from one or more developers.
Is this a project that interests you, either as a user or a contributor? Are you a Rails or AJAX developer interested in collaborating with a few of the better designers within the web standards world to design and develop an answer to this missing-link in the web standards development toolbox?
We’d love to hear your thoughts, comments, concerns, ideas, and anything else I’ve left out if you care to share them — I’d love to see this done in Rails, especially as Rails is picking up speed and popularity day by day, and this kind of project (whether eventually sold or purely distributed for the greater good) would both benefit from the press Rails is receiving as well as add to it.
Comments
63 responses to “Designer CMS on Rails”
I would definitely be interested in a script like this. My developer skills are seriously lacking and I need a easy script.
If you need my skills from the design end, I would be happy to help!
There is a long page on the Rails Wiki that some other developers have started regarding a CMS. I’ve been banging out Rails projects recently in my freelance jobs, however I’ve recently decided to put freelance on the back burner because I also have a full time day job and the two were starting to compete for sleep time.
I would love to help you guys out anyway possible, however I don’t have a lot of hours in a week to devote.
I’ve also been tossing around ideas in my head because I was thinking of writing a Rails based CMS for my own uses (I probably still will sometime in the future).
I’d like to have arbitrary “blocks” of structure editable through the web interface that can then be built up into page and/or section templates. Something similar to Textpattern’s style of presentation management, but more granular.
By the way I’m pretty adept with Design, CSS & HTML, as well as Programming.
As a programmer turning to web designer, I’ve been thinking about when somebody would start tackling a CMS on Rails. I think there are too many CMS/frameworks out there that people are reinventing the wheel, only so it looks and behaves their way. Most of the ideas and functionality are borrowed from others, only to provide most of the same ideas. As we all know, AJAX, Rails, and great design are the immediate future of web development/design and I would definitely support (and probably use) such a product.
People are definitley starting to work on just what you’ve described here. One member of the TextDrive/Textpattern team is working on such a CMS:
TextThing: http://textthing.com/home/
I have very little knowledge of ruby but as rails is an emerging technology it seems only fitting that the most modern of technologies be employed in the frontend of any apps designed for the framework. I would be very interested in such a CMS and having seen your previous work would expect it to be very elegantly designed.
I’ve been waiting for this kind of thing and I agree with Dave on the “blocks” issue. Altho I have years experience with design (XHTML+CSS), I am still a beginner with Rails and/or AJAX but I’ll be glad if I could help.
I’m interested.
I do design (graphic and XHTML/CSS) and an increasing amount of Rails work.
Right now most of my client sites run on Textpattern, which works great in a lot of ways; but since I don’t like coding PHP one bit, I’d much rather be working with a Rails-based CMS.
Have you guys tried out Typo?
http://typo.leetsoft.com/
I haven’t yet, but people do seem to like it.
Anyway, send me an email if you do go ahead with this idea.
The idea sounds great, I wish I could help however I am merely an XHTML/CSS guy with design capabilities but no serious programming skills (moderate JS, not AJAX yet tho).
However I too am recently really into Ruby on Rails and have been trying to find out as much as possible and develop a few ‘starter’ apps of my own using it and it’s built in AJAX capabilities – so my request would be to document every step of your design and build process and create the most complete Ruby on Rails project run-through available to date – it’s all well a good building recipe apps or todo lists but a proper project documented from start to finish would kickstart a world of new RoR developers and also allow you to get opinions and suggestions on your code soit would help you learn it well too – I recommend emailing the RoR website guys and seeing if they’ll put a post on their site about it too.
I’d be interested as a user, especially if it borrows some wiki traits:
-edit from anywhere
-simple text syntax (yes, there can be a rich text editor for those who need it)
-history/versioning!
I’m currently using PmWiki, which I like a lot.
Some features which I’d like to see on a personal level include:
* Post via email
* Edit in place (right in the UI of the live site)
* Textile support
Since it appears today is a day of Rails CMS posts, I think the timing is just right for this type of project.
My only issue with Ruby on Rails is the lack of availability of Ruby on most hosting providers systems.
Great Idea, we need a new CMS for normal people, bloggers (like u and me) can use them but people who we work don’t understand it easily plus de bad design of administration interfaces.
Don’t forget the ability to create pages (this is new on wordpress) is VITAL.
I think you are missing the point here. CMSs (and trust me, I’ve worked on a few in my time!) tend to fall down on the client side, rather than the server side. Rarely does a “Rich text editor” based on MSHTML provide sensible compliant xhtml markup (normally relying on you passing the content through a second parser). And the idea of using “AJAX”, or remote scripting as those who are not tainted by buzzwords like to call it, to deliver the content on the client is a little silly. Would you expect every user that came to a site using the CMS to have JS enabled? Let alone that, what if they were not using the main browser (!IE !Moz/FF) what then? Are you just going to feed them some page saying “Sorry we are too elitist to allow you to see this page”. I am sure those behind company firewalls, those using PDAs or those using disablility software would thank you kindly for that.
You have not found the correct CMS for you because (a) you want something free (b) you have set your standards/expectations of a CMS too high, or (c) you simply haven’t looked well enough and don’t have the knowledge to differentiate the good from the bad.
Sorry if this sounds negative, but the issues you raise here are somewhat questionable to say the least.
Regards.
A concerned reader of this blog.
I’d love to contribute. I’m really new to Rails so probably wouldn’t be writing much code, but I can write PHP competently and would love to use this as a vehicle to start learning Ruby and Rails.
Although it does not meet the Ruby requirements, Symphony should make you pretty happy when it’s released. After reading the comments here and over at The Big Noob, I am confident that the guys at 21 Degrees (the creators of Symphony) have already planned accordingly and have a six month head start…
I am all for competition though, as it pushes everyone to innovate and outperform.
I think the biggest problem is providing an appropriate experience for all the various user’s of the CMS. You’ve got developers, designers and end users. Ease of use to one is not the same as for another. Even though I don’t use it, Macromedia Dreamweaver provides a Designers and Developers view of its workspace. You could almost say that Macromedia Contribute is the end user’s view.
It’s definitely a challenge.
Sounds Interesting to me.
In response to “Ric”,
I think its people like yourself who keep the web back in 1996. Have you heard of “degrades gracefully”. Do yourself a favor and get up to speed before making comments that lack any logical sense.
I for one would be incredibly interested in contributing in any way possible.
Again, to Ric…
I think what they meant was that the CMS system would use AJAX to work, not that all websites that the CMS outputs rely on AJAX.
Furthermore, I (a programmer, with an inkling for design) exhort you to find a Rails guru to lead it. Since most of the comments I see fall into two groups:
1. designers who want to help program (not programmers)
and
2. people who want to use this as a starting project for Rails.
No offense to either group. But if you want this to suceed and be easy to maintain, you’re going to need someone who knows the details of Ruby and Rails, and has the foresight needed. I don’t fit the bill (I would fall into group 2).
Rails is really cool but it isn’t exactly pervasive today. If there was an Opensource CMS built in PHP that appropriately leveraged AJAX (which coincidentally doesn’t have anything to do with Ruby or Rails… David H. just happened to be one of the early adopters doing it right and quite well), then it’d be quite interesting…
What reallly counts at the end of the day is the overall usability and functionality of a solution, and in my mind the ability to run virtually anywhere. Make it easy to “brand” as your own and even better. Using cool technology just because it’s avante garde may not make the most sound business sense if you’re talking about broad adoption. IBM committing to supporting PHP is certainly telling in this regard.
The reasons that so many PHP-based CMSes out today are mediocre, is because they’re mostly just trying to do the same thing the same way, over and over again, each with it’s own “special twist”. IOW, you rip off a bad program you get another bad program.
Just about everyone that offers web hosting from low-budget-and-no-service to highly regarded shared and dedicated hosting providers can run PHP+MySQL. Does that make it the most robust/sexiest/coolest/scalable solution. Heck no. But for today and most likely for the next couple of years PHP sure does provide more options.
If you’re interested in something like the above, you can drop me a line ( ryan (at) vertexworks.com ), as we’re pretty well along with meeting the above requirements.
As others have mentioned, the idea of going with Ruby on Rails seems counter to your point that it have “Wide compatibility with web servers/platforms” (assuming you meant this to mean in regards to hosting environment).
You’re shutting out a large potential market because a number of hosts just don’t run Ruby.
On the other hand, putting together a solid CMS under Ruby would certainly put you in the lead in that market space. Anyone with the possibility of running RoR may look to your application first. You’d essentially be getting in on the ground floor.
I think you’d also have to decide if you really want a basic CMS that would essentially be just a step up from a blogging tool or whether you want to develop something more robust with features like workflow management and versioning.
In any case, I’ll keep my eyes on the lookout. :)
There’s a reason most general-purpose CMS systems suck: it’s an incredibly hard problem. Many smart people have attempted this before. This way lies madness.
I personally would like to see some better customization via the publishing interface. I’m not exactly sure how this would pan out, but I’ve developed a DHTML color picker that I would love to integrate in some way to aid in this. You can check out a working demo at http://www.colourmod.com. And of course, I would love to help in other way I can.
I’m a PHP developer and played with Ruby on Rails earlier this year and found it really easy to create applications with.
However, as mentioned by many, the support for Ruby hosting environments is an issue.
Also, even though it is said that there are masses of Ruby developers waiting for jobs, we have a hard enough time finding good PHP developers.
We’re planning to open source the next major version of our CMS which is based loosely on Rails.
The system is object orientated and sits on an MVC framework which can also be used to create large applications. Content is handled as ‘blobs’ so that dynamic content can be dropped easily into existing static sites.
It has it’s own template system, but the idea is that it’ll be compatible with other systems like ‘smarty’ so the designer has the choice.
Let me know if anyone is interested in helping out with this…
In the meantime, there are some other attempts at creating Rails on PHP. Cake is one of them:
http://sputnik.pl/cake/
Check MuraveyWeb, you probably can use it as a start.
You should check out RailFrog (http://www.railfrog.com/) which is just starting up and seems to have all your interests n mind.
This sounds an excellent idea and I’d be keen to help. However, can we merge this initiative with what’s going on at RailFrog. I’m sure we’d make faster progress as a single team (even if we might argue for longer about the requirements!).
I think they have the developers there which might fill your request but they’ll benefit from your design expertise.
Sounds like a good plan. One other requirement that should go on your list is support for translations. Not everyone speaks English. Every single CMS I have looked at either does not support this or bolts it on very badly as an after thought.
I assume that this project was conceived as one or all of the following; an experimental exercise in Rails, a forward thinking use of new(ish) web technologies, a showcase of Rails to promote it, I “fun” task using a new and “fun” way to program, I good learning experience for all those involved.
Yes the idea of this being commercially successly would be grand, but those who suggest doing this in PHP or similar are, I think, missing the point a bit. PHP is old, boring, messy and tiresome, Rails is new, funky, clean and fast – it’s not meant to be widespread yet, it could be soon tho, and that is why it needs promotion through projects such as this.
I have to learn PHP for work, we build most sites in PHP or .Net, no Rails :( I know a bit about both PHP and Rails and to be honest I really wish I didn’t have to learn PHP now.
However there are some projects underway that are trying to recreate the Rails functionality in PHP – (cake, and biscuit – are two such projects I think). Doesn’t look so cool as Ruby on Rails tho, but we’ll see – maybe one day there will only be Rails for web apps, and the backend code could be anything.
I want an IDE for Rails too – I reckon that would speed stuff up even more. Although does kinda miss the point.
While other people have touched on this, there’s a potential conflict between “easy to integrate with existing projects” and “built on Rails.” I think you’d need to think about what you actually mean by “integration.” One of the complaints (a valid one, as opposed to the many “it’s new, waah!” whines) about Rails is that a lot of the it-just-works magic inherent in the framework comes from things like automatic naming conventions that make moving an existing project onto Rails fairly difficult. It shines most brightly when you’re building a new project from scratch.
On a more general level, though, I’d suggest the question: what is this CMS going to do that makes it different than other CMSes? I’ve been batting around the idea for a CMS project myself (and it’d probably be written in Rails, no less), and while it’s easy to come up with the answer “this CMS will actually WORK!” it’s a little too glib. What you’ve described so far is a set of desirable usability goals, but not an underlying design philosophy.
This is a nice article by Jeffery Veen on what’s wrong with practically every commercian and open source CMS around: http://www.adaptivepath.com/publications/essays/archives/000365.php
I’ve put together a lot of CMSes in both PHP and Rails and would love to help with this project. However it isn’t clear exactly what type of CMS you have it mind yet.
I had to compare Java CMSes a while ago and came accross http://www.magnolia.info/en/magnolia.html which uses the idea of blocks to build up pages quite well. It’s the simplest to use general purpose CMS i’ve come accross.
Not a CMS as such but a source of some inspiration is http://www.jotspot.com/ I think. Its a wiki with structure and logic that’s incredibly flexible.
I’d like to see the ability to edit content in place perhaps, by double clicking a block or paragraph, like Tidlywiki.
Many Open source CMS tools make editing easy,but tend to fall short in the management, work flow,seperation of duties(publisher from composer), preview and publish, editioning, backup and export of content to other enviroments. Address these issues and they shall come in droves.
Here’s a problem: Blog != CMS. Now, a blog may manage content, but it’s not a CMS. This is something most people overlook when they create their CMSes, which are typically either blog-oriented or have blogs as the main component (e.g. *Nuke, Textpattern, et al). Bloggers are definitely a very important component of the online world today, and a pretty large population! But you have to decide: Is it a CMS, or is it a blogging engine? Is it aimed at individuals, or companies? Is it for hobbyists, or professional work?
The problem I see is that almost all of the “CMSes” out there are a) blog-oriented and b) aimed at hobbyists. The ones which aren’t, like Mambo, Typo3, etc., are often a) poorly designed in terms of code, b) poorly designed in terms of graphics, and b) not actually designed around a sensible workflow.
Feel free to steal my ideas! ;) These are some of the thoughts I was thinking when I started designing my article manager (not CMS). Of course, ever since I decided to do it, I’ve had little time to focus on it. :) And lemme know if I can help in any way. I’m much more likely to find time for open source work when I’m guilted into it by someone else ;)
I really do know the alphabet, I swear. D’oh.
Have you guys heard of NucleusCMS? It sounds like something that you might enjoy! Easy enough that I can even navigate through it’s coding. And it’s all open source
I have searched long and hard for a simple open source CMS that isn’t a weblog engine for my freelance projects. In addition to what has already been mentioned, my feature list would include:
– The ability for the content editor to create pages and manage navigation bars/site structure
– The ability for the site designer to create multiple templates (i.e. templates with and without a sidebar) that the content editor could select when creating a page.
– Complete separation of user levels (i.e. the content editor doesn’t get a “you do not have access” message when trying to edit a template- that option is hidden in his interface)
– Easily customizable backend interface
Other than that, keep it simple. No site membership systems or ecommerce catalog systems or whatever, at least not built into the basic install.
Unfortunately, I’m no good a programming, save XHTML/CSS. I do make a good cheering section though, so if you ever need moral support…
Yeah, a configurable CMS for designers… next.
How in god’s name do you expect to configure, modify, extend, etc. a CMS (or any application for that matter) without programming?
Your holy grail will never exist. There’s a reason that programmers get paid, just as I wouldn’t expect a Visual Design that I could modify without having to use Photoshop, or know anything about space, color, typography, etc. you shouldn’t expect a CMS with push button extensibility and a “pretty UI.”
I knew there was a reason I hated designers (besides the fact that they’re totally unreliable and flakey.)
I’ve started using Instiki with a customized html export feature. It outputs ASP files with all the includes exactly as the client needs them to be installed on their intranet web server. It’s turned out to be really great. Text changes are easy for me (Textile and a textbox is easier than booting up Dreamweaver) and immediate, the client can even do them if they want. It doesn’t matter what CMS they use or if the even have a CMS, the content is naturally separated from the design I don’t end up copy and pasting text changes into Dreamweaver. It was pretty easy too, just some messing the templates.(I haven’t yet figured out how to make a wiki-editable repeated item, such as navigation that’s repeated on all pages. Anyone?)
I’m unclear if you’re talking about creating something that, as a designer, my client needs to install on their server? I do work for client’s intranets, getting something installed on their server to support my special needs is unlikely.
I would LOVE to see some work done with bringing content editableinto the actual editing of content, being that the all latest major browsers now support it. I would love it if I could create a design and the client could change the text to whatever they want, but with no jarring textbox dissociation.
Have you looked at RailFrog? It looks like they’ve got a similar idea going.
I’m designer and following link is exactly what I always wanted:
XUL based Elixon CMS
I have no programming skills and if I could use the features they have… I don’t need to learn Perl/PHP/ASP…!!!
karol
id welcome a designer/developer centric CMS … most other tools are very blog centric – it would be nice to approach the new cms from another angle.
what do you kids think about:
http://www.squarespace.com ?
any experience with this cms?
I prefere to use
Elixon CMS
Actually I’m one of the first who tested this project and I love it.
termit
A similar idea is great! CMSs fall down on the client side, so i’m interested in your solution.
I’m very excited about your project as I just finished a design theme for csszengarden.com
You can have a look at http://www.celebrityblog.net/zengarden/zengarden-sample.htm
Hello,
Just breifly browsed the article but thought I would respond because I’m involved with the PostNuke CMS as the PM. We would be very happy to work with you guys because we’re highly focused and committed to web standards, usablity, and compliancy so again contact me. :)
Regards,
Vanessa
I have been a part of a team developing a CMS (over the past year), that is built specifically for web designers. It is scheduled to launch later this year.
Sevenlight
I created a cms which uses tags for the categorization part. I call it a Folksonomy-driven website. You can check it out here. The only big drawback to using Rails to create a CMS is its inability to use layouts from the db. There may be another way to do it.
I would glady give out the code I used if people would be willing to help contribute. There is a lot needed to be done and a lot done already.
Excellent idea. I’m new to RAILS/AJAX but will try to follow this project as it happens.
I’ve been doing a LOT of CMS evaluation lately; University of Texas did a great evaluation for their campus-wide CMS at
CMS at University of Texas
http://www.utexas.edu/web/cms/index.html
EXCELLENT CMS reference, IMHO.
One concern with RAILS / AJAX: how does Accessibility Compliance fit in? From what I’ve seen so far, the whole AJAX interactivity things hinges heavily on visual hacks with Javascript and the DOM model, and I don’t understand how this can accomodate accessibility concerns (JAWS screen readers and such).
Please make sure that the project includes some statement or at least awareness of accessibility issues …
I lately stumpled upon Website Baker. It is a simple PHP CMS, but easy to hack if you know a thing or two about PHP. The problem may be the integration part.
Mambo CMS developer team has severed its ties with Miro Corporation, the copyright owner on the GPL’d Mambo CMS.
Now core developers goes their own at
http://opensourcematters.org
They are now looking for new name for CMS so it will be totally separated from Mambo. I think it would be good idea team up with them.