Deleting pages from books and other Drupal gotchas

There is a significant differance between the behaviour of the drupal edit books admin pages and the drupal menus admin pages.  Specifically the delete link does very different things.

Drupal -> Admin -> Menus -> Menuname (edit)

drupal-book-gotcha

Drupal -> Admin -> Books -> Bookname (edit order and titles)

drupal-menu-gotcha

The delete buttons on the lists of items in these two core drupal module do very different things.  Clicking delete in the edit list in the book module deletes the node, whereas clicking on delete in the menu module just deletes the menu item and leaves the node in place.

 

 

Update on Blackboard and Firefox 3.6 - Badly formatted request issue

I posted earlier on a problem with  Firefox 3.5/6, caching and etags headers and Blackboard 7.3. 

The issue appears the second time they click on the xid-9999 redirect which is shown when a file resource appears in a content list.  The message is 

400 BADLY FORMATTED REQUEST, Tomcat / Apache error message

Possble solution - have apache intercept and rewrite the headers for urls in this format.  Check that mod_headers is enabled in apache and add the following to the apache config file.



<LocationMatch "/bbcswebdav/xid-*">
    Header unset If-Modified-Since
    Header unset If-None-Match
</LocationMatch>


   

Blackboard and Firefox 3.6 - Badly formatted request

Came across an odd problem with Blackboard 7.3 server and Firefox 3.6.  It seems that our users who have upgraded to Firefox 3.6 are encountering a problem when they view web resource linked using xid-9999 type urls. 

The first time someone clicks on an item linked to a file resource in a content list it appears normally.

But the second time they try to click on the link to the resource, they see:

400 BADLY FORMATTED REQUEST, Tomcat / Apache error message

It appers that the crux of the problem is how Firefox 3.6 responds to caching and etags headers.

One workaround for now is to clear your cache using Firefox / Preferences / Advanced / Network / Clear Now

Update: posted a proposed solution using apache to clean up the requests

Here's the long version......

We're using Blackboard v7.3.230.0 running on Tomcat 5.5.26 on Apache 1.3. 

The linked items use a perminant url in the formal /xid-98788.  Requests for this page are then redirected to the current version of the file in the content collection.  I notice that the server returns an etag and expires header even on the 302 temporary redirect responses.  It does not include nocache headers and it uses the same dummy etag for every response, and an expires header in +24 hours.

When Firefox 3.6 requests the /xid-99999 resource it includes the etag and an if-modified-since header based on the previous last modified date.

The Blackboard / Tomcat server doesn't seem to like these headers and throws a 400 Badly formatted request error.

 

The first time Firefox 3.6 requests the page

GET http://vision.hw.ac.uk/bbcswebdav/xid-310314_2

The response is:

302 Moved Temporarily

Response headers include:



Date: Fri, 12 Mar 2010 14:33:41 GMT
X-Blackboard-product: Blackboard Academic Suite&#8482; 7.3.230.0
Cache-Control: public
<strong>Etag: bb-cache-1</strong>
<strong>Last-Modified: Thu, 13 Nov 2008 18:16:31 GMT</strong>
<strong>Expires: Sat, 12 Mar 2011 14:33:41 GMT</strong>
Content-Disposition: filename="index.htm", filename="index.htm", filename="index.htm", filename="index.htm", filename="index
.htm"
Location: http://vision.hw.ac.uk/bbcswebdav/courses/COURSENAME/somedir/ufp1/index.htm
Content-Length: 0
Keep-Alive: timeout=15, max=96
Connection: Keep-Alive
Content-Type: application/octet-stream;charset=UTF-8


The second time Firefox requests the page:

GET http://vision.hw.ac.uk/bbcswebdav/xid-310314_2

Unlike previous versiosn of Firefox eg. 3.0.17, in firefox 3.6, two extra request headers are sent -

 

<strong>If-Modified-Since: Thu, 13 Nov 2008 18:16:31 GMT</strong>
<strong>If-None-Match: bb-cache-1</strong>

Reponse is:

400_BADLY_FORMATTED_REQUEST

and includes these headers:

X-Blackboard-product: Blackboard Academic Suite&#8482; 7.3.230.0
Cache-Control: public
Etag: bb-cache-1
Last-Modified: Thu, 13 Nov 2008 18:16:31 GMT
Expires: Sat, 12 Mar 2011 14:49:32 GMT

Regular files in content collection as opposed to xid refereces are served up to Firefox 3.6 normally, so you may reload a page several times once you have been redirected, but using the link from the list of resources twice causes the problem.

GET http://vision.hw.ac.uk/bbcswebdav/courses/COURSENAME/somedir/index.html

Response 200 OK

Request headers include:

http://vision.hw.ac.uk/bbcswebdav/courses/B21UF_2009-2010/ultrafast/index.html

If-Modified-Since: Fri, 12 Mar 2010 15:31:17 GMT
If-None-Match: "227921-219620"

Response headers include

Pragma    no-cache
Cache-Control    no-cache
Etag    "227921-219620"
X-Blackboard-product    Blackboard Academic Suite&#8482; 7.3.230.0

Reposne headers include:

Pragma: no-cache
 Cache-Control: private
Etag: "227921-219620"
Last-Modified: Wed, 22 Apr 2009 11:23:27 GMT
Expires: Thu, 12 Mar 2009 14:49:25 GMT

Workaround for now - use another browser? Chrome, Safari.  Or in Firefox clear the cache when you see this issue.