|2.0b6 (BETA) 13. Mar. 2002|
- Embperl have move from the namespace HTML::Embperl to Embperl.
This is because Embperl is no longer only a HTML framework,
but is suitable for other formats like XML too. Also this allows
to install Embperl 1.x and 2.x on the same machine without
conflicts, to make a smooth upgrade.
- Rewrote Embperl internal data structures. The Embperl request
structure is now splitted into thread, application, request
and component structure.
- Moved nearly all of the per request/component initialization code
from Perl to C. Together with the optimized data structures, this
speeds up request/component initialization, which is especialy a
performance improvement for pages that do a lot calls to
Execute (up to 50% for small includes).
- All members of these structures now available form Perl
which avoids using mod_perl Apache object and enviroment
variables in most cases, makeing the resulting pages more
independend from the environment they run under. On the other
side this gives quite a few new possibilities to influence
what Embperl is doing, especialy together with Embperl::Object.
- Introduced new application object which holds together a set
of pages and allows to configure the Embperl logfile and session
handling different for each application.
- Added Embperl::Object application object, which is invoked during
request initialization. Any application code can now go there.
This allows a proper separation of Code and Design and building of
MVC (Model, Controller, View), 2-Tier and 3-Tier applications
- Added EMBPERL_APP_HANDLER_CLASS to set the application object
for Embperl pages, when not using Embperl::Object
- Embperl now uses nativ Apache configuration directives instead
of enviroment variables when running under mod_perl. You need to
load Embperl before you can use any of them, either via
"PerlModule Embperl" or via "use Embperl" inside of a startup script.
"Embperl_UseEnv on" is provided to get the old behaviour of using
environment variables for configuration.
- The default for input unescaping is now set to off. So people which are
working with an text editor should be happy, people who are using any
sort of HTML editor should use EMBPERL_INPUT_ESCMODE to set the way
Embperl interprets the input.
- Added new configuration directives EMBPERL_INPUT_ESCMODE which controls
the unescaping of the input. This superseds the old optRawInput and
allows a more differentiated control.
- Added form data validation. Embperl is now capable to do server-side
and client-side validation of form input. You just have to define
does the validation when the form data is posted to the server. By
writing or overriding class, the validatior could be extented.
See Embperl::Form::Validate for details.
- Added [= foo =] block and $r -> gettext method for page localization.
When the page is executed the 'foo' is replaced with a localizied
message for the current language.
- Added methods r -> messages and r -> default_messages to define
current message set for current language during application init.
- Added embpmsgid.pl utility to extrcat message ids from Embperl pages
and put them in a Data::Dumper or dbm file.
- Simplified the definition of the recipe structure. This allows much
more intuitiv definition of a new recipe.
- A recipe struture can now also be passed directly to the Execute
function as parameter.
- The get_recipe function now can be overriden by a custom application
- Enhanced POD parser. Now generates a similar output as pod2xml,
which is better suitable for XSLT processing. Also the POD
parser now can pasers POD out of other Embperl files.
- Fixed problem with parameter passing to xslt processors, which
were always ignored on the first request.
- Renamed configuration directive EMBPERL_FILESMATCH to
EMBPERL_URIMATCH to better describe what it is doing.
- exit works now outside of [$ sub $]
- New configuration directive EMBPERL_SESSION_MODE allows
to configure to pass session inside of the QUERY_STRING
- Embperl doesn't add's a \r\n at the end of textfiles
- Moved send_error_page and mail_errors into Embperl::App, so they can
be overridden by a custom application object.
- Added configuration directives EMBPERL_MAIL_ERRORS_LIMIT,
EMBPERL_MAIL_ERRORS_RESET_TIME and EMBPERL_MAIL_ERRORS_RESEND_TIME
to limit the number of errors send in a small time.
- When running under Embperl::Object all sourcefiles including for
example xsl stylesheets are now search throught the searchpath.
- Fixed a bug that causes input fields and textarea field to not
autofilled anymore after a sub was called. Reported by Kee Hinckley.