Recognizing that while many Open Source projects are powerful but lack ease of use, the Drupal project today announced Drupal 4.2.0, a substantially enhanced and re-organized version of the Drupal open source content management platform with a specific focus on improving ease of use and administration. Beyond ease of use, Drupal 4.2.0 includes several significant new features.

Drupal: powerful, modular and extensible

Since its start in December of 2000, Drupal has evolved from a simple discussion and content platform into a full fledged, modular architecture platform for web applications. Among the new features in Drupal 4.2.0 are:

* Clean URLs -- recognizing the importance that simple, easy to remember URLs have in today's online world, Drupal 4.2.0 adds full "clean url" support.

* Support for extending Drupal with WYSIWYG editors.

* Context sensitive help.

* Support for Microsoft SQL server.

* Enhanced searching.

* Improved, finer grained permissions for a more flexible security architecture.

* A standard XHTML template.

* Enhanced RSS / RDF parser.

* A large number of additional changes: please see the official CHANGELOG.

About Drupal

Since its start in December of 2000, Drupal has grown into an industrial strength dynamic web site platform which allows an individual or community of users to publish, manage and organize a variety of content, Drupal integrates many popular features of content management systems, weblogs, collaborative tools and discussion-based community software into one easy-to- use package.

As an open source software project maintained and developed by a community, Drupal is free
to download and use. The source code is available at:

http://www.drupal.org/drupal/drupal-4.2.0.tgz

Drupal is written for PHP version 4 and supports a variety of databases including MySQL, PostgreSQL and MSSQL. More information on Drupal is available from the main Drupal developer site, drupal.org. For a complete list of features, please see the official CHANGELOG.

Press release written with help from J. Scott Johnson, The FuzzyGroup, Inc.

Comments

Anonymous’s picture

How do I go about upgrading to 4.2 from 4.1?

The upgrade script (update.php) seems to be lacking that particular option.

shane’s picture

I have a very extensive 4.1.0 site I'd like to upgrade to 4.2.0, but it appears a lot of DB table changes have occured (not something one would expect from a minor point release change...). Is anyone working on an update option to at least alter the DB tables from a 4.1.0 install so that their compatible with a 4.2.0 software install?

I would like to note, that the 4.2.0 release appears to have a lot of excellent additions, changes, and enhancements! Keep on rocking the free world!

v/r
Shane

Dries’s picture

We forgot to add an option for 4.2.0 - just use "upgrade to CVS" instead. Don't forget to make a backup first.

Anonymous’s picture

to upgrade from a 4.1 site to a 4.2 site, you backup all your files, than you copy the 4.2 image over the 4.1 image, then you go to update.php and select "update to cvs"?
Just checking...

Dries’s picture

Yes, that should do it.

fnord’s picture

Back up your db as well. If you're using mysql, mysqldump is your friend.

shane’s picture

I *assume* I should chose "2002-12-10: first update since Drupal 4.1.0 release" as the "Perform updates from" step. Doing so creates an error:

2002-12-10: first update since Drupal 4.1.0 release

ALTER TABLE cache ADD created int(11) NOT NULL default '0' 

Fatal error:  Unknown column 'link' in 'field list'
query: INSERT INTO watchdog (uid, type, message, link, location, hostname, timestamp) 
VALUES (0, 'error', 'user error: alter command denied to user: \'pdxar@localhost\' for table \'cache\'
query: ALTER TABLE cache ADD created int(11) NOT NULL default \'0\'
in /rtty/sgibson/pdxar-420/includes/database.mysql.inc on line
75.', '', '/update.php?op=update', '', 1060128847) 

in /rtty/sgibson/pdxar-420/includes/database.mysql.inc on line 75

I am updating from 4.1.0 to 4.2.0. Any thoughts or help would be appreciated. Thanks!

v/r
Shane

shane’s picture

Yeah - I see it. I added 'alter' privalege to the user. Now the update runs fine ... except all updated to NID:

query: UPDATE forum SET tid = 36 WHERE nid = 607
error:

(Yes, there was no error string output).

Thoughts?

v/r
Shane

killes@www.drop.org’s picture

This is just the output format of db_queryd()

Anonymous’s picture

There are several pitfalls in upgrading to 4.2. Many of the existing functions have moved so things such as XML syndication is broken if people use the URL they have recorded for your site. This can be handled by making a change to the old modules.php file. More details are on this post. There are many nice features about the upgrade from the admin interface to the archive module working as I want it to (only showing links for days where there is an article instead of all days).

One other wierdness when I upgraded some user settings were lost (my default theme reverted to an old theme) and my site slogan reverted to an older slogan.

youyouyu’s picture

Unless i overlooked something, this is only possible when you allow visitors to view comments but not access content. This combination of permissions does not make any sense if you ask me However, i have sent a patch to fix this to the devel list.

Unless i overlooked something, this is only possible when you allow visitors to view comments but not access content. This combination of permissions does not make any sense if you ask me.
However, i have sent a patch to fix this to the devel list.

Anonymous’s picture

I realize existing Drupal users may not be too happy about upgrade issues, but kudos to the developers!!!

The new version is excellent and has finally made the changes I was waiting for before I implemented it as my new site engine.

Thanks for the endless hours of dev time!

Anonymous’s picture

I'd just like to say that 4.2 is a great improvement over the previous release and I really like it.

The only problem I had updgrading is that the 1st Admin login didn't seem to work anymore. After a little investigation it appears that this was because I hadn't assigned it a role, 4.1 obviously didn't mid this but 4.2 obviously does. All you have to do to get back your admin login is assign them a role.

Thanks Drupal Team !

Anonymous’s picture

I 've just installed the 4.2 version. It took me a couple of minutes to realize some security problems:

- We can access any KNOWN url, no matter the access rights
- The front page of a category is accessible, no matter the access rights, via the syndicate (more) plugin. What about the others?

Since, I am new to Drupal, I am afraid it would be hard for me to trust the security model of Drupal. Too bad!

Anonymous’s picture

- Mind to tell me how? Note that the first user is allowed to view any content.
- True, the syndication module (or hook) should check this first

Anonymous’s picture

Assume the URL http://drupal.org/comment/reply/2407/4042 is accessible only for registered users. In fact, This is not true while we are logged off.

You can easily reproduce yourself this case.

monkeybrain’s picture

Does 4.20 have a security hole? Or is this just a first time deal? It wasn't clear to me.

scott_’s picture

Unless i overlooked something, this is only possible when you allow visitors to view comments but not access content. This combination of permissions does not make any sense if you ask me.
However, i have sent a patch to fix this to the devel list.

Anonymous’s picture

No access was defined for Anonymous when this happened. In fact no access was defined at all.

fnord’s picture

The Administration pagesdon't work, I've got no links.

I tried wiping out everything file-wise and using just the files that came with 4.20, just in case there were theme issues or something, but nothing works.

I've re-imported the backup database and am back to using the old files and everything appears normal.

I'm running a largely stock 4.10 install, which update should i update from on the update.php page?

Dries’s picture

Use "upgrade to CVS".

taffy-1’s picture

I've never done a Drupal upgrade before and I was wondering if there are any tricks/gotchyas etc that I should be aware of in upgrading from 4.2.0RC to 4.2.0?

Ta

Anonymous’s picture

I had 4.1 running with only one account, the admin. I tried the upgrade, which failed despite my having been warned here first. But I don't have any site so I figured, no harm, I'll just start from scratch. I deleted my drupal db from mysql and used the database.mysql to re-create it. Now, I get a 'you're not authorized..." on the index and I can' create an account.

Little help?

Anonymous’s picture

Active community I see. Not so much as a hint.

IU've been over the docs and through the forums but I can't for the life of me understand why deleting the db and starting over doesn't work. The closest thing I can find is a hint that 4.2 uses db_url in conf.php differently than 4.1 did.

Kobus’s picture

There is also a $base_url, which might also be wrong. I have had no problems upgrading, except that I had to edit upgrade.php to excude the user check. This would however not be applicable to you, as you deleted your db and started over.

I have no other ideas at the moment. That is the only reason why I didn't respond to your post. Hope someone else can help you.

Regards,

Kobus

Anonymous’s picture

I assigned this role prior to the upgrade as I had read this thread and some forum stuff prior to the upgrade. Surely that is not still dogging me after creating a new db.

jaskegreen’s picture

I had to go and change the rid value in the users table of the db to 3 so the darn thing would see me as an admin. Hope this helps if you haven't solved it already.

cel4145’s picture

There seems to be an issue with the root user and permissions when a side is upgraded to 4.2. See this thread on the development list.

An easy workaround might be to edit the root user account and assign the authenticated user role before doing the upgrade.

Anonymous’s picture

Thanks for the great work everyone. I just updated urlgreyhot and everything went without a hitch. Now that I'm back to watching the mailing lists, I hope to get involved with usability of the future versions. -michael

joe lombardo’s picture

I've finally upgraded FamilyTimes.com from CVS to 4.2. The upgrade went smoothly (though to be fair, I've gotten pretty practiced at Drupal upgrades ;-)

Drupal is running great, and I'm excited to start adding new functionality. Here are a few of my favorite changes:

CleanURLs - I didn't think I would care about this, but it certainly makes the site cleaner and seems to be convincing search engines.

Statistics - The statistics pages are very useful and have been quietly improving over time. Thanks!

Homepage - Set the homepage to any page of the site. I was glad to get rid of my hack and use this new functionality!

Context Sensitive Help - This really makes things clearer.

Well done and many thanks!

- Joe


Joe Lombardo | joe@familytimes.com | My Blog
Anonymous’s picture

How to activate Clean URL? is it by using apache's mod_rewrite?
In my installation i had to remove .htaccess file in order Drupal to get working. BTW I'm using Apache 2.0.40

Anonymous’s picture

If you use RedHat 9 with Apache 2.0.40, the problem is that some of the defaults have changed from previous RedHat distributions using Apache 1.3.

The root html directory defaults to:

   AllowOverride None

Which translates to: no changes to options via .htaccess file

Change this to:

   AllowOverride All

for the html root directory or the subdirectory containing drupal files. Here is full documentation for Apache 2.0 AllowOverride directive

Anonymous’s picture

Is there a easy mean to drop the right boxes from the comment page? I want the boxes on the front page only.

Kobus’s picture

Hi,

Go to the admin section, to block administration, and read the notes there. You can overcome your problem by specifying paths where these blocks should appear.

I don't have an exact example with me at the moment, but note that these blocks use regular expressions. Also see this post: http://drupal.org/node/view/2269

Regards,

Kobus

Anonymous’s picture

Thanks Kobus!. This answers my question. I have read the documentation before I need this option. I gorgot it. Your answer was a great help.

Kobus’s picture

Anytime :)

Regards,

Kobus

adamrice’s picture

I believe it should be possible to create a PHP script that handles most of the MySQL setup work. This would be a handy addition, as I keep running into trouble trying to do it by hand.

Adam Rice

bertboerland’s picture

yes, a script would be handy. yet in the mean ime, please tell us what your difficulties are so we can help you (preferably in forum/support)

imho the sql statements are rather easy...

--
groets

bertb

--
groets
bert boerland

cu8164kp@freshmeat.net’s picture

Hi all,

Overllall the upgrade went smooth but here are two problems i have.



1) The automatic -br- tags are not working. Usually if a user presses "enter" drupal translates that to a -br- tage. But with this new version that has gone away and alot of the posts look awful becuase there are no line breaks at all.



2) I have my taxomony list on the left as a navaigation, and with the old version is showed the number of posts in each node, but since the upgrade it only shows the node name, not number of posts.



Any help or suggestions would be appreciated.



The site is located here:

www.setuplinux.com/

Boris Mann _Old Blogger.com Account_’s picture

Here's a piece of magic code that fixes auto-br. At line 624 of your common.inc file, replace the "if" statement with this:

         $no_line_breaks = implode("|",array("< br >","< p >"));
         // if none of the above tags are there, convert line breaks
         if(! preg_match("/($no_line_breaks)/",$text)) {
                   $text = nl2br($text);
         }

Basically it says that if the text contains hard-coded < br > or < p > tags, to not convert tags. Otherwise, it will add line breaks.

It's not perfect yet, because lots of extra space gets added to stuff like lists, but it fixes all "old" posts as well as not wrecking new posts if you've used hardcoded tags.

--
Boris Mann

le_scribe’s picture

What Drupal need is a Trackback module compatible with MT and Radio. Is there such a thing somewhere?

Anonymous’s picture

Thanks for writing Drupal - we're evaluating it, but the coding makes many PHP newbie mistakes.

1. No "define" statements - should use them for security for important things like the mysql password
2. Double quotes where single quotes should be. The code is rife with these.
3. Use of .inc instead of .php. Security dictates the use of .php extentions only or setting your httpd.conf file to deny *.inc files
4. Leaving files like "update.php" in the web directory. You should have one directory for files like INSTALL, update.php etc. and one directory where the files to keep go.
5. Use of many ".=" instead of just one "=" . Slows things down to have N operations where one would suffice.

cel4145’s picture

3. .inc is denyed in the .htaccess file provided with drupal (as well as many other files and directories).

Anonymous’s picture

If you have "AllowOverride All" you potentially have a
HUGE performance penalty. That's because if you have AllowOverride and if you make a request to http://foobar.com/a/b/c/d/
then apache looks for .htaccess files in
"/" then "/a/" then "/a/b/" then "/a/b/c/" then "/a/b/c/d/"

Granted I'm new to Drupal and it doesn't look like it goes beyond two levels, but if you have a heavily loaded server OR if you have other software that DOES create many levels under the drupal directory tree (e.g. some picture gallary thing) - then you have big performance hit.

You can get around it in Apache 2.0 if you just take that .htaccess bit and put it in the httpd.conf file in a <Directory> container (as per first comment). With Apache 1.X some of the directives are not containable in <Directory>.

By the way - I've now evaluated Drupal, Xoops, Postnuke, and Phpnuke and I like Drupal the best in terms of ease of use and code layout.

jcwinnie’s picture

Drupal, not just another pretty face!