Personally, I agree with Patrick here.

As someone who uses WW actions outside of the web scope - this sort of thing
is extremely useful.

1. I don't mind if MY configuration file gets more complicated
2. I don't mind writing and maintaining a custom configuration loader to
load that configuration file!
3. But I need the ability to 'plug in' the configuration loader (as I
understand it)

This is exactly the same as being able to plug in your own Configuration
object to webwork as you can now (using webwork.properties) - that is
fantastically useful because in JIRA we actually have webwork.properties
loaded in the database, so you can change any property on the fly - and it
is persisted.

Webwork has always been infinitely configurable if you want it to be, it's
part of the ethos!

Basically - I agree with Maurice and Hani - and Patrick.

Simplicity = good
Power and flexibility = good

We need to find the right balance - simple for new users, configurable for
power users. Documented for all.

A knee jerk 'we won't add this feature cause it adds complexity' is a bad
reaction IMHO. 

-mike



On 5/11/02 7:05 AM, "Patrick Lightbody" ([EMAIL PROTECTED]) penned the
words:

> 
>>> No, it's the same problem that we had in the past (before
>>> GenericDispatcher). The solution that was proposed is to use the
>>> redirect.action (when I get it working that is). And for 1.3 I think
> that's
>>> fine.
>>> 
>>> 
>> You lost me.  What problem are you trying to solve?  I had thought that
>> the factory attribute was invented to make it so that you didn't have to
>> parse the view URL to determine if it's an action or not.
> 
> Well partly. The thing is that when you do Foo.success=Bar.action, it is
> ambiguous and confusing. Half the people might expect a chain to happen,
> while the other half might expect a new Http request to be made to
> Bar.action. So at least some people are going to be surprised.
> 
>> 
>>> - allow the configuration (XMLActionConfiguration vs
>>> PropertiesConfiguration) to be specified in the global configuration, or
>>> default to PropertiesConfiguration if not given (so things stay simple,
>>> right?)
>>> 
>> Oh, another configuration option.  Have I left my feelings about these
>> unclear as well?
> 
> But this would eliminate many configuration options as well. For instance,
> Matt had to introduce a config option to dictate which extension you were
> mapping your actions to (*.action or *.jsp) so that the redirect.action
> would work and not try to chain. And remember, this config option is
> optional. WebWork, like all of OpenSymphony, should strive for simplicity up
> front, but flexibility for power users. I don't see that being able to
> define your own configuration breaks your goal of keeping things simple,
> given that the configuration is optional.
> 
>> 
>>> - Change the configuration architecture so that the example I posted in
> my
>>> weblog is supported. This basically means that internally,
> "Foo!someCommand"
>>> means nothing. Instead, the configuration (again, this is internally)
>>> actually is generic enough like the config I gave in my weblog. Then
>>> PropertiesConfiguration can read views.properties like it always did, and
>>> translate "Foo!someCommand" as "the class is Foo and pass a property
>>> key/value pair of command=someCommand in before executing".
>>> 
>>> 
>> What you are calling properties are actually parameters and are no
>> different that you would use with the ActionTag.  Maybe a param tag
>> could be useful to keep View URL's cleaned up, but you can specify
>> parameters in the View URL's today to be passed into your actions.  Or
>> at least you could.  Please tell me that hasn't gone away.
> 
> Yes, you are right, it is very similar to <ww:param/>, except in this case
> we want to define it in our action declaration, not our code. This sovles
> the command stuff I mentioned above, but also (as mentioned in my blog),
> cases like if you had a PoolingAction, you could define what other actions
> go in the pool. As for view URLs, no, I don't believe that has changed.
> 
>> 
>>> Before you shoot it down as overly complex, remember that externally,
> things
>>> are as simple as always, but power users (like me) can write a better
>>> XMLConfiguration that takes advantage of the new, powerful, (internal)
>>> configuration architecture.
>>> 
>>> 
>> Kaboom!  Down in flames.
>> 
>> Look, I don't see you proposing any functionality that hasn't existed in
>> a different form for a long time.  Functionality BTW, that didn't
>> require any special effort on the part of the end user (i.e. extra
>> configuration).
> 
> Actually, my proposal adds a large ammount of functionality while still
> keeping configuration simple for the newbie or anyone else who wants things
> as simple as possible. The primary change I'm suggesting is that the
> internal configuration architecture be reworked to be specific to actions
> (currently it is a generic Object get(String) method) and that complete
> support for action configuration be built in to the configuration
> archicture. Sure, I can do
> "jasperTest.success=orderList.jasper?dataSource=orders" (as you mentioned in
> your last email), but that is nothing but a hack. What it is doing is taking
> advantage of Http-specific features (parameters in the GET string) and
> jamming it in to the configuration. We don't all use WebWork in servlet
> environment (just look at OSWorkflow's WebWorkExecutor). We could still keep
> views.properties the same way you have it now and let
> "jasperTest.success=orderList.jasper?dataSource=orders" work, but that
> really should translate to a more specific configuration architcture that is
> defined in my original blog post.
> 
> I really hope you see my point. Maurice, I believe you and I actually see
> the world very much the same, but it's just that I haven't been explaining
> my reasonings for this as clearly as I should be able to. I've looked at the
> sources, I've looked a all the different users and usages of WebWork, I've
> understood your concerns about simplicity, and I'm very confident that this
> proposal satisfies everything. The main thing is that for WebWork to become
> generic (something we all agree is a good move), you've got to eventually
> move to a configuration architecture that allows you to move past HTTP
> semantics.
> 
> And just to be perfectly clear, this change would have _zero_ effect on
> anyone. They could continue to use views.properties for the rest of their
> life, since PropertiesConfiguration would continue to be the default config
> choice. There would be no need to edit webwork.properties. BUT, users that
> demand more COULD (optionally, very important to remember) change the action
> configuration method, allowing them to plug in to the more powerful internal
> configuration schema that webwork needs to support.
> 
> -Pat
> 
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: ApacheCon, November 18-21 in
> Las Vegas (supported by COMDEX), the only Apache event to be
> fully supported by the ASF. http://www.apachecon.com
> _______________________________________________
> Opensymphony-webwork mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



-------------------------------------------------------
This SF.net email is sponsored by: ApacheCon, November 18-21 in
Las Vegas (supported by COMDEX), the only Apache event to be
fully supported by the ASF. http://www.apachecon.com
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork

Reply via email to