Just looking for some informed opinions.

Last year I taught myself PHP, MySQL, and how to build sites using e107.

Initially I was very excited about e107. There seemed to be a very active user community with many contributors on a platform that had been around for a number of years. As time wore on, however, I began experiencing problems:

-The majority of people contributing to e107 were very much hobby-site oriented with some basic programming skills but very little experience with the practical, user-facing issues of web design and content management. I quickly realized that most people didn't understand PHP or e107 any better than I did.
-As a result, I found that much of e107 was built with very little consideration for things like basic web usability. Most of the plugins were written by 1 person and hacked together with very minimal testing. I found myself doing a lot of testing just to make sure they worked properly. I re-wrote or re-hacked portions just to get the basic look and feel that I desired.
-The platform and general framework of e107 was built on a house of cards. So many people had contributed to the project over the course of years that it was almost impossible to troubleshoot and maintain.

In the end, I found that e107 was organized and run by some dedicated and wonderful people but really designed for small, workgroup or hobbiest web sites and not built as a scalable, industrial grade CMS.

I'm on the cusp of starting a new project and considering options. The obvious solution for me is to forgo the open source community completely and build something custom from scratch, but before I make that decision I'm exploring options such as Drupal and Mediawiki.

Can anyone provide me with some informed perspective? Will my experience with Drupal be different? What are the real long-term challenges in working with Drupal? Does the basic platform have the design elegance you would expect from an enterprise software tool? Are there professional, experienced programmers contributing to it?

Thanks in advance...

Comments

VM’s picture

This will help answer some of your questions. ... http://drupal.org/History-mission-and-community

Clarendon’s picture

Thanks. I did read those comments previously. It also sounds like the same message I saw when initially investigating e107.

My point is that it is really difficult to understand the limits of these type of open source applications until you are knee-deep into them. Then the real challenges and warts start to surface.

I don't want to repeat the mistakes of my past, so hopefully you'll forgive my initial skepticism.

Thanks again...

Bahattee’s picture

If there are professionals anywhere, it's definitely here at Drupal.

I see Drupal as the most serious, most secure and professional CMS around.

Its default install won't look as a very user friendly site but you can make it! The difference between other CMSs and Drupal is that default install is very basic ... so you have to add things you want, not remove things you don't want. For example: Smilies is one module, BBCode another module etc. :)

Security: very high level. You can even subscribe to security newsletter and you will see how fast fixes are coming ... like spam. :P

Code is very clean and easy to understand and hack.

Maybe if you didn't use Drupal ever in your life, think about taking a month or more to play with it. Because when you understand it, you can make a lot of things much smarter than in the beginning. In some time you will see that almost everything can be done just with taxonomy and nodes ... from forum to articles, news, blog and videos.

Good luck!

Clarendon’s picture

Quick question...

Do people refactor their code? In other words, is there a decision made to occasionally tear-down and rebuild for the sake of maintainability and scalability? Can anyone provide some examples.

Thanks so much for the info. This is helpful and I may just take your advice and start plugging away with it.

misty3’s picture

I think with version changes that thing DO happen, for example 4.6 and current 5, if downloaded and tested on local server [ takes less than a few minutes ] will give you that feel.

Personally I have been to e107, geeklog and drupal - I think this is the best !
There are some issues like log in problems with new drupal ( or 4.7 even ) and IE 7 ,over which there has been long posts - you can look at that. It may not be an issue to many, though. That apart I feel Drupal is the one which rocks.

The few things which some users like me miss are
1) an integrated gallery ( rather than a mod or third party integration ) like mediagallery.org which geeklog has
2) solution to some small weirdities like http://drupal.org/node/107201 if you are an OG module user
3) more dedicated answers from the core drupal team and better organisation of the forum data ( but then considering its free its actually sufficient )

If you are really geeky and any platform is comfortable to you , you may want to have a look at plone.org.
But then, at the end, Drupal is sufficiently robust, better integrated, better managable, adequately modular and modulated and to me Drupal rules !

bpocanada’s picture

Ideally refactoring would be great but considering the amount of contributions coming it, it is just a huge task and not possible. Look at the innovative modules that are out there and the contributions are just growing fast before anyone can catch up. It would be nice if everyone would try to find a closely needed module and enhance it rather than develop something new. Problem is also that many original module contributors don't respond to such enhancement requests or requests for others to take over maintenance. BTW this is a common issue in any Open Source Dev projects like Drupal.

What In my opinion is most important is , Drupal Core team is definitely trying to ensure that whatever changes has to be brought into core for maintainability, they are doing it as best as they can.

Go Drupal!

BTW - I speak for myself on this response because I just love Drupal - I'll never use Joomla again :-)
--
Roshan Shah
CEO & Chief Solutions Architect
BPO Canada Global Services Corporation, Canada
T : 604-630-4292
--
http://www.bpocanada.com : Skype : 'bpocanada' Yahoo IM : 'bpocanada'

chx’s picture

I am with the project for 2.5 years. In my time, I saw the node revision system and the form system rewritten basically from ground up. Now I am doing the same with the menu system. So if your measure is refactor, then yes, we do that.

Scalability? You mean the 400 000 or so users of mtv.uk? Or The Onion?
--
The news is Now Public | Drupal development: making the world better, one patch at a time. | A bedroom without a teddy is like a face without a smile.

--
Drupal development: making the world better, one patch at a time. | A bedroom without a teddy is like a face without a smile.

styro’s picture

Can anyone provide me with some informed perspective? Will my experience with Drupal be different? What are the real long-term challenges in working with Drupal? Does the basic platform have the design elegance you would expect from an enterprise software tool? Are there professional, experienced programmers contributing to it?

Elegance from an enterprise tool? I've never tried an 'enterprise' CMS, but other enterprise level tools tend to be the opposite of design elegance. Rather they seem to be big ugly piles of overly complex functionality designed to create an industry of overpaid consultants.

Drupal on the other hand is very elegant as far as PHP4 compatible applications go - that isn't saying much though ;)

The core Drupal devs really do care about good application design.

In my opinion Drupal is worth investigating properly - even if only for ideas you can steal to make your own CMS more flexible :)

--
Anton
New to Drupal? | Forum posting tips | Troubleshooting FAQ

webchick’s picture

It sounds like Drupal has a few aspects that may make your experience different from e107 (disclaimer: i have never used e107 myself, beyond installing it to evaluate its installer):

1. We endeavour to keep the "core" of Drupal, small, light, and cruft-free. Patches need to pass a very rigorous "sniff test" before they're allowed in, including conformance to the coding standards; we don't add new features willy-nilly.

2. Drupal's philosophy on backwards compatibility encourages constantly refactoring code to get it the best it can be.

3. Drupal is used by many high profile clients, who are constantly funneling in development resources for additional modules, performance enhancements, etc.

4. Drupal's architecture is extremely well-thought out and extensible; it's as much a content management "framework" as it is a content management system. Between the theme system, the translation system, and the hooks system, you should never need to modify any lines in core (if you do, you're probably doing something wrong ;)).

To make this balanced, here are some "cons":

1. (Subjective) Drupal is not written in object-oriented PHP. here's the reasoning behind that decision.
2. Drupal does not (yet) incorporate automated unit testing and relies on human testers. There are people actively interested in changing this, however.
3. Because of Drupal's backwards compatibility philosophy, if you're interested in staying current, you're in for an upgrade every 6-12 months. That said, many enterprise sites hold off upgrading every two releases instead, which is perfectly fine.
4.

Most of the plugins were written by 1 person and hacked together with very minimal testing.

You'll find some of that here too, and probably any open source project is the same. Testing yourself is always a good thing. :) That said, there are also contributed modules that are extremely excellent and greatly enhance the functionality of core (CCK, Views...).

Clarendon’s picture

Thanks a bunch everyone for the informative comments. I'll definitely keep Drupal in mind as an option as I explore more.