4 ms·
A CMS requiring a slew of third-party mods before it can be usable is useless to someone who can code a custom Rails CMS in a day or two. (Hint, hint. Build it
by nir 17y ago
A CMS requiring a slew of third-party mods before it can be usable is useless to someone who can code a custom Rails CMS in a day or two. (Hint, hint. Build it in Rails.)
Seriously, this is #1 story in HN? Hint, hint: you will not build a production quality CMS in a day or two, nor a month or two. Not with Rails, not with pixie dust. And if you will take the time to build something comparable to Drupal, it will inevitably have its own design flaws and learning curve and people will blog on how you suck.
Instead of "X sucks" posts, how about writing about viable alternatives to X? A post about a quality replacement for Drupal would be much more interesting.
- patio11 17y agoHint, hint: you will not build a production quality CMS in a day or two, nor a month or two. Not with Rails, not with pixie dust. This is absolutely true. The core of my Rails site, prior to adding the web application, was essentially a gussied-up single-purpose CMS. It is not publicly accessible, supports one fairly easy editing workflow, doesn't have to worry about e.g. HTML input, would be very insecure if my freelancers were of a mind to destroy me, and very, very uncustomizable as compared to e.g. Wordpress or any site you could cobble together from Drupal plugins. Even with all that, the CMS portion of my site would take me probably about a week to build from scratch. There's just a lot more to it than the 15 minute build-a-blog video.
- albertsun 17y agoI think the post speaks much more generally to why CMS's suck in general. I've developed sites using Drupal and reviewed many many others when I was deciding what to use. Most of the weaknesses of Drupal are shared by all other CMS's. The author's alternative is to custom code a solution using Rails. (or some other framework) That way, you don't have to worry about all the cruft that goes into a CMS codebase to make it flexible and support everyone's needs. All that said, I still don't think Drupal sucks. It can definitely be frustrating to use and configure, but in a situation where you need to have laypeople or relative laypeople making changes to a site and its functionality, beyond merely adding and editing content, its the best option.
- mechanical_fish 17y agoThe author's alternative is to custom code a solution using Rails. (or some other framework) This reminds me of an old Steve Martin routine: "How can [you] be a millionaire... and never pay taxes? First.. get a million dollars." If you've got your hands on a developer who is capable of custom-coding your solution in Rails within your timeframe, and you can afford to pay them to do it, and to pay them to maintain and augment it, and to cajole them into writing extensive documentation (they have, after all, built a custom solution, so if you want to read the manual they have to write the manual), and to recruit and pay a series of equally-talented successors to replace them when they get bored, and to pay a security auditor to look for the custom-built security holes in their custom-built code -- then, yeah, you don't have a problem. It must be nice to be you. But when, as a Drupal consultant, I would suggest to my more... imaginative prospective clients that their proposed projects were outside Drupal's sweet spot and that they should instead look for a Rails developer, it tended to stun them into silence. It was like suggesting that they recruit and hire a brain surgeon. People are desperate to find halfway-competent Drupal developers -- and, though it does have a learning curve like the face of El Capitan, Drupal is much easier to pick up than Rails, unless you are already a Java developer. [1] Competent Rails developers are far harder to find. They're all too busy applying to YC, plotting to take over Java shops, or counting their profits. ;) [2] --- [1] To get started in Drupal, you don't necessarily need to know what "OO" means. You don't need to know what MVC means. You don't need to know what REST is. You don't need to know what "routing" means. You don't need to know what SQL is or write a single migration. You don't necessarily need to use the command line, or a text editor, or -- god help us -- a version control system. Drupal is written in PHP, but you don't necessarily need to know any PHP. Of course, to the extent that you don't know any of these things, you are going to hit the wall someday, perhaps painfully. But at least you won't find yourself staring at a blinking cursor on day one, wondering how to start your application. [2] And if you hire an incompetent Rails developer, you will find yourself wishing that you'd simply set a pile of dollar bills on fire.
- tybris 17y agoYou can make a production quality CMS in a few days as long as it is specialized. Genericity is the productivity killer. I spent some time revamping my website last weekend after having done no web development for about 4 years. I roughly split up my time like this: -2 hours to build a proxy to S3 in GAE (Custom) -2 hours to set-up a pure-Java PHP implementation on my GAE proxy (OSS) -3 hours to set-up a WebDAV interface to S3 in GAE (OSS) -4 hours to create XSLT templates and build them automatically (Custom) I use NetDrive to connect to S3, and Kompozer to edit the content. Highly scalable, nearly free website with a perfectly good CMS and no need to make back-ups. Updating the software or adding services is as simple as typing my password in Eclipse. (by the way, everything in Java) Over the years I've found web developers are not the smartest types.
- smanek 17y agoI don't think CMS means what you think it means ... You have to manually edit files and code to do things. And that's fine - that's how my website is run too. But that isn't a CMS. A CMS provides a pretty interface for everything content managers need to do. It allows non-technical people to publish, edit, and collaborate. It has a publishing system so modifications can be approved before being pushed live (which in turn implies an access control system).
- tybris 17y agoI don't edit the pages directly. I edit the content using Kompozer (wysiwyg web authoring) and that gets automatically transformed into a website.