Aww, crap, fail. merge 10927:HEAD from pass_component_names
[catagits/Catalyst-Runtime.git] / TODO
CommitLineData
77d892df 1# Known Bugs:
cdb34619 2
3 - Bug ->go or ->visit causes actions which have Args or CaptureArgs called
4 twice when called via ->go or ->visit.
5
6 Test app: http://github.com/bobtfish/catalyst-app-bug-go_chain/tree/master
7
77d892df 8 - Bricas' Exception blog post
9bc5a5f1 9
77d892df 10 http://bricas.vox.com/library/post/catalyst-exceptionclass.html
11
12 Broken by recent exception refactoring
13
14# Compatibility warnings to add:
15
16 - $self->config should warn as config should only ever be called as a
17 class method.
18
19# Proposed functionality / feature additions:
20
21## Log setup needs to be less lame
22
23So Catalyst::Plugin::Log::* can die
24in a fire. Having $c->log_class would be a good start. kane volunteered
25to do some of this.
26
27Simple example: Catalyst::Plugin::Log::Colorful should just be a
28subclass of Catalyst::Log, no ::Plugin:: needed.
29
30See also: Catalyst::Plugin::Log::Dispatch and
31http://github.com/willert/catalyst-plugin-log4perl-simple/tree
32
33# REFACTORING
34
35## The horrible hack for plugin setup - replacing it:
36
37 * Have a look at the Devel::REPL BEFORE_PLUGIN stuff
38 I wonder if what we need is that combined with plugins-as-roles
39
40## App / ctx split:
41
42 NOTE - these are notes that t0m thought up after doing back compat for
43 _component_class, may be inaccurate, wrong or missing things
44 bug mst (at least) to correct before trying more than the first 2
45 steps. Please knock yourself out on the first two however :)
46
47 - Eliminate actions in MyApp from the main test suite
48 - Uncomment warning in C::C::register_action_methods, add tests it works
49 by mocking out the logging..
50 - Remove MyApp @ISA controller (ask metaclass if it has attributes, and if
51 so you need back compat :/)
52 - Make Catalyst::Context, move the per request stuff in there, handles from
53 main app class to delegate
54 - Make an instance of the app class which is a global variable
55 - Make new instance of the context class, not the app class per-request
56 - Remove the components as class data, move to instance data on the app
57 class (you probably have to do this for _all_ the class data, good luck!)
58 - Make it possible for users to spin up different instances of the app class
59 (with different config etc each)
60 - Profit! (Things like changing the complete app config per vhost, i.e.
61 writing a config loader / app class role which dispatches per vhost to
62 differently configured apps is piss easy)
9bc5a5f1 63