The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl module OpenFrame: 


Changes made by Andy Wardley, 17th July 2002:

	- added ofDEBUG_* constants

	- added OpenFrame::warn to OpenFrame.pm (should probably go
	  somewhere else but I couldn't find an OpenFrame::Utility or
	  similar so I dumped it here for now.

	- changed most, but not all modules to call &warn(...) rather
	  than warn() which allows a symbol table alias to map it to
	  Openframe::warn().  This adds the '[component]' prefix
	  (e.g. [config]) to the message based on the module name that
	  called iti, with 'OpenFrame::' prefix stripped and converted
	  to lower case (e.g. OpenFrame::Slotstore => slotstore).
	  Also optionally adds file and line info (as per CORE::warn)
	  if ofDEBUG_VERBOSE is set.
  
	- changed above modules to use their own $DEBUG flag rather
	  than the global $OpenFrame::DEBUG variable.  Each $DEBUG var
	  is the logical AND of $OpenFrame::DEBUG and an ofDEBUG_*
	  flag, e.g. for OpenFrame::SlotStore, 

            $DEBUG = $OpenFrame::DEBUG & ofDEBUG_STORE.  

          This then allows the $OpenFrame::DEBUG variable to define 
          which components should generate debug messages as a logical 
          OR of these flags, e.g.
	  
            $OpenFrame::DEBUG = ofDEBUG_STORE | ofDEBUG_GENERATOR.

2.12 ????
	- changed Slot::Dispatch to warn if there is an error loading
           a particular application. Got annoying having to turn debugging
           on for such an obvious case.
        - new single-process OpenFrame::Server::HTTPPoe server (and tests)
        - cache the File::MMagic information in OpenFrame::Slot::Images
           and OpenFrame::Slot::HTML for speed reasons
        - move from FileHandle to IO::File as FileHandle no longer really
           exists
        - fixed memory leak in OpenFrame::SlotStore
        - while waiting for the introduction of drivers, have added 
          last modified time to OpenFrame::Response so that static
          content can be cached by drivers
        - updated OpenFrame::Slot::Session docs
        - no longer save the request parameters as part of the session
          in OpenFrame::Slot::SessionSaver
	- fix problem with trying to call what() on modules that don't exist
	- removed warnings during a few tests
	- fix weird POE uploading bug
	- changed docbuilder.pl to use File::Find::Rule

2.11 Fri Mar 22 14:33:55 GMT 2002
	- changed SimpleGenerator to use Storable's dclone()
	  which is more robust than Data::Dumper
	- fixed embarrassing bug with file upload containing \r\n
	- added OpenFrame version to Apache Server header
	- bumped up version numbers in in OF::* to stop CPAN complaining.
	- fixed redirects under Apache and cope with non-port-80
          httpd servers
	- OF::Slot::NoImages now positively checks for image MIME type
	- added the slots2 test to the distribution

2.10 Wed Feb 27 14:29:17 GMT 2002 [NEVER RELEASED]
	- make more use of File::Spec to be more portable and clever
        - clean up filehandles left behind from file uploads before
          saving the session
	- major rename: renamed OpenFrame::AbstractCookie,
	  OpenFrame::AbstractRequest, OpenFrame::AbstractResponse to
	  OpenFrame::Cookietin, OpenFrame::Request, OpenFrame::Response -
	  (and tests) your custom slots and applications will have to
	  be changed!
	- switched the meaning of "name" and "namespace" around for
	  applications dispatched via OpenFrame::Slot::Dispatch to be
	  more consistent. Now "name" is always the module name and
	  "namespace" here is the session namespace. Your configs with
	  custom applications will have to be changed!
	- renamed OpenFrame::SlotStore's lookup / store methods to
          get / set to be more consistent
        - "use OpenFrame" will now load in OpenFrame::Config,
          OpenFrame::Cookietin, OpenFrame::Request, OpenFrame::Response,
          and OpenFrame::Slot to save you some typing
	- OF::Slot::Image now positively checks for image MIME type
	- simplify Games::GuessWord logic by using new version
	- $epoints subref now default to "default"
        - changed OpenFrame::Slot to short-circuit slots when an
          OpenFrame::Response is returned, and to correctly run cleanup
          slots in the case of short-circuiting.
        - moved OpenFrame::SlotStore into a module of its own

2.09 Wed Jan 30 15:02:54 GMT 2002
	- fix to make sure we send cookies with a / path
	- promoted OpenFrame::Slot::SimpleGenerator to a real slot
          that we ship with OpenFrame as it is useful for testing
          OpenFrame applications
	- fixed "Odd number of elements in hash assignment" bug
	  in OpenFrame::Server::HTTP
	- OpenFrame::Server::HTTP can now cope with redirects
          (and new redirect example)
	- added information about the new OpenFrame mailing list
          and IRC channel
	- set TT2's COMPILE_EXT to ".tt2" instead of "tt2" in
	  OpenFrame::Slot::Generator
	- allow $epoints to be a subroutine reference to allow
	  more flexibility (they are passed the request arguments)
	- yet another session change: sessions are now implemented
	  using Cache::Cache rather than Apache::Session. Cache::Cache
	  is easier to install, simpler and faster

2.08 Fri Jan  4 15:07:52 GMT 2002
        - updated docs in OpenFrame::Response
	- minor bugfix to OpenFrame::Server::HTTP where having a
	  parameter value contain an ampersand was causing a failure
	- apps now can return stuff that is put on the slot stack
          this will [probably] remain an undocumented feature.
          Don't want to give the impression that we are suggesting
          a blend of functionality and presentation :-)
	- changed from using Games::WordGuess to Games::GuessWord (as
	  the former has disappeared from CPAN)

2.07 Thu Dec 13 16:01:20 GMT 2001
	- new OpenFrame::Server::HTTPSingle which does not fork and
	  thus can be used for benchmarking / testing easier that
	  OpenFrame::Server::HTTP
	- performance improvement in OpenFrame::Slot::Generator - we
	  no longer generate a new TT object each time
	- tested on 18 varied platforms (see OpenFrame.pm)
	- more tests, docs, minor bugfixes

2.06 Thu Dec  6 11:01:05 GMT 2001
	- removed warning in OpenFrame::Config
	- more docs: OpenFrame, OpenFrame::Install
	- complete redesign of OpenFrame::Cookie
	- new Apache example, which shows OpenFrame being served
	  by Apache and mod_perl
	- new OpenFrame::Server::SOAP (and example), which allows OpenFrame
	  systems to be accessed over SOAP rather than HTTP
        - new slots to parse XML documents and perform XSL transforms
          in OpenFrame::Slot::XML and OpenFrame::Slot::XSLT
	- new OpenFrame::Server::Zeus (and example) to allow the Zeus web 
	  server to serve OpenFrame applications

2.05 Fri Nov 30 13:59:45 GMT 2001
	- Slots can now run remotely via SOAP - see the soap example
	- Applications can now run remotely via SOAP - see the soap_app example
	- OpenFrame::Server::HTTP is now more stable (and has a test)
	- minor bugfixes

2.04 Thu Nov 22 12:26:06 GMT 2001
	- completely changed session implementation: instead of rolling our
	  own we now use the excellent Apache::SessionX (which is not 
	  dependent on Apache, despite the name). The "sessiondir"	
	  config parameter is now obsolete
	- new OpenFrame::Slot::Debugger and example
	- OpenFrame::Server::HTTP now preforks (and can do file uploads)
	- no longer produce warnings when under -w or "use warnings".
          To enable tracing through openframe, enable debugging by
          using: $config->setKey(DEBUG => 1);
	- made sure errors were being passed around (and new error test)
	- new file upload example

2.03 Mon Nov 13 17:12:56 GMT 2001
	- added documentation (all examples, OpenFrame::Application, 
          OpenFrame::Constants, OpenFrame::Slot::*)
	- fixed per-application configuration to actually work
	- OpenFrame::Server::HTTP now takes a port parameter
	  instead of using the general configurations. It also can
          now handle POSTs
        - new Eliza example

2.02 Mon Nov 12 16:56:09 GMT 2001
        - added OpenFrame::Server::HTTP for use without Apache
	- added OpenFrame::Slot::Images and OpenFrame::Slot::HTML
	  to serve static images and HTML files
	- lots of minor fixes
	- added more documentation
	- added hangman example (with and without templates, and test)
	- added webserver example (and test)
	- moved from Java naming (getValue, setValue) to Perlish naming
	  (value(), value($value))
	- removed attribute usage
	- config file has changed significantly, slots carry their own
          configuration now, which means that the config file is much
          cleaner
	- applications dispatched by Slot::Dispatch also get their own
          configuration, which is passed to the application
        - slots can return another slot to push onto the slot list by
          returning a class name rather than an object
        - the slot pipe magically shortens *only* if the response contains
          an ofREDIRECT of an ofDECLINE message code

2.01 Fri Nov  2 17:00:00 GMT 2001
        - fixed abstract cookies bug
        - added OpenFrame::Server::Direct for testing and other delights
 
2.0  Fri Nov  2 10:37:13 GMT 2001 
        - first released version