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/