[albatross-users] availability of code for next version
Andrew McNamara
andrewm at object-craft.com.au
Thu Feb 20 13:52:49 EST 2003
>I've only recently "discovered" Albatross and, so far, I'm very
>impressed. So far, it seems to have almost everything I want for web
>development. Congratulations to the developers!
Whoohoo! Thanks. 8-)
The intention is to give most people what they want most of the time,
and stop short of giving everybody everything, which would make Albatross
into an unintelligible soup.
>In the mailing list I've noticed a couple of mentions of the next
>release. Is the development code available to the world, perhaps via
>anonymous CVS? If not, is there any documentation available on what we
>can expect?
We haven't had time to set up a public repository (and nobody has asked
for it until now). The simplest answer might be to nightly tar up the CVS
tree.
One of the things that needs to be done before the next release is to go
through the CVS change log and extract important details to form the
release notes. Here's the raw change log (you may have to take some
of the comments with a grain of salt, particularly the "option tag was
never being closed" one - Dave reminded me that HTML permits this):
2003-02-14 15:08 andrewm
* albatross/tags.py, doc/doctest/tags-input-select1,
doc/doctest/tags-input-select2, test/templates/form.py: Missed
another instance of this bug: The option tag was never being closed
- remarkably the tests were also expecting this erroneous result.
2003-02-14 14:54 andrewm
* doc/tags.tex: Added note to <al-comment> tag about enclosed
content needing to be syntactically correct.
2003-02-14 14:43 andrewm
* albatross/tags.py, doc/doctest/tags-input-select3,
doc/doctest/tags-input-select4, test/templates/form.py: Bugfix -
The option tag was never being closed - remarkably the tests were
also expecting this erroneous result.
2003-01-28 16:17 andrewm
* albatross/cgiapp.py: Use the dict get method to fetch REQUEST_URI
and SERVER_NAME, which allows scripts to be run from the command
line - suggested by Greg Bond.
2003-01-27 21:23 djc
* albatross/apacheapp.py, albatross/app.py, albatross/cgiapp.py,
albatross/randompage.py, doc/albatross.tex,
test/sessions/request.py, test/sessions/ses_file.py,
test/sessions/ses_server.py: Moved all header management into
HeadersMixin which was renamed as ResponseMixin. Application
send_content() method moved into ResponseMixin so end of headers can
be detected automatically. Now raises exception if application
attempts to set headers after they have been sent. Headers
automatically sent when the application sends content.
__sent_headers removed from cgiapp and apacheapp.
2003-01-24 23:45 andrewm
* albatross/context.py: When encoding session, don't silently
discard unpickleable elements (raise ApplicationError instead,
including the name of the offending element). cPickle will raise all
sorts of garbage exceptions - make sure we catch the common ones.
2003-01-24 23:35 andrewm
* albatross/common.py: Forgot the most important bit - the
exception definitions!
2003-01-24 22:34 andrewm
* TODO, albatross/__init__.py, albatross/app.py,
albatross/context.py, albatross/randompage.py,
albatross/session.py, albatross/sessionfile.py,
albatross/simpleserver.py, albatross/tags.py,
albatross/template.py, test/namespace/request.py,
test/templates/basic.py, test/templates/control_flow.py,
test/templates/form.py, test/templates/include.py,
test/templates/iterator.py, test/templates/lookup.py,
test/templates/macro.py, test/templates/whitespace.py: Rationalised
Albatross's use of exceptions, all exceptions are now subclasses of
AlbatrossError, moved all exceptions to a "common" module. Also
fixed a minor glitch in the tests where template execution output
needed to be suppressed.
2003-01-24 22:24 andrewm
* albatross/tags.py: Make single_select on the LazyTreeIterator an
optional argument (defaults to "no").
2003-01-24 14:48 andrewm
* doc/appuser.tex: Added a little more information about setting up
mod_python.
2002-12-28 16:47 djc
* albatross/: app.py, randompage.py: Move call to
ctx.flush_content() into Application.run() to allow session to be
saved back at server before the HTML is sent to the browser. This
allows applications to embed image tags for dynamically generated
images.
2002-12-27 16:40 djc
* albatross/tags.py: Added load_children() method to
LazyTreeIterator so applications can stop abusing the node_is_open()
method.
2002-12-27 12:34 djc
* albatross/app.py: Create exception formatting context using
different name so the we remove the original session when we call
ctx.remove_session. Derrr.
2002-12-24 21:02 djc
* albatross/app.py: Move escaping into formatted exception user.
2002-12-24 20:53 djc
* albatross/app.py: Move exception formatting into separate method
to allow subclasses to make use of formatting without needing to
roll it themselves.
2002-12-23 16:48 djc
* albatross/: app.py, context.py, randompage.py: Patches for
problems reported by Greg Bond. Changed the way that
_caller_globals() locates the desired stack frame it now searches by
function name. run_template_once() now generates the same exception
message as run_template().
2002-12-23 12:07 djc
* albatross/tags.py: Added NODE attribute to <al-input> and <al-a>
tags which perform tree navigation. This allows tree navigation
requests to be generated outside of the <al-tree> tag. Something
like this: <al-for iter="j" expr="node.children"> <tr><td><al-a
treeselect="hn" node="j.value()">
2002-12-23 12:04 djc
* albatross/context.py: Place the execution context into the
execution context for the duration of expression evaluation under
the name __ctx__. This allows you to do things like: <al-exec
expr="hn.node_is_open(__ctx__, node)">
2002-12-18 17:06 andrewm
* albatross/tags.py:
* Added select_alias and open_alias to TreeIterators.
* Move Lookup registration into object initialisation, lazy
evaluation of item_dict (defered until first lookup_html) -
to_html() method of Lookup becomes a NOOP.
2002-12-17 12:21 gregh
* albatross/app.py: handle_exception now gets 'ctx' aswell as 'req'
2002-12-17 11:28 andrewm
* albatross/context.py: Bugfix - If a user's session expires at the
server side but not at the client, method="get" is being used, and
the form contains a iterator, a traceback would result (attempt to
call set_backdoor() on None).
2002-12-15 19:32 djc
* albatross/tags.py: Implemented a single select option on
LazyTreeIterator which is activated via the SINGLE attribute on the
<al-tree> tag.
2002-12-11 19:36 andrewm
* test/namespace/request.py: Added tests for file input handling
(single field single file, multiple field, single field multiple
file, __albform__, etc).
2002-12-11 16:08 andrewm
* albatross/cgiapp.py, test/Makefile, test/namespace/__init__.py,
test/namespace/request.py: Added first cut at request merging tests
(tests for GET and POST exist cgi methods exist, although
__albform__ functionality isn't being exercised yet).
2002-12-11 15:10 andrewm
* albatross/: cgiapp.py, context.py, tags.py: Added support for
<input type="file">. For inputs of this sort, the local context now
gets a list of FileField instances. The FileField class contains
attributes for filename (filename), open file object (file), and
mime type
(type).
The NameRecorder Mixin tracks whether a type="file" input has been
seen, and the to_html method of the Form class generates the
appropriate enctype attribute if seen (otherwise file inputs simply
pass back the filename).
On type="file" inputs, "value" attributes are now ignored.
Currently this is only supported on the cgiapp request class, and no
documentation or tests have been written.
2002-12-11 12:23 djc
* albatross/tags.py: Included explanation of why the content trap
is needed for the <al-option> tag.
2002-12-06 18:06 andrewm
* albatross/context.py, doc/mixins.tex:
- Raise an exception (SessionError) if add_session_vars is called
when the named variable isn't in the local namespace (minor
compatibility breakage).
- New method on SessionBase, default_session_var, which adds a
variable to the local namespace if it isn't already defined, and
registers the variable in the session dictionary.
- Update doco for the above changes.
2002-12-06 18:01 andrewm
* doc/doctest/tags-input-text: Doco example fix for this bugfix:
- <al-value> was not generating a value attribute when the value
evaluated to 0
(zero) - fixed and added test. Bug discovered by Michael Neel
(thanks).
2002-12-05 15:11 andrewm
* albatross/app.py: New improved version of req_equals (one less
hash lookup!)
2002-12-05 14:45 andrewm
* albatross/app.py: Make req_equals return true if the request
evaluates true, rather than "not None" - this allows null strings to
return false (found by Michael C. Neel).
2002-12-05 11:26 djc
* albatross/randompage.py, test/templates/basic.py,
test/templates/include.py: Ran tabnanny and noticed some problems.
2002-12-05 11:17 djc
* TODO: Added some suggestions from Michael C. Neel.
2002-11-29 21:12 djc
* albatross/: apacheapp.py, app.py, cgiapp.py: Apply proposed
changes for altering the status returned to the browser.
2002-11-29 14:58 andrewm
* TODO: Added a couple of items from the albatross-users list to
the TODO list.
2002-11-28 16:35 andrewm
* albatross/context.py: NamespaceMixin.set_value() now has a funky
exception handler. This method is responsible for parsing form
elements (a somewhat critical task) and it was possible to cause it
to throw an exception that was completely lacking in any useful
information. The exception handler now identifies the field by name,
attempts to identify where in the field name the exception occured,
and includes the current "index" where an IndexError is raised, and
re-raises the original exception (in case it really is a bug in
set_value()).
2002-11-28 15:40 djc
* albatross/app.py, albatross/session.py, albatross/sessionfile.py,
doc/albatross.tex, test/sessions/ses_file.py,
test/sessions/ses_server.py: Change the way that response headers
are managed to allow applications to do things like:
ctx.set_header('Content-Type', 'image/gif')
if ctx.get_header('Pragma') == 'no-cache':
ctx.del_header('Pragma') The defaults are established in
HeadersMixin.__init__() so the application is free to alter them at
any point during processing.
2002-11-21 13:49 andrewm
* albatross/sessionfile.py:
- SessionFileContextMixin._get_sesid_from_cookie was not coping with
cookies other than the one we wanted being in the Cookie header sent
by the browser (it was catching the wrong exception). Found by Greg
Bond.
2002-11-19 10:18 andrewm
* albatross/tags.py, test/templates/form.py:
- <al-value> was not generating a value attribute when the value
evaluated to 0
(zero) - fixed and added test. Bug discovered by Michael Neel
(thanks).
2002-11-10 12:24 djc
* albatross/randompage.py: Fixed import error problem reported by
Brian Brown.
2002-10-28 22:51 djc
* dist/release-checklist: Documented in the OcWiki.
2002-10-28 12:41 djc
* dist/dist-albatross.sh: Fix up script which moves files to web
server.
2002-10-28 12:16 djc
* albatross/__init__.py: Fixed up release numbers.
2002-10-28 12:15 djc
* setup.py, dist/dist-albatross.sh: Fix release numbers.
2002-10-28 11:55 djc
* ChangeLog, dist/release-1.01, doc/albatross.tex,
doc/installation.tex, doc/mixins.tex, doc/tags.tex: Release 1.01.
2002-10-28 10:43 djc
* dist/: dist-albatross.sh, index.ahtml, make_webpage.py: Release
process does not alter web page any more.
2002-10-28 10:40 djc
* dist/release-1.01: All changes for 1.0.1
--
Andrew McNamara, Senior Developer, Object Craft
http://www.object-craft.com.au/
More information about the Albatross-users
mailing list