PApp
view release on metacpan or search on metacpan
really is valid, i.e. ref really is a scalar reference.
- PApp::DataRef read in the whole table with mysql + preload=1.
- macro/editform: no longer truncate the last two bytes of files.
- SIGQUIT can now be used to kill a papp process and get
a usable calltrace.
- dependencies for stylesheets work again. dumb bug, uh.
- ssl.papp now needs "SSLOptions +StdEnvVars +ExportCertData"
Table ssluser changed, completely broken.
- dbedit now forces utf8 on all fields. have fun.
- ef_ functions now return the html instead of outputting it. use
something like the following command to convert most uses:
perl -pi -0777 -e 's%<:(\s*ef_)%<?$1%g' */*.papp
- fix obscure security glitch with nosession. If your
module was secure before it still is ;)
- some renames in macro/ssl.papp.
- fixed I18n's scan support :( nobody noticed :(:(:(
- use Location ~ instead of LocationMatch since mod_perl
forgets the "Match" after handling the first entry :(
- diehandler no longer tocuhes non-scalar exceptions.
- PApp::DataRef now tests autoincrement ids with !! instead of with
defined().
- apps are now (by default) matched with LocationMatch ^/appname(/|$)
which gives them a more directory-like appearance.
- exists now works on DataRef::DB_row objects, given they were created
using "preload => 1".
- translation domain is now inherited by subpackages, fixes the
"embedded packages don't get translated"-bug.
- PApp::Exception now "optimizes" some exception cases that often lead
to perl instability problems.
- URI 1.12 is required form now on. 1.09 cost JanMan a day debugging
(or fucking, or...).
- default module can be set in insert/embed, module might be empty.
- implemented http://www.w3.org/TR/xinclude/ in form of
PApp::XML::xml_include() that will soon be used throughout papp.
- ported PApp/Recode.xs to DEVEL9916, hopefully older versions are
still also supported.
- PApp.pm: new function setlocale.
- SURL_SET_LANG is now SURL_SET_LOCALE.
- renamed keys: papp_charset => papp_lcs, papp_lang => papp_locale.
- added (parts of) http://iso.plan9.de locale table to I18n/I18n.pm.
- removed unnecessary columns from I18n/I18n.pm data section. This
saved a lot of space and made it faster.
- the module named "*" is called when no other module name matches
(wildcard/default module).
- allow ".encoding" in language id's.
- fix generation bug, some races and unnecessary recompile problem.
- PApp::DataRef now dumps destruction errors to stderr (but does not
touch $@ in any way).
- renamed PApp::DataRef parameter force_utf8 to utf8.
- the xs part (surl & friends) did not always honour magic.
- ef_submit did not like the value argument.
- bugworkaround in escape_uri actually had a neccessary side-effect.
- poedit now allows editing of the current display charset.
- ef_checkbox now sets the ref correctly to undef or 1.
- SURL_POP etc. now work on references again.
- implemented ef_radio.
- updated PApp::User for the new lazy-uid-allocation scheme.
- renamed PApp::userid to getuid, exported PApp::User::userid.
- PApp::Application::run did not properly call load_prefs.
- properly downgrade to (fake) "iso-8859-1" when sending binary data.
- some modifications to allow for lazy allocation of userid
and sessionid, as well as hashed stateid allocation.
- minor cleanups in PApp/HTML, implemented selectbox, documented tag.
- fixed nosession handling (& more), removed some dead cows.
- fixing Config.pm.PL for users who use gid 0 with papp.
- removing prefix.psql from kis.papp.
- <language> now deprecated.
- renamed grp.longdesc to grp.comment.
- implemented <nosession> element. should be rewritten using namespaces
and xslt ;).
- multiline MIME headers in mutlipart/form-data are now supported,
although I've not yet seen a browser use it.
- one of the countless bugs in opera actually was useful in finding
a bug in PApp's form-data handling.
- marked & moved Pconv && Recode into it's own subdir.
- fixed buggy flush logic AGAIN.
- enhanced make test a bit. should now do basic sanity checks.
- vastly improved PApp::Pconv (therefore renamed from iconv).
should be outsourced.
- allowed both #elsif and #elif.
- documented and maybe fixed sub/ret functionality.
- fix escape_uri description and code.
- new functions for group management in PApp::User.
- mime headers that contain the letter "r" are not longer ignored.
- deuglified macro/admin/loginbox.
- moved papp statedb management into PApp::Config.
- papp-env can now evaluate perl expressions when setting vars.
- renamed $sessid to sessionid, sessionid is now part of
the surl (which is redundant and could be used for
additional sanity-checks).
- new module: PApp::User, use it instead of macro/admin.
- <import> can now import perl modules (experimental feature).
- adedd PApp::abort_with_file (and PApp::CGI::send_fd).
- added abort_with, design inspred by oesi, implemented against
his wishes ;)
- added sessid to state db. The session id will be available in
$sessid.
0.11 <no release>
- reserved %T for transaction variables.
- I18n no longer opens translation tables RDWR or in other
invalid modes.
- new configure option: errorlog.
- totally redid the PApp::CGI interface. See eg/admin.cgi for
changes.
- did you know that you need to localize $@ at the right place
when you overload exceptions? uh-hu.
- elmex found & fixed a DoS in macro/tinychat.papp.
- fixed papp-admin --user.
- more ssl-stuff from oesiman.
- added eg/ directory with example stuff.
- finalized PApp::CGI. Works surprisingly fast. With SpeedyCGI
it rocks.
- tweaked error handling. perl is just too unstable.
- i18n dpo tables are now written by papp-install.
- the uid/gid settings now don't get lost on reconfig.
- increased the default size of msgid/msgstr/env AND state. For
env/msgstr etc.. it's not speed-relevant in the general case.
for state it might be a small problem, but I just hit the page
where 64k wasn't enough (sablotron generation time: 2min,
netscape rendering time >>30min and then out of memory).
- greatly enhanced and fixed macro/admin.papp.
- added completely transparent sslauth->user mapping.
- implemented and use macro/tinychat ;) If our oesi finds it cool
it *must* be cool.
- PApp::Env now uses mysql-shared-locks instead of lock tables.
- rename SURL_FILENAME to SURL_SUFFIX; SURL_STYLE_EMPTY to
SURL_STYLE_STATIC.
- changed serialized modpath representation, chop off '-' signs
at the end since we can syntehsize them if we know the length.
- seperated PApp::SQL from the main sources, renamed ::database to
::Database.
- fixed selectbox to be conform with the other functions.
- streamlined editform.
- fixed important security bug (testing for nonexistant access rights
always returned true).
- added PApp::Admin.
- additional language translation now get auto-detected.
- papp-install is now less disturbing.
- lots of i18n fixes, language ids get normalized now
(you must run i18n-normalize after upgrade!).
- first try on an generalized top-level exception mechanism.
- implemented surl-styles (see PApp::surlstyle, surl and the
new surlstyle attribute for the package element).
- --export-po and --import-po for papp-admin.
- elaborate microsoft-can't-mime workaround for msie ;(
- fixed a bug that kept surl from accepting references
as destination "path".
- work around bug in mod_perl's $r->args && $r->content. As a side
effect, query string with ";" as separator are now supported.
- added flush function for outputing partial
pages. As a side effect, data is no longer being copied on output
(unless a conversion is necssary, of course).
- multiple field submits are now supported (see desc. of %P).
macro/editform transparently supports this.
- ef_button hinzugefügt (== marco is too dumb to write english).
- objectbox in selectbox umbenannt.
- fixed method discard, new method dirty for PApp::DataRef.
- added bin/papp-admin.
- apps/admin improved.
- app.config is now used directly in the new PApp::Application call,
so things like database can be set via the config mechanism.
- %state is now no longer destroyed but rather freed, so
DESTROY will not be called for objects in %state, if they
are saved into the satet database. This is expected, I think.
- PApp::XSLT now supports dynamic scheme handlers.
- moved from Compress::LZV1 to Compress::LZF, please do:
update user set prefs=""; delete from state;
or edit PApp.pm and replace LZF by LZV1.
- fixed PApp::HTML::radio/checkbox.
- fixed ef_relation to support where arguments again.
- 5.5-ified SQL/SQL.xs.
- argl, form-headers are now treated as bytes.
- greatly improved (and fixed) ef_file [untested ;-].
- charset conversion done for ef_sbegin/ef_cbegin.
- some utf8-support for DataRef::DB_row, for dumb databases.
- PApp::HTML::textarea now outputs additional \n before and
after the text (for normalization).
- macro/editform normalizes text data now (\r\n => \n!)
- move from georgian-char-hack to corporate use zone.
- documentation enhancements.
- new function macro/editform/ef_field.
- module name "." == current module in surl.
- enhanced macro/editform to parse "normal" GET and POST requests,
ef_hidden, better ef_submit.
- surl now supports multiple module targets.
0.10 <Unreleased: missing license. Write to marco@toytest.com for complaints>
- input/output charset conversion is automatically done for %P and
all text/plain fields in macro/editform.
- papp now stores the character set the last page was submitted in.
- added PApp::Recode, which in turn uses PApp::Iconv (which in turn
uses iconv*) to add character-set-conversion.
- added macro/ssl.
- rewrite of PApp::HTML and extended functionality for
macro/editform, for the benefit of ecmascriptloosers.
- modulepath from url parsing enabled again.
- fixed import state key processing.
- fix PApp::Apache to supprot mount_config.
- replaced <module src> by <include src>.
- <pxml> now supported on a basic level.
- String::Similarity 0.02 required (who would have thought...).
- added PApp::Lock.
- capture {} works again, stderr is no longer redirected
- implemeted catch/try (experimental).
- reload_p fixed to work correctly.
- more robust && correct sql_*-functions.
- added PApp::Application, the base class for each
application.
- removed the concept of nested modules (use nested packages). NYI.
- added PApp::Util and PApp::Parser, moving lots of
functions from PApp::Parser there.
- changed config&mount-mechanism substantially. mounting
is now done dynamically.
- improved XHTML compliance.
- xslt stylesheets can be specified using perl expressions.
- more utf8-fixes (translation database + poedit is now in utf8, use
i18n-upgradeutf8 to update your translation tables).
- mount now properly anchors the url at the serverroot.
- reloading works again.
- workaround a perl bug with respect to weakrefs in PApp::I18n.
- added PApp::XSLT.
- Storable-0.7.2 is finally sufficient for PApp without any patches.
- first round of stylesheet support inside papp.
- renamed pappxml: namespace to simply papp:.
- replaced phtml2perl by a more versatile function family (PApp::PCode).
- simplified internal rep. of PApp::Callback::Function::'s.
- new surl modifiers: SURL_PUSH/UNSHIFT/EXEC/SAVE_PREFS.
- PApp::DataRef now fetches and stores the value, not a reference.
- new PApp::DataRef::Scalar.
- new functions if macro/editform (+ better docs).
- MAJOR REWRITE OF THE INNER ENGINE:
- nested submodules
- embeddable applications
- added editable comment and type forms to apps/dbedit.
- PApp::Exception->as_string now wraps text better.
- %S is now available within newuser and newsession callbacks.
- added first try at an PApp::Log module.
- papp now caches config information (and the app itself!)
in the database (whew, room to improvement).
- nfreeze is used everywhere except in the state database.
- changed internal %state format, old states are no longer
compatible.
- nested modules are no longer allowed (to allow for further
enhancements!)
- fixed PApp::weaken.
- backtrace now contains arguments.
- wrote, uploaded and required Convert::Scalar module.
- improved and fixed a lot of things in PApp::Exception.
- PApp::SQL now tries to reconnect two times.
0.08 Sun Jun 18 23:53:50 CEST 2000
- PApp now overwrites $SIG{__DIE__}, be careful!
- PApp::Exception has a compatibility mode now.
- fixed the preferences system to actually make *sense*.
- fixed memory corruption bug in SQL.xs that happens
because mod_perl BOOT:'s the same object twice :(
- fixed documentation of PApp::I18n, PApp::FormBuffer.
- PApp::Env and PApp::SQL should be more resistent to restarts.
- removed gen-db.sql.
- added PApp::DataRef.
- added <description> tag to papp, maybe soon followed
by <copyright> and <version>.
- workaround for mod_perl or perl bug that causes the 'bool'ean
value of error messages to be shown instead of their string
value. Funny, might be the same bug as with Storable, but
for totally different reasons ;)
- DataRef'ied macro/editform and the apps that were using it.
- PApp::SQL::*fetch methods call finish on the statement handle,
as does sql_exec in void context.
- load_prefs allows empty prefs settings and doesn't log you
out if the preferences field is empty.
- fixed PApp::Callback::create_callback.
- added experimental preferences field for acedit.
- surl now uses "use bytes" because otherwise.. strange things happen.
- implemented ref-to-coderef special in PApp::XML.
- _really_ commented out #?? in PApp/Parser.
- added more compliation facilities to PApp::XML.
- implemented "delayed" option which is handy for debugging
(improves server restart speed at the expense of more memory).
- DataRef/use base: worked around an overload bug in perl.
- now flushing translation cache on childinit.
- apps/poedit now allows finer-grained access rights "poedit_*" = all
apps, "poedit_<app>" = application app etc...
- various other small enhancements to apps/poedit, and i18n in general,
much more to come!
- added life-saving(!!!) index on papp.msgid.id, better execute
"alter table papp.msgid add index (id(64))" on your existing
installation(s).
- fixed apps/dbedit error-reporting (what was it supposed to do?).
- improved apps/acedit to also work on groups.
0.07 Fri Jun 9 22:14:36 CEST 2000
- fixed dumb typoe in macro/util.papp :(
- added PApp::Env module.
- dbedit now assumes primary keys are strings that
do not need quoting.
- added PApp::Callback module.
0.06 Wed Jun 7 21:52:15 CEST 2000
- poedit now uses the statedb.
- admin now included poedit access right by default.
- document PApp::Config rudimentarily.
- PApp.pm makes use of PApp::Config now.
- PApp::Config now by default uses a 256 bit key.
- new env table for future "papp global environment".
- added a LONG WIZARD EXAMPLE to PApp::XML's manpage.
0.05 Sat May 27 22:25:51 CEST 2000
- added PApp::XML. Boring, but together with XML::XSLT it rocks!
- implemented N_($).
- addedd attrs to papp's macro element (specify subroutine
attributes).
- #endif and #else now allow whitespace on the same line
- translate styel can be specified "plain" - full text,
"code" - scan for __ substrings or "auto" for autodetect.
0.04 Thu May 11 03:24:07 CEST 2000
- too many things to remember.
- a first try at an installation script and a config mechanism.
- PApp::I18n now uses it's own format. With the
(not-yet-implemented) pre-sorting it should require less random
accesses then gettext. Also supports binary formats (i.e. you
could gettextize images) and allows tagging info to be added to
the string.
0.03 ???
0.02 ???
- added multipart-parsing functions.
- added %arg hash, and "one-shot arguments" (see surl).
( run in 1.206 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )