- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Thu, 4 Apr 2002 15:04:43 -0500
- To: Matthew Wilson <matthew@mjwilson.demon.co.uk>
- Cc: www-annotation@w3.org
On Tue, Mar 12, 2002 at 07:19:36PM +0000, Matthew Wilson wrote: > Here is patch describing the changes I made to code to get the annotation > server running (compiling, not fully functioning) on Windows NT. > > Notes: > 1. Both access and annotate have the first line changed to point to the > directory of the Perl executable. [-- In fact I've just noticed that access > replaces the parameter with a new value. I meant to delete it, as in the > annotate script.] declined [windowsTempDir] - I haven't put these patches in the main branch as I'd rather not do heuristics if perl has a notion of a system temp dir. It probably doesn't, and I'll probably end up testing directories, but oh well. > 2. Both access and annotate have the 'storeIn' parameter removed from the > Debug constructor. This leaves the W3CDebugCGI object to determine the > directory. declined - see windowsTempDir > 3. Fixed a small error in the namespace exception object (I think). incorporated > 4. Changed W3CDebugCGI to use the built-in time function instead of `date` > (since the output of the `date` command is OS-dependent). (The only change > here is that a numerical value of the day of the week is used instead of > the name of the day of the week). This change should work cross-platform. > Similarly the stuff with syscall is replaced by the use of the module > Time::HiRes, available from CPAN and easily installed on Windows systems. > Again this change should work cross-platform. incorporated [1] > 5. Changed W3CDebugCGI to default to the directory C:/temp instead of /tmp. > Probably this should be changed to do some -d tests to try and find an > existing directory. declined - see windowsTempDir > The configuration also needed some changing, in particular, in the Conf > directory, a file annotate.prop was needed with an entry > > auth.database.parms: -type => 'sdbm', -file => '[path to DBM user file]' excellent - you tracked down the db type! > The path here should use forward-slashes as a directory separator, not > backslashes. > > This still does not make the server fully functional. After POSTing a > couple of annotations, trying to retrieve them gave the errors hopefully these are fixed now. > Error dumping > [http://localhost/annotate/attribution/1015861599.94000#genid1]: > unknown namespace: "W3C" '((?p W3C::Rdf::Uri=HASH(0x27bfacc) ?o) > Error dumping > [http://localhost/annotate/attribution/1015862081.618000#genid1]: > unknown namespace: "W3C" '((?p W3C::Rdf::Uri=HASH(0x27bb138) ?o) > > Not sure why this is the case. These may be fixed now. I had a serialization problem in the main branch for an good while. Let me know. > Matthew > > Index: perl/modules/W3C/Annotations/CGI/access > =================================================================== > RCS file: /sources/public/perl/modules/W3C/Annotations/CGI/access,v > retrieving revision 1.31 > diff -u -r1.31 access > --- access 2001/07/23 01:43:08 1.31 > +++ access 2002/03/12 12:40:52 > @@ -1,4 +1,4 @@ > -#!/usr/bin/perl > +#!D:/Perl/bin/perl > > ## accounts: an account administrator designed for use > # with the W3C Annotations project. > @@ -68,7 +68,7 @@ > eval { > $W3C::Util::W3CDebugCGI::DEBUG_SESSION = $ARGV[1]; # use a session id > like 957296047.909868; > $query = new W3C::Util::W3CDebugCGI($0, $ARGV[0] eq 'DEBUG', > - {-storeIn => '/tmp', > + {-storeIn => 'C:/temp', > -dieNoOpen => 1, -logExt => '.log', > -rerun => 'w3c_rerun', > -reconstruct => 'reconstruct'}); > Index: perl/modules/W3C/Annotations/CGI/annotate > =================================================================== > RCS file: /sources/public/perl/modules/W3C/Annotations/CGI/annotate,v > retrieving revision 1.129 > diff -u -r1.129 annotate > --- annotate 2002/03/08 22:37:42 1.129 > +++ annotate 2002/03/12 12:40:52 > @@ -1,4 +1,4 @@ > -#!/usr/bin/perl > +#!D:/Perl/bin/perl > > ## W3C annotate - store annotations into, and query from, a persistant RDF DB > > @@ -199,7 +199,6 @@ > $query = new W3C::Util::W3CDebugCGI($0, $ARGV[0] eq 'DEBUG', > {-dieNoOpen => 1, > -logExt => '.log', > - -storeIn => '/tmp', > -rerun => 'w3c_rerun', > -mergeQueryAndPOST => 1}); > > @@ -805,8 +804,8 @@ > <hr /> > <h2><a name=\"byUri\">Query Annotations</a></h2> > <form method=\"get\" action=\"$selfUri\"> > - annotation to retreive: <input name=\"w3c_annotation\" size=55 > value=\"$displayAnnotationId\"><br> > - body to retreive: <input name=\"w3c_body\" size=55 > value=\"$displayBodyId\"><br> > + annotation to retrieve: <input name=\"w3c_annotation\" size=55 > value=\"$displayAnnotationId\"><br> > + body to retrieve: <input name=\"w3c_body\" size=55 > value=\"$displayBodyId\"><br> > uris to check for annotations: <input name=\"w3c_annotates\" size=55 > value=\"$displayAnnotates\"><br> > threads: <input name=\"w3c_replyTree\" size=55 > value=\"$displayThread\"><br> > <textarea name=\"w3c_algaeQuery\" rows=\"13\" > cols=\"100\">$displayAlgaeQuery</textarea><br> so i don't spel so gude > Index: perl/modules/W3C/SAX/HandlerBase.pm > =================================================================== > RCS file: /sources/public/perl/modules/W3C/SAX/HandlerBase.pm,v > retrieving revision 1.41 > diff -u -r1.41 HandlerBase.pm > --- HandlerBase.pm 2001/12/17 17:55:29 1.41 > +++ HandlerBase.pm 2002/03/12 12:40:54 > @@ -25,7 +25,7 @@ > my ($proto, @parms) = @_; > my $class = ref($proto) || $proto; > my $self = $class->SUPER::new(@parms); > - $self->missingParm('-namespace') if (!$self->{-target}); > + $self->missingParm('-namespace') if (!$self->{-namespace}); > $self->fillInStackTrace; > return $self; > } fixed - not recorded in bug history > Index: perl/modules/W3C/Util/W3CDebugCGI.pm incorporated the following with one change: > =================================================================== > RCS file: /sources/public/perl/modules/W3C/Util/W3CDebugCGI.pm,v > retrieving revision 1.76 > diff -u -r1.76 W3CDebugCGI.pm > --- W3CDebugCGI.pm 2002/02/27 09:45:58 1.76 > +++ W3CDebugCGI.pm 2002/03/12 12:40:55 > @@ -44,27 +44,25 @@ > $self = {%$headerLineOrNameOrSibling}; > $self->{ENTRY_TYPE} = $entryType; > } else { > - require 'sys/syscall.ph'; > - my $timestamp=pack('LL', ()); > - syscall( &SYS_gettimeofday, $timestamp, 0) != -1 || > - &throw(new W3C::Util::Exception(-message => "gettimeofday: $!")); > - my @timestamp = unpack('LL', $timestamp); > + use Time::HiRes qw/gettimeofday/; > + my @timestamp = gettimeofday(); > + $self->{SESSION_ID} = $timestamp[0].'.'.$timestamp[1]; > + my $timestamp = $self->{SESSION_ID}.' '.`date`; > + > my $sessionId = $timestamp[0].'.'.$timestamp[1]; > - my $dateStr = `date`; > - if ($dateStr !~ m/^(\w+) (\w+)\s+(\d+) (\d+):(\d+):(\d+) (?:(\w+) > )?(\d+)$/) { > - &throw(new W3C::Util::Exception(-message => "bad date \"$dateStr\"")); > - } > + > + my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = > localtime(time); > $self = {NAME => $headerLineOrNameOrSibling, > ENTRY_TYPE => $entryType, > SESSION_ID => $sessionId, > - DAY => $1, > - MON => $MonStrToNum{$2}, > - DATE => $3, > - HOUR => $4, > - MIN => $5, > - SEC => $6, > - ZONE => $7, > - YEAR => $8}; > + DAY => $wday, # should be _name of_ day of week > + MON => 1+$mon, > + DATE => $mday, > + HOUR => $hour, > + MIN => $min, > + SEC => $sec, > + ZONE => $ENV{'TZ'}, ZONE => $ENV{'TZ'} || 'NA', defaults to 'NA' I'll miss this little timezone guy, but I guess we have to move on. > + YEAR => 1900+$year}; > } > } else { > if ($headerLineOrNameOrSibling !~ m/^([^\s]+) (\w+ )?([0-9\.]+) (\w+) > (\w+)\s+(\d+) (\d+):(\d+):(\d+) (?:(\w+) )?(\d+)$/) { > @@ -207,7 +205,7 @@ > $scriptName =~ m/([\w\-\.]+)/; > $scriptName = $1; > $reUseCGI = 0 if (!defined $reUseCGI); > - $storeIn = '/tmp/' if (!defined $storeIn); > + $storeIn = 'C:/temp/' if (!defined $storeIn); > $storeIn .= '/' if($storeIn !~ /\/\Z/); > my ($baseName, $self); > #($baseName = $scriptName) =~ s/^.*\/([^\/\.]+).*$/$1/; > [1] http://www.w3.org/2001/Annotea/User/Serverversions#V2_0_bugsAddressed -- -eric (eric@w3.org) Feel free to forward this message to any list for any purpose other than email address distribution.
Received on Thursday, 4 April 2002 15:04:45 UTC