Redesigning of ClassComposer
Status: Pre-Alpha
Brought to you by:
hkoba
My Plan:
YATT template will be invoked in two styles.
1. From command-line:
yattboot [opts] path/to/template.html [args]
2. From web:
- 2.1 CGI/FastCGI
2.1.1 yattboot.cgi + Action for *.html:
2.1.2 $APP(= yattboot) + $ENV{PATH_INFO}
- 2.2 mod_perl
2.2.1 yattboot.pl + Action for *.html
2.2.2 $APP(= yattboot) + $rec->path_info
In case 1, per-directory .yattrc should be the default
base class of template.
In case 2, $APP.yattrc should be the default base class.
Logged In: YES
user_id=148473
2.1.1 needs minor path fix.
2.1.2 is finished.
Logged In: YES
user_id=148473
Today's progress status:
o http://localhost/yatt/yatt.cgi/
o http://localhost/yatt/yatt.cgi/index.html
o http://localhost/yatt/yatt.cgi/foo/bar/printenv.html
o http://localhost/yatt/yatt.docs/printenv.html
x http://localhost/yatt/yatt.docs/index.html
Logged In: YES
user_id=148473
YATT::ClassComposer->new(...)->dispatcher->from_cgi(...)
could be replaced by:
YATT::ClassComposer->from_cgi(..., ...)
This will enable reusing yatt.cgi (cgi bootloader) with
templates outside of yattroot from command-line.
# Current design prohibits this case.
Logged In: YES
user_id=148473
Now, case 1. has its own flag ($classcomp->{is_commandline}).
In this case, you can use templates placed anywhere.