Hey,

The latest version of Apache::ASP v.18 is up in your
local CPAN, or 

  http://www.perl.com/CPAN-local/modules/by-module/Apache/

The biggest deal in this release is cookieless session support,
which might become more of an issue for sites with the likes
of DoubleClick scaring off users from using cookies.  Cookieless
session support is tricky business, and you can read on a 
couple of implementations at:

  http://www.nodeworks.com/asp/cookies.html
  http://www.nodeworks.com/asp/config.html#Cookieless%20Sessions

and see them in action at:

  http://www.nodeworks.com/asp/eg/session.asp
  http://www.nodeworks.com/asp/eg/session_query_parse.asp

Below is a list of changes for this module, or if you want a
historical look, check out:

  http://www.nodeworks.com/asp/changes.html

Major new config settings include UseStrict, StatScripts, 
FileUploadMax, FileUploadTemp, SessionQuery*, and StateSerializer
which you can view at:
  
  http://www.nodeworks.com/asp/config.html

ENJOY!

-- Joshua
_________________________________________________________________
Joshua Chamas                           Chamas Enterprises Inc.
NodeWorks >> free web link monitoring   Huntington Beach, CA  USA 
http://www.nodeworks.com                1-714-625-4051

 +Documented SessionQuery* & $Server->URL() and
  cleaned up formatting some, as well as redoing
  some of the sections ordering for better readability.
  Document the cookieless session functionality more
  in a new COOKIES section.  Also documented new
  FileUpload configs and $Request->FileUpload collection.
  Documented StatScripts.

 +StatScripts setting which if set to 0 will not reload
  includes, global.asa, or scripts when changed.

 +FileUpload filehandles cleanup at garbage collection
  time so developer does not have to worry about lazy coding
  and undeffing filehandles used in code.  Also set
  uploaded filehandles to binmode automatically on Win32
  platforms, saving the developer yet more typing.

 +FileUploadTemp setting, default 0, if set will leave
  a temp file on disk during the request, which may be
  helpful for processing by other programs, but is also
  a security risk in that others could potentially read
  this file while the script is running.

  The path to the temp file will be available at
  $Request->{FileUpload}{$form_field}{TempFile}.
  The regular use of file uploads remains the same
  with the <$filehandle> to the upload at
  $Request->{Form}{$form_field}.

 +FileUploadMax setting, default 0, currently an
  alias for $CGI::POST_MAX, which determines the
  max size for a file upload in bytes.

 +SessionQueryParse only auto parses session-ids
  into links when a session-id COOKIE is NOT found.
  This feature is only enabled then when a user has
  disabled cookies, so the runtime penalty of this
  feature won't drag down the whole site, since most
  users will have cookies turned on.

 -StatINC & StatINCMatch will not undef Fnctl.pm flock
  functions constants like O_RDWR, because the code references
  are not well trackable.  This would result in sporadic 500 server
  errors when a changed module was reloaded that imported O_* flock
  functions from Fnctl.

 +SessionQueryParse & SessionQueryParseMatch
  settings that enable auto parsing session ids into
  URLs for cookieless sessions.  Will pick up URLs in
  <a href>, <area href>, <form action>, <frame src>,
  <iframe src>, <img src>, <input src>, <link href>
  $Response->Redirect($URL) and the first URL in
  script tags like <script>*.location.href=$URL</script>

  These settings require that buffering be enabled, as
  Apache::ASP will parse through the buffer to parse the URLs.

  With SessionQueryParse on, it will just parse non-absolute
  URLs, but with SessionQueryParseMatch set to some server
  url regexp, like http://www.mysite.com, will also parse
  in the session id for URLs that match that.

  When testing, the performance hit from this parsing
  a script dropped from 12.5 hits/sec on my WinNT box
  to 11.7 hits per second for 1K of buffered output.
  The difference is .007 of my PII300's processing power
  per second.

  For 10K of output then, my guess is that this speed
  of script, would be slowed to 6.8 hits per second.
  This kind of performance hit would also slow a
  script running at 40 hits per second on a UNIX box
  to 31 hits/sec for 1K, and to 11 hits/sec for 10K parsed.

  Your mileage may vary and you will have to test the difference
  yourself.  Get yourself a valid URL with a session-id in
  it, and run it through ab, or socrates, with SessionQuery
  turned on, and then with SessionQueryParse set to see
  the difference.  SessionQuery just enables of session id
  setting from the query string but will not auto parse urls.

 -If buffering, Content-Length will again be set.
  It broke, probably while I was tuning in the past
  couple versions.

 +UseStrict setting compiles all scripts including
  global.asa with "use strict" turned on for catching
  more coding errors.  With this setting enableb,
  use strict errors die during compilation forcing
  Apache::ASP to try to recompile the script until
  successful.

 -Object use in includes like $Response->Write()
  no longer error with "use strict" programming.

 +SessionQuery config setting with $Server->URL($url, { %params } )
  alpha API extensions to enable cookieless sessions.

 +Debugging not longer produces internal debugging
  by default.  Set to -1,-2 for internal debugging
  for Debug settings 1 & 2.

 +Both StateSerializer & StateDB can be changed
  without affecting a live web site, by storing
  the configurations for $Application & $Session
  in an internal database, so that if $Session was
  created with SDBM_File for the StateDB (default),
  it will keep this StateDB setting until it ends.

 +StateSerializer config setting.  Default Data::Dumper,
  can also be set to Storable.  Controls how data is
  serialized before writing to $Application & $Session.

 +Beefed up the make test suite.

 +Improved the locking, streamlining a bit of the
  $Application / $Session setup process.  Bench is up to
  22 from 21 hits / sec on dev NT box.

 +Cut more fat for faster startup, now on my dev box
  I get 44 hits per sec Apache::ASP vs 48 Embperl
  vs 52 CGI via Apache::Registry for the HelloWorld Scripts.

 -Improved linking for the online site documentation,
  where a few links before were bad.

Reply via email to