Easy way for clients to update their own content

He has: 688 posts

Joined: Feb 2001

I keep getting this request. A client wants me to design and create their website, but they want to be able to update the content (at least parts of it) by themselves. They of course don't know the first thing about HTML or FTP, so this means I'm out of a job for updating their website - but if that means they don't become a client in the first place it would make sense to allow this.

It sounds like I need to allow them a password protected easy WYSIWYG page editing interface just for the content parts of their pages. I don't have the skills to create my own system from scratch but perhaps there are some (hopefully free or cheap) scripts or plug-ins that would facilitate such a feature? Does anybody have any suggestions?

P.S. If it helps, I have cPanel with Fantastico, and my pages are all in php.

pr0gr4mm3r's picture

He has: 1,502 posts

Joined: Sep 2006

This is a common request from my clients. The solution is to use a CMS like Wordpress, Drupal, or Joomla. I prefer Wordpress for the slick admin interface and the simple template interface.

decibel.places's picture

He has: 1,494 posts

Joined: Jun 2008

WordPress is excellent for brochure or blog publishing - one-to-many - but if you require community features, membership, user-contributed content and user relationships, I recommend Drupal.

For updating content, you could also look into using one of the Rich Text Editors that are embedded in the CMS as a standalone on your site - I prefer FCKeditor

Here is an overview of editors available on Drupal - with some useful general info.

Megan's picture

She has: 11,421 posts

Joined: Jun 1999

There are lots of free, simple open source Content Management systems out there. Another one I've heard of is CMS Made Simple. What you use really depends on what you need to do. As decibel.places said, Drupal is great if you need more features (but it's also more complicated so if you have simple needs you should look into another option).

JeevesBond's picture

He has: 3,955 posts

Joined: Jun 2002

There are two other things to consider here:

  1. adding this facility will mean you can charge your clients (who want it) more cash;
  2. all online WYSIWYG editors are crap, without exception, so you'll occasionally be called in to fix stuff anyway;

But yes, get them a CMS and charge them more money. Both for having to theme a CMS (which takes more time than just writing HTML) and for training.

I would also recommend Drupal for most purposes, but that's because I'm a huge Drupal fanboy. In the end, use whatever CMS/blog software works for the project. Smiling

Make sure you have a look at: http://php.opensourcecms.com when you're making your decision. It includes demos of most CMS software.

a Padded Cell our articles site!

He has: 688 posts

Joined: Feb 2001

It kind of sounds like I need a CMS but it kind of doesn't. It sounds like most of you are talking about creating pages and themes in a CMS but I would create all my designs and themes custom outside any CMS. The client doesn't need to have any involvement with that. They only want to change some text once in a while (and maybe a few photos but they haven't asked for that yet). So I'm figuring if I make the text area of some of their pages come from include files with no theme elements, all they'll need to do is be able to update that those text files, which may include some paragraph, bold, and underline tags behind their scenes, but nothing about site templates or themes. Basically, I need something just like this page, where I can hit "edit" to edit just my message, and what I write/change has no connection to the theme or operation of the rest of this page (but I do have a few simple tools like bold, italic, and link). Then the client would just hit save and his text changes would save to the file for that little area and therefore update his message, but he couldn't mess with the rest of the page. If they need a more complicated change like to the template then they'll definitely need to contact me. Does that make more sense?

pr0gr4mm3r's picture

He has: 1,502 posts

Joined: Sep 2006

Theme-ing a CMS isn't that big of a deal IMO - at least easier than what you are talking about, plus it gives them plenty of flexibility if they decide to expand.

Having includes are possible, but doing something custom is more work then using something that is already done.

...and for you Drupal fanboys Wink - I still think Wordpress is a better solution, as I can create a full Wordpress theme in under an hour based off a coded template if I'm really digging into it. Plus, I find the admin area less confusing.

Megan's picture

She has: 11,421 posts

Joined: Jun 1999

pr0gr4mm3r wrote:
...and for you Drupal fanboys Wink - I still think Wordpress is a better solution, as I can create a full Wordpress theme in under an hour based off a coded template if I'm really digging into it. Plus, I find the admin area less confusing.

Yes, I agree. It sounds like he needs something much simpler than Drupal. Wordpress or another simpler CMS (something more targetted to regular sites and not blogs) would be more appropriate here.

I'm a big fan of Drupal too but that doesn't mean it's the best choice for every project.

decibel.places's picture

He has: 1,494 posts

Joined: Jun 2008

pr0gr4mm3r wrote:
...and for you Drupal fanboys ;)

oooh - I'm adding that keyphrase to my résumé: Drupal fanboy

pr0gr4mm3r wrote:
I still think Wordpress is a better solution, as I can create a full Wordpress theme in under an hour based off a coded template

Drupal theming is not complex either, using Firefox+Firebug+WebDeveloper+MeasureIt+Colorzilla

For a custom theme I often start with the Framework theme, I have my own version of it "blank" which has all the front-end removed except in admin. Drupal has some greeat themes available including Ability, Twilight, Four Seasons

These sites were themed from PSD (note the themed search boxes):
http://4m.netsperience.org/
http://intel.anteriorstudios.com/

And this site uses the "blank" theme - it is Drupal without any front end (except in admin):
http://www.gutterhelmetspecials.com/

pr0gr4mm3r wrote:
Plus, I find the admin area less confusing

It is less confusing because WordPress does much less than Drupal. You can customize the Drupal admin by setting permissions for roles. I generally start with 4 admin roles: developer, administrator, editor and moderator. Developer gets all permissions, Administrator gets permissions necessary for day-to-day administration, Editor has permissions to create and edit content, Moderator has permissions to manage users and moderate forums and blogs.

I would not dismiss the possibility of including a Rich Text Editor as a standalone solution, without a CMS.

pr0gr4mm3r's picture

He has: 1,502 posts

Joined: Sep 2006

It is less confusing because WordPress does much less than Drupal.

Isn't that what the OP is asking for?...something less complex.

For a custom theme I often start with the Framework theme,

And that's just my point. You need either a starter theme or advanced tools. Give me a static HTML template, gEdit, and an hour or two to code a theme for Wordpress, or another simple CMS.

JeevesBond's picture

He has: 3,955 posts

Joined: Jun 2002

We're not saying that the client should be able to edit the CMS' theme, but that to use a CMS you will have to theme it.

Unfortunately, it's not possible to create HTML pages separately and have them magically work with the CMS of your choice. You have to use the CMS' theme system. Smiling

So I'm figuring if I make the text area of some of their pages come from include files with no theme elements, all they'll need to do is be able to update that those text files, which may include some paragraph, bold, and underline tags behind their scenes, but nothing about site templates or themes.

Sounds like you're leaning more towards writing your own mini-CMS to just deal with a few pieces of text. What I don't advise trying to do is install some CMS, then try to hack its innards just to display a few text fields, that would just be a waste of resources and time (you'll have to understand how the CMS works, plus none of the documentation will be geared to what you're trying to do).

Most CMS are an all-or-nothing proposition. You either use one for you entire site, theme it, get modules for it etc. or build everything yourself. There may be CMS's out there which are flexible enough to do what you want, but I've not heard of one so far (not saying they don't exist though). Smiling

a Padded Cell our articles site!

vbdietz's picture

They have: 1 posts

Joined: Mar 2009

Actually a CMS like WordPress or Movable Type Professional sounds like the perfect solution to your client's request. Drupal is also good as an open-source CMS but has a longer learning curve on the installation side, IMO. Do not think of them as blog software but as a true content management systems with widgets and plugins that allow you to easily meet customer's needs.

Setting up your custom banner, navigation menu, sidebar features and widgets are all easily done in each of them and access to those design elements can be restricted to your access only - insuring your future employment potential.

You can set up your client with access to only certain text segments on specific pages which they may go in and tweak to their heart's content.

If you don't provide it and they're talking to friends whose web developers do provide it on their sites, you may find yourself without a customer altogether. Particularly if the friend provides a demo of how easy it is for him/her to edit the text via Wordpress, Movable Type or Drupal or any of the other good CMS's out there. Joomla and Expression Engine come to mind.

Good luck.

greg's picture

He has: 1,581 posts

Joined: Nov 2005

Most CMS's are great, and as pointed out, there are different ones for different needs.

That said, CMS versus own code also depends on requirements, and if your client only wants to change the odd bit of text here and there, then using a full CMS for the entire site may well be over kill, even if using the most simple CMS.

You say your pages are all in PHP, so presumably you have some PHP knowledge.
IF you already use a database, then IMO the texts the client wants to change could be in a database table, and code your own simple admin area with logins.
Query the text out of the DB into a textarea, then update it back in the DB when the client has finished editing it and clicks the form submit.

Again it's "horses for courses" and if the client will change massive amounts of text, then maybe storing it in the DB isn't a good idea.
Another approach is storing the text in files, and including them in PHP.

Again a simple admin area where the client would get the text from the file, edit it, and clicking submit would overwrite the original file.

A simple ACP isn't hard to make, could be easier in the long run for you and your client to use rather than a CMS, and would (arguably) be a faster site too.

decibel.places's picture

He has: 1,494 posts

Joined: Jun 2008

I just added a project to administer a scrollable list of links without a database, storing the html in a js file.

The constructor is for a list of links, but could be adapted to other types of content...

greg's picture

He has: 1,581 posts

Joined: Nov 2005

It's a good idea for some circumstances, and certainly is very useful for people without a database and a good workaround, but it is arguably not as secure as a database login system.

There are more options for security methods with database stored passwords and logins.
With a database it's easier to allow for hashing with MD5, sha etc.
You could of course provide a hashed value within the file with the password checking, but again arguably PHP $_POST data and in-file variables are easy to hack, exploit and bypass than hashed data to a mysql connection.

Although, if intrusion occurs and your system is compromised it really doesn't matter which method you used.

decibel.places's picture

He has: 1,494 posts

Joined: Jun 2008

greg wrote:
but unfortunately it's not very secure though

here we go again with "not secure" and "doesn't check for invalid input"

SmileyCentral.com

the processing page is password secured - incorrect or no password entered in the admin form, no changes...

person entering the info has admin clearance for the site, is provided the password, s/he will presumably enter appropriate text or can see the error immediately

but it is only useful for admin of a small part of a site, in this case it manages a list of links... but that is often exactly the type of content that a client wants to manage and update, particularly for events eg.

greg's picture

He has: 1,581 posts

Joined: Nov 2005

I've edited my post as it was probably a bit harsh.

But I still maintain security is a must. Anything and everything where an unknown visitor can enter data into an input field that is handled by a database or php files, post data etc should be checked.

Especially when it is to allow actions such as writing to a file stored in the public area on the server.

Even without hashing, the password could be pre-determined to be mixed case alpha numerical, so any other chars is simply an incorrect password ('!"£$%^ etc)

Another option would be to store the admin files you have (at least the login) in a sub-dir, and with cpanel (htaccess) password protect that dir on the server level.
This initiates the browser pop-up login, which is another level of security.

They have: 53 posts

Joined: May 2009

I prefer to use the Wordpress also.. Wordpress is much more user-friendly compared to others.

santox's picture

They have: 5 posts

Joined: Mar 2010

Resources like the one you mentioned here will be very useful to me! I will post a link to this page on my blog. I am sure my visitors will find that very useful. Wordpress is indeed very useful !

He has: 688 posts

Joined: Feb 2001

I guess I should post a follow up. Somebody pointed me in the direction of Snippetmaster. They have a free version which works perfectly fine for limited simple editing. It worked well enough for me that I thought it was well worth the cost of purchasing a pro license. Definitely worth checking out for allowing others to edit sections of your code but not letting them touch (destroy) the rest of the code.

They have: 17 posts

Joined: Mar 2010

Agreed with "fifeclub", I have also used free version of snippemaster and I really liked it. Although I have not yet bought the pro license but even then I am quite satisfied with free version performance too.

They have: 111 posts

Joined: Aug 2010

this means you are adding something extra to the site.. so be sure to confirm from him, that how much and will allow it?

They have: 1 posts

Joined: Jan 2013

fifeclub did you ever figure out how to build a web site that the user can easily update a small portion of? I have a request from a writer (very not computer savvy) who wants to update his site whenever he publishes new work.

DanielGarneau's picture

He has: 4 posts

Joined: Dec 2014

I just finished reading this entire thread. I am not familiar with the more technical aspects mentioned, but what it says about Drupal and WordPress CMS is still valid as I write today.

I would add to this thread's flow of thought that if you go for a CMS, it will always require maintenance. Whether you choose Drupal or WordPress, the plug-ins used to make it run will require regular updates. The core CMS itself will also require to be updated once in a while.

Another observation in the Drupal vs WordPress debate. I began developping a CMS prototype for my web site www.savoiretcroire.ca using Drupal. It required a lot of learning to get there, but once I got the hang of it, I really liked Drupal, and would have chosen it.

As I tried to rebuild my prototype after it had broken, I realized I did not have the level of expertise to even understand some of the fine points of documentation.

That's when I turned to WordPress. The challenge here was learning to work with the template, and changing from the logical approach that I really liked in Drupal to a completely different approach. Once I understood however the basic principles of WordPress, I felt home in it.

Daniel Garneau
www.savoiretcroire.ca

They have: 1 posts

Joined: Apr 2015

I came across this site searching for a way to do this. It seems the OP probably does need the info anymore, but if anyone else comes across this thread another I found another idea and its similar to the database storage idea. It will probably not work for everybody, but if the client wants to update content themselves you could store the content in text files. Using PHP you could pull that info into the fields in the html. Then on your hosting site just give your clients access to only change the files where the text files are and the logon to do so. Just inform them of the files that will change the proper content and as long as they arent silly enough to put in tags they should be fine. And for the security issue, I believe the hosting site will be safe enough.

Want to join the discussion? Create an account or log in if you already have one. Joining is fast, free and painless! We’ll even whisk you back here when you’ve finished.