Moving from Pligg to Drigg: If Wishes Were Nickels
One very human trait I wish I could eliminate from my repertoire of many is the regret caused by choices made in the past. It’s so easy to look back and think “…if only…” but the time and energy wasted on such frivolity makes it harder to just correct the problems that exist based on your choice.
With that in mind, this post marks the end of my regret for choosing the terrible open-source software package called Pligg for the first iteration of GetScientific.
What Pligg is
If you’re not aware, Pligg is an open-source (meaning free to download and develop on) project that is used to create sites similar to Digg. It’s basically an over-complicated, buggy pile of code that was created for people who have a Digg-like idea and want to get it up and running without a lot of effort.
For this purpose, Pligg is… OK. The stock theme is clean enough, the installation is not too difficult, and it provides a massive amount of customization options. For the non-dev looking to play with an idea, it’s an easy way to get a prototype running and test the waters for your site.
Beyond that, there’s nothing else I can recommend it for.
What Pligg is not.
Pligg is not a good development platform. If your idea requires extending, customizing, or hard-coding features into Pligg, look elsewhere. You’ll spend a third of your time just unraveling the spaghetti of included files, another third correcting issues and improving code that’s already there, and most of the rest just getting the Smarty template to display what you strained to implement in the first place. That leaves a trace amount of time remaining for actually writing code for new features.
Pligg is not a project where you should expect to get support from the people who maintain it. Yes, there is a forum and yes, there are some very nice, smart people inhabiting that forum. The problem comes when no one can figure out the problem and it has to come back to the developers. Expect little to no help. Here are just a few forum replies from the developers that I found in a couple of minutes:
“Here is a simple tip for you, most would find this to be common sense.
When you are responding to a forum post that is over 2 years old, and no one else has replied to it?.
Chances are you are already running a version that includes this sort of thing, or it doesn’t work.”
“First of all you are completely incorrect..
Those are both 100% an iframe AS YOU ASKED FOR…See where I’m going with this wasting time thing? Cause now you forced me to come back here just to explain things you could have found out on your own but thought it was a better idea to chastise the people that were trying to help you. Also it doesn’t matter if you’ve been a member for 2 years or 2 days. you are still wrong.”
“No one charged you any money for Pligg.
No one can understand your issue because your posts consist of only a few words or fragmented sentences that make absolutely no sense. Your English is terrible and comes across as just gibberish. I’ve personally told you several times to write out your problem in your own language and let us attempt to translate it, yet you ignore those requests and continue to post these cryptic messages.”
To be fair, these are all from one person. To continue to be fair, I’m sure it’s frustrating to answer the same questions from people who want a lot of help and support for free. Still, why would anyone want to berate and belittle people day after day for free? The only way this project makes money is if
- they get custom coding gigs out of it (just guessing, not sure if they do that) or
- people buy their terribly over-priced and under-performing modules.
How does this approach help either one of those?
Finally, Pligg is not valid, does not perform well, and is not a good use of your time and energy. If you’re the type of person who can’t learn from other people mistakes, I whole-heartedly invite you to install it and start using it. You’ll see very soon why this project is an awful starting point and needs a complete overhaul if not total abandonment.
So what now?
So, what does this have to do with regret? Well, after many, many hours of trying to hammer Pligg into submission (and doing a fairly good job of it, if I say so myself), I found what we should have been using all along: Drigg.
Drigg is a set of modules that plug into the open-source Drupal framework to create Digg-type site where people can submit content to be rated. The module itself needs a bit of work but the main benefit is the underlying structure: Drupal. Drupal is a mature, secure, and performance-minded framework with a huge development community and many, many, many (many, many) additional plugins and modules, most of which are free.
To be clear, my endorsement is with Drupal right now, now the module itself. I still need to start changing a few things and I’ll give a full review later. Right now, however, I already the enormous benefits:
- The Drupal site is running much, much faster than the Pligg site and I haven’t done any additional permance enhancements.
- The themes in Drupal are very clean and quite easy to work with.
- The code base is smaller, commented, and far easier to understand.
- The documentation is disturbingly complete for an open-source project.
I could go on and on; there really is no comparison.
The future of GetScientific on Drigg
Because Drupal and the Drigg module are so bare-bones (it takes submitted content, stores it, and people can rate and comment on it), there will be a fair amount of additional features that need to be added. Though I see a lot of work ahead, the starting point is so much better and will require much less fixing and rigging down the line.
For now, we’re looking to get the site working how it was in Pligg: both links and content can be submitted, this content goes to a moderation queue for approval, the subcategories are listed in the sidebar, the links are sorted by rating rather than when they were submitted, and there are category and home landing pages where the link lists are a feature of the page rather than the purpose.
So, with that, I absolve myself of regret on this matter. Sure, this system was around last year when we started but we didn’t find it and that’s OK. I learned a lot about PHP and MySQL, I learned a lot about how to choose a framework, and I learned, once and for all, that Pligg should be used for nothing.
