-
-
23 Jun 2005 00:17:20 UTC
- Development release
- Browse (raw)
- Changes
- How to Contribute
- Issues (0)
- Testers (2 / 5 / 0)
- Kwalitee
Bus factor: 2- License: perl_5
- Activity
24 month- Tools
- Download (367.75KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- Dependencies
- Apache::Request
- CGI
- Cache::Cache
- Class::Container
- Exception::Class
- File::Spec
- Params::Validate
- Scalar::Util
- mod_perl
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
Changes for version 1.29_02
- ENHANCEMENTS
- ** Support for mod_perl-2.00 (mod_perl-1.99 is no longer supported because of API changes in 2.0RC5).
- Mason recovers more gracefully from an empty or corrupted object file. Task id #579.
- BUG FIXES
Changes for version 1.29_01
- INCOMPATIBLE CHANGES
- ** Mason now requires Perl 5.6.0 or later. However, because 5.6.0 has so many problems, it cannot be officially supported; we strongly recommend upgrading to at least 5.6.1.
- ** Mason now requires version 1.24 of mod_perl in the ApacheHandler module.
- ** The behaviors of $m->flush_buffer and $m->clear_buffer have been simplified. $m->flush_buffer only acts on the top-level output buffer; $m->clear_buffer clears all output buffers. Task id #554.
- ** max_code_cache_size is now kept in terms of number of components, not bytes, and its default value is 'unlimited'.
- ** Components with a <%filter> and a cache_self are no longer cached in their filtered state. Performance-related code simplifications made this behavior difficult to maintain. Long term this would be easier to implement with a cache_self component <%flag>.
- ** All compiler properties are now read-only. If you need to change compiler properties on a per-request basis, you'll need to create multiple compiler and interpreter objects.
- ** comp_exists may try to load the designated component, and may throw an error if it contains a syntax error.
- ** The current_time method, deprecated in 1.1x, has been removed.
- ** The HTML::Mason::Buffer class has been eliminated for performance reasons. You can use separate components, methods, or subcomponents and scomp to achieve the same effects as buffer pushes and pops.
- ENHANCEMENTS
- Significantly improved performance in component execution, especially in static_source mode.
- Added static_source_touch_file, making it much easier to update a server running in static_source mode.
- Added a plugin architecture. Plugin classes can perform actions at key points, e.g. before and after each request and each component call. See HTML::Mason::Plugin for documentation. Task id #24. Initial implementation by Doug Treder.
- Added the ability to change component root(s) on the fly if the dynamic_comp_root parameter is turned on. Task id #561. Suggested by Alex Robinson.
- Added enable_autoflush parameter. When turned off, Mason can compile components to a more efficient form.
- Changed the </&> tag to allow the starting component name to be included. e.g. <&| /foo &> ... </& /foo >. Task id #556. Suggested by Alex Robinson, John Williams, and others.
- Moved the notion of component roots (single and multiple) from the Resolver to the Interpreter. This improved the performance of multiple component roots in conjunction with static source mode. Any resolver, file-based or otherwise, can benefit from component root settings or choose to ignore them.
- Added the compiler object_id to the object file path, so that multiple versions of Mason do not collide in the same object directory. Task id #569.
- Added .obj (or a configurable extension) to object filenames. Task id #152. Suggested by John Tobey.
- Added $m->clear_and_abort, syntactic sugar for the common idiom of calling clear_buffer() and then abort(). Task id #505.
- Added an official comment syntax, <% # ... %>, and documented the various comment markers in the developer's manual. Task id #566.
- Added buffer_preallocate_size parameter, which allows you to potentially reduce buffer reallocations.
- Augmented the 'could not find component' error message with the current component root(s). Task id #562.
- BUG FIXES
- Mason now throws an error if the path specified in a component's 'inherit' flag cannot be found. Task id #480.
- Fixed comp_exists to work with any path accepted by comp or fetch_comp, and fixed fetch_comp to stop throwing errors for certain bad paths. Task id #572.
- Fixed $m->decline to work from /dhandler. Task id #573. Submitted by Carl Raiha.
- Using 'next' or 'last' without a loop can no longer corrupt the component stack. Task id #539.
Documentation
Mason Administrator's ManualMason Developer's ManualMason configuration parametersDocumentation on Subclassing Internal Mason classesModules
A bundle to install the HTML::Mason packageHigh-performance, dynamic web site authoring systemMason/mod_perl interfaceUse Mason in a CGI environmentBase cache objectCompile Mason component sourceA Compiler subclass that generates Mason object codeMason Component ClassMason File-Based Component ClassMason Subcomponent Classrepresents information about an componentFunctions to escape text for MasonException objects thrown by MasonAn Apache object emulator for use with MasonMason Component InterpreterGenerates events based on component source lexingUsed to create simple get & get/set methods in other classesOld module for compiling componentsPlugin Base class for Masonencapsulates arguments passed to plugin methodsMason Request ClassComponent path resolver base classComponent path resolver for file-based componentsa do-nothing resolverTest harness for testing MasonFunction library used internally in MasonPublically available functions useful outside of MasonProvides
in lib/Apache/Mason.pmin lib/HTML/Mason/Exceptions.pmin lib/HTML/Mason/Exceptions.pmin lib/HTML/Mason/Exceptions.pmin lib/HTML/Mason/FakeApache.pmin lib/HTML/Mason/FakeApache.pmin lib/HTML/Mason/Handler.pmin lib/HTML/Mason/Plugin/Context.pmin lib/HTML/Mason/Plugin/Context.pmin lib/HTML/Mason/Plugin/Context.pmin lib/HTML/Mason/Plugin/Context.pmin lib/HTML/Mason/ApacheHandler.pmin lib/HTML/Mason/CGIHandler.pmin lib/HTML/Mason/Request.pmExamples
Module Install Instructions
To install HTML::Mason, copy and paste the appropriate command in to your terminal.
cpanm HTML::Mason
perl -MCPAN -e shell install HTML::Mason
For more information on module installation, please visit the detailed CPAN module installation guide.