Problems with "update" operations

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems with "update" operations

Matthew Wilson-4

Hi,

   Recently I started to have problems with updating annotations in
Annozilla. After a bit of investigation I am starting to think it might
be a server problem, and was wondering if anyone was seeing the same issues.

   I had been testing with the annotest server, but after I started to
run into problems - getting 500 errors when trying to delete my
annotations - I installed a server locally, using CVS tag V1_2.

   What I seem to find, using
http://www.w3.org/2001/Annotea/User/Protocol.html as an example, is:

1. If I use the "PUT" method of updating, then it seems to work, but I
don't get any annotations for the page when I reload.

2. If I use the "POST" method of updating, then I get back 201 for the
annotation, and the update seems to work. But if I "DELETE" the
annotation, then I get back a 500 error, because two annotations with
the same id exist. (This looks like the same kind of problem I was
having with annotest.)

Amaya seems to have some similar problems - if I update an annotation,
then I get an error message back when I try to reload it.

Any thoughts? Does this sound like a server installation error or a
software problem?

Matthew Wilson

Reply | Threaded
Open this post in threaded view
|

Re: Problems with "update" operations

Matthew Wilson-4

Matthew Wilson wrote:

>
> Hi,
>
>   Recently I started to have problems with updating annotations in
> Annozilla. After a bit of investigation I am starting to think it might
> be a server problem, and was wondering if anyone was seeing the same
> issues.
>
>   I had been testing with the annotest server, but after I started to
> run into problems - getting 500 errors when trying to delete my
> annotations - I installed a server locally, using CVS tag V1_2.
>
>   What I seem to find, using
> http://www.w3.org/2001/Annotea/User/Protocol.html as an example, is:
>
> 1. If I use the "PUT" method of updating, then it seems to work, but I
> don't get any annotations for the page when I reload.

I found the problem, for this case at least. It's an incompatibility
with the version of CGI.pm. Later versions of CGI.pm require something
like this:

--- W3C/Util/W3CDebugCGI.pm     8 Sep 2003 19:26:44 -0000       1.83.2.1
+++ W3C/Util/W3CDebugCGI.pm     6 Jul 2008 19:46:53 -0000
@@ -484,7 +484,7 @@
      my $putData = undef;
      if ($ENV{'REQUEST_METHOD'} eq 'PUT') {
         if (my $contentLength = $ENV{'CONTENT_LENGTH'}) {
-           &CGI::read_from_client(undef, \*STDIN, \$putData,
$contentLength, 0);
+           &CGI::read_from_client(undef, \$putData, $contentLength, 0);
             $ENV{'REQUEST_METHOD'} = 'GET';
         }
      }

in addition to the patch in my message
http://lists.w3.org/Archives/Public/www-annotation/2005JanJun/0017.html.

Matthew