G'day Tedd, >Yes, when you have intelligent and cooperative clients -- have >any to spare? Hey, you keep your grubby mitts off my intelligent and cooperative clients, it took a while to get them that way :) Let's face it: people who pay other people to do a job for them usually don't understand the job, or they'd probably do it themselves. Sometimes, they've already done it themselves and worn the consequences, which is why they're paying for it now. Most of them actually understand that, and just need a little encouragement to work with you on it, as long as you meet them part of the way and let them get their job done too. But you know all of that, you've probably been doing this far longer than I have. What I want to know is how to get verbally-oriented people to specify what it is that they want in emails... :/ >>The biggest problem is when they copy/paste content from a MS Word >>document, > >Amen to that. I have had clients say "Where did that come from? That >wasn't in my Word document. I guess it must be something in your code >screwed it up -- please fix." Training. "Use the Paste from Word button." It doesn't work all the time, but it works enough of the time. Paste as Text is better still. I tell them both - with preference for Paste as Text unless they need to preserve their bold and italics. Usually, something slips through as invalid HTML or looking slightly odd in FF. So be it, as long as the website does its job, the client is happy. If it's a problem, they know who to call. >1. It does bug me when the client finally realizes the problem and >says "Why didn't you know that?" or "You should have told me" or "I >didn't know that would happen" even though you warned them six months >ago. You get that. Plumbers and doctors get that too. I think it's why God invented alcohol. >2. Mixing style elements with data is still wrong, at least in my >mind. Yes and no. If you are prepared to break all elements down into individual rows in a database, tagged with the required layout type, and determine at runtime how to render them, then go for it. Most of us are happy to meet clients' requirements by letting them put some HTML into a database. Where possible, it's minimal, but sometimes it's the content of a page. Preventing clients from specifying styles directly helps preserve the style consistency of the site, and is easy enough if all they want to do is specify which bits are headings, bold, italics, and links. Styling of those layout elements can then be applied through the stylesheets. It's when they want to specify all sorts of other stuff, like colours(!) and underline that problems start. I prefer to give 'em classes, but it doesn't always go my way :( >I realize the client is paying the bill and because of that >they make the call, but I take pride in my work and I am really >resistant to clients requiring bad practice. If I really wanted to meet clients' requirements without letting them do the odd dodgy thing to *their* site, I'd have to charge a lot more and thus would probably not get the job. A designer I did some work for recently lamented that our client had finally completed inputting their content, and the site was live, but with the design "destroyed" by some collages they'd added. Sure, it wasn't as pretty as the original design, but those collages showed off the products and premises well, and made the client happy. Designer isn't bothered, the bill was paid which is what this is about. There's time for creating masterpieces in retirement :) >I guess it's the age old problem of dealing with actions vs consequences. I see it as more like: good, cheap, fast, pick ONE. >Thanks for the tip on TinyMCE -- I'll look into that. As Eric mentions, FCKEditor can do this stuff too, and I imagine yui and others do as well. You just need to configure them to fit your requirements. -- Ross McKay, Toronto, NSW Australia "Before enlightenment: chop wood, carry water; After enlightenment: chop wood, carry water" - Wu Li -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php