Home

>

Tools

>

Drupal

>

Releases

>

6.0-beta-4

Drupal Release: 6.0-beta-4

Pre Release

Tag Name: 6.0-beta-4

Release Date: 12/5/2007

Drupal LogoDrupal

Highly flexible, open-source content management system known for complex, scalable web applications. Preferred by government, educational, and large enterprise websites requiring advanced customization and security features. Robust module ecosystem.

TL;DR

Drupal 6.0 Beta 4: Polishing the User Experience

This beta release brings significant improvements to Drupal 6's user interface with the addition of drag-and-drop functionality for taxonomy, book navigation, profile fields, and uploads. Security has been enhanced with CSRF protections and improved string escaping. Performance optimizations reduce cache rebuilding frequency and improve language handling. The release also includes numerous bug fixes for path aliases, RTL language support, and theme compatibility issues, making this a more stable and refined beta as Drupal 6 approaches release candidate status.

Highlight of the Release

    • New drag-and-drop interfaces for taxonomy, book navigation, profile fields, and uploads
    • Ability to clear all caches with a single action
    • Improved RTL language support, completing core theme compatibility
    • Enhanced security with CSRF protections and better string escaping
    • Performance optimizations for menu rebuilding and language handling
    • More consistent button placement and terminology across the system

Migration Guide

Proxy Configuration Changes

  • Proxy IP configuration options have been moved from the database to settings.php
  • This change was necessary because these settings need to be available before Drupal loads variables from the database
  • Update your configuration by moving any proxy settings to your settings.php file

Menu System Changes

  • The MENU_MODIFIABLE_BY_ADMIN flag has been removed
  • Developers should now use hook_form_alter() to modify menu editing behavior instead of relying on menu API flags

API Changes

  • module_invoke_all() now supports merging multiple arrays recursively
  • The PHP format was moved from filter/2 to php/0, which affects custom code that references filter IDs directly
  • User autocomplete now returns JSON instead of a pipe-delimited list

Upgrade Recommendations

For Beta Testers

This beta release includes important bug fixes and enhancements that improve stability and user experience. If you're already testing Drupal 6 beta releases, upgrading to Beta 4 is strongly recommended to benefit from these improvements and to help identify any remaining issues before the release candidate.

For Production Sites

As this is still a beta release, it is not recommended for production websites. Continue using Drupal 5.x for production environments until the final release of Drupal 6.0.

Upgrade Notes

When upgrading from previous beta versions:

  • Clear all caches after upgrading
  • Review any custom code that interacts with the menu system, as some API changes have been made
  • If you've implemented custom drag-and-drop interfaces, test them thoroughly as the underlying JavaScript has been updated
  • Test multilingual functionality carefully, especially with RTL languages

Bug Fixes

User Interface Fixes

  • Fixed teaser splitter behavior to properly respect break type precedence
  • Corrected resizable textfields behavior to work properly with teaser splitter
  • Fixed broken state of book updates
  • Resolved issues with drag-and-drop and resizable textarea conflicts
  • Corrected RTL positioning for table drag handler and indentation elements

Path and URL Handling

  • Fixed several issues with URL generation and path aliasing
  • Corrected handling of path aliases for node paths and front page links in themes
  • Fixed domain language negotiation for external URLs

Multilingual Fixes

  • Fixed XHTML validity with disabled checkboxes in locales form
  • Corrected misuse of CSS inherit in RTL CSS files
  • Ensured module version numbers are always displayed LTR
  • Fixed user account page language switching issue

Database and Form Handling

  • Added explicit accept-charset for forms to avoid browser guessing
  • Fixed notice displayed on node form when node has no taxonomy property
  • Better targeted user ID setting to prevent auto increment issues with wiped databases
  • Fixed SQL error in PostgreSQL queries with double quotes
  • Fixed missing brackets around table names in user.admin.inc

New Features

Drag-and-Drop Interfaces

  • Taxonomy Management: New drag-and-drop interface for organizing taxonomy terms
  • Book Navigation: Drag-and-drop support for arranging book pages in hierarchies
  • Profile Fields: Added weights and drag-and-drop ordering for user profile fields
  • File Uploads: New drag-and-drop ordering support for uploaded files

Administration Improvements

  • Cache Management: New option to clear all caches at once
  • Module Administration: Added labels to module names for better usability
  • Permission Names: Improved content editing permission names for better clarity

Multilingual Enhancements

  • RTL Support: Complete RTL styles for Pushbutton theme, finalizing RTL theme support in Drupal 6 core
  • Language Handling: Better domain language negotiation and path alias handling for multilingual sites

Security Updates

Cross-Site Request Forgery Protection

  • Added confirm forms for node revision and delete operations to prevent CSRF attacks

Input Validation and Escaping

  • Improved string escaping throughout the system
  • Fixed XSS vulnerabilities (forward-ported from Drupal 5.1)
  • Additional security fixes forward-ported from Drupal 5.2

Performance Improvements

Cache Handling

  • Drastically reduced calls to cache clearing when the menu needs to be rebuilt
  • Improved cache clearing order: block cache is now cleared before page cache to prevent stale data
  • Rebuild caches when displaying the module admin screen to avoid stale data in registries

Language Optimization

  • Optimized _locale_rebuild_js() to no longer run on every page view
  • Improved handling of language-aware path aliases

Menu System

  • Enhanced taxonomy selector forms with improved performance
  • Better handling of menu rebuilding to prevent duplicate menu items

Impact Summary

Drupal 6.0 Beta 4 represents a significant step toward release readiness with a focus on user experience refinements and bug fixes. The introduction of drag-and-drop interfaces across multiple core modules (taxonomy, book, profile, and uploads) brings a more intuitive administration experience. Security improvements address CSRF vulnerabilities and enhance string escaping. Performance optimizations reduce unnecessary cache rebuilding and improve language handling efficiency.

The release also makes substantial improvements to multilingual support, particularly for RTL languages, completing core theme compatibility for these languages. Path alias handling and URL generation have been fixed to work properly in various contexts, including multilingual sites.

For developers, the API has been refined with better maintenance theming support, recursive array merging in module_invoke_all(), and clearer guidance on menu system customization. The proxy configuration has been moved to settings.php for earlier availability in the bootstrap process.

Overall, this beta release demonstrates Drupal 6's maturing state with a balance of new features, usability improvements, and critical bug fixes that bring the platform closer to release candidate status.

Statistics:

File Changed110
Line Additions3,182
Line Deletions1,416
Line Changes4,598
Total Commits82

User Affected:

  • Benefit from new drag-and-drop interfaces for taxonomy, book navigation, profile fields, and uploads
  • Can now clear all caches with a single action
  • More intuitive permission naming for content editing
  • Improved module administration interface with better labeling

Contributors:

gobadbuytaert