# Best options for full customer control of content?

**URL:** <https://www.ruby-forum.com/t/best-options-for-full-customer-control-of-content/52392>\
**Category:** Rails\
**Created:** [January 13, 2006, 4:15pm UTC](https://www.ruby-forum.com/t/best-options-for-full-customer-control-of-content/52392 "2006-01-13T16:15:25Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![dnstevenson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/8dc957/32.png) [@dnstevenson](https://www.ruby-forum.com/u/dnstevenson)\
**Post date:** [January 13, 2006, 4:15pm UTC](https://www.ruby-forum.com/t/best-options-for-full-customer-control-of-content/52392/1 "2006-01-13T16:15:25Z")

</div>

Hi Railers,

I have a scenario to figure out that I’ve never yet come to a good  
answer for,  
and I’m hoping some of you can shed some light.

The owner of website I built a while back (in PHP) would like to extend  
the  
capabilities of the website to be fully CMS driven, with multiple  
language  
versions (French, Spanish etc.) available in future. At the moment, a  
few  
parts of the site have a simple CMS (news, jobs, etc.) but most of the  
pages  
are static.

I’m totally OK with setting up any number of pages to have  
user-alterable  
content, but the difficulty with this site is that the page content  
isn’t  
always just text - it’s got layout, styles and so on associated with it.

Given that the customer is non-technical, and given that I’m pretty sure  
they  
aren’t going to be able to get their head around XHTML, every time this  
situation comes up, I find it very hard to come to the “best possible”  
solution, since I’m not even sure there is one.

Sure, user editable content (plain text, or even formatted text) is fine  
with  
a CMS, but for more complicated stuff (images, lists, tables of data,  
forms  
etc.) like a complete page, is there any kind of feasible way of doing  
it,  
while still shielding the site owner from having to get to grips with  
XHTML,  
or at least markup of some description? Is there any way of doing it  
that  
will realistically protect them from destroying the site?

The other thing I’d like to avoid if possible is serving up invalid  
markup,  
and it just seems that the only way I can make sure this doesn’t happen  
is to  
give rather limited access to what can / can’t be done markup-wise with  
the  
CMS of a site.

So, that’s basically the trouble: the non-technical customer wants to be  
able  
to do all kinds of whizz-bang stuff with the pages, and I’m just not  
sure  
it’s a good idea to give them that much rope to hang themselves on.

It’s not the fact that they’re likely to put me out of a job (they  
aren’t),  
it’s just that up until now, there’s a good reason they’ve paid us  
little  
bits of maintenance fee to change things on the site - because we know  
what  
we’re doing with code, and in the long run it’s just easier for us to do  
it  
for them.

Am I being too paranoid about this? I don’t want to cause problems  
either  
way, but I really feel like saying “sorry but this site is too  
complicated  
for you to have that much control over - we can let you change all the  
text,  
but not the layout of the pages” or something like that.

If this project goes ahead, I’m intending to rebuild the site in Rails  
anyway,  
since it’ll be worth the time I’ll save later. But in a way, this is  
the  
kind of project I hate, since I just don’t believe there’s a really good  
solution to it.

WYSIWYG doesn’t work. Markdown and so on is OK but still requires some  
technical knowledge and can therefore be messed up. Access to the bare  
XHTML  
would allow the fullest degree of control, but is way too dangerous to  
consider, because the customer will end up destroying their site in some  
way  
or another… probably while I’m snowboarding down the side of a  
mountain  
somewhere, as all web developers do! (Well, I’ll be in Japan for 6  
weeks  
next summer, so that’s undoubtedly when disaster will strike!)

Maybe Markdown with a version rollback facility might be the best  
option, so  
at least if it goes wrong they can quickly restore the previous good  
page?

What would you do? Is there a “safe” way of giving a non-technical  
customer  
this much control of their site? A detailed user manual and a day’s  
training, perhaps? Should I just get over my worries, give them what  
they  
want, and charge them maintenance fees if/when they mess up the site?

Should I just suggest that all this is likely to be considerably more  
expensive than just getting us to make the changes as and when they’re  
needed?

I mean, you wouldn’t ask your car mechanic to set up a system so you  
could fix  
your own engine, would you? Perhaps such a system is possible, but  
there’s a  
reason you hire him to fix your car in the first place - it’s easier, he  
gets  
the job done right every time, the engine doesn’t blow up in your face,  
and  
it’s several times cheaper that way anyway.

Any suggestions appreciated - and I’m surely not the only one who ever  
needs  
to solve this problem! 🙂

Thanks for your time,

~Dave

–

Dave S.  
Rent-A-Monkey Website Development  
Web: [http://www.rentamonkey.com/](http://www.rentamonkey.com/)

---

<div class="post-metadata">

**Author:** ![dnstevenson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/8dc957/32.png) [@dnstevenson](https://www.ruby-forum.com/u/dnstevenson)\
**Post date:** [January 13, 2006, 6:47pm UTC](https://www.ruby-forum.com/t/best-options-for-full-customer-control-of-content/52392/2 "2006-01-13T18:47:12Z")

</div>

Dave…

Is it essential that the solution be Open Source? If not, you could  
look into creating the site in Rails and then using Macromedia  
Contribute for the maintenance. This probably would require some  
tweaking of the Rails site since Contribute expects there to be  
defined areas of user responsibility. But I have a couple of Web  
development colleagues who tell me (I have no personal experience  
with it) that Contribute does a really good job of isolating the  
changes in such a way that the user can’t really screw up layout or  
functionality as long as the designer sets up the right page regions  
for user maintenance.

If, OTOH, you want or need to stay with Open Source tools, then what  
came to mind when I read your post was the idea of devising pages  
that use AJAX componentry to create the updates to feed back into the  
pages needing user modification. I haven’t thought this through and  
obviously haven’t tried coding it but it _feels_ like that might be a  
reasonably feasible solution.

I’ll be watching. This is an issue I’ll face in a few months’ time.

On Jan 13, 2006, at 7:12 AM, Dave S. wrote:

> Given that the customer is non-technical, and given that I’m pretty  
> sure they  
> aren’t going to be able to get their head around XHTML, every time  
> this  
> situation comes up, I find it very hard to come to the “best possible”  
> solution, since I’m not even sure there is one.

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.  
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-  
Dan S.  
Technology Visionary - Technology Assessment - Documentation  
“Looking at technology from every angle”

> **[Eclecticity.com is for sale | HugeDomains](https://www.hugedomains.com/domain_profile.cfm?d=eclecticity.com)**
>
> Shop a wide selection of domains at HugeDomains.com. Find the right domain name today.

---

<div class="post-metadata">

**Author:** ![dnstevenson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/8dc957/32.png) [@dnstevenson](https://www.ruby-forum.com/u/dnstevenson)\
**Post date:** [January 13, 2006, 7:05pm UTC](https://www.ruby-forum.com/t/best-options-for-full-customer-control-of-content/52392/3 "2006-01-13T19:05:45Z")

</div>

On 1/13/06, Dave S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I’m totally OK with setting up any number of pages to have user-alterable  
> content, but the difficulty with this site is that the page content isn’t  
> always just text - it’s got layout, styles and so on associated with it.
> 
> Given that the customer is non-technical, and given that I’m pretty sure they  
> aren’t going to be able to get their head around XHTML, every time this  
> situation comes up, I find it very hard to come to the “best possible”  
> solution, since I’m not even sure there is one.

Teach them how to use textile. It’s not hard.

---

<div class="post-metadata">

**Author:** ![dnstevenson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/8dc957/32.png) [@dnstevenson](https://www.ruby-forum.com/u/dnstevenson)\
**Post date:** [January 13, 2006, 8:04pm UTC](https://www.ruby-forum.com/t/best-options-for-full-customer-control-of-content/52392/4 "2006-01-13T20:04:12Z")

</div>

Dave S. wrote:

> WYSIWYG doesn’t work.  
> Why not? There are quite a few rich text controls available - both free  
> and non-free - that can handle the sort of layout control you’re talking  
> about. I even recall someone doing a Rails-FCKEditor mash at some  
> point, although I forget who…

---

<div class="post-metadata">

**Author:** ![dnstevenson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/8dc957/32.png) [@dnstevenson](https://www.ruby-forum.com/u/dnstevenson)\
**Post date:** [January 13, 2006, 8:52pm UTC](https://www.ruby-forum.com/t/best-options-for-full-customer-control-of-content/52392/5 "2006-01-13T20:52:56Z")

</div>

Sounds like a project crying to be started, doesn’t it? This could be  
a really great module or plugin.

Dan

---

<div class="post-metadata">

**Author:** ![dnstevenson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/8dc957/32.png) [@dnstevenson](https://www.ruby-forum.com/u/dnstevenson)\
**Post date:** [January 23, 2006, 1:17pm UTC](https://www.ruby-forum.com/t/best-options-for-full-customer-control-of-content/52392/6 "2006-01-23T13:17:31Z")

</div>

Dan S. wrote:

> Sounds like a project crying to be started, doesn’t it? This could be  
> a really great module or plugin.
> 
> Dan

/signed

I have experience with FCKeditor, and a lot more WYSYWIG editors. It  
always stays unpolished and non-experienced users really get lost. The  
Firefox/IE differences keep turning up. (line break/new paragraph). I  
have a lot of labour in a good WYSYWIG editor, but it just doesn’t work  
for non-experienced users. Most of them use Word and than paste it. you  
can filter a lot, but still there are creepy things. I’ll follow this  
thread and make suggestions if this comes off the ground.

---

<div class="post-metadata">

**Author:** ![dnstevenson](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/8dc957/32.png) [@dnstevenson](https://www.ruby-forum.com/u/dnstevenson)\
**Post date:** [January 13, 2006, 8:22pm UTC](https://www.ruby-forum.com/t/best-options-for-full-customer-control-of-content/52392/7 "2006-01-13T20:22:26Z")

</div>

I don’t have any experience with FCKEditor, but I’ve used Telerik’s  
r.a.d.  
Editor a lot in my .NET development. My experience with that had been  
so-so,  
to say the least. Browser-based stuff seems to be pretty sketchy for  
reliability and consistent performance. It’s “flaky”, I guess you could  
say.  
The UI just isn’t as predictable as Word or Contribute, which is what  
client’s expect when they use it. If it doesn’t work as expected, they  
don’t  
know the right way to fiddle with it to get it to work. Then they get  
frustrated. Then they call me.

Most of the time, unless I have a good reason why not to, I just tell my  
clients to get Contribute. I’ve avoided it so far with Rails, though,  
because since Rails assembles pages out of views, partials, etc,  
Contribute  
can’t handle that, and it also looks for pages that match the directory  
tree  
that it finds when it’s browsing the site. Rails definitely doesn’t  
match  
that structure. You’d have to make the Contribute-modifiable pages as  
straight (X)HTML, and keep the Rails stuff seperate and not modifiable.  
That’s the way it’s appeared in my short experience with it. I was  
actually  
forced to code a site in PHP because I had to use Dreamweaver templates,  
and  
the whole site had to be modifiable in Contribute. Ugh.

If someone else has any better ideas for Rails/Contribute integration,  
I’d  
love to hear 'em. This is a real concern for me as well, because a lot  
of my  
clients have come to expect “complete control”, or as near to that as I  
can  
deliver.

Matt
