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:
http://www.a3webtech.com/index.php/cms-terms.html#ruby-challenge

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://doodlekit.com/home

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