If you want it done right…

โ€”

by

in

ed note: as always, this is subject to some change as I do more research

Ok, I’ve had it. That’s the end… the final end.

Those who have been reading along know I have been looking into content managers for use in my client sites. Ideally, that CMS would be one that had the features I wanted and was still customizable and flexible. I wind up writing a lot of custom software these days and I want to get most of it into a “can” so I can stop doing so much re-invention of the wheel. Sadly, I have come to accept that I am going to probably have to create the wee beastie.

Soulhuntre you say, there are a billion content managers out there – surely one of them does things the way you need them done. The answer is, no. They don’t. Your wrong. No biscuit for you.

Reasons this is a pain in the ass

  • Because my primary client uses PHP. For this reason, and this reason alone, I will wind up building a PHP based basic version of my CMS.
  • As I will be using .NET for future projects, I will no doubt wind up designing one of these for .NET in the future.
  • It will take some time.

Reasons why this will kick ass

  • Using PHP as the primary platform for my development at this time maximizes my client base.
  • Building this tool will dramatically shorten the development cycles of the websites I have to make for clients.
  • The design methodologies I gain from this project are completely applicable to future .NET work in this area.
  • There is a fair amount of money to be made.

Even just today (Tuesday, I haven’t slept yet) a conversation in a business meeting touched upon the fact that it seemed silly to built yet another CMS out there. However, the reality is that the PHP CMS market is fragmented, and the tools available simply aren’t very good. I genuinely believe that I have the right feature set in mind. In the end this is about concept and design, it can be implemented in PHP or in .NET (thought o be fair its a bit cleaner in .NET).

Now, one thing that had been holding me back was my inherent desire to not put time and effort into a PHP project since I find .NET superior in almost every way imaginable. However, I came to a realization when I looked ahead and said “I don’t want to have to build this stuff again in .NET”… that realization is that hopefully >I< won’t be the one building it. With any luck at all in 6-12 months I will be working on other things with my day to day. I am hoping that this CMS will allow me to commodity most of my work and then I’ll be able to hire someone to do future development for me.

In other words, the thing to do now is concentrate on the business opportunity and requirement in front of me, not be annoyed that it doesn’t match up with what I want it to be. Would I rather work on .NET code all day? Yup. Is that an option right now? Nope. At this moment in time PHP is capable, stable, running on all my clients systems and a viable choice for developing a commodity product. I might as well dig in and stop complaining… make my cash and move on. I don’t want to be a code head for much longer anyway.

The core features of my project as I see it are…

  • The CMS sites >inside< the site, not the other way around. The CMS is something that will plug into pages built by a designer. Rather than trying to encompass the entire site, the site will pull in the CMS content as needed.
  • I have very specific ideas from the world of Wiki’s I want to pull in.
  • Multiple users/Multiple roles
  • Content life cycle (draft, approval, live, archive)
  • Content versioning
  • The ability to build pages as well as articles
  • Simple image uploading for inclusion in content
  • Simple file uploading for linking from content
  • Keywords
  • Search
  • Navigation menu building
  • Easy integration with user sign up/contact functionality.
  • Easy integration with other tools (easy to add to the menu and control panel)

If I do this, then I will be charging enough per license to make it worth doing but it will still cost my clients less than they pay me know to build less functional variations on the same thing.

So, better for me, better for them. It will take me about 3 weeks to get it into a beta form, working on it part time. I won’t be able to start on it for a little while – but I think it’s worth doing.