Drupal vs Joomla questions

public
saulius@dwebsite.com - Fri, 2008-05-30 11:56

Hi All,

in the company where I work we tried to use Joomla for our portals/websites, but we
quickly stuck with Joomla and mainly because it's a single website product and
anything multi-sites related cannot be implemented there easily. So, now we are
considering Drupal as a possible alternative.

I'm not familiar with Drupal so, I would really appreciate if could give me some
answer. Okay, these are my questions:

  1. When we have multiple websites single Drupal code based, how is this organized?
    Is the code kept in single directories and other websites just have the symlinks
    to the main code?

  2. If the above is correct - are there any customizations possible for any single
    website, like - one of the websites is made with custom design (custom set of
    templates), while all other websites use the same design (common templates)?

  3. How easy is to write custom plugins for Drupal? For example - we would like
    to convert our Perl-based Activity Scheduler (advanced calendar) to PHP
    Drupal plugin.

  4. How far can Drupal go with the portal structures? We have many portals, when
    the structure is -

Main Portal > Many Websites inside > Many Subsites inside of each Website.

Is this possible with Drupal?

  1. If such portal structure is possible with Drupal, what data is allowed to share
    among the portal websites (like we post the News on the portal website and this
    News item is promoted to the portal websites automatically), and what the whole
    portal data can be managed in single place (like users/passwords/permissions
    administration on single portal interface, not on multiple interfaces on each portal
    website).

  2. Finally (especially if something from above is impossible) how easy is Drupal
    engine expandable? Can the engine be expanded to have any new features that
    we need, or maybe this has to be done only as new additional plugins?

Sorry for the long message. I hope my answers are easy and quick to answer.

Thanks in advance, Saul

yes

rjdempsey's picture
rjdempsey - Fri, 2008-05-30 17:24

The answer to all your "can Drupal do this?" questions is yes.

In a Drupal Multi-site you have have multiple sites on one install. That also means many sites can share one folder that contains all plugins (we call them modules) and themes as well. Technically the files can physically reside anywhere you want with the use of symlinks, but there are some best practices regarding this that you should look into first.

I've used Joomla! as well. I find it's admin UI out of the box is easier to grok, not to mention prettier than Drupal's. But from a Developers standpoint, I find Drupal easier to extend through it's cleaner code and hook system.

I personally now use Drupal for almost everything because I know it well. I don't have anymore use for Joomla! though it's still a great project. If any of these things come in to play, Drupal is simply the way to go - Granular Taxonomy, Multi-Sites and User Communities/Groups.

Regarding your last question the answer is a hesitant yes. The engine (we call it the 'core') is easily expandable. BUT DON"T DO IT! There is no reason to. Best practice is to over ride or extend core functions with modules. You'll never have to hack core. This is best practice numero uno in Drupal. If you hack core, you'll have problems updating and upgrading your Drupal install in the future and probably wipe out all you hacks when doing so. If after all that you still feel you have a legitimate reason to hack Drupal (you found a bug or something), submit it as a patch.

I don't think I answered all your questions, but I'm sure other's will chime in.

Ryan, your friend from Vancouver, Canada


When we have multiple

robertDouglass's picture
robertDouglass - Sat, 2008-05-31 07:53

When we have multiple websites single Drupal code based, how is this organized?
Is the code kept in single directories and other websites just have the symlinks
to the main code?

Drupal uses canonical name matching. It takes the canonical name from the server and finds the best matching folder in the $drupal_home/sites folder. If it can't match any it falls back to sites/default. In whatever folder it finds, there is a a sites/settings.php file that contains the database connection and other configuration for that site. It is very flexible, and you can set it up to match at different levels of granularity. For example, if you have sites sub1.example.com, sub2.example.com, and sub3.example.com, and the following sites structure:

$drupal_home/sites/example.com/
$drupal_home/sites/sub3.example.com/

sub1.example.com and sub2.example.com will use the example.com folder whereas sub3.example.com will use the sub3.example.com folder.

If the above is correct - are there any customizations possible for any single
website, like - one of the websites is made with custom design (custom set of
templates), while all other websites use the same design (common templates)?

Customizations are done in modules and themes (depending if it is functionality or design). Any modules or themes that are kept in the site specific folders mentioned above only affect that particular site. So yes, even in a multisite environment, it is possible for each site to run its own version of a module or a theme.

How easy is to write custom plugins for Drupal? For example - we would like
to convert our Perl-based Activity Scheduler (advanced calendar) to PHP
Drupal plugin.

Aside from the fact that calendars are never easy, Drupal modules are very straightforward. All of the lifecycle events in a page request are represented by hooks. Hooks get called based on naming convention. For example, when a user logs in, hook_user gets called. The naming convention says that if your module is foobar, the foobar_user function will get called too. Thus it is a matter of learning what hooks to implement and naming the functions the right way. Then you can interact with and alter, modify or extend anything Drupal does.

I'd look at the Views, Date and Calendar modules before you try to re-implement your perl script, though. There might be a lot of overlap.

How far can Drupal go with the portal structures? We have many portals, when
the structure is -
Main Portal > Many Websites inside > Many Subsites inside of each Website.
Is this possible with Drupal?

There are many ways to do this sort of thing. Would need to study it more before making a recommendation, but it is rare that something is not possible. Most likely someone has done it before and one or two of the 2,000 contributed modules will help.

If such portal structure is possible with Drupal, what data is allowed to share
among the portal websites (like we post the News on the portal website and this
News item is promoted to the portal websites automatically), and what the whole
portal data can be managed in single place (like users/passwords/permissions
administration on single portal interface, not on multiple interfaces on each portal
website).

There are solutions like database table sharing between websites, or aggregation, publish/subscribe, that can help share content between sites. There are also tricks where it just looks and feels like all of these little sites, but is really one site presenting itself as a portal. More study is needed.

Finally (especially if something from above is impossible) how easy is Drupal
engine expandable? Can the engine be expanded to have any new features that
we need, or maybe this has to be done only as new additional plugins?

You can change anything. Several of the subsystems are completely pluggable, and every system (like forms and menu structures) are wide open to being altered without hacking core. That's why developers like Drupal. Start studying hook_menu, hook_menu_alter and hook_form_alter to get a feel of this.


RE: Drupal vs Joomla questions

saulius@dwebsite.com - Mon, 2008-06-02 05:43

Hi Ryan, Hi Robert,

thank you very much for your answers - they help a lot! I'm installing Drupal on my local server and will start analyzing it right away.

Best, Saul

RE: Drupal vs Joomla questions

saulius@dwebsite.com - Tue, 2008-06-03 10:34

After a day spent on Drupal I see that I will not be able to understand it (and start writing plugins) very quickly :-), so the most likely I will need to look for some Drupal experts to hire them :-).

Best, Saul

don't spend a day.

ianemv's picture
ianemv - Tue, 2008-06-10 05:18

It would be great if you spend more than a day studying Drupal. I also tried to use Joomla and it gives me no luck. Better use the best one. Though I'm not using Drupal anymore, I would highly recommend this CMS.

Currently using CakePhp framework.