Revision history for Perl extension Apache2::ASP. 1.59 2008-08-16 - Added missing file t/htdocs/virtualinclude.asp to the MANIFEST so all tests should pass now. 1.58 2008-08-06 - Now and work as you might expect. This means that Apache2::ASP will work nicely with DreamWeaver and other popular WYSIWYG's that can parse that sort of include directive. 1.57 2008-08-06 - Removed POD for Request->Document. Server-side DOM will have to wait. - New in this release is basic "Tags" support. See Apache2::ASP::Tag for details. 1.56_02 2008-08-02 - Added documentation for all Apache2::ASP::DOM::* classes. 1.56_1 2008-08-01 - Added preliminary support for "XMLSubs"-esque tags. - Added preliminary (experimental) support for (!simple!) server-side DOM. (**Does not merge $Response->Include()'ed DOM with parent DOM). 1.55 2008-07-13 - Apache2::ASP::SessionStateManager now uses the correct database connection. This problem would only come up when multiple Apache2::ASP web applications using different session data sources were running under the same Apache instance. - Ditto for Apache2::ASP::ApplicationStateManager. 1.54 2008-07-05 - Adjusted Apache2::ASP::MediaManager so that it will not unlink the /MEDIA directory if someone attempts to delete a file and neglects to specify which file should be deleted. - Also updated Apache2::ASP::MediaManager to more gracefully handle missing uploaded files. 1.53 2008-07-05 - Fixed a bug that caused Apache2::ASP::Config to die if no request filters were specified within the element in the config file. 1.52 2008-06-18 - While using Apache2::ASP::Test::Base, $ENV{APACHE2_ASP_APPLICATION_ROOT} is now persisted between requests. This means that if (somewhere else) you set $ENV{APACHE2_ASP_APPLICATION_ROOT} in your code, it will persist between requests. 1.51 2008-06-12 - Speed improvements, up to 100% faster now due to the following: - Added XML::Parser as a requirement. - Caching (in memory) Configuration data on a per-domain basis. 1.49 2008-05-29 - Memory leaks are now completely gone. - Speed improvements (20% faster than v1.47). 1.48 2008-05-27 - $Request->Form returns a singleton hash for the duration of a request. This means that modifications to the global $Form object are available to other "areas" of your web application for the rest of the same request. 1.47 2008-05-26 - $Request->QueryString('field') returns the querystring value for 'field'. - $Request->QueryString returns $ENV{HTTP_QUERYSTRING}. 1.46 2008-05-21 - Apache2::ASP::MediaManager::before_download() must return true before the filehandle is opened (for the file about to be downloaded). - Apache2::ASP::MediaManager's before_delete() and after_delete() methods are now also passed the full path to the file that is to be deleted. 1.45 2008-05-15 - Minor adjustments. 1.44 2008-05-14 - Minor speed improvements (20% faster). - Miscellaneous fixes here and there. 1.43 2008-05-13 - Fixed some damaged documentation. 1.42 2008-05-13 - New media manager tests didn't make it in to the last release. 1.41 2008-05-13 - Apache2::ASP::GlobalConfig will now also look 1 level "up" from the current working directory (retrieved from Cwd) for the apache2-asp-config.xml file. This is important for when you have (for example) an /sbin/ folder with asp-related scripts. - Added method $Server->URLDecode( $str ). - Minor tweaks to Apache2::ASP::MediaManager and Apache2::ASP::Test::UserAgent to allow testing of MediaManager classes/handlers from the command-line. - Added some missing POD for Apache2::ASP::Config and Apache2::ASP::Config::Node. - Added tests for Apache2::ASP::MediaManager. - Added tests for "wizard" functionality (multiple-step forms, anyways). - Skipped v1.40 because of the way CPAN handles version numbers. 1.39 2008-05-03 - Apache2::ASP::Response stores the buffer as an array instead of as a string. - Performance enhancements. - Better test coverage for several modules. - More tests. 1.38 2008-03-20 - Intrinsic ASP objects (Request, Response, etc) are now initialized for a handler and all of its super-classes. This fixes a bug in which handlers that subclass another handler (that subclasses yet another handler) will no longer receive errors when the parent class does a $Response->Redirect for example. - Apache2::ASP::MediaManager checks the 'mode' parameter and behaves differently based on its value. 1.37 2008-03-16 - Updated MANIFEST to include missing file t/lib/MyDBI.pm 1.36 2008-03-04 - Rewrote Apache2::ASP::Config and Apache2::ASP::GlobalConfig. - Removed Apache2::ASP::PostConfigHandler. - You no longer need to include the following in your httpd.conf: PerlModule Apache2::ASP::PostConfigHandler PerlPostConfigHandler Apache2::ASP::PostConfigHandler - Minor speed improvements as a result of cleaner config logic. 1.35 2008-02-27 - Removed all references to "use CGI" to reduce memory footprint and improve performance. - Added Apache2::ASP::SimpleCGI for use by Apache2::ASP::Test::UserAgent. - Added dependency HTTP::Body for Apache2::ASP::SimpleCGI to function. 1.34 2008-02-26 - Minor updates to Apache2::ASP::MediaManager. - Added a workaround to Apache2::ASP::GlobalConfig for the "internal dummy connection" issue. More details at http://wiki.apache.org/httpd/InternalDummyConnection 1.33 2008-02-25 - Fixed a bug that caused the intrinsic ASP objects (Request, Response, etc) to not be available at the right point in time for UploadHook subclasses (including subclasses of MediaManager). So now, calling $Response->Redirect(...) from sub after_create() will work. 1.32 2008-02-24 - Removed Application_OnStart and added Server_OnStart event to GlobalASA. - Added documentation to Apache2::ASP::Test::Base. - Added documentation to Apache2::ASP::Test::Fixtures. 1.31 2008-02-20 - Added $Session->reset() method. - Added Apache2::ASP::Test::Base. - Added dependancy Data::Properties::YAML - Added /etc/properties.yaml - Added Apache2::ASP::Test::Fixtures. - Added /etc/test_fixtures.yaml - Fixed a bug in Apache2::ASP::Request that caused forms with multiple values for the same parameter (i.e. 3 checkboxes named the same, but with different values) to only return 1 value. - Completely overhauled the test suite. No longer requires Apache::Test and should run find as root. More tests are needed, but at least what's there should run correctly. - Fixed a bug in Apache2::ASP::Config that caused errors when a Session or Application State Manager was not in @INC until after the section had been initialized. 1.29 2008-02-06 - Fixed a bug that caused Response->Include to misbehave when used in conjunction with RequestFilters. 1.28 2008-02-06 - Added $Response->Decline and changed the return value of $Response->End and $Response->Redirect to 0 and 302 respectively. - Now inside RequestFilters you can simply say 'return $Response->Declined' or 'return $Response->Redirect("/mypage.asp")' to exit the RequestFilter. - Documentation for RequestFilters and Response needs to be updated to reflect this change. 1.27 2008-02-06 - Moved the config section under config/web_application instead of config/web_application/settings. 1.26 2008-02-05 - Hotfix for config. Was crashing unless settings.request_filters was defined. 1.25 2008-02-05 - Added the concept of "Request Filters" as Apache2::ASP::RequestFilter. These are useful for centralizing authorization code. Request Filters are stackable. - Added config.web_application.settings.request_filters.filter and documented it in the documentation for Apache2::ASP::RequestFilter. - Request Filters will be considered experimental until v1.26 is released. 1.24 2008-01-17 - Fixes a problem with $Request->Cookies( $name ) that caused it to return undef instead of the cookie's value. - When Response->Include( $nonexistent_file ) is called, a simple diagnostic is printed to the buffer ("Cannot Response.Include '$file' - the file does not exist") and Carp::cluck dumps a stacktrace to STDERR. - If $Response->End or $Response->Redirect is called in Script_OnStart then the script is no longer processed. 1.23 2007-12-27 - Apache2::ASP::Config now only adds PAGE_CACHE and $Config->handler_root to @INC if they have not already been added before. - Apache2::ASP::Response no longer flushes headers after Response.Include(). 1.22 2007-12-18 - Fixed a bug that caused changes in the $Session object made from within $Response->Include() and $Response->TrapInclude() to not persist. - Removed warnings like this: Use of uninitialized value in substitution (s///) at /usr/lib/perl5/site_perl/5.8.5/Apache2/ASP/Server.pm line 40. - $Session->save() does not (wastefully) persist $s->{asp} any longer. - Apache2::ASP::Request was handling cookies wrong. This behavior has been improved. Still does not handle expiration yet (this can be done with $Response->AddHeader(...) ). - Improved (fixed) problems associated with running multiple Apache2::ASP-powered websites under the same Apache server under different VirtualHosts. Now expects PerlOptions +Parent and PerlSetEnv APACHE2_ASP_APPLICATION_ROOT /path/to/your/root inside of directives. 1.21 2007-12-04 - Bugfixes to Apache2::ASP::Request and Apache2::ASP::Response. - *Recommended* upgrade to this version if you are running any previous version. 1.20 2007-10-22 - Updated Makefile.PL to compile even if Apache::Test is not installed. - Added requirement Apache2::Directive. 1.19 2007-10-20 - Minor updates in preparation for the release of Apache2::ASP::WebApp. 1.18 2007-10-20 - Added before_run() and after_run() methods to Apache2::ASP::Handler. These methods can be overridden by subclasses and executed before and after the "run()" method is called. 1.17 2007-10-20 - Updates for Apache2::ASP::Test::UserAgent. - Updates for Apache2::ASP::Test::MockRequest. 1.16 2007-10-20 - Adjusted Apache2::ASP::Config and Apache2::ASP::GlobalConfig to properly support support running multiple websites under one Apache instance. - Removed "sticky forms" support. 1.15 2007-07-03 - Added several new pages to the Manual. - /handlers/My_Handler and /handlers/My/Handler both map to My::Handler for the package and /handlers/My/Handler.pm for the filename. - Updated documentation in several places. - Local GlobalASA.pm class is now required to use web_application.application_name + '::GlobalASA' as its package name. So if web_application.application_name = "DefaultApp" then it would say: package DefaultApp::GlobalASA; use base 'Apache2::ASP::GlobalASA'; ... - Multiple Apache2::ASP web applications can now be run on the same machine. - Successfully installed on Windows, but it requires some work. And performance is bad. 1.14 2007-06-30 - $Form data is only forwarded if a page is posting back to itself (i.e. - paging through a recordset) or if the form was posted to a FormHandler class. 1.13 2007-06-30 - Apache2::ASP::Config is subclassable. - Added element in config XML file. - Added $Config->settings->(lib|dsn|username|password) to $Config object. - $Config->settings->lib is added to @INC automatically. 1.12 2007-06-29 - Stabilized off-line web application testing API. 1.11 2007-06-29 - Apache2::ASP::Test::MockRequest was missing Cwd::cwd(). 1.09 2007-06-29 - Added POD for Apache2::ASP::Test::UserAgent. - ApplicationStateManager and SessionStateManager are both Ima::DBI subclasses. - Added dependency Ima::DBI. - Removed dependency Apache::DBI. 1.08 2007-06-28 - Fixed bug "Upload hook failed: Can't call method "isa" on an undefined value at ..." - Fixed bug that resulted in multiple cookies being created on the initial request, when the first ASP script to be rendered contained Include() or TrapInclude() calls. - Added HTML::FillInForm as a dependency. - Added built-in "sticky forms" for all ASP scripts, exclusive of UploadHandler subclasses. - Began new offline test framework. - Added Apache2::ASP::Test::UserAgent. - Added Apache2::ASP::Test::MockRequest. - Updated Apache2::ASP::Request to work within the new test framework. - Removed some tests that need to be rewritten with the new test framework. - Updated some other tests to work with the new test framework as they are. - Added dependencies HTTP::Request::AsCGI, HTML::FillInForm and CGI::Simple. 1.07 2007-06-23 - Fixed a bug that caused 404 errors to return a blank page instead of the standard '404 Not Found' message. - Adjusted POD so that Apache2::ASP::Manual::Intro shows up correctly. 1.06 2007-06-23 - Fixed a bug in Apache2::ASP::PageHandler that caused a bug in which changed ASP scripts would not be reloaded by other Apache processes after the first Apache process had recompiled the *.pm file as a result of the ASP script being changed. 1.05 2007-06-23 - $Application->save() is now called at the end of each (non-error) request. 1.04 2007-06-23 - GlobalASA::Script_OnFlush is only called when the current handler isa Apache2::ASP::PageHandler. 1.03 2007-06-23 - Updated Apache2::ASP::PageHandler to correctly decide whether an ASP script should be recompiled or not. 1.02 2007-06-23 - Apache2::ASP::Manual::Intro was changed from *.pod to *.pm so that CPAN would index it properly. 1.01 2007-06-22 - Fixed POD in Apache2::ASP::Config. - Apache2::ASP::Config now verifies the validity of web_application.domain_re values. 0.18 2007-06-22 - Completely rewrote almost everything. - Almost everything not rewritten was refactored. - Added tests to achieve nearly 100% code coverage. - Changed the interface for Apache2::ASP::Handler. - Changed the interface for Apache2::ASP::UploadHandler. - Changed the interface for Apache2::ASP::MediaManager. - ASP scripts are converted into *.pm files, then loaded via require(). - If the ASP has not changed, we don't recompile the ASP. - If the ASP did change since the *.pm file was written, we recompile the ASP. - I hope to be able to perform code coverage testing on ASP scripts at some point. - Added Apache2::ASP::Config. - Changed the apache2-asp-config.xml format to support Apache2::ASP::Config. - Added Apache2::ASP::PostConfigHandler. - Added Apache2::ASP::PageHandler. - Added Apache2::ASP::ApacheRequest. - Added Apache2::ASP::UploadHook. - Added Apache2::ASP::UploadHookArgs. - Added Apache2::ASP::TransHandler. - Broke out Apache2::ASP::Application into ApplicationStateManager and its database-specific subclasses (*::SQLite, *::MySQL, etc). - Broke out Apache2::ASP::Session into SessionStateManager and its database-specific subclasses (*::SQLite, *::MySQL, etc). - Added the ability to subclass Apache2::ASP::Base. - Apache2::ASP is now a subclass of Apache2::ASP::Base. - Code coverage (on average) is above 90% - Added requirements that the directory @ServerRoot@/PAGE_CACHE must exist and must be readable/writable by the server process. - Added the ability to have several web applications defined in one apache2-asp-config.xml file. - Added documentation for all classes. 0.17 2007-06-03 - Added the ability to subclass Apache2::ASP::Application - Added the ability to subclass Apache2::ASP::Session - Added the register_mode() method to Apache2::ASP::Handler 0.16 2007-06-02 - Added tests for Apache2::ASP::MediaManager. - Updated documentation for Apache2::ASP::MediaManager. - Updated documentation for Apache2::ASP. 0.15 2007-06-02 - Added the ability to register "mode" handlers for subclasses of Apache2::ASP::MediaManager. 0.14 2007-05-31 - Fixed a bug in the Apache2::ASP::Parser that would cause an error if it encountered a ~ in an ASP script. 0.13 2007-05-31 - Extended Apache2::ASP::MediaManager - Updated documentation for Apache2::ASP::MediaManager - Added Apache2::ASP::URLFilter - Updated INSTALLATION instructions in the documentation for Apache2::ASP 0.12 2007-05-30 - Added Apache2::ASP::MediaManager - Fixed documentation for Apache2::ASP::UploadHandler 0.11 2007-05-30 - Fixed inaccurate documentation about the table structure for Sessions. 0.10 2007-05-30 - Minor bugfixes. 0.09 2007-05-30 - Updated "Changes" - Updated tests' httpd.conf (removed erroneous comments) - Refactored Apache2::ASP::handler 0.08 2007-05-29 - Added Apache2::ASP::UploadHandler - Added Apache2::ASP::CGI - Added tests for UploadHandler - Updated documentation - Added database-persistence for Application state - Added tests for Apache2::ASP::Application 0.07 2007-05-25 - Updated documentation for Apache2::ASP::Handler 0.06 2007-05-25 - Previous releases did not include the test suite. 0.05 2007-05-25 - Condensed Apache2::ASP::Session and Apache2::ASP::Session::Instance - Updated documentation and tests for Session change. - Updated version number to 0.05 across all modules. 0.04 2007-05-25 - Updated Apache2::ASP's handling of Handlers. - Updated documentation and tests. 0.03 2007-05-25 - Added Apache2::ASP::Handler. - Updated documentation. - Updated tests to include Apache2::ASP::Handler. - Updated Makefile.PL to account for all prerequisites. - Lowered the minimum versions for several prerequisites. 0.02 2007-05-24 - Added documentation. 0.01 Wed May 23 13:51:46 2007 - original version; created by h2xs 1.23 with options -AXn Apache2::ASP