Big Web Applications CMS or Custom

  • Started
  • Last post
  • 21 Responses
  • thoughtandtheory

    Just wanted to get people's opinion on the matter. So I'm consulting on a new project and it's massive. It has a lot of user/privacy settings along with a ton of various utilities bolted on to form this super huge mega site.

    I've always been under the impression that building a site like this from scratch was the only way to go because there was no CMS that could handle extensive customization and not become a huge hack in the end (I'm looking at you Liferay, what a pile). You end up designing for the CMS instead of making the best application for the user.

    Am I right in assuming this? Are there Enterprise level CMS's that are capable of creating something big and complex (let's say something the size of virb in terms of complexity and size)?

    Anybody got any experiences they want to share?

  • welded0

    I guess I can't really answer your question, but my experience so far has taught me the same thing. Pre-built CMSs are great, but as soon as you overstep the bounds it can easily lead to an increasing series of hacks to get the desired result.

  • such0

    Drupal may be worth a look. With its modules, it makes for fairly easy customization and there's probably modules already available for what you might need. If not, you can always create your own as well. Just depends on the project, I guess.

    • Most Drupal sites look like Drupal sites... also Drupal forces you into its assumptions...vaxorcist
    • all CMSs have conventions that need to be followed, and most frameworks do too...lukus_W
  • thoughtandtheory0

    Yeah, Drupal was the only one that came to mind that could possibly work out.

    So far thinking through, here's my pros and cons for each:

    Custom
    Pros:
    - Flexibility
    - Complete Control

    Cons:
    - Cost
    - Time

    CMS:
    Pros:
    - Built-in features
    - Time
    - Save cost up front

    Cons:
    - Flexibility
    - Long-term possibilities

    • Are these considering the clients wants/needs/budget?rodzilla
    • Definitely. We're trying to present options to the client first so they know what they're getting into. The company has VC support so they have a budget to go with either, so it's more about timeline and overall benefits.thoughtandtheory
  • such0

    Unless your project has some very specific and unique requirements, I would probably go with Drupal. There is so much available already. I couldn't imagine having to recreate it all myself. I'd rather get it functioning as quickly as possible and then spend time getting it tweaked and add features to meet my needs. Plus, there are a lot of Drupal freelancers that could probably create a module for your additional needs if you didn't want to do it yourself.

    • I think drupal can do good stuff - don't be put off by the shite drupal sites out there - it's not down to the CMS imolukus_W
  • imnotaplumber0

    drupal is awful, bespoke CMS is the way to go, if you can get paid to build a custom CMS build a custom CMS.

    • I disagree. It depends on preference, needs and comfort. There are many CMS's and they all do many things well.such
    • If your client pays for a custom CMS, either you have great powers of persuasion or the client is an idiot.comicsans
    • @comicsans - how many big sites do you really think dont use a custom CMS?heavyt
  • comicsans0

    Avoid Drupal or Joomla, all their sites tend to look alike because designing templates is so f***ing complex that few people summon up the determination to complete the task. ExpressionEngine is the best I've used, easy to work with and the documentation and support is world-class. For a free solution MODx also easily lets you express any design as a content managed site, very flexible but the documentation is awful and support non-existent. For simple sites WordPress is surprisingly effective.

    • I think that the drupal template issue raised is very true -> BUT, it's not impossible and it's pretty worthwhile learning imolukus_W
  • moth0

    I very much doubt that virb could be made with an off-the-shelf cms.

    You'll end up forcing square pegs in round holes and developing yourself into a corner.

    • Yeah that's my thoughts. But just wanted to check with people and see if that was right.thoughtandtheory
    • +1heavyt
  • thoughtandtheory0

    Just to clarify, I'm not making a 'virb' it's just used as an example.

  • vaxorcist0

    Sounds more like an app than a CMS....

    Danger Will Robinson!
    A massive set of requirements, complicated user/privacy setttings and a ton of bolted on functionality may mean that you're essentially reverse-engineering the sociology of the subcultures and egos in the client's company and trying to codify this into a logical web-based system that cannot make everyone happy...

    This is how you get million dollar systems that are never finished, if you're Accenture, that's called a profitable business model, but if you're a small developer working on a flat bid, it's called a disaster...

    Many big companies throw in the towel and get MS Sharepoint, hire some $$$ consultants who make stuff that sort of works but looks odd, then try to find a cheap designer to fix it.... not my cup of tea at all, but I've been offered those gigs... maybe sharepoint has improved, but years ago I found it a designers nightmare that everyone around me thought was a panacea.... hard to explain that...

    ALSO:Building a custom CMS may mean lifetime support from one developer, as nobody else may understand it..

    Okay, so if you still want to do this.... I suggest a good developer and a framework, and ALOT of learning about specifications, and priorities, be willing to say things like "if you have x, you cannot have y except at alot more complexity"

    Expression Engine is built on top of Code Igniter, an application framework that's free and open source and documented. You might want to try using CI to build your app....Note that you, or your developer should know Object Oriented PHP and be willing to do things the codeIgniter way....

    Note that among developers, there are sometimes ego wars over frameworks..... if the developer looks at you like you're a mass murderer when you say "code igniter" then ask him/her what else they suggest....

    • I agree, having a custom app means that your developer _needs_ to document / follow best practice.. it's more of a risk imo.lukus_W
  • version30

    bloated cms forced to work ie wordpress for a corp site is dumb in that it is limited and the interface lends itself to clients fucking shit up

    i go custom everytime

  • welded0

    ExpressionEngine isn't built on CodeIgniter, but EE2.0 is although it's in private beta. Still, CodeIgniter is a fantastic framework. You'll need the documentation open in a tab all the time, but it's fast to pick up and it constantly impresses me with it's power and ease of use. If you don't want to get stuck with Drupal, or whatever, take a look at CI.

    One of the biggest pitfalls of building your own CMS is having to be tied to it for support, but at least if you use an established code framework and don't fuck it up somehow, any other developer should be able to wrap their head around it without too much trouble.

    • you're right, current EE isn't built on CI, but EE 2.0 is.... both by Ellis Lab, CI is based in reality(!)vaxorcist
  • moth0

    I wish I could find that elusive "end-game" to a development project. I've yet to find a way of billing those legacy issues for a finite amount of time, whilst also factoring in an exit strategy so the thing doesn't haunt me for 12 months.

    Sometimes I make it work. Sometimes, the client ends up hating you for saying "enough" after 12 months and gets left feeling abandoned.

    I'm beginning to think it's a business decision for them. If you're running an online entity, you need developers working in-house.

    • If you are a company involved in running a reasonably large site, I think you definitely need developers on stafflukus_W
  • Machuse0

    moth: do you usually act as a small firm, or singular freelance developer? Would it every be appropriate to charge for developers?

    vaxorcist had some interesting comments - how would a large consultancy handle this scenario differently (making it a good business model) - while its a bad idea for a single developer / small group?

    • If It were me, I'd set up a dedicated team who would sell development / project-management as an ongoing service (via a fixed term / renewable contract)lukus_W
    • service (via a fixed term renewable contract)lukus_W
    • (the client would effectively be renting staff, on an ongoing basis)lukus_W
  • vaxorcist0

    Large agencies/consulting firms often work on retainer, say $x per month, usually similar in cost to having a few developers on staff, but the client "may" get the benefit of continuity, i.e. if client hires 3 developers and 2 leave, they're screwed, but if client hires consulting firm, supposedly consulting firm enforces best practices, and their people are more interchangeable.

    NOTE: Some consulting forms are notorious for sending the "A-Team" in to get the business, then after some time the "B-team" takes over and things just linger while they bill....

    One central lesson here is that developer's productivity and understanding vary alot, a whole lot...

    Small developers/groups usually are in a flat-bid situation, or a "time and materials" situation. Flat bid makes developer take the risk, time and materials makes client take the risk and possibly get angry... Note that some clients want to see a larger staff before they commit to a retainer, but that may change....

  • thoughtandtheory0

    Yeah I never thought of the long term catches with a custom solution as well. I'd imagine if I went down this route I'd get a team to help build the foundation and the major components then probably convince them to get an internal programmer to maintain and build up on things.

  • vaxorcist0

    I've been that internal programmer brought in after the other team left.... Ideally, the "new internal programmer" is one of the original team, otherwise, prepare for a long info handover... if the original team has left, the new programmer has a WTF period of time trying to figure out what the other guys did. This is one reason people use frameworks, less WTF period as long as everyone is familiar with the framework... Django / Python is a framework with less WTF than most...

  • thoughtandtheory0

    Yeah that's what happened on another big project I worked on. It works out pretty well as long as the new internal programmer is solid and like you said, has some experience with the app.

  • psenso0

    expression engine all the way - for any site big or small. drupal and joomla are overcomplicated, antiquated, pieces of shit.

  • mg330

    It's stuff like this that impresses me all the more about the CMS my company builds. In essence, it's 50% of our product. We built, and own the CMS system and all the code that sites are built on top of by our developers. I know quite a bit about web technology, but I'm always impressed at just how massive an operation it is when you get down to it.

  • airey0

    expression engine. either learn it or get a developer. it's hugely extensible. the only people that would say it's not able to do something are those that don't actually know how to get the app to do it.