Home

Lullabot

Lullabot Ideas

We know stuff. We empower you to know stuff too.

On Site Drupal Training

We'll come to you! Graduate from your own on-site courses and become Drupalistas!

"Classic" Web Problems, Solved

Article by Jeff EatonJuly 28, 2008 - 10:15pm

A lot of energy in the Drupal world goes towards solving complex problems: giving administrators ways to build publishing workflows without writing code, integrating with cool new APIs, automatically translating site content into Klingon... You know. The usual.

With all of that energy focused on complex architectural problems, it's easy to lose sight of the simple solutions that Drupal provides for really common "classic" web problems. This really hit home the other week as I sifted through an old Zip disk with archives of sites I'd built for clients in the heady days of the late 90s. One by one, I started ticking off requests my clients had made that today's site-builders can solve in minutes with Drupal modules -- no wacky configuration, no complicated recipes. Just a simple, "Yes!" when a client says, "Can you...?"

"...Make a splash page for the site?"

No problem. Drop in the Splash module, and you can use any page on your site as an interstitial splash page. It's also smart enough to tie into contextual information Drupal provides -- only showing the splash screen to anonymous users, creating section-specific splash pages, and more.

"...Let visitors print out copies of the pages?"

While any web browser can print a simple copy of the current page, and custom style sheets can help clean up color schemes and images to make a page look printer-friendly, sometimes, things need tweaking. For example, embedded web links will look like simple underlined text if you rely on style sheet tweaks. Drupal's Print module generates printer-friendly versions of any page, including the creation of URL footnotes at the bottom of each printout. It can also generate downloadable PDFs of any page, and send-this-article-to-a-friend email links.

"...Show visitors a Terms Of Service page before they sign up to post on the site?"

Letting users sign up to post comments, subscribe to newletters, and so on was just catching on when I hand-crafted those old-school sites in the 90s. The Terms of Use module handles one of the tricky parts: requiring users to explicitly agree to terms of service before they can create an account. It lets you maintain your terms as a dedicated page on the site that users can read, and present it to them with an 'Approval' checkbox when they create an account.

"...Add a chat page where users can talk in real-time?"

Setting up chat rooms on web pages was always a pain in the old days. Even today it can be tricky, and there are quite a few different ways to do it. Flash, AJAX, Java applets, and more are all ready. The Mibbit module for Drupal lets site visitors chat on a custom IRC channel using a simple AJAX interface. Since it uses IRC as its backend, it can point to custom private discussion channels, or public ones like #drupal on the freenode IRC network.

"...Keep other sites from stealing my content using Frames?"

This one went out of style for a while, but when Google's AdSense and other advertising networks up momentum, some enterprising individuals resurrected the concept of "wrapping" other sites in HTML frames, presenting ads in the sidebars while leeching the original site's bandwidth and content. Javascript can help: script snippets can force your page to open in a dedicated window instead of a frame, and the FramePrevention module makes that trick automatic.

None of these modules are crazy, groundbreaking tools that get their own articles and tutorial videos. Like many of the tools in the Drupal world, though, they do the heavy lifting that lets us focus on the really complicated tasks. Looking back, it's hard not to sigh and wonder how much time could've been saved if I'd had them at my disposal in The Olden Days...

Comments

okeedoak (not verified) on July 29, 2008 - 1:26am

Mibbit URL

Mibbit IRC is at: http://drupal.org/project/mibbit_irc

July 29, 2008 - 8:05am Jeff Eaton

Thanks! Correction made.

Thanks! Correction made.

yaph (not verified) on July 29, 2008 - 3:04am

Nice writeup. The last point

Nice writeup. The last point about stealing content is funny somehow. Nowadays you can get at the content of other sites in a much more sophisticated manner. If those sites provide RSS feeds you can use modules such as Simplefeed or FeedAPI to store their content in your own database and display it without using frames. Of course you can also use these modules for good and create cool mashups ;)

venkat-rk@drupal.org (not verified) on July 29, 2008 - 6:01am

Thanks for taking the

Thanks for taking the effort. I either didn't know or had heard and forgotten about the modules listed in this article. Mighty useful.

Jared (not verified) on July 29, 2008 - 9:08am

Thanks!

I've used the legal module on several sites, but the TOS module looks like it may become my new friend. Thanks for the writeup!

Steve Fisher (not verified) on July 31, 2008 - 6:36am

Keep 'em coming......

A step back towards basic needs is always appreciated. Please consider doing a PT#2 & onward.
Thanks

sumitk (not verified) on August 8, 2008 - 4:34pm

nice!!

nice and clean writeup!!
with mashups and stuff services module is doing a lot... yes feedapi and a new aggregator are there as well :)
cheers!!

mjwest (not verified) on September 12, 2008 - 12:43pm

I agree

I agree - I just launched a simple Linode Review site because I was always telling people about why I host with Linode and I could get it up and running in a matter of minutes. This seems crazy compared to how long it use to take me to add things like an easy FAQ page or even a blog that I could maintain without too much effort.

Flug (not verified) on November 12, 2008 - 5:27am

Great work!

Great work. Keep at it!

Flüge (not verified) on April 24, 2009 - 6:55am

I agree

I think so too ... well done !!!

Thomas , Zauberer (not verified) on May 30, 2009 - 12:02pm

really great !

Hi there,
I found great ideas on your Web site.
Well done !
Thanks for that and keep on doing
Greetings from germany
Thomas

Zauberer De Pasco (not verified) on October 25, 2009 - 5:58pm

I`ll give it a try

Till now I`m using wordpress but I will try out drupal - it seems to get more powerful with all these things you can do

Lebensversicherung (not verified) on November 13, 2009 - 4:11am

Lebensversicherung

I think so too ... well done !!!

About this 'bot

Jeff Eaton

Jeff Eaton is a long-time web developer. He's been designing, administering, and implementing web projects since he pieced together his first HTML file in 1996. He's built ecommerce sites for florists, helped implement enterprise web systems for multinational corporations, and juggled web architectures from legacy Perl to ASP.Net. (With some Windows desktop development thrown in for good measure...) Yes...

more

Recent

Drupal Voices 160: Moshe Weitzman on Page Rendering in Drupal 7

Podcast 9.02.2010

Drupal Voices 159: John Albin Wilkins on Drupal 7 Theming

Podcast 9.01.2010

Drupal Voices 158: Emma Jane Hogbin on PHP for Designers

Podcast 8.31.2010

Command Line Basics: More Editing with Vi/Vim

Video 8.31.2010

Lullabot's Back to School Sale

Blog 8.30.2010

Popular

Drupal Voices 160: Moshe Weitzman on Page Rendering in Drupal 7

Podcast 9.02.2010

Photo galleries with Views Attach

Article 6.01.2009

Drupal Voices 159: John Albin Wilkins on Drupal 7 Theming

Podcast 9.01.2010

Announcing BeautyTips, a jQuery Tooltip Plugin

Article 10.20.2008

Install a Local Web Server on Ubuntu

Video 11.14.2007
 
  • Home
  • Services
  • Events
  • Ideas
  • Store

Connect the Bots:

Twitter Facebook YouTube blip.tv All Posts Newsletter
  • Ideas
  • Blog
  • Podcasts
  • Videos
  • About
  • Contact
  • Jobs
  • Services
    • Training
  • Events
    • Training Workshops
    • Other Events
    • Conferences
    • Calendar
  • Products
    • Videos
    • Books
    • Swag
  • Ideas
    • Blog
    • Podcast
    • Videos
  • About
    • Philosophy
    • Team
    • Presskit
  • Contact
    • General
    • Work Inquiries
    • Mailing List