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/
on 2006-01-13 17:15
on 2006-01-13 19:47
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" http://www.eclecticity.com
on 2006-01-13 20:05
On 1/13/06, Dave S. <email@example.com> 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.
on 2006-01-13 21:04
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...
on 2006-01-13 21:22
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
on 2006-01-13 21:52
Sounds like a project crying to be started, doesn't it? This could be a really great module or plugin. Dan
on 2006-01-23 14:17
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.