[Actionframework-users] Roadmap
Status: Inactive
Brought to you by:
ptoman
From: Petr T. <cz5...@ti...> - 2002-09-20 06:14:56
|
Hello everyone, I think now it is the right time to discuss the future. I (re)collected my ideas and plans (some had been already posted in "Proposals for 0.94" thread) and here is the result is below (will be added to www). Todo for 0.93.1c/0.93.2c (bugfix release: end of September) ------------------------ [ ] this could be the last bugfix release before I start working on 0.94 Todo for 0.94 ("orthogonality" release: 1st half of October) ------------- [ ] add ActionServlet.destroyComponent(String componentName) method [ ] add ActionServlet.getTypeHandler(Class srcType, Class targetType) met= hod [ ] add BaseCompositeHandler + javadoc org.actionframework.th package [ ] allow <type-handler> element nested in <input-variable> of <action> (to allow explicit selection of type handler) <action name=3D"/actionA" method=3D"methodA(java.util.List listA)"> <input-variable name=3D"listA" value=3D"roleUids[]"> <type-handler class=3D"my.specific.Handler"/> </input-variable> <on-return value=3D"void" show-template=3D"someTemplate.wm"/> </action> [ ] enable <on-exception>s common to all components [ ] allow arbitrary order of <output-variabele>s and <invoke>s inside <template>, <on-return> and <exception> [ ] put $REQUEST, $RESPONSE into Context by default (note: do not add getRequest() and getResponse() methods to Context because on client side there will be no HTTP request/response)= [ ] add new <on-new-session> element - allowing 'show-url' redirect (ensure $SERVLET, $URL and $CONTEXT are set before processing it!) [ ] allow evaluation of 'show-url' directly, not only through <output-var= iable> [ ] evaluate values of show-template=3D"$currentPage" attribute [ ] enable <property> values like: <property name=3D"SomeProperty" value=3D"$xyz"> <input-variable name=3D"xyz" component=3D"Comp" value=3D"getValue(= )"/> </property> - requires also to change return type of ActionServlet.getProperty() [ ] introduce <validate> element - for parameter validation: <action name=3D"/myAction1" method=3D"method1(String str, int value)"= > <validate class=3D"my.Validator1" variables=3D"str"/> </action> <action name=3D"/myAction2" method=3D"method2(String str, int value)"= > <validate class=3D"my.Validator2" variables=3D"str, value"/> </action> [ ] allow <template> names containing regexps, so that <output-variable>s= can be set for several templates in one place [ ] allow new <template-ref name=3D"template.wm"> element nested in <temp= late> (will enable nesting of templates) [ ] allow invocation of static methods of components in <in/out-variable>= s [ ] owerwiting of tmp uploaded files -> update multipartrequest.jar to 1.= 30 [ ] add optional type=3D"GET/POST" attribute for <action> to allow select= ion of action based on the type of request -> also change AS methods that ha= ve 'form' parameter (beforeInvoke(), invokeMethod() etc.) - example: beforeInvoke(Context context, String form, String action, Object[] pa= rams) // would change to: beforeInvoke(Context context, String type, String action, Object[] pa= rams) Values of 'form' and 'action' will be concatenated by '.': form=3D"form1", action=3D"submit" -> action value would be "form1.sub= mit" [ ] ConversionException should be also processable by <on-exception> elem= ent Todo for 0.95 ("programmatic ActionConfig" release: October) ------------- [ ] API for ActionConfig (support for multiple/programmatic configuration= ) [ ] replace ActionServlet.getActionMethod() by config.getAction().getMeth= od()? [ ] add getVersion(), getAction() methods to Context [ ] some ActionConfig error messages don't indicate line number - ex: "Er= ror while parsing action method definition; nested exception is: java.text.ParseException: Unknown parameter type '$userName' in actio= n definition: 'getReservations($userName)'" [ ] implement <pre-condition>s (nested in <action>) - example: <pre-condition if=3D"$var" show-template=3D"loggedIn.wm"> <input-variable name=3D"var" component=3D"auth" value=3D"isLoggedI= n()"/> </pre-condition> <pre-condition if=3D"!$REQUEST.isSecure()" show-url=3D"https:/$SERLVE= T"/> <pre-condition if=3D"!$REQUEST.isSecure()"> <invoke component=3D"counter" method=3D"incNumberOfInsecureCalls()= "/> <invoke component=3D"counter" method=3D"incNumberOfErrors()"/> </pre-condition> <pre-condition if=3D"!$REQUEST.isSecure()"> <invoke component=3D"Authenticator" method=3D"isLoggedIn()"/> <on-return value=3D"true" show-template=3D"HttpsRequiredError.w= m"> </invoke> </pre-condition> <pre-condition>s may be defined for: - all components (inside <components>) - all actions of one component (inside <component>) - single action (inside <action>) Todo for 0.96 ("pluggable template engine" release: November) ------------- [ ] reimplement In/OutputVars - will remove dependency on Velocity/WebMac= ro [ ] add <in/output-variable> attribute 'type' - to set var type manually [ ] make pluggable parser API public [ ] JSP and FreeMarker engine support Todo for 0.97 ("ActionController" release: December) ------------- [ ] introduce ActionController interface - will make Actionframework usage possible for client side development Todo (not yet scheduled) ------------------------ [ ] enable passing of all incomming HTTP/URL parameters between requests (=3D put all HTTP/URL parameters into Context) [ ] include error.wm/.vm in ActionServlet.jar - will be used if not found= in template path [ ] examples configuration + out-of-box ant task for Jetty (problem: Jetty does not work on path with spaces) [ ] reload components if ActionConfig changes [ ] allow accessing ActionServlet.getComponent() via JNDI context [ ] write better Tutorial describing all features step by step [ ] enable forwarding actions? (may be now solved by URL redirecting) [ ] standardize "connector architecture" -> publish ParameterRetrievers API (AS will be able to handle requests from different sources - RMI/miniRMI/Corba/POP3/SOAP,...) [ ] template postprocessing (XSL/VSL) --- Release dates are just rough estimates. I'm awaiting your comments and su= ggestions! :) Petr [ http://dione.zcu.cz/~toman40 - Pet...@pi... - ICQ=3D22957959 ] _________________________________________________________________ Chcete v=ECd=ECt jak=E9 to je m=EDt =B9est jazyk=F9? Zkuste to na http://= slovnik.tiscali.cz |