A challenge from a CMS implementer

Hey guys

RoR evangelists keep telling us that they have the #1 framework for developing webapps. OK, but show us something that works and is useful to many people out there. I could be wrong, but it doesn't seem as if there is anything that qualifies, as yet?

So I've got a little challenge for you: come up with a decent plugin WYSIWYG visual editor for CMS. There are several but all have faults - none do all the jobs they should, and all have bugs of some sort. This looks like the perfect job for you guys - if you can do what you say...

More info here:

If you are genuinely interested in this, get in touch, and I'll give you all the help I can. If you succeed, you will have an app with a large potential market in either the freeware or commercial worlds. There are, at a minimum, half a million CMS out there - and few or none have a 100% functional plugin editor. There's a crying need for one.

RoR evangelists keep telling us that they have the #1 framework for developing webapps.

Yes.

OK, but show us something that works and is useful to many people out there. I could be wrong, but it doesn't seem as if there is anything that qualifies, as yet?

Go have a look at Rubyforge. I'm quite sure it has "something that works and is useful to many people out there" many times over. I'm not sure how many of those packages are specifically built using Rails, but you can't deny how many of them are being used _in_ Rails apps.

So I've got a little challenge for you: come up with a decent plugin WYSIWYG visual editor for CMS. There are several but all have faults

So rather than contribute bug fixes for faults only you seem to be aware of, you'd rather reinvent the wheel? Who is to say you or whoever takes you up on your challenge won't run into those same "faults" ?

none do all the jobs they should,

What impossible job do you need one of them to do? I know from experience TinyMCE allows you to add your own functionality, and the APi is very well documented. Every time I've ever installed it I found myself turning features off that I knew the client would have no use for.

and all have bugs of some sort. This looks like the perfect job for you guys - if you can do what you say...

I disagree.

TinyMCE does way more than I would ever need it to do. And I'm not aware of any visible javascript errors it has. And so what if it does have an issue or two, that's not reason enough to start over from scratch.

And then why are you making this challenge to a bunch of Ruby on Rails coders? Your challenge calls for a Javascript guru, not a Ruby guru. Moreover, many of us here aren't even Ruby gurus yet.

Pointless challenge, but good luck all the same.

Hi Greg

Thanks for the response.

OK, basically I like to stir things up and get a lively discussion - you can have a boring one anytime, so why bother. Especially, I like to have a lively tech talk with someone who knows their stuff - like you. So, thanks again for coming back.

Your points:

Rubyforge stuff: OK, I had a look. Lots of stuff, as you say. Trouble is you can't really tell what's what in there, same as any forge - too confusing if you don't know the apps. My areas are SEO/ CMS/ ecommerce, so if you know of anything in those fields that comes from Ruby, then maybe I've heard of it.

WYSIWYG editor faults: well, the faults I had in mind are obvious feature holes, and things that just plain don't work. So it shouldn't be a massive task to avoid them. I'm thinking that a plugin app that weighs in at say a couple of megabytes or so isn't going to be a lifetime's work. And whoever does the job right will get a good rep and maybe some cash out of it.

TinyMCE: I'm sorry, but I'm not impressed - it doesn't do several things other editors do, and those it does, it's merely OK at. It's one of the first things Joomla implementers ditch, for example, because up against TMedit or FCKeditor it's a poor choice (and neither of those are anywhere near perfect). Maybe you can add functionality - but why isn't there a version out there, then, that has it? I'm not a dev, that's why I'm asking - if I could do the job, I'd do it. We'd use TinyMCE for the lowest level of content editor, but no higher (basic news uploads maybe).

For example: text - it doesn't do full text formatting. You can't choose your font. You can't choose your font size (as TMedit can - often you want to go outside the CSS, for one reason or another). Images: it doesn't do image uploads (as FCKeditor does). Unless the image is on the server, you can't use it - so where does that leave the frontend editor? They can only write text, then - and the webmaster is going to have to load the images, which kind of kills the idea of user-edited CMS. Does it do the alt. text? - not sure if it does - but you've got to have that. Links: it can't browse for content to link to (like TMedit). It's got some neat JS popup effects - but I need simple, practical functionality, and FCKeditor is way better (but lousy with text). Best not to add yet more JS to the pages, in any case.

OK, it's good at some things, as you say, like anchors and cleaning up Word code - but we need better font controls than this has, and better image management. I appreciate the fact that there is a difference in requirements for backend and frontend editors; but the perfect editor would be able to satisfy both, with some functions disabled for frontend users.

[quote] "And then why are you making this challenge to a bunch of Ruby on Rails coders?"

Fair enough - I need to explain. It happened like this: a RoR dev pressured a pal hard to implement RadiantCMS for a big project with a decent traffic load (the sort of thing Plone or Drupal is normally the first choice for, if you're talking OSS). So, I looked at Radiant, and could see that it is still a new project, and still has a way to go before it is ready for release into the big wide world (see the review on my site). I invested some time in that, and also in looking at RoR. I didn't really want to knock it, as there are some good signs of first-class quality in the Radiant project, it's just that it isn't ready yet (the page code is really A1 and that's rare, even for mature projects).

So I got to thinking: what have I seen that is useful to a lot of people and built with Ruby? And I couldn't really put my finger on anything, so I thought, what the hell, it's supposed to be good for webapps so let's wind up the Ruby guys a bit and see if they bite (heh heh!). A good wysiwyg editor (I am very pernickety I admit, the existing ones just don't do it for me) would go a long way to convincing many people that RoR has some substance.

Remember, I'm not a dev, so once we're into coding (apart from CSS, basic PHP and stuff) you've lost me. You say JS would be a better proposition here? OK, I'll take your word for it (as long as the JS doesn't make it onto the web pages of course, that's the last thing you want).

Once again - thanks for the feedback.

Chris

p.s. This forum - can you only reply using a full quote? Hmm, needs a Ruby dev then...

You know, I'm not sure the RoR community is really interested in "convincing many people that RoR has some substance." We who use it know that it does. People who are sincerely interested in it will soon discover that it does.

While you may have a valid point in a lack of a perfect WYSIWYG editor, I'm thinking that your challenge displays a pretty significant lack of understanding about the RoR community.

That's just my opinion, which is, of course, void of all value.

Peace, Phillip

I'd like to echo Philip's point.

I don't want to convince "many people that RoR has some substance." That's like Toyota & Nissan trying to convince GM & Ford to adapt TQM. Time... and a loss of customers (both end-user & developers) will do that just fine.

~ mel

Chris Price wrote:

So, I looked at Radiant, and could see that it is still a new project, and still has a way to go before it is ready for release into the big wide world (see the review on my site). I invested some time in that, and also in looking at RoR. I didn't really want to knock it, as there are some good signs of first-class quality in the Radiant project, it's just that it isn't ready yet (the page code is really A1 and that's rare, even for mature projects).    Actually Radiant works very well for us for a number of things. But, to each his own.

Cheers, Mohit. 1/16/2008 | 8:56 AM.

Let's put it impolitely, then, but only for the sake of argument. If you don't know the basics of what technologies are involved in a web-based WYSIWYG editor, you don't understand much of the things you claim to do. Unless a "CMS implementer" is someone who nudges others into doing the hard work for him while claiming the fame and profit.

Remember, I'm only winding you up to see if you bite. To get a lively discussion. Oh, please spare us.

In a politer vein, I'd like to suggest that you're in the wrong forum for your problem. Find a forum where you can hire a competent developer who can handle the tasks you have. If they're using Rails, they most likely already know this forum and use it for discussing technical problems.

Michael

I thought, what the hell, it's supposed to be good for webapps so let's wind up the Ruby guys a bit and see if they bite (heh heh!). A good wysiwyg editor (I am very pernickety I admit, the existing ones just don't do it for me) would go a long way to convincing many people that RoR has some substance.

So you make a living by manipulating others? Why would a client-side editor " go a long way to convincing many people that RoR has some substance"?

You say JS would be a better proposition here? OK, I'll take your word for it (as long as the JS doesn't make it onto the web pages of course, that's the last thing you want).

You're saying that Javascript doesn't belong on web pages?

This is the second recent attempt at coercing this list. I suppose that's a good indication that rails is becoming important. (If you're wondering, the other one was no less transparent than yours.)

If people need something done, and they want to throw a challenge out there, they should just put a cash put to it... and consider it a sponsorship to the open source community instead of trying to manipulate ppl w/ hidden intentions. Open and honest intentions almost- always leave a sweeter after-taste.

OK, a part of this long message is being blocked by the spam filter so I'll post it in sections to see where the problem is. At least it should make it more readable, as it's very long indeed.

Firstly: my original post was sincere and my original aim is still valid: I don't like any of the current visual editors and would rejoice to see a new one that had the best features of all, and none of the bugs. Anyway. As far as I can see, maybe the best one out there is the new Kupu editor for Plone, but it looks as though that's only supplied for Plone.

I'd like to thank you all for your tolerant response to a rather cheeky approach, and I'm sure you are bearing in mind that it resulted from some heavy evangelising by a Ruby dev in the first place. Of course, I could have thought about it all for another day or two and then decided not to post at all - in all probability. But I believe it's best to post anyway, even if the conservative thing would be to say nothing; this way you can learn things, and in any case the Net is best used to push frontiers. I think the conservative approach is a mistake unless you're in the banking or legal business.

What I learnt: of course, I've made a coding error, through over-simplification and hurry. I assumed that a task connected with a webapp would require a web application framework for developing; this is wrong. The visual editor is simply a segment of that webapp, and can (perhaps should) be coded in a different way - with anything from Delphi to JS no doubt.

Secondly, what a tolerant and polite bunch of guys you lot are. No doubt the use of (probable) real names on this forum helps! On a JS forum I'd have been slagged off rotten. I think I'll come back here then...

Right, here are the individual replies. The spam-block problem must be in here somewhere. I've had to break up words and put in asterisks.

Here are some of the individual replies (and what a lot there are):

@pko* ebbe Yes, you are correct in both your points. On the second one, as I pointed out, I made an evaluation error in the required code* base.

@melvin* ram No doubt you are right. More power to you, things seem to be going well.

Big problem with this spam filter - I can't get most of these replies to go through.

And the next lot:

@Mohit OK, I believe you. But the ultimate aim of open-source CMS developers is probably to get their application out there and being used by a very large number of people, correct? I'm a technical author and a usability spec ial ist, and I can tell you strongly that from both perspectives they are going about it the wrong way. To take just one example: firstly you have to get people to install your product. Therefore you have to do two things: make it easy for them to do so; and tell them how easy it is, in simple steps.

The Radiant project doesn't do either, and from the outside, it looks a mess. It looks as though it would be impossible for anyone other than a host's tech support, and he would have to compile it, on the server. This may or may not be the case, but it's how it comes over. There are any number of mistakes here, just from the point of view of getting the CMS out there and used by many people. Of course, if that's not what they want, it doesn't matter. It seems a shame, since, as I mentioned elsewhere, there are signs of excellent quality in that project - the generated web page code for instance is superb. And if you think that's easy to achieve, you'd be completely wrong.

More to come.

And the last one. I found what the spam block problem was, it's the word after 'usability' in the last post, and is getting blocked as a 6-letter synonym starting with C for a male enhancement medicine. Oh well.

@Michael Schuerig Point 1: you're dead right, I'm afraid! I try and get others to do the work as it's so much easier... But as regards CMS, I mainly do that for fun, it's not a living for me. So fun is the name of the game. I'm not in it for the money so I can't invest, more's the pity. Point 2: another forum - a Ruby dev pushed so I pushed back. As you say, the coding question is probably not perfectly relevant.

@George Bailey 1: I never said I make a living at it, I'm an enthusiast - like many of yourselves as far as Ruby goes, no doubt. CMS for me is basically an interest, so I'm not exploiting anyone. Sometimes it pays, sometimes it doesn't. That doesn't mean I'm any less passionate about fixing problems, though. I hate the third-rate in anything, especially if I'm forced to use it. And as regards Ruby, you still have a public relations image issue - many know what Python does, but who can say precisely what has been achieved with RoR? If you don't understand this, then pick an Internet-savvy computer user and ask them; I'd bet they couldn't give you one example. Understandable, of course, as RoR is so young; but don't be telling me that everyone knows what it does and respects it because that's not the case. 2: as regards JS on web pages: I'm one of a very large number of people who think that times have changed and the less JS the better. I certainly don't expect coders to agree on this point as many of them are pushing for exactly the opposite. The web changes drastically about every 18 months (my theory), and it's a different place now to what it was three years ago. JavaScript is the nearest thing to compiled code, in the text-based code world (as far as I can see - and you know I'm not a coder!). That means that to many of us it is undecipherable. Search engines hate and despise it for that reason, and because it is used to attack them so often; also of course the fact that it is now the main tool of online miscreants of various persuasions. The more transparent web coding is, the better, as far as I am concerned; and it's also a major accessibility issue, which I expect you dislike any mention of because that is always hard for coders to get their heads around. When I mention JS disparagingly, I can assure you that my intentions are absolutely genuine - a genuine desire to get rid of it. My definition of a skilled web page coder is one who can accomplish a tricky job without using too much JS (or none if possible). How did we get into this, anyway?

I'm not sure what you mean by coercing, I just do fun posts or serious posts, I wouldn't want to be coerced myself so I don't do it to others. Read it, laugh at it, or ignore it.

@melvinram Not sure what you mean. I'm basically an amateur in the CMS world, I do it for fun and sometimes get paid, though not nearly as much as the job is worth. I'd love to be able to sponsor the OSS community, it's one of the best and most valuable things we have. Why did anyone assume I am a rich professional? As a personal assessment, 90% of CMS implementers are not full-time pros. How can they be when the vast majority of installed CMS is OSS and implemented by friends, family and part-timers. The only rich people I personally know are people associated with Broadvision and Vignette (in which case they aren't likely to be messing around with an OSS plugin), and developers. Some developers earn $2,000 a day (that's the rate in London for a top guy). So if you want to find someone with money, find a coder (which is about as realistic a statement as 'all CMS implementers are rich', I suppose!) My original post was genuine and you can take it or leave it, I don't care - we're all only in this for fun and knowledge. If you get paid as well, that's great, but I usually don't.

Well, that's it for this tranche. Sorry about this messing about, splitting my return post up, but it was very frustrating trying to find out which word was causing the filter problem, in the middle of 1,000 or more.

And I suggest that if you look closely at my true profession, you'll see that if I was 'true to type' as some of you have suggested, I'd be loading up these posts with links. Think about that.

Love, Chris

Chris, I don't see how a WYSIWYG editor would solve this "problem." I'm not trying to be mean-spirited here, but the things that you've written don't really quite make sense. It's almost like Cargo-Cult posting. The words and the terms are all there but they don't quite fit together.

Rails is a server-side technology. Your editor would run on the browser, and yet you suggest it could be written in "Delphi." My browser doesn't run Delphi. Does yours? It seems that your understanding of how a WYSIWYG editor works is that the user clicks on Bold and Underline and the computer figures out the rest.

You say "times have changed" and "the less Javascript the better." That is about the opposite of reality. Javascript is more widely used than ever before, and growing. The words you wrote sounds much more like the sentiment of several years ago, as if you're echoing them. You don't like it because it's "indecipherable" and that it is "used to attack search engines." wtf?

You say you're not a coder and yet you "spent some time" evaluating Rails. What did you look at? Did you try building a sample application? If not, what was your evaluation process?

Chris Price wrote:

And the next lot:

@Mohit OK, I believe you. But the ultimate aim of open-source CMS developers is probably to get their application out there and being used by a very large number of people, correct? I'm a technical author and a usability spec ial ist, and I can tell you strongly that from both perspectives they are going about it the wrong way. To take just one example: firstly you have to get people to install your product. Therefore you have to do two things: make it easy for them to do so; and tell them how easy it is, in simple steps.

The Radiant project doesn't do either, and from the outside, it looks a mess. It looks as though it would be impossible for anyone other than a host's tech support, and he would have to compile it, on the server.    I'm bordering on being unsure of what your pitch/ background is. Radiant is written in Rails. Rails is written in Ruby. Other than Ruby, nothing is compiled. Radiant is installed quite simply by copying a bunch of files to the server - like ANY other Rails application. Unless you're looking at the wrong Radiant project, there's nothing in it that seems to agree with what you say.

As for a simple step-by-step guide, how are these:   * http://dev.radiantcms.org/radiant/wiki/Installation and after you have got that done:   * http://notepad.onghu.com/2007/5/26/hello-world-using-radiant-cms

This may or may not be the case, but it's how it comes over.

I'm sure the guys over at the Radiant site would be happy to know why that's the way it comes across. The documentation is in a wiki and can be edited by anyone who feels that it could be represented better. If you can help point out what is wrong and what conveys the wrong impression, I'd be happy to log on to the wiki and fix it.

There are any number of mistakes here, just from the point of view of getting the CMS out there and used by many people.

What mistakes? You certainly seem to feel you know a lot, so help us understand what the problem is. There's a TinyMCE plugin for Radiant (though I don't like to use WYSIWIG for a CMS but again, to each his own) and there's also a WYMEditor plugin for it (if I remember correctly). * More about the pretty WYMEditor here - http://www.wymeditor.org/en/

Of course, if that's not what they want, it doesn't matter. It seems a shame, since, as I mentioned elsewhere, there are signs of excellent quality in that project - the generated web page code for instance is superb. And if you think that's easy to achieve, you'd be completely wrong.

I don't think it's easy to achieve and have a lot of respect for the project. There are other reasons why Radiant is not the best out-of-box CMS, but from what I see, that's not what is bothering you.

Best regards Mohit.

That you don't agree doesn't make his points any less true.

Michael

Doodlekit uses rails and the X Standard WYSIWYG browser plugin.

http://xstandard.com/en/

So.... where is the problem exactly?

You can use things like TinyMCE pretty easily, and if your really feeling adventurous there are some other editors that do work with rails.

I, however, agree with some of the other people in this post. Using a markup filter IMO is preferable over a WYSIWYG editor because really most people don't need to bother with WYSIWYG editors. Its really more than most people need. You can accomplish the exact same things with using say a textile filter, without worring about which browsers work with your WYSIWYG editor.

If they are doing anything more complicated than that then they either are writing the HTML by hand or getting someone that knows how to for them.

@Mohit

Sorry for my absence, I got dragged away to work.

Documentation: I'm not sure if you're aware of this but two facts are pertinent here:

1: Engineers cannot communicate. This is a universal truth, always has been, and will never change. They need interpreters. 2: Open-source documentation is famous the world over for being absolutely, utterly terrible. This is related to point 1.

Software authors usually write the docs for OSS projects, but you can see they are not a good choice for this task.

These facts are part of the reason why commercial enterprises are so very reluctant to take on OSS for business software use. They are fully prepared to pay more for software that is not as good, when it is commercially backed - ie with good documentation, training, training support, and technical support.

Unless you know of specific circumstances why the Radiant project would not align with these axioms, even though it may be painful to do so, you should assume that the previous statements apply.

So, starting from the beginning - an application user manual needs to start correctly. This is done by stating who the document is for, then linking to other locations in the same space, for docs for other types of users.

Let's say this is the Installation doc, for implementing and commissioning personnel - we state this first.

Then we state what the software is, then what broad class it is, then any sub-category it may belong to; then how it can be used, with any immediately relevant pros or cons; then what machinery it will work on and what it won't; how it can and can't be installed; what are the required pre-requisites if any; any major advantages or disadvantages to the approach this application takes. So you start with a very firm idea of exactly what you are looking at, and you don't get any nasty surprises later when you find it won't install on your Sun Solaris/ Unix/ Oracle. Radiant doesn't do this.

For instance, then, you could say (but with much expansion): RadiantCMS is a website content management system [that tells us what it is and also the class - not an Intranet or documentation content mechanism] that can be used as a [delete as appropriate] provider-consumer CMS community/ news CMS portal CMS.

It can be installed: remotely via FTP and HTTP remotely or on the local machine on the local machine only

It requires a server that is enabled for: etc etc

@Michael

That you don't agree doesn't make his points any less true.

Michael

We are of diametrically-opposed opinions so there is no point in arguing - surely?

In any case this is not the right venue.

Chris

@mr_shine

Those links are interesting. Some nice gfx on all those Doodlekit sites, an excellent look to all of them. Is that a hosted solution? No, I see not, from the portfolio sites. Perhaps they should put some technical info in there somewhere for people who might be looking for that (server requirement etc - if it runs on anyone's server, say so?).

X-standard looks good and I hope they get a wider audience. I downloaded and tried the lite version, and it has some nice features: in particular, the code view is the best I've seen on a plugin editor - very good indeed.

I'd like to see a screenshot of the upgrade pro model, couldn't find one - if you want to upgrade how do you know what you're getting? There were some install issues both on Firefox and the CMS, that they could profitably document, to ease the install. It needs an extra CSS file as well, I think, an editor_content.css file to control the background colour in edit view. Would have to be added to the master xml file list. Here's the typical code for that:

body { margin :0; padding :0; text-align : left; background : #fff; background-image : none; }

And believe me, that was fun, contributing some code on a coder's forum. But I guess you guys wouldn't even call that code :slight_smile:

Chris