actually, not so planned
[catagits/Catalyst-Runtime.git] / TODO
diff --git a/TODO b/TODO
index 560bbc8..aa8e0b6 100644 (file)
--- a/TODO
+++ b/TODO
@@ -57,8 +57,64 @@ http://github.com/willert/catalyst-plugin-log4perl-simple/tree
 
 ## GSOC
 
+### Final steps for GSOC
+
+##### Things that work:
+
+    - the default container loads all components, calls ACCEPT_CONTEXT() when appropriate, and COMPONENT() when appropriate, behaving like current Catalyst does
+
+    - its possible to create a custom container, and override the components you want. Lifecycle, class, dependencies, all overridable.
+
+    - config files are loaded without Catalyst::Plugin::ConfigLoader
+
+    - per request life cycle somewhat works
+
+    - external modules are loaded just using a custom container, much like Catalyst::Model::Adaptor
+
+##### Things that don't work:
+
+    - expand_component_module
+
+    - loading two containers simultaneously
+
+    - sugar is still not completely implemented
+
+    - Some back compat
+        - wrappers around setup_component, setup_components, locate_components in Catalyst.pm
+        - $instance->expand_modules
+        - search_extra
+        - Crazy tests for things such as:
+           sub COMPONENT {
+             ...
+             *${appclass}::Model::TopLevel::GENERATED::ACCEPT_CONTEXT = sub { ... };
+             ...
+           }
+
+##### Need planning, have questions:
+
+    - per request life cycle
+
+    - sugar - we should discuss the syntax with rafl and edenc
+
+    - when / when not COMPONENT should be called
+
+    - locate_components service vs setup_components method
+      - can we be more lazy?
+      - should setup_components be a service that things like the ->component lookup
+        can depend on?
+
+    - There are a few more FIXMEs, idk if any relevant here
+
 ### Next steps - planned:
 
+  - some imports need to get the importing package in Catalyst::IOC
+
+  - test values directly instead of serializing them over http in t/lib/TestCustomContainer.pm
+
+  - 16:01 < shadowpaste> "t0m" at 217.168.150.38 pasted "more explicit? thoughts?" (13 lines) at http://paste.scsys.co.uk/131520
+
+  - Back compat for Catalyst.pm moved methods (locate_components)
+
   - Test custom container
     - writing some tests which verify that the models you think should be
       there are there, and that they received their dependencies as arguments
@@ -72,6 +128,9 @@ http://github.com/willert/catalyst-plugin-log4perl-simple/tree
 
 ### Next steps - less planned:
 
+  - make ACCEPT_CONTEXT and COMPONENT optional in Catalyst::IOC::BlockInjection and Catalyst::IOC::ConstructorInjection
+    - Create COMPONENTSingleton life cycle
+
   - Creating service()-like sugar for component
 
   - Test cases for extending the container in an application.
@@ -116,19 +175,3 @@ use Catalyst::IOC;
     };
 
 1;
-
-### To polish off / t0m review
-
-    locate_components service vs setup_components method
-      - can we be more lazy?
-      - should setup_components be a service that things like the ->component lookup
-        can depend on?
-
-### Known issues
-
-    - Broken $instance->expand_modules() in setup_components and figure
-      out later how to bring it back
-
-    - expand_component_module
-
-    - People wrapping locate_components in Catalyst.pm