What are Essential Drupal Modules?

Bensbury - September 3, 2008 - 05:26

I know the modules you use should depend on what you want to achieve, but unless you 'really' know what they can do you can't really make that choice.

(eg. I understand that views is super powerful, but as I haven't used it much I really don't understand exactly how powerful and it possibly can do the things that I would go and find another module to try and do).

Also I know everyone has their favourite modules.

However what are an 'essential modules pack' for starting a new site?

I see CCK and Views mentioned all the time so I guess those 2 would make every pack.

The site I have in mind is multilingual, involves different types of users/profiles, has a nice interface to display content, tabbing and dropdown menus and can display flash content.

Could any Dru-pros suggest some essential solid modules for a new guy to learn and build a powerful site from?

Thanks,
Ben.

hm

dman - September 3, 2008 - 06:25

Without you explaining what you are planning, there is absolutely no short answer to a question like that.
The 'essentials' are in core (and even half of them I'm not convinced of)
There's a few good blog posts with recommendations - all of which are of course opinions.
But the only place you can start right now is Drupal site recipes which lists a bunch of requirements + solutions for various needs. They should at least give you a feel for choosing modules. See also the Drupal case studies for really advanced builds.

If you can ask questions like "How can I make my pages behave 'tabbed'" and you've already done a bit of research, then quick answers can be forthcoming. Please do.
But a question like "how do I make a custom site?" is not going to work

.dan.
if you are asking a question you think should be documented, please provide a link to the handbook where you think the answer should be found.
| http://www.coders.co.nz/ |

The recommendations are good

Bensbury - September 3, 2008 - 08:28

The recommendations are good to see, as are the site recipes. Thanks.

I've looked at some of the case studies too.

I continually see people always include CCK and Views.
There are few other modules on drupalmodules.com that people say they can't live without.

So it seems to me that there are a certain set of modules that the majority continually include outside the core and not as specific useage.

It's akin to someone asking what they need to build a website:

I could say use notepad and the Flex sdk for flash content and a paint package.

However I would use notepad, illustrator, photoshop, dreamweaver, flash and drupal of course :P
For specific things there are a ton of other apps a person could recommend and also everyone has their personal choice.

So I am pretty sure there are a set of modules that the Drupro nearly always use.
Views, CCK and Panels spring to mind.

If you'd like me to form questions I would as follows:

How can I add flash to drupal?
How can I display selected users profiles?
How can I make different types of user profiles? (ie. teacher/student - different information)
How can I have tabbed blocks of information?

How to make different types of user profiles?

dman - September 3, 2008 - 09:26

When I searched the available modules I found
dozens of helpers for user management and customization, so it was a bit hard to choose exactly which one fit my requirements.

However, after actually installing Drupal 6, I found that the built-in core 'profile' module shown on the admin/modules screen actually solved most of my problems out of the box.
BUT, I want to add a special , required field called 'homeroom' that only is available to users of class 'student' and the homeroom must always be of the form [alpha][number][number].
Should this be done with profile extended or something similar? - the links there seemed to be dead.
And will I need to use something like profile enforcer be needed? I read the README.txt that came with it but I'm not clear how it interacts with other things.

Or is there a better approach that might help? Is 'tagging' users possible?

---------------------------------
Posts like this should be in their own thread - with a nice title. Possibly as a 'support request' issue against the appropriate module queue if possible.

.dan.
if you are asking a question you think should be documented, please provide a link to the handbook where you think the answer should be found.
| http://www.coders.co.nz/ |

Everything dman said is 100%

WorldFallz - September 3, 2008 - 15:07

Everything dman said is 100% right on the money (he usually is, lol). Being one of the people who spend a great deal of time in the forums providing assistance, I can tell you first hand i usually skip over the "how do i build x type of website" questions-- it's just far too time consuming and usually demonstrates a lack of effort on the part of the original poster to do some homework prior to posting questions. I can probably answer 5-10 targeted specific requests for help in the time it would take me to answer just one of those-- and we get tons of 'em.

That said however, you do appear to have done some homework so I'll respond your post.

My base "toolbox" is easy for me to answer-- i have a bash script that installs some things automatically from cvs for me. In that script I install:

admin_menu
views
cck
imagefield
filefield
viewfield
computedfield
imagecache
devel
coder
cache_disable
jquery_update
cvs_deploy
drush (new addition to my script)
update_status (d5 only, it's core in d6)
pathauto
token
bueditor
print
custom (shell of a custom module i always add for site specific code)

Then, as a second tier, depending on the type of site i may also use:
contemplate
panels
nodequeue
quicktabs
views_bonus (mostly for the grid view which is core views2 in d6)
nodewords
lightbox2
actions (d5 only, core in d6)
triggerunlock
workflow/rules (workflow_ng)
bio (for d5, in d6 it's going to be content_profile)
content_access
advanced_profile
advanced_forum
captcha/captcha_pack

And occasionally, other modules may be added or substituted as necessary. Also, once the site is "finished" (as if they ever really are, lol) i remove devel, coder, & cache_disable and anything else from the toolbox that may not have been necessary.

Now for your specific questions:

How can I add flash to drupal?

not an easy question-- searching drupalmodules and/or d.o for "flash" should lead you to most of the flash modules. I tried them all at one time or another and found them all lacking in way or another or simply overkill. I did it manually by creating a content type for flash, using an imagefield to hold the screencap (for use in views), using a filefield to upload and store the flash file, then theming the content type to embed the flowplayer flash player on node view.

How can I display selected users profiles?

This is a more complicated item. It depends on how you implemented profiles. You can do some things with the core profile and views modules (in d5 it's very limited for listings of users related to their nodes). Otherwise you'll need to use one of the user profiles as nodes modules to take full advantage of views for user profiles.

How can I make different types of user profiles? (ie. teacher/student - different information)

Definitely need a user profiles as nodes option for this. See http://socnet.shellmultimedia.com for some great info and tutorials on this topic.

How can I have tabbed blocks of information?

There are several tabs modules available. I like the quicktabs module, but there are many others to choose from-- try them out and see what works best for you.

One thing I've noticed it takes newbies some time to grasp is that with drupal there is often no 1 right answer. Drupal is more of a framework than it is a cms, and as such there is almost always multiple paths to the same goal. Posters to the forums tend to get frustrated when they ask seemingly (to them) simple questions and "can't get a straight answer"-- that's because there is no 1 answer and it will often times depend on the specifics of what has been done, is being done, and the subtleties of the use case (most of which newbies never include in their posts and seem annoyed when asked to do so).

===
"Give a man a fish and you feed him for a day.
Teach a man to fish and you feed him for a lifetime."
-- Lao Tzu
"God helps those who help themselves." -- Benjamin Franklin
"Search is your best friend." -- Worldfallz

Thanks for the list. That's

Bensbury - September 4, 2008 - 05:38

Thanks for the list.
That's really helpful!
It gives me an idea of what people are using who know what they are doing.

I'm going to check out those mods from your list (I have a few of them already from looking at showcases and seeing what most people include).

The thing for us noobs (and that's only new to Drupal. I'm a Flash developer) is that there are many modules and quite a few do the same thing or can do both.
However you don't know if they are any good.

It's the same when choosing a platform: I looked at drupal, mambo, joomla, phpCake, dolphin etc as possible platforms to start building on and after researching am plumbing for drupal.

Now I'm trying to find out how Drupal can do what I want, or is it going to be super difficult.
The Flash thing is a bit disconcerting. I got excited by the Druplash stuff but then realised I had no idea what they were talking about and thought it better to return when I understood drupal more.

I think people are aware that there is no one correct way to do it but they are looking for a good way to do it over a bad way to do it.
Generally once you have made your choice and started down the road it becomes hard to turn back, slash and burn and rebuild it using a different method.

I think I'll use a real nerdy analogy but it's not dissimilar to when people post character builds for online rpgs. They vary later on but generally the base skills and abilities people go for are the same because they have figured out what works. And some of the skills and abilities look nice but actually are useless or trouble so they are also avoided.

I think module hunting is similar.

...there are many modules

WorldFallz - September 4, 2008 - 14:08

...there are many modules and quite a few do the same thing or can do both.
However you don't know if they are any good.

This is true and a known problem. It's being worked on even now, but i'm optimistic it will see a huge improvement as part of the d.o. redesign that's going on. In the meantime, there's drupalmodules.com which helps alot. Also, when evaluating modules I take a good long look at the issue queue-- is there activity? Do issues get responded to? Are posted patches evaluated and handled in a timely manner? Is the current maintainer an active community member? Are there fairly recent releases? If it looks like the module is stale, but i need the functionality and there is no alternative, i'll have a look at the code and decide if it's something i will be able to update as drupal progresses. I've already done this for a couple of little one-off modules and then posted the patches to the issues queue.

I too looked at all the available options-- i had even built a full site with joomla before really grabbing onto to drupal. Having worked with drupal for the last year, I have no doubt i made the right decision. Every os cms will have it's growing pains, strength's, and weaknesses. The single most decisive factor for me was the drupal community. EVERYONE can participate-- regardless of level of expertise-- and many do. In general, there's a SINGLE place to go for support or advice for drupal itself as well as each module and even if the maintainer's participation may be spotty, someone else who uses the module will usually help out. If you solve a problem with the module you can be pretty confident your fix will make it into the next release-- benefiting both you and the community at large. you don't feel like a 2nd class citizen if you're not a professional "developer"-- all contributions are judged on their merit not your job history. And you don't have to feel used because the code or documentation you contribute for free is used by someone else to make money (the drupal economy is based mostly upon services).

There is a learning curve- no question. And media handling is an issue. But IMO when you consider the entire picture, there's no question drupal comes out head and shoulders above the rest.

===
"Give a man a fish and you feed him for a day.
Teach a man to fish and you feed him for a lifetime."
-- Lao Tzu
"God helps those who help themselves." -- Benjamin Franklin
"Search is your best friend." -- Worldfallz

 
 

Drupal is a registered trademark of Dries Buytaert.