Which CMS for building a social networking website?
January 15, 2012 4:37 PM
I've been brought onboard by a startup company to fix up their social networking website, which was built for them in Joomla and is a complete glitch-filled mess, both front and back end. After upgrading to the latest Joomla version, the site has more or less broken (does not function at all at the front end). Should I attempt to patch up and rebuild this mess in Joomla, or start over with a better choice of CMS?
This website needs to be able to take payments for subscriptions and manage them, have social networking features, as well as articles and multimedia content (some for public viewing, others only for paid members.) I have experience designing sites with html, css, with some light PHP, but have not developed in a CMS before. I'll likely need to be doing some customization on whatever template I use, as this site needs to be attractive and professional looking.
With that in mind, and considering that my client is anxious about getting the site going again soon (but understands that starting over may be neccessary), which CMS would be my best bet? Drupal? Wordpress? Stick with Joomla but start from scratch? Something else?
This website needs to be able to take payments for subscriptions and manage them, have social networking features, as well as articles and multimedia content (some for public viewing, others only for paid members.) I have experience designing sites with html, css, with some light PHP, but have not developed in a CMS before. I'll likely need to be doing some customization on whatever template I use, as this site needs to be attractive and professional looking.
With that in mind, and considering that my client is anxious about getting the site going again soon (but understands that starting over may be neccessary), which CMS would be my best bet? Drupal? Wordpress? Stick with Joomla but start from scratch? Something else?
Dump Joomla, it's a shitpile. I'd go for WordPress with the amazing Gravity Forms plugin on the Developer License - it will manage your accounts, subscriptions, payments etc. And there are a million great looking WP themes at Theme Forest. (Pro tip: sort by Best Rated for the ones that are also best coded.)
posted by DarlingBri at 5:02 PM on January 15, 2012
posted by DarlingBri at 5:02 PM on January 15, 2012
If you have the time and resources (which is a SERIOUS variable), I'd definitely consider getting rid of Joomla. Wordpress would almost certainly better.
I've heard good things about Drupal, with the exception of doing advanced things with Drupal modules can be a horrible experience. It sounds like you won't need to be *too* advanced, so Drupal might be a good choice.
Unless you don't have the time or money, in which case you should probably just beat your Joomla instance into submission with horrible hacks.
posted by davezor at 5:33 PM on January 15, 2012
I've heard good things about Drupal, with the exception of doing advanced things with Drupal modules can be a horrible experience. It sounds like you won't need to be *too* advanced, so Drupal might be a good choice.
Unless you don't have the time or money, in which case you should probably just beat your Joomla instance into submission with horrible hacks.
posted by davezor at 5:33 PM on January 15, 2012
"considering that my client is anxious about getting the site going again soon (but understands that starting over may be neccessary" So, first roll back to the version of Joomla which works! (It is all under revision control, I hope).
Joel says to never rewrite from scratch.
posted by at at 9:55 PM on January 15, 2012
Joel says to never rewrite from scratch.
posted by at at 9:55 PM on January 15, 2012
I've been doing Joomla sites for four or five years, running and helping maintain WordPress sites for a bit longer than that, and I've been working for a Drupal-based publisher for eight months now.
What version of Joomla did you upgrade from and to what version did you upgrade? It's hard to offer much insight into the problems you're having right now without knowing that, because an upgrade from Joomla 1.0.x or 1.5.x to Joomla 1.7 will be much more fraught than an upgrade from 1.6.x to 1.7. In particular, extension upgrades become more of an issue when jumping major versions.
Anyhow, speaking as someone who's had to maintain all three of WP, Joomla and Drupal, it's not possible to tell anyone else what to use without looking at what they're trying to do in more detail, but these days I'm imagining fewer and fewer scenarios where I'd pick Joomla over either WordPress or Drupal.
For someone who could get by on WordPress, Joomla's too heavy and too baroque for simple management. I've got a client for whom I'm migrating Joomla 1.5 sites to WordPress, and I'm impressed with how far WP has come since I ruled it out in favor of Joomla several years ago. It looks like he'll be getting a good balance of features and self-maintainability I couldn't give him with Joomla 1.5.
For someone who could use a full, enterprise-grade CMS, Drupal has a more substantive developer community around it than Joomla. Since you're not an advanced PHP developer, it will matter to you that Drupal's contributed module pages are superior to those on Joomla's extensions site. Drupal's contributed module pages let you file tickets and read up on past issues, while Joomla's extensions site has a lot of sub-literate user reviews and makes no effort at issue tracking: That happens on the developer's site and it's usually not a very good experience because those individual sites are effectively cut off from the broader community.
posted by mph at 11:52 PM on January 15, 2012
What version of Joomla did you upgrade from and to what version did you upgrade? It's hard to offer much insight into the problems you're having right now without knowing that, because an upgrade from Joomla 1.0.x or 1.5.x to Joomla 1.7 will be much more fraught than an upgrade from 1.6.x to 1.7. In particular, extension upgrades become more of an issue when jumping major versions.
Anyhow, speaking as someone who's had to maintain all three of WP, Joomla and Drupal, it's not possible to tell anyone else what to use without looking at what they're trying to do in more detail, but these days I'm imagining fewer and fewer scenarios where I'd pick Joomla over either WordPress or Drupal.
For someone who could get by on WordPress, Joomla's too heavy and too baroque for simple management. I've got a client for whom I'm migrating Joomla 1.5 sites to WordPress, and I'm impressed with how far WP has come since I ruled it out in favor of Joomla several years ago. It looks like he'll be getting a good balance of features and self-maintainability I couldn't give him with Joomla 1.5.
For someone who could use a full, enterprise-grade CMS, Drupal has a more substantive developer community around it than Joomla. Since you're not an advanced PHP developer, it will matter to you that Drupal's contributed module pages are superior to those on Joomla's extensions site. Drupal's contributed module pages let you file tickets and read up on past issues, while Joomla's extensions site has a lot of sub-literate user reviews and makes no effort at issue tracking: That happens on the developer's site and it's usually not a very good experience because those individual sites are effectively cut off from the broader community.
posted by mph at 11:52 PM on January 15, 2012
Thank you for the advice so far!
Time and money are both fairly limited... I expect that I'll be able to get a few weeks at the most, and they'll be willing to put in at least a modest amount of money if it means getting a good, solid site up and running (so hopefully enough to purchase the proper extensions/plugins, anyway.)
Sticking with Joomla is sounding like a distance third choice, then, with the only reason to stick with it being the time and money that are already sunk costs.... The upgrade I made (the straw that broke the camel's back) was from 1.6.3 to 1.7.3, and it seems that the collapse of the frontend could be from the template no longer being compatible... but the site is so bloated with extra (unused?) extensions/components (there are even multiple extensions for the same function in some cases, inexplicably) and templates, that it's tricky to back-track what on earth is going on. The old developer is out of the picture, so I'm out of luck for explanations.
Wordpress is definitely coming out as a front-runner so far, as long as it's able to handle all the features that are needed, and that it's solid enough to grow with this website (I suppose I'm still understanding Wordpress as a primarily blogging platform, and hoping it's not too lightweight for a multi-faceted site.)
Drupal is also sounding like a good option, although of the three I know least about it. In terms of needing to learn this rapidly and get it implemented, I'm wondering about what level of complexity and customization of coding will be involved in Drupal.
doing advanced things with Drupal modules can be a horrible experience.
I must admit, this sounds a bit chilling.
posted by Yiggs at 1:51 AM on January 16, 2012
Time and money are both fairly limited... I expect that I'll be able to get a few weeks at the most, and they'll be willing to put in at least a modest amount of money if it means getting a good, solid site up and running (so hopefully enough to purchase the proper extensions/plugins, anyway.)
Sticking with Joomla is sounding like a distance third choice, then, with the only reason to stick with it being the time and money that are already sunk costs.... The upgrade I made (the straw that broke the camel's back) was from 1.6.3 to 1.7.3, and it seems that the collapse of the frontend could be from the template no longer being compatible... but the site is so bloated with extra (unused?) extensions/components (there are even multiple extensions for the same function in some cases, inexplicably) and templates, that it's tricky to back-track what on earth is going on. The old developer is out of the picture, so I'm out of luck for explanations.
Wordpress is definitely coming out as a front-runner so far, as long as it's able to handle all the features that are needed, and that it's solid enough to grow with this website (I suppose I'm still understanding Wordpress as a primarily blogging platform, and hoping it's not too lightweight for a multi-faceted site.)
Drupal is also sounding like a good option, although of the three I know least about it. In terms of needing to learn this rapidly and get it implemented, I'm wondering about what level of complexity and customization of coding will be involved in Drupal.
doing advanced things with Drupal modules can be a horrible experience.
I must admit, this sounds a bit chilling.
posted by Yiggs at 1:51 AM on January 16, 2012
The problem with some of the above answers is that people will always, always recommend that you rebuild the site using their favorite CMS. It's like asking, "What language should I program it in?" or "Should I use Mac or PC?"
If you can do it in Wordpress, then Drupal is more than you need. But personally, I like Drupal for anything involving granular user controls (which you may not need) and multiple site types, like having a blog+static site+forum.
But if you've never used Drupal, it'll take you some time to get up to speed on how to effectively use/create various content types and modules. So try to use Wordpress if you can.
posted by coolguymichael at 9:29 AM on January 16, 2012
If you can do it in Wordpress, then Drupal is more than you need. But personally, I like Drupal for anything involving granular user controls (which you may not need) and multiple site types, like having a blog+static site+forum.
But if you've never used Drupal, it'll take you some time to get up to speed on how to effectively use/create various content types and modules. So try to use Wordpress if you can.
posted by coolguymichael at 9:29 AM on January 16, 2012
... the site is so bloated with extra (unused?) extensions/components (there are even multiple extensions for the same function in some cases, inexplicably) and templates, that it's tricky to back-track what on earth is going on ...
That's a problem. The Joomla Vulnerable Extensions List ought to give you an idea of what you're up against there. I know of one case where extension developers on that list made compromised modules available for download, then didn't bother telling anybody that the updates they were releasing or (worse) making available for download as the same version had ever been cracked. That, by the way, is one of the side effects of extension support being handled outside of the project: I don't think that sort of rank amateurism would last long in the Drupal community.
... doing advanced things with Drupal modules can be a horrible experience.
I'm not much of a PHP developer, either: I'm most familiar with Ruby on Rails. My biggest headaches with Drupal over the past eight months have been less about establishing functionality and more about maintaining performance. Our sites have hit tipping points twice since I came onboard. We have a support contract with Acquia, which has been indispensable both times.
But for basic social features like "so-and-so is following this person" or "so-and-so liked this comment" or "users of role so-and-so are authorized to see this content," everything has come out of the box from decently supported contributed modules.
One thing I would warn you about, in terms of Drupal:
It has become very, very trendy among a certain subset of professional tech writers over the past few years and there are a lot of facile tutorials out there that tell you how to get to "hello world" in Drupal over the course of two or three thousand-word articles. Those people are crazy. I know and love some of those very same people because I used to work in tech publishing myself, but I know for a fact that they have not had to live with a Drupal installation slapped together in a weekend and I know they have no clear idea how much sweat goes into everything after "hello world."
With Drupal, you have to be ready to do your homework, you have to be ready to step in and optimize your database, and you'll eventually need to know enough PHP to take a given module that one extra step its developer hasn't gotten around to yet. There is no he-man romance in dealing with that stuff. It gets frustrating, because even though the Drupal community is head-and-shoulders above the Joomla community it is still an open source community: There's less emphasis on documentation than there is itch-scratching, and Drupal is a more permissive culture when it comes to expecting you to do that last-yard stuff.
Considering what your clients had before and the poor state of affairs you found things in, it really sounds like WordPress should be the first avenue you explore.
posted by mph at 9:39 AM on January 16, 2012
That's a problem. The Joomla Vulnerable Extensions List ought to give you an idea of what you're up against there. I know of one case where extension developers on that list made compromised modules available for download, then didn't bother telling anybody that the updates they were releasing or (worse) making available for download as the same version had ever been cracked. That, by the way, is one of the side effects of extension support being handled outside of the project: I don't think that sort of rank amateurism would last long in the Drupal community.
... doing advanced things with Drupal modules can be a horrible experience.
I'm not much of a PHP developer, either: I'm most familiar with Ruby on Rails. My biggest headaches with Drupal over the past eight months have been less about establishing functionality and more about maintaining performance. Our sites have hit tipping points twice since I came onboard. We have a support contract with Acquia, which has been indispensable both times.
But for basic social features like "so-and-so is following this person" or "so-and-so liked this comment" or "users of role so-and-so are authorized to see this content," everything has come out of the box from decently supported contributed modules.
One thing I would warn you about, in terms of Drupal:
It has become very, very trendy among a certain subset of professional tech writers over the past few years and there are a lot of facile tutorials out there that tell you how to get to "hello world" in Drupal over the course of two or three thousand-word articles. Those people are crazy. I know and love some of those very same people because I used to work in tech publishing myself, but I know for a fact that they have not had to live with a Drupal installation slapped together in a weekend and I know they have no clear idea how much sweat goes into everything after "hello world."
With Drupal, you have to be ready to do your homework, you have to be ready to step in and optimize your database, and you'll eventually need to know enough PHP to take a given module that one extra step its developer hasn't gotten around to yet. There is no he-man romance in dealing with that stuff. It gets frustrating, because even though the Drupal community is head-and-shoulders above the Joomla community it is still an open source community: There's less emphasis on documentation than there is itch-scratching, and Drupal is a more permissive culture when it comes to expecting you to do that last-yard stuff.
Considering what your clients had before and the poor state of affairs you found things in, it really sounds like WordPress should be the first avenue you explore.
posted by mph at 9:39 AM on January 16, 2012
I'm really hoping that my client will go ahead with the rebuilding idea... sorting through the Joomla Vulnerable Extensions List and examining all of the components for the issue really, really sounds like a nightmare. And since they are paying me by the hour (although I'm trying to figure how may of my hours can be reasonably billed as time working on their site, and how much should be considered my own time spent researching and skills upgrading) the cost of trouble-shooting and hacking the Joomla site back to life could get fairly expensive.
The time cost is also sounding like a con against Drupal... I like the idea of its flexibility and high level of customization, but the investment of time (and of time=money) required to get a solid, stable site up and running is probably too high for my client and I. This is not a full-time job (yet), and they are looking to get things up and running quickly. If it was a project with a bigger budget of time and money, however, I would be probably going straight to Drupal.
And so turning to Wordpress, so clearly the fastest, most approachable option. I'm going to do some heavy exploring of it's options, and hopefully it will have enough capabilities to meet my client's needs.
Would it be a reasonable idea to build the best site for now in Wordpress, get things going, and then if the site starts needing more than that platform can offer (say in a year or two), to move over to a Drupal-based site? Or is transferring over a social network with everyone's data intact something of a hellish proposition?
posted by Yiggs at 12:07 PM on January 16, 2012
The time cost is also sounding like a con against Drupal... I like the idea of its flexibility and high level of customization, but the investment of time (and of time=money) required to get a solid, stable site up and running is probably too high for my client and I. This is not a full-time job (yet), and they are looking to get things up and running quickly. If it was a project with a bigger budget of time and money, however, I would be probably going straight to Drupal.
And so turning to Wordpress, so clearly the fastest, most approachable option. I'm going to do some heavy exploring of it's options, and hopefully it will have enough capabilities to meet my client's needs.
Would it be a reasonable idea to build the best site for now in Wordpress, get things going, and then if the site starts needing more than that platform can offer (say in a year or two), to move over to a Drupal-based site? Or is transferring over a social network with everyone's data intact something of a hellish proposition?
posted by Yiggs at 12:07 PM on January 16, 2012
Would it be a reasonable idea to build the best site for now in Wordpress, get things going, and then if the site starts needing more than that platform can offer (say in a year or two), to move over to a Drupal-based site? Or is transferring over a social network with everyone's data intact something of a hellish proposition?
That's going to be hard because the underlying data structures will be heavily inflected by their parent platform and further inflected by the decisions of the person who designed the add-on driving them. I'd be surprised if most migration scripts you can find will be able to deal with a specialized third-party module and its data. You'll end up doing some stuff by hand, and you'll want to be very comfortable with a scripting language that can adequately hook up to each backend and broker between the two databases. The nice thing about Drupal is that it's very flexible, so if your WordPress solution has user fields that aren't in stock Drupal, you should be able to add them with something like CCK.
My Drupal sites were brought over from a legacy platform before my time, and I still live with the consequences of that kind of migration: A lot of little bits didn't come over quite right, for instance. That'd be a pain to debug in a clean Drupal install, but I always have this nagging suspicion that the migration wasn't done very well, and it's another layer of complexity and questions whenever something goes wrong with migration-era data.
I've done migrations myself (out of legacy CMSses and into Joomla or WordPress), but never beyond basic content and comments, and that's usually pretty simple (I use Ruby and ActiveRecord to write a simple broker script to convert individual article/post objects). The pain points have been after migration: You probably want to preserve your URL structure, so if you're writing scripts to migrate you need to be thinking about either writing supplemental scripts to author your redirects or getting the receiving CMS to mirror the existing URL structure. You also have to untangle the differences in simple things like "where do the files live now?" Drupal does a strange mix of actual image files plus ImageCache, which programatically creates and/or caches stuff like "80x80 thumbnail of user headshot." Some of that lives in the database, some of it lives in the filesystem. Just an example of what you can run into.
posted by mph at 12:38 PM on January 16, 2012
That's going to be hard because the underlying data structures will be heavily inflected by their parent platform and further inflected by the decisions of the person who designed the add-on driving them. I'd be surprised if most migration scripts you can find will be able to deal with a specialized third-party module and its data. You'll end up doing some stuff by hand, and you'll want to be very comfortable with a scripting language that can adequately hook up to each backend and broker between the two databases. The nice thing about Drupal is that it's very flexible, so if your WordPress solution has user fields that aren't in stock Drupal, you should be able to add them with something like CCK.
My Drupal sites were brought over from a legacy platform before my time, and I still live with the consequences of that kind of migration: A lot of little bits didn't come over quite right, for instance. That'd be a pain to debug in a clean Drupal install, but I always have this nagging suspicion that the migration wasn't done very well, and it's another layer of complexity and questions whenever something goes wrong with migration-era data.
I've done migrations myself (out of legacy CMSses and into Joomla or WordPress), but never beyond basic content and comments, and that's usually pretty simple (I use Ruby and ActiveRecord to write a simple broker script to convert individual article/post objects). The pain points have been after migration: You probably want to preserve your URL structure, so if you're writing scripts to migrate you need to be thinking about either writing supplemental scripts to author your redirects or getting the receiving CMS to mirror the existing URL structure. You also have to untangle the differences in simple things like "where do the files live now?" Drupal does a strange mix of actual image files plus ImageCache, which programatically creates and/or caches stuff like "80x80 thumbnail of user headshot." Some of that lives in the database, some of it lives in the filesystem. Just an example of what you can run into.
posted by mph at 12:38 PM on January 16, 2012
This thread is closed to new comments.
This is a classic "spend now and save later" (start over) vs "save now and pay for it over time" (try and hack the current setup into a semi functional state) kind of decision.
posted by Riemann at 4:46 PM on January 15, 2012