A Simple Website System

A Simple Website System

I was about to implement a simple ModX-based website when it occurred to me that it didn’t really make things easier for me.

While it does, theoretically, make it easier for clients to edit their content, it means that I have to now worry about deploying ModX on a foreign server. This is not difficult, but it’s involved enough that I would need to charge for it and be Mr. System Administrator, which is not my life goal. Additionally, once you touch someone else’s server you become implicitly responsible for it. I would prefer to be responsible for just my own server, but the implication then is that I then have to be offering hosting. I would actually prefer to avoid that as well. I’d like clients to pay for their own hosting and domain name services, so they always retain direct control over it.

So, I’m back to Square One. Here’s what I want:

  • A zero-cost, easy way for clients to edit their website without breaking the HTML. No additional software should be needed.
  • Avoiding being part of the content update/maintenance loop. THat makes me a bottleneck, and I have to charge for it.
  • Maintaining the ability for clients to host anywhere, without me having to actually have to know how those servers work, or needing to keep a list of login credentials.

I think the solution to this is actually a custom web application that I deploy on my own server. Essentially, it would be a web templating system that gives each client their own login to edit each templated web page’s content areas. The system manages this content in a database. When the content is edited and saved, the system creates static web pages from the templates/database content. These files are then uploaded directly using FTP to the client’s server.

I looked around briefly to see if something like this already exists (it reminds me a bit of old versions of MovableType), but there are so many web frameworks that it’s hard to sort through them all. So for now, I’m going to start looking through the CodeIgniter documentation to see what it will take to do this. If something already exists, I would love to know about it. I’ve also had an offer by a reader to help with this, so we’ll see what we end up building. My lack of practical database experience has long been a shortcoming in my application development ambitions, so this would be a great project to help shore up the gaps in my knowledge.

8 Comments

  1. Frances 14 years ago

    In a way, it already exists.

    WordPress.com

    Surely not what you have in mind, but a reminder that in resourceful hands, wordpress.com is a true gift.

  2. Bill Kracke 14 years ago

    Some things to consider:

    http://unify.unitinteractive.com/ http://grabaperch.com/ http://www.cushycms.com/ http://onefilecms.com/

    These don’t all meet all of your requirements, however many are low-cost(one time) and cost may be able to be passed on to the client. (For example, unify is under $20. Perch is under $40)

    I had looked into doing this myself, but ran into the following speed bumps: 1) I’ve added a data layer. Whether that means flat files or a database, there is now something extra to manage. 2) If I decide that the HTML files ARE the data (a la CushyCMS), then I have to work out the FTP thing. Which is always different and often out of my control. 3) I get further away from “pure HTML” and wind up with a lot of jQuery, or PHP, or SOMETHING and then I am writing templates for a system. 4) I thought of keeping stuff on my own server, building an awesome editor and serving content from there (maybe cached locally on the client with some PHP), but then I am on the hook for bandwidth. Plus, if my server goes down, ALL my client sites go down.

    I’d love to continue the discussion … let me know if any of these things are close to your needs. Disclaimer: I am not affiliated with these projects in any way. Just stuff I have found while trying to solve the same problem.

  3. Author
    Dave Seah 14 years ago

    Frances: Indeed, a good reminder about the hosted free version at wordpress.com! I think the two main hurdles for me are that the WordPress admin pages are very overwhelming to people (requires training), and custom html isn’t an option (requires using one of the pre-existing templates).

    Bill: Wow, that’s a great list! You’ve saved me a LOT of time! Thanks!

    CushyCMS is pretty much what I was looking for. Unify looks pretty great too, actually. I’m impressed. Just dug up PageLime as an alternative to CushyCMS. I just read a review that Cushy munges source code formatting, which I suppose isn’t a problem if you don’t look :)

    Some comments on your speed bumps.

    On 2) I could see that being a problem if you want to create a control system that deploys on any server. The problem simplifies, though, if you’re just supporting your own server; the FTP details can be worked out for just yourself, can’t they? I’m presuming that there is Master System (all users log into it) that is pushing out to multiple Client Servers (these are the hosting accounts that the clients are using with FTP access).

    On 3) Yep, that is indeed the case…might as well deploy a CMS then on the Client Server.

    On 4) You’re only on the hook for edits; the client sites would be on independent hosts that they are paying for themselves. I don’t want that headache either when their site goes down, and I don’t want to be responsible for hosting them either. Unless I’m missing something.

    Again, I’m really thinking of very simple 1-5 page websites without a lot of content.

  4. penny 14 years ago

    well, similar to @frances but with a twist, have you looked at wordpress mu? http://mu.wordpress.org/ ? it allows for a wordpress.com install base. it wouldn’t let your clients host anywhere, but could simplify the process greatly. if you manage the host providing then you would only have to worry about keeping mu updated.

    note: this is something i’ve contemplated as the number of wp powered sites i handle increases. i’ve just not gone through will figuring out all the pros & cons of it for me and my clients.

  5. Bill Kracke 14 years ago

    @Dave — You are most welcome, and I can’t believe I forgot PageLime!

    Re: #2 Above — All is well until someone moves servers without telling you. Or changes their FTP password because they read somewhere that they should, etc.

    In my experience so far (bring your grain of salt, we’re only talking a few years here), I want to either design, deploy, and get out or work out some maintenance agreement/retainer because there is more work if I stay in. It’s that middle ground of a 5 page site with edits once a quarter or even once a year that kills me every time.

  6. Author
    Dave Seah 14 years ago

    Penny: I looked at wpmu quite a long time ago, but not for this application. If I were managing several wordpress sites, I’d certainly consider it. I think wp and wpmu are going to merge in 3.0 anyway.

    I think clients to have their own domain names through some nameserver trickery. Tumblr does this; you set the A record on your nameserver to point to the IP address of your web server, which has a VirtualHost declaration set up to handle that domain. For multiple blogs under the same domain, I think you use the mod_vhost_alias Apache module. So, you could theoretically set up your own hosting empire!

  7. Author
    Dave Seah 14 years ago

    Bill: I would handle that by not baking the FTP password into the user account and filing under “not my problem…you are responsible for your own host.” They should learn to remember it anyway. I like how WordPress handles their automatic updates by making you enter the FTP password each time, actually (I’m assuming they’re not shipping it somewhere else. Hmm.)

    I hear you on the pain points…I’m trying to make it as easy as possible for low-cost clients. Part of the challenge is setting expectation clearly, and then telling them what to remember. I may make a card that has the information on it and mail it to them; if they lose it, it’s $25.00 to generate a new one :-) I’m also trying to make it more fire-and-forget, because like you’d I’d rather not deal with maintenance for the sums of money involved. It’s one thing if you have a reasonable maintenance contract in place with pre-paid hours, and another thing entirely when asked to do it for free.

  8. Lee 14 years ago