Welcome to the Geeks & God Static Archive. Read more »

Drupal 6 Overview

5

You are missing some Flash content that should appear here! Perhaps your browser cannot display it, or maybe it did not initialize correctly.

After months of sitting on drupal 6 we're finally talking about it. There is a saying in drupal which describes the differences between versions. "The drop is always moving." When drupal goes from one major release to the next expect and enjoy significant changes.

We start off attempting to explain this philosophy and then dive into some of the new and exciting changes. If you're a module or theme developer this release is like a breath of fresh air compared to drupal 5. With each new release things get better and better. This new release has more new good stuff in it than we could begin to cover but we try to hit on some fun big points like the theming, new features in core (actions rule), performance improvements (like a mac each new release is faster on the same hardware), and more.

We finish it off with a little peak into what we might get in drupal 7, the version currently being developed by the drupal ninjas. So, come join us for another fun filled episode where we get dunked in a tank of drupal fun.

For some, it's not just the modules holding D6 back...

Thanks for the great overview of Drupal 6. I've had my eye on some of these issues, but you covered some areas I wasn't aware of.

I'm now looking forward to trying CSS-only theming. My earliest D5 themes started by simply copying the example in the documentation and applying styling to it. By doing more customization in template.php, the default page layout might prove to be a good starting point.

This may also tie in with the hosting episode, but in addition to waiting for modules to come out, I've been dealing with not always having PHP 5.2 available. This has already caused me complications using the latest versions of Image Cache and Date modules, and it's listed as a minimum requirement for Drupal 6.

To make matters worse, in a couple of these cases, I am the negligent hosting provider, since I maintain the servers in question, which are running slightly older versions of Fedora. Fedora has never been recommended for production use, and their rapid release cycle has become a bit of a management pain. (One of the reasons I'm migrating to Debian, but I digress.) To stay in the Red Hat world, a good option is CentOS, but the current version only has PHP 5.1.6, so what is one to do?

I'm hosting a couple of sites on mediatemple, and noticed that they're running PHP 5.2.5 on CentOS 5. I did a little research and found that they're using updated versions packaged by Atomic Rocket Turtle. This repository includes current PHP and MySQL packages for several older RH-based distros, and looks like a good solution when it's impractical to upgrade the whole server. They also have a commercial package for hardening Linux web servers, but I haven't tried it.

I'd also like to add a quick note about localization. I heard or read somewhere that not only can this be used to translate into different languages, but that it's also good when you want to rename any hard-coded text in your Drupal site. You can create a custom language translation, and use it to create rewrite strings for anything that's called using the t('translatable label') function in Drupal. (Whatever its real name is.) I'm guessing if Rob didn't know about this one, he'll love it, since he likes to change the way everything looks. ;-)

Micah

PHP 5.2 and D7

Drupal 6 runs under PHP 4. Drupal 7 will be the first to require PHP 5.2 and that won't be released until next year. There are a number of Drupal 6 modules that require PHP 5.2 and modules in drupal 6 (in the modules .info file) can specify their minimum version of drupal core and PHP.

PHP 4 is quickly being phased out. In just a few months there will no longer be security releases and it will be officially dead.

As a developer PHP5 is like a breath of fresh air compared to PHP4 so I can understand some module maintainers requiring PHP5. But, drupal core will run on PHP4.

In drupal 6 there is an easier way that creating a location to override strings. Rob Loach created the String Overrides module to do this. Rob knows about it as he is the one who pointed me to it :).

Thanks to PHP5 being required for D7 look for some fantastic changes. I know I am.

BTW, Atomic Rocket Turtle is a really sweet name. Best name I've herd this month.

Matt Farina
Geeks and God Co-Host
www.innovatingtomorrow.net
www.mattfarina.com

Matt Farina
Geeks and God Former Co-Host
www.mattfarina.com

PHP Versions and String Overrides

Rob Loach makes the coolest modules. I didn't know about that one.

Thanks for the clarification on D6 core requirements for PHP. Not sure where I got the wrong info about that. As I mentioned, some modules are already squawking and/or breaking on 5.1.6 or lower, so it's still time to think about 5.2 for those of us running our own servers, or shopping for a hosting provider.

And yeah, Atomic Rocket Turtle is an insanely cool name.

Good overview guys! My

Good overview guys!

My favorite D6 features.. actions and triggers built in. I love the sorting of items like blocks via jquery drag and drop.. I am still waiting on the ldap_integration module before I can move over in much of my production drupal installs..

Later,
Shrop

Mark Shropshire "shrop"
Geeks & God Forums Moderator
http://geeksandgod.com/users/shrop

No ImageCache

I can't imagine building a site without... Imagecache, guess I'm spoiled, but I use that darn thing everywhere!

You both mentioned heading into the world of D6 for production. How will you get around not having imagecache?

If I remember, Rob, you're a fan of Panels also... I use the heck out of that module... minipanels rock!

P.S.
I also discussed with MF over at Innovating Tomorrow regarding views and embedding in D6, so seems like that hurdle is nearing an end.

P.S. as usual... good show....

Imagecache....

Yes...Imagecache is a hurdle for starting a D6 site now. I rely on it for every single site I build.

For me, however, since I build alot of sites, my biggest danger isn't building a site that doesn't work well...my biggest danger is doing the SAME thing on every site I build. So, this move to D6 for me now challenges the way I do things every time...and not having imagecache was one of these things.

The solution I found was new and could be a good one for my purposes. IMCE can now be used as a CCK field! Now, this doesn't mean automatic resizing for each individual usage, and I'll have to take that into account for my design...but It's an avenue I'm trying out because it's new. I have a feeling it won't replae imagecache, and I'll revert to that once it arrives...but for now, it's a good challenge to open up new ways of thinking about sites.

-Rob Feature
Geeks and God Co-Host
www.mustardseedmedia.com

-Rob Feature
Geeks and God Co-Host
www.mustardseedmedia.com

Imagecache d6 alpha

COOLEO!!!

Now i'm ready for D6! Imagecache is in alpha, views and cck is in late beta!

YEA!!

Audio vs CCK

I maintain two D5 sites that make use of the Audio module for podcasting. If I understand Rob correctly from this and one previous episode, he'd like to see Audio replaced with a CCK field of some sort. I'd like the added flexibility I believe this would give me, but I don't know how/when this will be possible. In the mean time, I'm pleased to see that work has begun on a version of Audio module for D6.

Does anybody know if there's a way to do this? Am I barking up the wrong tree here? I'd be curious to hear any pros/cons people can think of.

Everything moving to CCK

Hey Matthew...
Indeed you understood me correctly. The philosophy of Drupal is moving towards CCK in everything. That means that things like the Audio module would stop defining their own content type (which limits us a bit) and start using ANY CCK type to generate it's functionality.

Right now, the funcitonality that needs to happen is a way to generate [enclosure] tags from any CCK field. Right now this functionality just isn't there. If it were, we could make any RSS feed into a podcast.

The other issue, is online audio. You could easily use a CCK field now just to do online audio, but the player would have to be implemented manually or using one of the SWF tools available right now.

There is one really nifty module I've found that can help with all of this and is allowing me (with some hackery) to generate my Mustardseed Video Podcast just by using CCK. It's the Views Podcast Module. This module, in concept and theory, is EXACTLY the right type of step forward. However, because it was developed for a specific usage, you have to play by it's rules, which are a tad klunky. However, it's a step in the right direction.

I think, unless someone takes the reins and makes this happen (someone like me, probably) we'll be talking about Drupal 7 by the time the philosophy sinks deep enough to change an established module like Audio.

-Rob Feature
Geeks and God Co-Host
www.mustardseedmedia.com

-Rob Feature
Geeks and God Co-Host
www.mustardseedmedia.com

yes, but...

I've been following the track with the Audio module for a while now, and although I agree that it's a mindset change to move this stuff over to a CCK-style behavious, it does raise some issues.

The main one (from my own standpoint) is having to change established workflow patterns. Broadcasters like to standardize on a way of doing stuff, and then we stick to it. "it might be a dog, but at least we know where the fleas are". The results are reliable, predictable and dependable.

In our case, we produce a church TV program, and a byproduct of that is that we generate MP3 files for distribution off of our website, and via itunes. We also have a large external mysql database which is the main repository for everything to do with the show - tape information, shoot dates, episode titles, crew listings - you name it...

The website itself is running D5, and was started relatively late - otherwise we might have done lots of things differently. We use the audio module - not just for making all the itunes stuff happen, but also for automatically grabbing the information about the MP3 file via the getid3 library.

This means that we only need to physically generate the title and other fields of our MP3 once - when the file is initially created, external to our website. We then import it (or usually a bunch of four or more at once) to the site, and we don't need to alter any of the tags etc, or even the title.

I'm thinking that by going to some sort of embedded media field for this, we are going to have to effectively double-handle our media files - once at creation time, and then a second time when they are included in the website.

Maybe I'm missing something, and I'm still thinking about how this would work via a CCK fieldtype.

Plus, the on-screen audio player is very nice.

Having said all that, we are also looking at how we can get videos happening, in a cost-effective way - we are a TV show after all!

Hmm... more thinking needed...

Cheers,
Pete
http://www.lifesourcetv.com

1 to 1 replacement

I expect the replacement to the audio module will be a 1 to 1 replacement or better. Something with a workflow that is effectively the same, you have the flash players, you can write id3 files, and all of that. The change would be to a CCK type solution. The audio module itself may end up going that route and providing the solution.

Matt Farina
Geeks and God Co-Host
www.innovatingtomorrow.net
www.mattfarina.com

Matt Farina
Geeks and God Former Co-Host
www.mattfarina.com

RSS feed for podcasts

I vote for adding the RSS feed to www.mustardseedmedia.com/podcast

I use the iGoogle hompage to keep track of all the news and information I'm interested in, and RSS feeds work great for this.

Thank you guys for putting out such great work! You're a blessing.

Nathan Johnson
www.orphansinrussia.org

Second

I second that!
:)

Paul Vaartjes
www.paulvaartjes.com
www.cursoryglance.wordpress.com

Paul Vaartjes

Breadcrumbs

You guys comment on breadcrumbs in this podcast... I happen to be a fan of the concept of breadcrumbs, but I too found them very confusing in Drupal. Turns out that breadcrumbs in Drupal 5 are based on the primary menu by default and in Drupal 6 on the navigation menu. Neither of those, in my opinion, is adequately flexible. Fortunately, someone's come out with a handy little module for Drupal 6 called Menu Breadcrumb which causes Drupal to use whatever menu a page belongs to for its breadcrumb. (Thank you, gdevlugt!) Combine that with Custom Breadcrumbs for a robust and flexible solution! :)

breadcrumbs

These modules are a good way to go for breadcrumbs. I tend to take a slightly different route. On every site I do there is a custom site module. In that module I tend to create my own breadcrumbs.

There are lots of ways to configure breadcrumbs. They are great to use as long as they are usable.

Matt Farina
Geeks and God Co-Host
www.innovatingtomorrow.net
www.mattfarina.com

Matt Farina
Geeks and God Former Co-Host
www.mattfarina.com

Do Share

I don't suppose you'd like to share how you do it, would you? Menu Breadcrumb ended up not coming through for me on something (when a node belongs to more than one menu it didn't use the right one--Primary links--to build the breadcrumb). All I really want is for breadcrumbs, except on Administration pages, to always reflect the Primary links menu.

Blog to do list

I just added that topic to my to blog about list.

Matt Farina
Geeks and God Co-Host
www.innovatingtomorrow.net
www.mattfarina.com

Matt Farina
Geeks and God Former Co-Host
www.mattfarina.com

How then to podcast?

So I'm working on a Drupal 6 site that will include a podcast. I don't want to go through Feedburner (because I need to have arguments for series). Do you guys have a recommendation for building a podcast feed on 6?

Not quite sure I get what you mean

I'm not quite sure I understand what you mean. To do a podcast you want each episode to have a unique url. If you have a unique url then each of those is supplied to feedburner and it just forwards on to the links when they are clicked.

How would feedburner affect your implementation? Can you provide some details on your implementation?

You can do the setup without feedburner. At this point I'm not sure if there is a complete solution for drupal 6.

Matt Farina
Geeks and God Co-Host
www.innovatingtomorrow.net
www.mattfarina.com

Matt Farina
Geeks and God Former Co-Host
www.mattfarina.com

Solved

Thanks, Matt. I ended up programming a solution: http://drupal.org/node/276586#comment-902973