Re: [OS-webwork] Velocity vs. JSP

2004-02-22 Thread Rickard Öberg
Eric Webb wrote:
Since moving to web application frameworks (jakarta turbine and ww2) 
I've exclusively used velocity.  I find velocity's syntax to be simple, 
clean, and sufficently powerful for constructing views.  I mean, when 
you get down to it, a view is simply html (in most cases), and velocity 
does it nicely.  Custom macros and the #parse() marco allow me to create 
modular .vm files that can be reused many many times.
snip

Ditto that. We've built our CMS/Portal product to use WW/Velocity 
exclusively, and we're VERY happy with that. The major pro's we've seen are:
1) Clean syntax
2) Great performance
3) Templates does not have to be in files (JSP files do)

All in all, much recommended.

/Rickard



---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps  Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356alloc_id=3438op=click
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Velocity vs. JSP

2004-02-22 Thread Rickard Öberg
remigijus wrote:
Ok it sounds nice, I'm not against velocity, I'm just curious.
How many hits you are getting per day and peak load?
What hardware and software do you use?
We do load tests sometimes, but it's hard to compare that with reality.

In reality, we do have one web hotel server which currently hosts 57 
customers, and with a total of 14.600 (dynamic) pages. I'd guess about 
10 of those are so-called high-volume sites. We have no HTML output 
caching, so if Velocity didn't perform the server would crash. This is 
currently a 3Ghz/1.5Gb/Linux box, with Apache/JBoss/Tomcat as 
infrastructure and our CMS running inside of that. For the next version 
we're switching to Apache/Tomcat only.

Did you tryed to look at Freemarker, how can you compare Freemarker vs
Velocity.
I got allergic to Jonathans Freemarker rules-rants early on, and hence 
never bothered with it.

Velocity *is* limited. Which is why it fits our purposes perfectly. YMMV.

/Rickard



---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps  Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356alloc_id=3438op=click
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Velocity vs. JSP

2004-02-22 Thread Rickard Öberg
Erik Jõgi wrote:
Rickard Öberg wrote
...
2) Great performance
3) Templates does not have to be in files (JSP files do)
...
where does the performance win over JSPs come from? As JSPs are compiled
into servlets, how do you beat that?
Don't know, don't care. It's just faster :-) That's probably not 
inherent though; it may very well be that it is possible to make a JSP 
compiler that creates equally fast output. However, since JSP's are 
converted into classes you will run into memory management problems on 
sites with many pages, as the JSP-servlet-classes are tougher to cache 
than AST's for Velocity templates.

if you don't put your templates into separate files, then where do you
put them? and how do you specify in xwork.xml which one to pick as the
view?
Typically we have a template file with a default, but in a number of 
cases we allow it to be edited by the end-customer. The edited version 
is stored in a database, along with all the other content. The Velocity 
is therefore a part of a customized Portlet configuration. It just 
happens to be a very rendering-related configuration option.

We also very often use Velocity for non-HTML cases, such as generating 
emails. It's nice to be able to have one way to generate all dynamic 
text, whether it's HTML or emails, and which customers can edit without 
having to call us.

/Rickard



---
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps  Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id56alloc_id438op=click
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Portlet API

2004-01-29 Thread Rickard Öberg
Marino wrote:
Is there any news regarding Webwork support for Portlet API. 

There is a JIRA issue for that
(http://jira.opensymphony.com/secure/ViewIssue.jspa?key=WW-6)
created on 10/05/2002, but without any progress?
We have a bunch of portlets using WW1 which we are considering porting 
to WW2 as we are implementing the Portlet API (possibly by integrating 
Pluto directly). So far it seems like it can be used as-is, although 
there are probably some utility-classes that could be written to make it 
easier to use.

/Rickard



---
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: Spam:[OS-webwork] Xwork and hot redeploy

2003-12-05 Thread Rickard Öberg
Jason Carreira wrote:
webwork.configuration.xml.reload=true

In your webwork.properties to tell it to check and automatically reload
XML configuration files (this includes the xwork.xml file and any other
included xwork configuration files, validation.xml files, and type
conversion .properties files right now). 

As far as being able to have the one Xwork.jar and have multiple
configurations, that's a good idea... Please add a Jira issue. I've
always hated that Singleton, so we can look at how to get rid of it. In
the meantime, is it possible to have the one xwork.jar file and have
Jboss load it individually in the classloader of each web app (instead
of just once in the server classloader)?
No, but you can have it appear as one singleton while it really is many 
by doing a classloader switch internally.

E.g.:
Map clSettings = new HashMap();
String getFoo(String bar)
{
  Map settings = 
(Map)clSettings.get(Thread.currentThread().getContextClassloader());
  if (settings == null)
...

   return (String)settings.get(bar);
}
This at least gives you one singleton per deployment. If you use a 
WeakHashmap for clSettings you can even have the stated be garbage 
collected properly.

/Rickard



---
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] OGNL madness - evaluated tag attributes

2003-11-23 Thread Rickard Öberg
Jason Carreira wrote:

I really dislike the option of which syntax to use... Lets choose one and use it...
Definitely agree.

Think about the case where many components/projects using WebWork needs 
to be merged into one big app. Oh that won't work because we used 
optional method Foo, whereas you used Bar is NOT a good situation.

Said it before, and will say it again:
What makes a framework powerful is not what it allows, but what it does 
not allow.

This is one of those cases where this is really important to remember.

/Rickard



---
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] OGNL madness - evaluated tag attributes

2003-11-23 Thread Rickard Öberg
boxed wrote:
Drew McAuliffe wrote:

I agree, and I think that it should be the ${} syntax. The reason I 
like the
optional syntax is solely for backwards compatibility.  

I don't see why you are using java if you prefer that way of writing 
personally.

Let's compare the alternaitves:
ww:property value=name/
ww:property value=${name}/
Am I wrong in assuming that simple usage of the variables is the most 
common thing in the WW EL? Because if it is then implementing a more 
verbose syntax for it is counterproductive. The rule of thumb is to make 
the most common actions simple and intuitive and there is nothing 
intuitive about the ${} syntax.
Right. In Velocity the other way makes sense because the $ is used in 
plain HTML, i.e. comparing:
ww:property value=name/
${name}
--
But when comparing between the alternatives as above, I think it's 
better to use the non-$ approach.

/Rickard



---
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] WebWork 1.4 release

2003-11-18 Thread Rickard Öberg
Hani Suleiman wrote:
WebWork 1.4 has been released, appropriate press blurbage will be  
showing up on your regular news channels in the next day or so I  
expect. You can grab it from  
https://webwork.dev.java.net/files/documents/693/1790/webwork-1.4.zip

Any feedback/testing would be most appreciated. I think it's a pretty  
solid release with plenty of fixes and good reasons to upgrade. Release  
notes can be found at  
https://webwork.dev.java.net/servlets/ProjectDocumentView? 
documentID=1791noNav=true

Thanks to all those who contributed, by filing issues, writing docs,  
fixing bugs, writing incredibly cool and fast new parsers, emailing in  
code, and providing encouragement. Thanks to the ww2 guys for providing  
motivation too (and I don't mean that in a snide way!).
Way to go Hani!

As we are currently basing our entire product on WW 1.3 this is great news!

regards,
  Rickard


---
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] velocity tool support

2003-11-18 Thread Rickard Öberg
Matt Ho wrote:
I've opted to move this to the webwork extensions rather than have it 
part of the webwork core.  Although the VelocityServlet will be 
deprecated, that won't be til Velocity 1.5!

One of the features that's extremely appealing about the velocity tool 
project is the ability to easily add your own helpers to the velocity 
context.  To that end, I've added a ToolContext (similar to velocity 
tools ToolboxContext) that allows you to add objects to the velocity 
context.
What does this buy you that the #bean macro doesn't?

The problem with this proposal, as I see it, is that they will always be 
instantiated, even if they're not used. By using #bean macro only those 
tools that are actually used will be created. IMO that's better.

/Rickard



---
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] EL Performance Between 1.3 and 2.0

2003-11-14 Thread Rickard Öberg
Drew McAuliffe wrote:
That's consistent with numbers I've found in migrating one app from 1.3 to
2.0. I've always held out hope that this was just something that
optimization could take care of. In the meantime, my performance isn't
terrible, but it doesn't fly like it did in 1.3, either. Here's hoping the
optimization works! I'd offer help except I'm terrible at profiling. If you
identify things that profiling indicates need work and need someone to
handle some grunt work, let me know. I'm eager to get my old performance
back. 
If you want a good profiler to test with I can really really really 
really recommend JProfiler. The latest version is a dream to work with.

regards,
  Rickard


---
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Old wounds!

2003-11-01 Thread Rickard Öberg
Francisco Hernandez wrote:
i believe it was suggested that everyone start using the ActionContext 
threadlocal to get what previously gotten by the Aware interfaces..
Yup, that was it.

why using ActionContext instead of Aware is another question :)
Because it's easier and less verbose?

/Rickard



---
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Old wounds!

2003-11-01 Thread Rickard Öberg
Dick Zetterberg wrote:

Removing the interfaces would break many old applications so that should
probably never be done. (Since those are the applications using WW1). So,
since the interfaces will not be removed, then the deprecation might instead
be removed so you don't get the annoying warnings all the time (or rather,
you can turn on the deprecation warnings and not be flooded with warnings
you already know about).
I suppose you meant turn off the deprecation warnings.

/Rickard



---
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] List of products using WebWork

2003-10-02 Thread Rickard Öberg
Jason Carreira wrote:

I've added a section on the WebWork page which lists products using
WebWork
http://wiki.opensymphony.com/space/WebWork

Feel free to add yours...
I've added our CMS/portal/doc mgmt tool SiteVision to the list.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Running WebWork on Sun ONE Application Server 7

2003-09-10 Thread Rickard Öberg
Bernard Choi wrote:
In this particular, our application which uses webwork resides in an
environment along with other applications. That environment is controlled by
another team, who imposes such restrictions. 
Ok, but the question then still remains: why impose such restrictions? I 
have yet to find a good reason to use permissions in server-side 
applications (except for hosting applications in an ISP/ASP 
environment). If you're in the same company it doesn't make much sense, 
and seems mostly just like a hassle.

regards,
  Rickard


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Running WebWork on Sun ONE Application Server 7

2003-09-09 Thread Rickard Öberg
Bernard Choi wrote:
This solved the problem, as webwork was now working fine. However,
understandably, granting all permissions is not acceptable in the final
system. 
Why not?

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] XW/WW2 press release text for review

2003-08-18 Thread Rickard Öberg
Hani Suleiman wrote:

1) I don't see the need to cuss webwork1.
He's not cussing WebWork. He's explaining what is and why it is.

2) The portlet sentence seems rather bizarre to me, a portal  
dispatcher? JSR-168 says very little about portals, so a portal  
dispatcher is certainly not self-explanatory, to me at any rate.
It'd be the equivalent of a servlet dispatcher but adapted to the 
portlet API. For example, it'd have to deal with separated 
action/rendering phases, which WW2 is perfectly adapted for right now (IMO).

3) 'Two strategies for handling form submission' seems another odd  
detail to choose to highlight. Smells too much of 'look at how clever  
we are for coming up with this trick!' rather than 'this is why the  
average person should use webwork2'.
I didn't see it that way.

4) 'JPublish is replacing their...'...JPublish isn't a bunch of guys,  
it's a product.
True. Replace their with its.

I thought the writing was pretty good. I on the other hand question the 
need for boasting about a beta. It'd be weird to do a press release now, 
and then a similar one in a week or two when the final release is out.

/Rickard



---
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa0013ave/direct;at.aspnet_072303_01/01
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Webwork in Swing Application?

2003-07-16 Thread Rickard Öberg
Joshua wrote:

I'm new to this project. Reading through the documentation I came across 
a statement that
WW, unlike Struts, is not based on the Servlet API and so can be used in 
a java Swing
application.  Assuming I have not misread the documentation statement, 
can someone who
has actually done this give me a pointer on how to do it?
Sure, I'm using it for a Swing-applet. Just register the server-side 
dispatcher in web.xml like so:
servlet
   servlet-namedispatch/servlet-name
servlet-classwebwork.dispatcher.ClientServletDispatcher/servlet-class
/servlet

and use the ClientDispatcher in your Swing application to execute 
actions. You create them and populate them (by calling setters) 
yourself. Giving it to the ClientDispatcher will send it to the server 
for execution, and then it will be sent back when execute() is done so 
you can extract the result from it.

That's pretty much all there is to it. Any questions?

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic
Got blog? I do. http://dreambean.com



---
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] HTTP 204 Trick

2003-06-18 Thread Rickard Öberg
Dick Zetterberg wrote:
Is it not possible to perform this 204 trick just by adding a new standard action that just sets the header and returns NONE? Similar to how the Redirect action works in WW1.x.  One would then just chain to this action whenever one wants the header to be set?
Would that work, or have I misunderstood something? 
That should work just fine.

/Rickard



---
This SF.Net email is sponsored by: INetU
Attention Web Developers  Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] HTTP 204 Trick

2003-06-17 Thread Rickard Öberg
Jason Carreira wrote:
So you don't think there should be a HttpHeaderResult to enable you to return special Http header codes?
That's not what I said. I was talking about the result codes, not view 
types.

HttpHeaderResult seems fine to me.

/Rickard



---
This SF.Net email is sponsored by: INetU
Attention Web Developers  Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Portlet ?

2003-06-10 Thread Rickard Öberg
Fernando Martins wrote:
I just came to a point that I would really love to start using portlets 
all over my Portal. I even find myself coding having in mind how 
everything will fit into portlets.

Unfortanetly nothing new on:
http://jira.opensymphony.com/secure/ViewIssue.jspa?key=WW-6
Are there any thoughts on this or do we have to wait for Rickard to come 
up with some magic tricks? :)
What is the status of JSR168?
It's almost ready for publid draft. I've read the community draft, and 
am implementing it in our CMS/portal product SiteVision.

And where can one find more info on it?
The JSR page is about it.

The only biggie that I can see from the spec is that there is now an 
explicit distinction between action and rendering actions. Action 
actions (using XWork terminology) are invoked when forms are 
submitted, and there is only one action action being invoked for each 
page rendering (possibly zero if no form was submitted). There needs to 
be a new controller that understands this idea, and which also knows how 
to switch between a bunch of actions, since you can't use the URL 
(really) to do it. Either a hidden form field or a URL association trick 
is needed.

There's also some stuff with how JSP's/servlets are included from 
portlets, and how URL's are constructed (the parameter names need to be 
encoded with the portlet id on the page), but other than that it's 
pretty straightforward. We'll do some work in this area once we start 
working on the Portlet API migration/implementation.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic
Got blog? I do. http://dreambean.com



---
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] JavaOne meetings +

2003-06-10 Thread Rickard Öberg
Michael Blake Day wrote:
How do you guys allow customers to modify velocity templates without mucking
with WAR files?
We have portlets which render pieces of pages, and a portlet have a map 
(string-object) as configuration. We typically have a template entry 
which contains the template to be used (defaulted to some .vm file in 
the WAR). Then the user can edit this template by editing the portlet 
which brings up a Swing editor with a textarea containing the template. 
It's really cool.

I've made a Flash demo with this which is available here:
http://dreambean.com/Scripting/Scripting.html
I've had to put a login on it though (we don't want certain competitors 
to see what kewlness we have), but simply email me off-list for login info.

/Rickard



---
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] JavaOne meetings +

2003-06-10 Thread Rickard Öberg
Anthony Eden wrote:

Are you trying to allow modifications of Velocity templates stored in an 
unexpanded WAR?  There is not an easy way to do this as far as I know. 
Well, it shouldn't be *that* hard, but it'd be a hassle when you do 
upgrades *shiver*

This is not to say it can't be done but its probably not worth the 
hassle since the interface to files in the Servlet API is geared towards 
reading only.

I'm going to go out on a limb and guess that Rickard's system doesn't 
pull templates from the file system but rather from some sort of 
database.  
Yup (from Jisp).

Velocity can pull template data from any ResourceLoader 
implementation.  Therefore you can pull templates from the filesystem, 
databases, in-memory, or wherever they may reside as long as you provide 
the appropriate ResourceLoader implementation.  
Or (as we do) you can simply give Velocity a String with the template. 
And of course, String's are easy to store in databases.

/Rickard



---
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] JavaOne meetings +

2003-06-08 Thread Rickard Öberg
Gerry Seidman wrote:
I am evaluating Velocity for a mission critical application (300+ heavy
internal users + web presence for another 25,000 moderate users and
250,000 occasioinal users).  Does anyone have experience with this type
of deployment?
We've built our entire CMS product on WebWork+Velocity, and the 
performance is awesome. Try surfing www.konj.se for example, which is 
running on our CMS on a 1Ghz Linux box along with 15 other customers 
(including our own homepage).

We've also found Velocity templates to be easy to build and maintain, 
and we can even let our customers do their own customizations without 
much trouble.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic
Got blog? I do. http://dreambean.com



---
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] (somewhat OT) velocity vs jsp

2003-03-13 Thread Rickard Öberg
Hani Suleiman wrote:
Alright, so based on the feedback so far, the consensus seems to be:

webwork jsp UI tags are much slower than velocity equivalents. So the 
culprit seems to be the webwork UI tags, not jsp itself.
Well, it's the base JSP include overhead that is bad, really. Including 
a JSP has in my own benchmarks a 2ms overhead. For some applications, 
like our portal product as an example, that is just totally 
unacceptable. Velocity has a vastly lower overhead for includes, as 
boxed said practically no time at all.

/Rickard



---
This SF.net email is sponsored by:Crypto Challenge is now open! 
Get cracking and register here for some mind boggling fun and 
the chance of winning an Apple iPod:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] (somewhat OT) velocity vs jsp

2003-03-12 Thread Rickard Öberg
Hani Suleiman wrote:
Most people seem to be in agreement that velocity templates are at least 
an order of magnitude faster that jsp pages, which to me seems a 
bit...odd. So I was wondering if anyone has good (small) examples of 
this being the case. Webwork examples don't count as good examples 
because they involve a lot more than just jsp vs velocity, and might 
well be due to differences in webwork's velocity stuff vs webwork's jsp 
taglib.

So, can anyone take up the challenge, and prove to me that a velocity 
page that prints out some bean properties is faster than a jsp page 
which does the exact same thing? Maybe a very basic sample app that 
anyone can run to see for themselves?
Well, we have built our entire portal product on WebWork/Velocity, and 
although I don't have the same in JSP I'm rather convinced that the 
performance we get is to a large extent due to our use of Velocity. 
Here's a sample page:
http://www.konj.se/index.html

This page assembles a whole lot of dynamic data (ALL data you see is 
taken from an object model) and uses Velocity to render it. Typically 
such pages render below 100ms, and as you can see it's a whole lot more 
complex than the MonthList.jsp page which takes forever to render in JSP.

Not sure if this helps you, but I can tell you that at least I am very 
happy with the decision we made to use Velocity.

regards,
  Rickard


---
This SF.net email is sponsored by:Crypto Challenge is now open! 
Get cracking and register here for some mind boggling fun and 
the chance of winning an Apple iPod:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] best practices around forms with multiple submitbuttons

2003-03-10 Thread Rickard Öberg
Jason Carreira wrote:
Set the button names to all be command and set the value to the name
of a command in your CommandDriven Action and have methods named
doSave,doCancel, etc. 
This does not work well with an i18n'ized app, and also doesn't work if 
the button name has several words.

It's a very tough issue, and I don't have any better answer though...

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] IoC Mini Tutorial [Was: ParameterAware deprecation]

2003-03-06 Thread Rickard Öberg
Rob Rudin wrote:
I think one drawback can be that you have to do some extra null-
checking. In the case of a connection, the class probably has a 
private instance of Connection, and when it needs to use the 
Connection, it might not have a guarantee that the Connection 
is not null - i.e. that setConnection has been called. If the 
class actively creates its Connection, then it doesn't have to 
worry about nulls. Of course, it then has to worry about 
database errors that might occur in getting the Connection, 
which it doesn't have to worry about in the IoC approach.
Thanks, but right now I want to hear Patrick's view of it. We have 
discussed this issue before, and concluded (if memory serves me right) 
that it was a bad idea. It is worrysome that he's done a 180 and seems 
to have forgotten what the problems were. So, in order to ensure that we 
have at least the same understanding of what the problems are, it's his 
view I'm after. Right now I'm just puzzled.

I hope that's clear enough.

regards,
  Rickard


---
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] IoC Mini Tutorial [Was: ParameterAware deprecation]

2003-03-06 Thread Rickard Öberg
Jason Carreira wrote:
Why don't you just go ahead and tell us what you see as drawbacks for
this approach. Obviously if Patrick thought the drawbacks outweighed
the benefits then he wouldn't be endorsing it.
The only thing that is obvious is that the drawbacks Patrick *saw* did 
not outweigh the benefits. What I'm trying to figure out is what 
Patriack saw, because we have discussed this before, which is why I'm 
surprised by his turnaround.

So, please, Patrick answer the question as thoroughly as possible.

I'll explain my view after that.

regards,
  Rickard


---
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Configuration questions

2003-03-03 Thread Rickard Öberg
Jason Carreira wrote:
I started looking at doing this and ran into some snags. For instance,
if the code calling the Proxy wants to get at the Action, how does it do
that? The ActionInvocation won't even have been created yet, if the
Proxy hasn't been executed, and will the Action make sense in a context
outside of the execute method of the ActionProxy? 
Well, that's a damn good question :-) One could argue that an invocation 
should be created immediately upon creation of actionproxy, and when 
it's invoked then the reference to it is lost so that any subsequent 
calls to get the action (from the wrapped invocation) would get a new 
invocation/action. Perhaps not a perfect solution, but it would give us 
all the right semantics (I think).

After the execute on
the ActionProxy, should the ActionInvocation still be available? All in
all, I was more sure of this design before I started doing it :-)
After the invocation the the invocation should be thrown away (I think).

As you said, it's really only once you start doing it that all these 
problems emerge. Keep doing it and we'll take the issues as we go along.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Programmatic configuration

2003-02-28 Thread Rickard Öberg
Jason Carreira wrote:
I was thinking it would be good to let them be able to do a series of
modifications to the programmatic configuration side then commit them
all at once. The runtime configuration is not really a cache, it's
another set of data structures that is built from the first set.
But, that data structure could be created on each call to the 
configuration, i.e. there's a deterministic way to get it from the 
registered package contexts. So, in *effect* it *is* a cache.

That's a good question. Are there any other frameworks we can look
at for inspiration here?
Don't know. I was hoping your experience with Portals and Portlets
would enlighten us :-)
Well, the portlet API uses an XML file similar to web.xml in order to 
tie things together. It would be possible to do something similar 
here, where there is a main config file which is *always* XML, and in 
which one register the parts that are available, and which may use any 
configuration style to load it's particular configuration.

E.g.:
xwork
!-- Register subapp foo which uses XML config --
application name=foo
param name=config.xmlfoo.xml/param
/application
!-- Register subapp bar which uses DB config --
application name=bar
param name=config.dbjava:/BarDS/param
/application
/xwork
Something like that. I think that the top needs to have a well-defined 
format though, in XML, similar to how web.xml works. As I said in an 
earlier post sometimes you want flexibility and sometimes you want 
rigidity. This is a place for rigidity.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Commands implemented

2003-02-28 Thread Rickard Öberg
Jason Carreira wrote:
   action name=commandTest
class=com.opensymphony.xwork.SimpleAction
param name=foo123/param
result name=error type=chain
param name=actionNamebar/param
/result
interceptor-ref name=static-params/
command name=myCommand method=commandMethod
param name=bar456/param
result name=success type=chain
param name=actionNamefoo/param
/result
interceptor-ref name=logger/
/command
/action
Why are params declared explicitly? What's wrong with finding them 
implicitly, as is done in WebWork? Sounds like a refactoring disaster 
waiting to happen. Any configuration that is mostly just duplication of 
code is a bad idea IMHO.

Also, it is in general VITAL that we try to keep the configuration 
required for each action/command down to a minimum. Consider the above 
when you have 50-100 commands/actions. That's a lot of stuff to keep 
track of.

This should be the last major change to configuration. The only other
thing I want to do, and I just thought of this while I was writing this,
is to make name optional on the Action and have it not create a runtime
ActionConfig for the action itself if there is no name, although you
could have several commands underneath the action which would be
configured.
Sounds ok.

I also refactored the names of the config classes.

Configuration - ConfigurationProvider
ConfigurationFactory - ConfigurationProviderFactory
DefaultConfiguration - DefaultConfigurationProvider
Why not XMLConfigurationProvider? I mean, that's what it is.

SimpleConfiguration - SimpleConfigurationProvider
Why not TestConfigurationProvider? I mean, that's what it is.

I've also created 2 new classes in the ActionConfig class hierarchy to
support commands:
ActionCommand
  ^
  |
ActionConfig
  ^
  |
HierarchicalActionConfig
ActionCommand has:
methodName
Interceptors
Parameters
Results
resultParameters
ActionConfig adds:
Class clazz
TypeConverter
HierarchicalActionConfig adds:
Commands
ActionConfig is the runtime datastructure, the other 2 are used on the
programmatic side.
Ok, so go ahead and start making fun of my class naming, but you'd
better have some better ideas :-)
See above.

I'll write another email with questions about this stuff. Oh, and I 
think there might be more major changes to it ;-)

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Commands implemented

2003-02-28 Thread Rickard Öberg
Jason Carreira wrote:
There are 2 types of parameterization, and you're free to use either
or both. The params in the configuration are static params which are
intended to parameterize a reusable Action for one or more aliases.
For instance, if you had an email action you might parameterize it
with the server address, etc.
Ok, so it's more like config stuff. I see. Right, we've covered this 
before. My bad.

You don't HAVE to put params, etc. into the config, but you can if
you need to.
IIRC we argued about this before, and I think my position was that you'd 
typically want configuration to live elsewhere, but, as you said just 
don't use it (except that it becomes a built-in anti-pattern).

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Programmatic configuration

2003-02-28 Thread Rickard Öberg
Jason Carreira wrote:
Sort of, but it's not used that way.
In what way is it not used as a cache?

E.g.: xwork !-- Register subapp foo which uses XML config --
 application name=foo param name=config.xmlfoo.xml/param
/application !-- Register subapp bar which uses DB config --
 application name=bar param
name=config.dbjava:/BarDS/param /application /xwork
What happened to the idea of breaking up the config file with an
entity resolver? Then you could have
package1 package2

This could be another way of breaking up the config file. But I agree
it would be good to be able to have different configuration provider
types and have them pulled together into one app.
You're assuming that they're all configured with XML. The example I gave 
showed how the subapps were registered using XML, but their 
configuration could be loaded from whatever.

Now, there's another approach to that (as I think I have mentioned 
before). We could say that the ONLY way to configure XWork is through 
XML. But, it would be entirely possible to have an entity resolver that 
creates XML from another configuration format or source. That way we'd 
need pluggable entity resolvers instead of pluggable configuration 
providers.

Not sure which approach is best though. Any thoughts on that?

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Commands implemented

2003-02-28 Thread Rickard Öberg
Jason Carreira wrote:
We'll have to agree to disagree :-) I think it's useful for some cases. 

How about this one: You've got an action you want to alias multiple times with different defaults?
If that ever comes up, I'll answer it. So far I've never come across 
such a situation, for me or anyone else. And I'm sure there's thousands 
of other hypothetical situations we're not covering either.

If you have a a concrete example of where this would occur, bring it on :-)

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Programmatic configuration

2003-02-28 Thread Rickard Öberg
Jason Carreira wrote:
-Original Message-
From: Rickard Öberg [mailto:[EMAIL PROTECTED] 

Yes, and the right way to do this is probably to enforce that 
views have 
this style /WEB-INF/foo where foo is the name of the 
subapp, i.e. do 
a hard prefixing. This will ensure that you can always get them to 
play along nicely, with a little admin if necessary.
We're talking about subapps here, but they all seem to be packaged together? Wouldn't you want your subapps to be packaged in a war file of some sort?
Yes, it's kind of like multiple WAR's in an EAR, except they're multiple 
XWork modules in one WAR.

So, yes, the subapps are packaged in a WAR file. The same WAR file.

Why not use the standard XML way to include files in other 
files, i.e. 
using entities? The above seems a bit like reinventing the wheel.
Do you have an example of this? I've never used this.
Never used entities? They're pretty straightforward. Here's an example 
(straight from our AOP config):
!DOCTYPE aspects SYSTEM aspects.dtd [
   !ENTITY interceptors SYSTEM interceptors.xml
   !ENTITY serverinterceptors SYSTEM serverinterceptors.xml
   !ENTITY extensions SYSTEM extensions.xml
   !ENTITY serverextensions SYSTEM serverextensions.xml
   !ENTITY services SYSTEM services.xml
   !ENTITY objects SYSTEM objects.xml

   !ENTITY forum SYSTEM forum.xml
   !ENTITY form SYSTEM form.xml
   !ENTITY levis SYSTEM levis.xml
]
aspects
   !-- System definitions --
   interceptors;
   serverinterceptors;
   extensions;
   serverextensions;
   services;
   objects;
   !-- Modules --
   forum;
   form;
/aspects
---
Which coincidentally gives an example of multiple subapps in one app, 
i.e. the form/forum stuff.

It'd be cool if one didn't have to declare the entities, i.e. to be able 
to have resolve the entities automatically (e.g. forum.xml; would 
automatically resolve to forum.xml without having to declare it 
first). I have not been able to figure out how to do that though. If 
anyone knows, please tell :-)

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Configuration questions

2003-02-28 Thread Rickard Öberg
Jason Carreira wrote:
* This method in ConfigurationManager is wrong:
Interceptor getInterceptor(String clazz)
  It assumes that there is only one instance of each 
interceptor class. 
This does not account for the case where one instance is used 
with many 
names (compare with servlets), and configured differently in 
each case. 
It has to change to:
Interceptor getInterceptor(String namespace, String name)
Patrick and I have talked about parameterized Interceptors but we were
unable to come up with an example yet, so we didn't implement it (YAGNI
in action). I agree that if we decide to have parameterized
Interceptors, this is necessary.
Ok, well I guess this argument is the same as parameterized commands. I 
have a couple of interceptors in my own AOP application that are indeed 
parameterized, so at least in that context there's a need, and I can 
make a similar example for this case (this, interestingly enough, 
touches upon the parameterization issues of commands too that I 
mentioned in my last post).

* the getAll* methods in the PackageContext's should not be 
there. The 
contexts may understand their own stuff, and that they happen 
to have a 
parent, but they should not be responsible for putting it all 
together. That's the task of the ConfigurationManager IMHO. I'm not 
even sure a PC should have a direct link to it's parent. 
Maybe the name 
is enough, and the CM should make the connection.
Well, maybe. This just made a lot of things easier. I'll have to look in
the code again for more specific examples.
Just move them to the CM.

Some issues not related to configuration:
* It seems ActionInvocation's are called directly by code. A 
better way 
to do this is to create an ActionProxy which upon execute() 
creates an 
invocation and invoke it. This ensure that invocations are 
not reused. 
In general an invocation is not a good thing to deal with directly 
since it's conceptually a side-effect of something else. Hiding it 
behind an ActionProxy would fix this.
Sounds like a good idea, but how do we prevent people from using
ActionInvocations directly? Would we make them package local and put the
ActionProxy in there as well?
I'm not sure why people would try to use it directly, but using package 
protected constructors would work.

In what way? 
Well, mainly the good 'ol curly braces thing (and I have thus far never 
seen a good reason why one would put 'em on the same line), and also how 
portions of the class is delineated. I prefer the template used in WW, 
which had more clearly defined sections.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Programmatic configuration

2003-02-27 Thread Rickard Öberg
Jason Carreira wrote:
Why is an interface needed here? I thought this was just a
singleton thingy which the app can query. Are there several
implementation possibilities, and if so, why?
Probably not needed. I just created them to keep me sane.
Ok. Then I'd propose that it's removed.  :-) Let's keep simple things
simple. Sometimes you want flexibility and strategy possibilities, and 
sometimes you want rigidity and stability. This is a case of the latter 
I think.

IMHO that's backwards. This thing should be a stupid data holder, 
nothing more. It's 3) that determines when the data should be 
reloaded.
But you want to give the API users one thing to interact with, that
being the ConfigurationManager. It's already got to know how to build
the runtime configuration from the programmatic configuration.
Can't this be done when a configuration bundle is registered with the 
ConfigurationManager? Or, lazily upon access? Should work just fine as 
far as I can tell.

That's backwards. It should be possible to have N implementations,
one for each kind of configuration, simultaneously. Remember, an 
application may be created by merging several subapps, and each
subapp may have its own way to read configuration. The total app
must be able to handle this. With only One way to read
configuration that is not possible.
That's a good point. We'll take it up with Patrick... I'll plead his
starting that. :-)
In general, this app created from subapps is something that needs to 
be considered in all aspects. WebWork was monolithic in this sense, and 
it'd be good if we can move away from that. As I've already noted a 
couple of times, I think in the future it will be more common to build 
webapps from smaller webapps, e.g. through portlets.

This is backwards, because how would you know when to call 
reload()? The only entity which can know this are the individual 
ConfigurationFactories.
Okay. We can look at how this should be implemented. I still think
the user needs to be able to trigger this programmatically, though,
like a refresh my config.
Ok, how about this then: have the configuration loaders be able to 
register with the configuration API, and on refresh simply give them a 
callback. That way the bundles (which should be *stupid*) does not 
contain logic that understand refreshing. Then, any loaders that can 
reload can remove the previous configuration and add a new one.

I see your points, but I still think there are some details to be
worked out. Check out the code and let me know how you think it
should change.
There's always details to work out :-) I'll check it out.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic
Got blog? I do. http://dreambean.com



---
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Programmatic configuration

2003-02-27 Thread Rickard Öberg
Jason Carreira wrote:
Here's what I'm thinking:

1) Remove the ManageableConfiguration Interface (was
ProgrammableConfiguration) - this is just ConfigurationManager 2)
Make RuntimeConfiguration into a class and move that part of
ConfigurationManager over to it
There will always be only one RuntimeConfiguration which is created
by ConfigurationManager from the configuration structures it holds
which are initialized by the ConfigurationProviders
I'm having a little trouble seeing exactly what it would lead to, so 
hard to comment on. Just do it, and I'll look at the end result.

Can't this be done when a configuration bundle is registered with
the ConfigurationManager? Or, lazily upon access? Should work just
fine as far as I can tell.
The problem here is the case of programmatic configuration. If
someone writes code to call into the ConfigurationManager to change
the configs, then they need to be able to generate the runtime
configuration from it.
If someone adds/removes configuration - clear cache. When a value is 
needed - either rebuild the entire cache or just the cache for that value.

In general, this app created from subapps is something that needs
to be considered in all aspects. WebWork was monolithic in this 
sense, and it'd be good if we can move away from that. As I've
already noted a couple of times, I think in the future it will be
more common to build webapps from smaller webapps, e.g. through
portlets.


I agree. How would the sub-apps configuration get loaded? How are
they packaged?
That's a good question. Are there any other frameworks we can look at 
for inspiration here?

Ok, how about this then: have the configuration loaders be able to
 register with the configuration API, and on refresh simply give
them a callback. That way the bundles (which should be *stupid*)
does not contain logic that understand refreshing. Then, any
loaders that can reload can remove the previous configuration and
add a new one.


This is what it does now. Here's the reload() method on
ConfigurationManager:
public synchronized void reload() throws ConfigurationException { 
packageContexts.clear(); ConfigurationProvider config =
ConfigurationProviderFactory.getConfig(); config.init(this); 
buildRuntimeConfiguration(); }

This, in order, clears the current data structure, gets the
ConfigurationProvider (which could be changed to a List of
ConfigurationProviders) and tells it (them) to init, passing it this
so that they can call back to the ConfigurationManager to register
configurations, then it builds the runtime configuration from the
registered configurations.
Ok. I'll have to look at the code to see all the implications of this I 
think.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Programmatic configuration

2003-02-26 Thread Rickard Öberg
Jason Carreira wrote:
How about ManagableConfiguration?
or ConfigurationPackage

or ConfigurationUnit

or ConfigurationBundle

Either works, but maybe ConfigurationBundle best describes what it 
actually is.



---
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Programmatic configuration

2003-02-26 Thread Rickard Öberg
Jason Carreira wrote:

-Original Message- From: Rickard Öberg
[mailto:[EMAIL PROTECTED]
Ah, ok, I looked at the interface you sent in email, and true, it 
doesn't describe it well. But, I would argue that the interface
should be split, as I described in my first email on programmatic 
configuration.

You'd typically have 3 players involved: 1 Some configuration
repository which the application can use to get configuration
settings.


This is the RuntimeConfiguration Interface. Both this and
ProgrammableConfiguration are implemented by ConfigurationManager
right now. This uses a very flat data structure. You call
getActionConfig(String namespace, String name) to get an
ActionConfig. The Package structures, etc. are stripped away as
they're only used to provide defaults and inheritance.
Why is an interface needed here? I thought this was just a singleton 
thingy which the app can query. Are there several implementation 
possibilities, and if so, why?

2 Some configuration bundle containing settings that have been
loaded. This mostly just have get/set methods.
This is ProgrammableConfiguration. It also has a reload() method to
tell it to get the new configuration from 3, below, and
buildRuntimeConfiguration(), which can be thought of as a save
method which tells it to generate the runtime configuration from the
hierarchical configuration structures which can be programmatically
tweaked.
IMHO that's backwards. This thing should be a stupid data holder, 
nothing more. It's 3) that determines when the data should be reloaded.

3 Various loaders which read configuration files (e.g. XML) and
create configuration bundles and register these with the
repository.


This is ConfigurationFactory, which can have one object implementing
Configuration registered with it (by default this is
DefaultConfiguration). 
That's backwards. It should be possible to have N implementations, one 
for each kind of configuration, simultaneously. Remember, an application 
may be created by merging several subapps, and each subapp may have its 
own way to read configuration. The total app must be able to handle 
this. With only One way to read configuration that is not possible.

When ConfigurationManager.reload() is called,
it calls ConfigurationFactory.getConfiguration().init(this) to tell
the Configuration to load its configuration and register the
configuration params with the ProgrammableConfiguration it's passed
(ConfigurationManager). DefaultConfiguration starts at init() and
loads the xwork.xml file, parsing through it building up data
structures and registering them with the ProgrammableConfiguration it
is passed.
This is backwards, because how would you know when to call reload()? The 
only entity which can know this are the individual ConfigurationFactories.

It then becomes possible to configure the app at runtime without
using 3 at all, since 2 can be created programmatically. Instances
of 2 can also be serialized and sent around in a system without
much trouble.
Hadn't thought of sending serialized configuration objects around.
Why would you want to do this?
Why not? :-) Example: using JMX to configure. Using a Java client to 
configure. Storing serialized configuration in a database. Etc. etc.

Right now what happens is that ConfigurationManager has a static
instance which is initialized at class initialization and calls
reload to get the Configuration from the ConfigurationFactory.
See above. That's the wrong approach. Do you see why?

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic
Got blog? I do. http://dreambean.com



---
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Webwork 2.0 example app

2003-02-25 Thread Rickard Öberg
Cameron Braid wrote:
Rickard,

	Is your AOP Framework availible for public use ?  
Nope. I built it when we started on the CMS/portal SiteVision that we're 
developing, but it has not yet been released for public use yet. 
Ironically, we're actually having a little trouble seeing what benefits 
it would give us, which is why we haven't released it (along with time 
constraints).

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Webwork 2.0 example app

2003-02-25 Thread Rickard Öberg
Jason Carreira wrote:
Undying praise and gratitude? :-)
I tried that one, but my co-workers didn't fall for it :-) They just saw 
the enourmous mountain of support email I'd have to deal with - less 
time for actual work.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] OT: Wiki [Was: Webwork 2.0 example app]

2003-02-25 Thread Rickard Öberg
Patrick Lightbody wrote:
Yup, I personally like SnipSnap, but it's got a lot of missing features that
make it just not good enough. Mainly:
1) Email notifications
2) Revision history
3) File attachments
Agree with these.

4) WikiNaming support (I hate doing [Foo Bar], I like FooBar)
But certainly not with this one. The Wiki I'm running now (using 
SnipSnap) is used by non-techie people, and for them it's certainly 
easier to use the [Name goes here] style. Also, I don't see how names 
with non-letters would work (e.g. [Oberg, Rickard]) using the WikiNaming 
style.

My personal requirements for a Wiki, which aren't adressed in SnipSnap, 
involves a much higher level of security. I do *not* want anyone to be 
able to just sign up and edit pages. It's a disaster waiting to happen.

/Rickard



---
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] re: some suggestion about ww2.0

2003-02-19 Thread Rickard Öberg
Steve Conover wrote:

Would it be possible to make the view selection algorithm pluggable, as
a Strategy or something like that?  Just a thought.


It could be, but it would have to account for allowing multiple 
algorithms to be present. If a webapp A is composed of webapps B and C, 
both of which use WebWork but with algo's X and Y respectively, A needs 
to work as expected. This is a generally tricky situation, but as we 
move more towards a portlet-world where apps are composed of smaller 
components it is a very important thing to consider.

In general I'm not in favor of pluggability at that level. It tends to 
confuse more than it helps.

/Rickard



---
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Action Properties HttpSession

2003-02-07 Thread Rickard Öberg
Chris Nokleberg wrote:

I have an idea: how about adding an interface Model that has one 
method Object getModel(). It would be implemented in ActionSupport as:
public Object getModel() { return this; }

It is a good idea. Maverick does something similar, I think.

Might I suggest that the method be:
   Object model()

getModel makes it a property, which then becomes part of the model 
itself.

hm.. IIRC model() is also a property (both getModel and model is 
tested if the model property is accessed.

*If* I recall correctly we might as well use getModel(), since it looks 
cleaner.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Velocity Views

2003-02-07 Thread Rickard Öberg
Scott Farquhar wrote:

What advantage does this have over the included WebworkVelocityServlet?


He never said that he wasn't using the WebworkVelocityServlet. The 
method he describes is mostly just to get access to the action as a 
Velocity object. Otherwise it would be impossible to call methods, as he 
described.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Action Properties HttpSession

2003-02-07 Thread Rickard Öberg
Dick Zetterberg wrote:

By using this one could avoid doing form names such as
myBean/oneProperty and simply use oneProperty instead, if the
getModel() method returns the model to be used both as input and as
result.


But if your bean contains other beans then you still have to use names like
otherBean/newProperty, and if you today use several beans in your action
you would have to create a wrapper class for them to use as the model
(instead of just adding a get method for each bean in the action).


In that case you could continue to use the action as the wrapper.


So I do not see a very big practical advantage with the proposed addition.


For the cases you mention, sure. But there's quite a number of cases 
where only one bean is being used as input/output and for that case it 
becomes much cleaner.

However, I am not against it if you find it useful, as long as the old way
of doing it still works.


As I noted the default would be that it works exactly like today.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] Velocity Views

2003-02-06 Thread Rickard Öberg
Kelvin Tan wrote:

Interesting. 

flamebaitI happen to come from the Turbine + hardcore Velocity (JSP sucks, 
mostly) camp, so would be interested to know why you choose JSP + Velocity, and 
not either. /flamebait

Does it have anything to do with WebWork support for either? 

I'm currently using Velocity for about 90%, and JSP for the rest. The 
10% JSP are usually forms, since the form tags are not available in 
Velocity yet.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Followup to the IRC meeting: ThreadLocal impl

2003-02-05 Thread Rickard Öberg
Jason Carreira wrote:

Ok, so this is a follow-up to the ThreadLocal discussion this morning. 

So during the ActionInvocation.invoke call, if there are no more
Interceptors, it should set the ActionContext into the ThreadLocal?
That's what I was thinking.

The context is set by the dispatcher:
* Set context
* Create action
* Invoke action (which may invoke other actions)


The problem is during the ActionInvocation stack. How do the
Interceptors interact with the parameters, the session, and the
application map? 

See above. No problemo.


I was creating a new ActionContext object and passing
that as part of the ActionInvocation (replacing the Map context in there
now), 

IMO the context should not be a part of the request. The 
ActionInvocation corresponds to the ServletRequest (in servlet lingo), 
and the context corresponds to the ServletContext (in servlet lingo).

but the problem is that the getters and setters for Session, etc
are static, so getting the Session and setting something into it doesn't
work if the current instance is not set into the ThreadLocal. On the
other hand, if those setters are made non-static, then in the Action,
you'll have to do:

ActionContext.getContext().getSession() instead of
ActionContext.getSession().


See above. ActionContext.getSession() should be fine.


This is the path I started down when I decided I would open it up to the
floor and schedule the meeting.

Any thoughts? 

As above. Don't try to mix everything together into pure request stuff. 
The ActionInvocation is one thing, the context is different. There are 
*some* stuff that is in between, but not much.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Tomcat not mapping *.action to WebWork

2003-02-03 Thread Rickard Öberg
Andrew Lombardi wrote:

Rickard,

I've upgraded the version of Tomcat to the latest 4.1.18 and I'm no 
longer getting the security permissions errors.  However, the URI 
*.action is still not being mapped and I continue seeing this in the log 
files:

WARN  [DefaultConfiguration] Skipping XML action configuration for 
actions.xml

does that provide any clues?


Well, it seems as though it can't find it. Either it's in the wrong 
place (i.e. not in WEB-INF/classes) or it's spelled wrong, or something 
like that. That's the reasons I can think of anyway.

/Rickard



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] XWork flux

2003-01-30 Thread Rickard Öberg
Joseph Ottinger wrote:

Can we PLEASE get back to useful discussion? I'm interested in seeing if
XWork is usable, and how much in flux it's considered to be.


Alright, I'd estimate that the fluxness of XWork is about 70%.

Which doesn't mean a whole lot I guess. Wait and see.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] XWork flux

2003-01-30 Thread Rickard Öberg
Simon Stewart wrote:

Rickard, just a thought, but how much of the code in XWork is derived 
form (or at least, similar in principle to) your own AOP framework? I 
get the feeling that there could be a significant amount of overlap 
between the two in terms of configuration, interceptors, etc.

Not a whole lot really. The XWork stuff is highly specialized for the 
thing it does, whereas my AOP framework is totally generic. Some of the 
configuration is similar, like packages and such, but still very very 
different. I use runtime attributes a lot for configuration, which isn't 
possible here (for example).

The ideas are similar though.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Why the 2 lib dirs in skeleton.zip?

2003-01-30 Thread Rickard Öberg
Wayland Chan wrote:

Included in the WW1.3 distribution is a
skelecton-project.zip file.

There are two lib directories containing different jar
files.

skeleton
 +--lib
 +--src
  +--lib


The top one is for the build, and the second one is for 
compiling/runtime. Very separate purposes, so they can't/shouldn't be 
merged.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] ActionContext clarification

2003-01-29 Thread Rickard Öberg
Konstantin Priblouda wrote:

Yep. I have to live with frameset, and on couple the
first executions of various jsps it delivers different
objects. But then it stabilizes...
Kind of weird. 

I think I will provide 2 methods for my factory:
from jsp feed it with session and extract  object from
t here and fromj action just ask ActionContext 
for object with the same key.

Is there a better ( servlet agnostic? more webworky? )
way to obtain global object from web application?

Well, if you're using scriptlets then I guess you can use the request 
directly.

The WebWorky way is to have all code that does stuff in actions, and in 
that case you'd never have any problem.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] ActionContext clarification

2003-01-29 Thread Rickard Öberg
Konstantin Priblouda wrote:

So you suggest that I convert my factory class into
action, and this action shall deposit my desired class
in [say] thread local upon execution?

Is there webwork example for such factory actions?


What are you using the factory for? Sounds like the dispatcher to me.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] ActionContext clarification

2003-01-29 Thread Rickard Öberg
Konstantin Priblouda wrote:

Is there webwork example for such factory actions?


What are you using the factory for? Sounds like the
dispatcher to me.


I need a application-global object. 

Original version was: 
---%-
public static getFoo(HttpSession bar) {
 Foo foo = bar.getValue(FOO_KEY);

 if(foo == null) {
   foo = new Foo();
   bar.put(FOO_KEY,foo);
 }
  return foo;
}
---%-

Hm.. this is not application-global. It is session-specific.


Then i was in need to perform the same from action
 - so I modified this method to luse Map instead of
session
and added another static method which just feeds first
one with ActionContext.getSession()

Shall I use [say ] GenerixcDispatcher to initialize
ActionContext ?


First of all: do you want it to be application-wide or session-wide?

Regardless, the initialization should probably be done using a 
ServiceContextListener.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] ActionContext clarification

2003-01-29 Thread Rickard Öberg
Konstantin Priblouda wrote:

Regardless, the initialization should probably be
done using a 
ServiceContextListener.

What is ServiceContextListener? Nothing in webwork
docs
about it, neither in servlet api


Sorry, I meant this one:
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletContextListener.html

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] ActionContext clarification

2003-01-29 Thread Rickard Öberg
Konstantin Priblouda wrote:

Well, not quite webworky :)


The idea is to not reinvent the wheel.


I would like to be servlet-agnostic...


Ok, then put the code that initializes the context in a class and call 
it from a ServiceContextListener.

What is correct way to obtain ActionContext
which was initialized with HttpSession data if there
is
HttpSession around?


I think ServletActionContext.getSession() works.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] ActionContext clarification

2003-01-29 Thread Rickard Öberg
Konstantin Priblouda wrote:

What is correct way to obtain ActionContext
which was initialized with HttpSession data if


there


is
HttpSession around?


I think ServletActionContext.getSession() works.


This method does not exists in current CVS version
of webwork...


Sorry, that should be ActionContext.getSession()


Another question: 
It seems to me that ActionContext is stored as
TreadLocal, is this map kept in synch with session
contents?

The reference to the session is updated every time an action is 
executed. Execute an action - works. Don't execute an action - doesn't 
work, or unspecified.

Again, if you just run an action access to the context is not a problem. 
If you try to access the context in any other scenario, you're asking 
for trouble.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


[OS-webwork] (Offtopic) Freemarker WAS Using SiteMesh for the UI tags

2003-01-29 Thread Rickard Öberg
I'll bite. Just this once.

Jonathan Revusky wrote:

Absolutely, go read it.


I think you should go read it too, Rickard. Your comments here do not 
seem to be based on any grasp of what really happened.

Just re-read it, and it re-confirmed my assesment of what happened, and 
my comments still stand.

Anybody who reads the thread and was not born yesterday will see that 
the Velocity people started all the personal attacks, all the ad hominem 
and character assastination stuff against me specifically because they 
could not deal with me in legitimate debate. That you, Rickard, cannnot 
see through this, does not speak terribly well for you.

Okidoki.


I am specifically saying that this is where the thread starts. Somebody 
starts talking about comparing monetary value and I take the opportunity 
to point out that FreeMarker has the features they want. The discussion 
continues where a bunch of the Velocity people decide to debate 
philosophically the desirability of decimal numbers and such.

What I meant was that it was a pretty good start of the rant, that went 
on and on and on and on.

I really think you ought to read the thread as well. I think that if you 
do, you will discover, to your chagrin, that my characterization of it 
is correct, and that, in fact, you owe me an apology.

I owe you zilch.


What an eloquant way to say I have the right to say whatever I want, 
wherever I want, whenever I want, no matter what anyone else thinks.
It's really fine up until the very last point. Your above reasoning 
would allow us to go to the Struts list to explain to them what a 
monumentally mediocre piece of work they have,

Hold on a second. I *never* stated on the Velocity list that Velocity 
was a monumentally mediocre piece of work. I just stated it here. On 
the Velocity list, I restricted myself to pointing out that features 
(such as decimal support among other things) that Velocity users were 
lobbying for, were already present in FreeMarker. That has its obnoxious 
side, but it is completely fair comment and I do not believe that you 
can really maintain otherwise.

You went in there with a specific agenda (which you stated yourself 
after a while), and from that point of view you thought that I have the 
right to say whatever I want, wherever I want, whenever I want, no 
matter what anyone else thinks, which is a point where we disagree and 
is the attitude that I objected to. I wouldn't want Struts people 
strutting around here like you did, and neither would I want WW folks 
ranting on the Struts lists. It's just bad taste.

In any case, your basic stance is fundamentally nonsensical. If you 
wanted to know what my behavior would be like on this list if FreeMarker 
became an OS project, the thing to look at would be my behavior on the 
FreeMarker list, *not* on the Velocity list. Furthermore, your 
characterization of my behavior on the Velocity list (though utterly 
irrelevant anyway) is also inaccurate. The other people invariably 
commenced the ad hominem attacks on me because they could not deal with 
me in legitimate technical debate. This is not a matter of legitimate 
controversy. It is what a reading of the electronic record will show.

And again, those who are interested in understanding this story should 
go read it. It's quite illuminating, especially since we seem to see 
completely different things.

BTW, in terms of my assessment of Velocity's quality as a piece of work, 
I pretty much completely pulled my punches there. I mean, just as one 
example, look at the way Velocity handles macro parameters. It passes 
them in as strings, that are reparsed and evaluated every time the 
parameter is referenced in the macro.  I simply pointed out that 
features that people had been lobbying unsuccessfully for in Velocity 
for god-knows-how-long were available in FreeMarker.

That's probably an interesting point, but this is the WW list. We don't 
really care.

which get the level of usage and attention that it does because it is 
a part of apache.org. Factually correct (one could argue), but oh so 
irrelevant.

I guess we will just have to agree on disagreeing on this point.

Well, as for agreeing to disagree, with the overtones of political 
correctness and relativism, well... sorry... I don't just agree to 
disagree with you on this matter. I am stating that your 
characterization of what happened is FALSE. And I have backed up the 
assertion by pointing to the exchange in question that anybody can read.

Or so you think. Most amusing.


Note that the reading of it is not particularly flattering to me. It 
shows my ability to push people's buttons for fun somewhat. BUT the 
behavior of the other people in the thread was typically far worse than 
mine. That much is pretty clear.

To you.


In other words, if someone else is a prick you have the right to be a 
prick too. Interesting logic, and again I guess we will just have to 
agree on disagreeing on this point.

I was simply stating 

Re: [OS-webwork] (Offtopic) Freemarker WAS Using SiteMesh for theUI tags

2003-01-29 Thread Rickard Öberg
Still off-topic.

Rickard Öberg wrote:
hge snip

Goodbye Jonathan.


Jonathan is bashing on me off-line. Has anyone read the Velocity thread 
and found my characterization of it as disgusting to be way out of 
line and bordering on harassment of Jonathan?

He sez:
And you had no fucking business badmouthing me on a public list where 
it was completely off-topic. Also, the characterization of my ranting 
-- as if nobody else's shit stank there -- was fundamentally dishonest.

Did anyone consider my opinion of the thread as badmouthing him?

Just curious.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Freemarker WAS Using SiteMesh for the UI tags

2003-01-28 Thread Rickard Öberg
Francois Beauregard wrote:

A few developers here have used freemarker a little while ago and loved it.
It seems to be a very good alternative to velocity.

Since it worked for WebWork and after some little discensions the community
seems be very well and alive, I would like to throw the suggestion the
freemarker joins OpenSymphony.

If the suggestion makes sense, an evaluation of the ptoential must be done
by both party. Also, goals and directions for the project should be
established first. I think this is the part that was missing when the
WebWork joined OpenSymphony.


Well, I remember some not so long ago the FreeMarker main developer went 
to the Velocity lists and ranted like crazy. It was a very disappointing 
read and he just wouldn't give up. I'm sure FreeMarker is ok 
technically, but I'd prefer to keep stuff like that out of here. So, no, 
I don't think FreeMarker should join OS.

IMHO.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Freemarker WAS Using SiteMesh for the UI tags

2003-01-28 Thread Rickard Öberg
Francois Beauregard wrote:

I was not aware of that fact.
You are right. OpenSymphony seem to have got lately to a point where there
is a good exchange of ideas and the community moves forward. This must stay
the way it is right now.

Do you remeber the reasons for the ranting?


Yes, his belief that FreeMarker was the ultimate solution and that he 
was entitled to telling everyone of this regardless of everyone on the 
list begging for the opposite. It was (to me) quite disgusting.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Freemarker WAS Using SiteMesh for the UI tags

2003-01-28 Thread Rickard Öberg
Francois Beauregard wrote:

Just wanted to emphasize the fact that supporting Freemarker as a view
technology in WebWork and integrating Freemarker as an OpenSymphony project
are two really separate issues.


Oh absolutely. If someone wants to integrate FreeMaker go right ahead. I 
have no problem with that.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Re: Freemarker WAS Using SiteMesh for the UI tags

2003-01-28 Thread Rickard Öberg
Jonathan Revusky wrote:

François, I don't believe that you should take Rickard's account of  
what happened as definitive, particularly when there is a complete  
electronic  record of all of this that anybody can look at.

Absolutely, go read it.


In the following post, a velocity users asks about monetary values in a  
velocity template. At some point in the thread, I respond. Here is the  
initial post of that thread, entitled Comparing Monetary Value.

http://www.mail-archive.com/velocity-user@jakarta.apache.org/ msg08355.html

Here is my initial contribution to the thread and thus, I suppose, this  
is an example of my ranting:

http://www.mail-archive.com/velocity-user@jakarta.apache.org/ msg08366.html

Not really, but it's a good start.


I would encourage you to read through the whole thread and how it  
developed. It actually becomes piquant. Quite entertaining stuff. But I  
think you'll see that Rickard's characterization of what happened is  
pretty stretched. What you'll see is that various people attempt to  
engage me in debate and then, when they end up looking foolish *but  
fairly, in legitimate technical debate* they then start the attacks on  
my person. And then they later claim (quite mendaciously, of course)  
that I was the one engaging in personal attacks on them!!!

As Jonathan said, read the thread.


  Yes, his belief that FreeMarker was the ultimate solution and that he
  was entitled to telling everyone of this regardless of everyone on  the
  list begging for the opposite.

To be clear, I see no real problem with telling people about FreeMarker  
on a Velocity mailing list. There are 2 key reasons for this:

1. Velocity is a monumentally mediocre piece of work that only receives  
the level of usage and attention that it does because it is part of  
apache.org. Since there is such a huge disparity in the visibility of  
Velocity and something like FreeMarker, I have no compunctions about  
mentioning FreeMarker on the Velocity list, no more than I would in  
mentioning FreeMarker on a list devoted to JSP. In any case, my  
behavior there may have its obnoxious side. Fine. Okay BUT... but  
what is the basic grievance? At the end of the day, the end-user can  
always choose to use whichever tool suits him best. You may also note  
that my posts were invariably factual and could have been helpful to  
anybody making such a decision. It appears that the Velocity community  
did not want anybody making comparisons.

What an eloquant way to say I have the right to say whatever I want, 
wherever I want, whenever I want, no matter what anyone else thinks.
It's really fine up until the very last point. Your above reasoning 
would allow us to go to the Struts list to explain to them what a 
monumentally mediocre piece of work they have, which get the level of 
usage and attention that it does because it is a part of apache.org. 
Factually correct (one could argue), but oh so irrelevant.

I guess we will just have to agree on disagreeing on this point.

2. Velocity developers have engaged in this kind of behavior themselves  
on the webmacro mailing list. This was particularly obnoxious because,  
of course Velocity is little more than a rip-off clone of Webmacro in  
the first place. In fact, the origin of it is that Webmacro was  
supposed to be an apache project, but there was some falling out  
between Jon Stevens and Justin Wells and Jon Stevens started the  
webmacro clone that became velocity. But anyway, given the history, the  
velocity developers are very poorly placed to scream and holler about  
me showing up on their mailing list. You see, they have bad karma...

In other words, if someone else is a prick you have the right to be a 
prick too. Interesting logic, and again I guess we will just have to 
agree on disagreeing on this point.

   It was (to me) quite disgusting.

Well, I'm glad you put the to me there in parentheses. I am quite  
convinced that some people derived vicarious pleasure from it. :-)

Absolutely: you seemed to have fun. That's why I added to me, because 
I had a hunch that you'd disagree.

But anyway, I very honestly do not want to start a flamewar here. I  
don't have the time for it and I don't have any quarrel with anyone  
here. In fact, I have little intention of participating much more on  
this list. But here's the key point: Look, there's a complete  
electronic record of all of this. Go look at it and see if Rickard's  
characterization of my 'ranting' is accurate. That's pretty  
reasonable, huh?

Sure enough.

And ironically, your post is an excellent example of the kind of stuff I 
want to avoid in OpenSymphony.

Now back to our regular programming.

regards,
  Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http

Re: [OS-webwork] WebWork 2.0: FilterDispatcher? [Small problem +solution?]

2003-01-27 Thread Rickard Öberg
Patrick Lightbody wrote:

I found a possible way around this, but I'm not sure if it's a good idea or
not :)

What if the FilterDispatcher never actually makes a call to
filterChain.doFilter()? This would get around the duplicate view request
problem outlined below, but would require that the filter -must- be the last
one applied or else you'll loose the application of filters further down the
chain. I don't think this is too bad though, since we can just -clearly-
document that the FilterDispatcher (if you want to use it) must be applied
last.

Thoughts?


Works for me :-)

/Rickard



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] Configuration question

2003-01-27 Thread Rickard Öberg
Hani Suleiman wrote:

Looking over the *Configuration framework, it looks like keys that aren't found
result in a IllegalArgumentException being thrown.

Now, the DelegatingConfiguration goes through all configurations when trying to
find any named property. This means that there are a *lot* of getString calls to
each configuration, hence a lot of new exceptions being thrown and caught which
is rather expensive.

My question is, why was this done this way? Why not just use nulls or some other
static marker object if we need to distinguish between 'the value is null' and
'I don't know anything about this value'?


The reason is that it's easier to code client-code using exceptions. 
Instead of doing null-checks all the time you can write code that assume 
that certain settings are available, and then simply try/catch it in 
case it wasn't available.

That was the reason. Improving performance may be a more important 
factor though, so go ahead and change it if you want to. Just make sure 
that all calls to the conf. does proper null checking.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] WebWork 2.0: FilterDispatcher?

2003-01-23 Thread Rickard Öberg
Patrick Lightbody wrote:
snippetysnap

What do you think? Rickard, would this work for you? Everyone else, would
this work for YOU? ;)


Works for me! :-)

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] Ognl: peek(), up(), and down()

2003-01-23 Thread Rickard Öberg
Patrick Lightbody wrote:

If Ognl is just totally unacceptable, then let's discuss two options:
1) Redevelop the WW EL with speed as well as type conversion both as a top
priority
2) Develop XWork to support pluggable ValueStack implementations


Just a point on 2. This will introduce muchos confusion, especially in a 
situation where you want to compose an application from two individually 
developed parts which may use different implementations. It's also a 
documentation problem (it's like this, unless you use this stack, 
because then it looks like this, which has this and this semantics).

Sometimes flexibility is good, sometimes it's a recipe for disaster. In 
this particular case I'd say it's the latter.

Either make OGNL work ok, or go with 1). I'd personally prefer 1).

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Performance

2003-01-23 Thread Rickard Öberg
Robert Nicholson wrote:

Were those JSPs precompiled or at least had you visited them once already?


I accessed the page loads of times using webstress and calculated an 
average. It's a couple of ms for JSP's, and about a ms for Velocity. 
That may not seem like much, but it adds up (especially if you, like us, 
use includes EVERYWHERE).

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Xwork 1.0 and Webwork 2.0 Mission Statements

2003-01-22 Thread Rickard Öberg
Sounds good to me!

/Rickard

Jason Carreira wrote:

Here's a first pass at mission statements for Xwork 1.0 and Webwork 2.0.
Hopefully this will help clear up what Xwork is, what Webwork is, and
what is and is not in scope for each project.

snip



---
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] Performance

2003-01-22 Thread Rickard Öberg
Patrick Lightbody wrote:

I believe that rewriting it to work for Lists would be just fine. The main
thing it is doing is essentially _skipping_ all the EL stuff, which I
believe is OK since templates are only usually edited once.


Another thing that could be an idea is to use Velocity for the 
templates. I measured the raw overhead of doing an RD.include() on an 
empty Velocity template and an empty JSP. The overhead was way higher 
for a JSP, so in any include-intensive situation (e.g. tag templates) 
Velocity is a better choice.

And same as above applies: they're only usually edited once so what it's 
implemented with isn't that important.

Another good thing about using Velocity instead of JSP is that the 
performance is more consistant since it's not reliant on the JSP engine 
quality which, in some cases, is not what it should/could be 
(Tomcat/Jetty for example).

/Rickard



---
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Hidden token

2003-01-16 Thread Rickard Öberg
boxed wrote:

I proposed the ability to associate URL's with actions. When the URL is
requested the action is executed and the association is removed. This
removes the need for any Javascript solution or any hidden fields or any
such tricks.


Would the result of this execution be stored so that the second click would
lead to the already generated result then?


I don't know. Probably not. The above feature would only ensure that 
only code that is SUPPOSED to be executed actually gets executed.

/Rickard




---
This SF.NET email is sponsored by: A Thawte Code Signing Certificate 
is essential in establishing user confidence by providing assurance of 
authenticity and code integrity. Download our Free Code Signing guide:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Hidden token

2003-01-16 Thread Rickard Öberg
Erik Beeson wrote:

There would be no hidden field. When the URL is generated that URL is
associated with the actions to be run. There's no way to figure out from
the URL what actions will be executed.


So you get URLs like:
http://www.myhost.com/some/path/wfjIFEOwijofOEIWjfIOWEkaAIoqjklnfoSyEj?foo=bar

And then a map associates that with an action on the server side. Is that
correct?
 --Erik


No.

Example:
xw:url page=foobar.html action=blahblah
  xw:param name=foo value=bar/
/xw:url
would generate the following URL:
foobar.html?foo=bar

When the server runs foobar.html it first executes blahblah and makes 
the result available somehow for the rendering process to use. Pretty 
straightforward. If foobar.html?foo=bar is hit again then nothing 
happens, since the action has already been executed.

/Rickard



---
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache 
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Hidden token

2003-01-16 Thread Rickard Öberg
Joseph Ottinger wrote:

I'd prefer adding it to the wiki or the current release of WW, since there
are some users who actually use what's there now as opposed to vapourware,
even though the vapourware is promising.


Didn't you resign from OpenSymphony? Or was it just that you stopped 
doing things?

/Rickard



---
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache 
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Hidden token

2003-01-15 Thread Rickard Öberg
Jason Carreira wrote:

I remember Rickard was talking about something to prevent 2 submits, but
I'm not sure what it was...


I proposed the ability to associate URL's with actions. When the URL is 
requested the action is executed and the association is removed. This 
removes the need for any Javascript solution or any hidden fields or any 
such tricks.

And this is also how the Portlet API is going to work. The only 
problem with it is that you'd have to use a JSP tag or similar to 
generate the URL.

IMHO it's the best solution to this problem.

/Rickard



---
This SF.NET email is sponsored by: A Thawte Code Signing Certificate 
is essential in establishing user confidence by providing assurance of 
authenticity and code integrity. Download our Free Code Signing guide:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Reflection

2003-01-13 Thread Rickard Öberg
boxed wrote:

The problem is not right or wrong, the problem is the pro's and
con's of the various approaches, and AFAICT the explicit approach has
some limitations, whereas the non-explicit approach has no limitations.


I can think of an example right now when the explicit solution is much more
flexible than the ThreadLocal solution:

Action1 creates two sets of data and starts off two threads, executes
Action2 and Action3 with these two maps as parameters, then joins on the
threads and continues on with its own execution.

Did I miss something here? Would this be easier to implement with
ThreadLocal (with JNDI?)?


If the threading is done by XWork it would be equally simple.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] Reflection

2003-01-12 Thread Rickard Öberg
Erik Beeson wrote:

Rickard, as I understood, XWork was to break away from J2EE, hence
removing web from the name. If new versions with strong web ties are
going to remain, shouldn't they remain under the original WebWork name?


That is something I wanted to gauge by my last couple of emails. I 
personally do not believe (at this point) that making the web part 
optional is going to work very well. I certainly don't believe that it 
is going to be feasible, or even a good idea, to make a framework that 
allows code to be written for both Swing and the web. They're different 
beasts with different requirements, with completely different thinking 
behind how code gets written. We have a lot of Swing code in our 
project, and when I look at it I simply don't see how something like 
XWork would fit in, or why it would be useful.

What *is* useful is to allow actions to be called without a servlet 
environment, but more or less *only* for testing/debugging purposes. 
Executing actions as a response to asynchronous messages could work too. 
But that's about it. I do not believe that actions (except for maybe 1% 
of special cases) can be reused in so different spaces. I remain open to 
the *possibility* of it, but so far I just haven't seen it.

So, given all of this, my resignation from XWork still holds. The 
requirements that have been voiced the last few days are not mine, and I 
don't think they're compatible with my goals, at least not without 
serious compromises that will only hurt the end result. The question 
then becomes: would it be useful to do *both* XWork and WebWork, but as 
separate projects with these different goals?

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] XWork: core concepts

2003-01-11 Thread Rickard Öberg
Peter Kelley wrote:

Good to have you back


I'm not back. I'm trying to see whether it's any point in me restarting 
the XWork.

Are views a core concept ? 

Tricky one. Yes, I guess they should be, somehow.


The other thing we might want to address is
whether or not XWork will be somewhat seperated at the core from the
web.


This is a very difficult question. Separating it from the javax.servlet 
API should be possible, but overall I have the feeling that trying to 
make a *too* generic solution might be crippling.

A little poll:
*) How many have actions that are used with more than one kind of 
dispatcher?
*) How many are using WebWork in Swing apps?
*) How many are using WebWork for RPC style stuff? (the 
ClientServletDispatcher and friends)

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Getting rid of thread locals

2003-01-11 Thread Rickard Öberg
Patrick Lightbody wrote:

ThreadLocal implies that you always have a single thread throughout the
lifecycle of the action (prepare, execute, print results). This is true for
a servlet container (single thread/request), but not so in other areas.


No, it doesn't imply that. If the execution chain is broken, then one 
simply takes the context and reuse it whenever the chain is restarted.

/Rickard



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] XWork Interceptors

2003-01-10 Thread Rickard Öberg
Patrick Lightbody wrote:

So anyway, I'm just going to disregard the Documentation thread and start
a thread that is actually useful :)


Good idea :-)


(Though, Ken, we're still hoping your willing to do some Doc work!)


Same here!


So besides Action Chaining, Rickard made a good point that interceptors is
very important as well. I'd like to talk about the actual implementation
now -- using the transaction scenario as an example.

How will the interceptor know when to rollback or commit? Of course on an
Exception it should, but what about on ERROR or INPUT? What if the action,
to signify it's is complete, used COMPLETE instead of SUCCESS? Do you see my
point? How can we make interceptors work for all cases? I'm guessing some
sort of configuration is needed for each interceptor on each action, so we
could do something like:

interceptor class=...
param name=commit.valuessuccess, complete/param
/interceptor

And then the interceptot could know to rollback if the return value isn't
one of those two.

Rickard, is this what you had in mind?


In this particular case I think it's best to look at how EJB works: for 
any application result from a method invocation (e.g. void, some value, 
an application exception) the transaction is committed. The transaction 
is ONLY rollbacked if a) a runtime exception was thrown b) 
setRollbackOnly() has been called. I.e. the interceptor does not need to 
be configured.

So, what if you (for some reason) really do want ERROR to lead to a 
rollback? Well, simply add an interceptor that on ERROR calls 
setRollbackOnly, and have it after the tx interceptor (i.e. it is 
invoked before the tx interceptor on the way back). Have *that* 
interceptor be configurable, and add it whereever you want this kind of 
behaviour. That way the tx interceptor itself is nice and clean, and you 
can still get app-specific behaviour at some points.

Also, Interceptors would fit in to the GenericDispatcher area. I think that
they would replace ActionFactoryProxies entirely, correct? 

Yup. In my XWork implementation ActionFactory is now just a class that 
instantiates an action directly, and initializes the interceptor chain 
for it. Everything that the AF proxies used to do is now in interceptors 
that are executed on execute() invoke. This means that the 
GenericDispatcher is typically not needed. Just do this:
Action action = ActionFactory.getAction(foo);
action.execute();

And this can be done *within* another action without problem.

Also, maybe
Rickard you can provide some sample psuedo code for an Interceptor as well
as how it would go about being invoked in GenericDispatcher?


As I said, I don't think GD is needed anymore. Here's an example 
interceptor I wrote:
public class ParameterInterceptor
   implements ActionInterceptor
{
   // ActionInterceptor implementation --
   public String execute(ActionInvocation invocation)
  throws Exception
   {
  // Set parameters
  TypeConverter typeConverter = 
Configuration.getInstance().getAction(invocation.getName()).getTypeConverter();

OgnlUtil.setProperties(ActionContext.getContext().getParameters(), 
invocation.getAction(), typeConverter);

  return invocation.next();
   }
}
--
This replaces the action factory that transfers servlet parameters to 
the action. Pretty straightforward. Note that the ActionInvocation is a 
temporary object, i.e. it contains request-specific information in 
addition to the static interceptor chain.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] XWork Interceptors

2003-01-10 Thread Rickard Öberg
Hani Suleiman wrote:

Sure, however, please do keep in mind that many people do choose to use EJB's 
for the tx stuff. Session beans really are great for that kind of thing. I 
realise that you and others have much against EJBs, and that's fair enough, but 
I was just voicing the sentiment that I don't want xwork to become a framework 
that aims to replace EJBs.

For those who want to use EJB's to do the tx demaraction, you'd simply 
remove the tx interceptor.

/Rickard



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] XWork Interceptors

2003-01-10 Thread Rickard Öberg
Typo.

Rickard Öberg wrote:

When configuring actions you don't typically specify individual actions, 

...individual interceptors,



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] Documentation

2003-01-09 Thread Rickard Öberg
Joseph Ottinger wrote:

He was probably offended by all the horrible negativity aimed at him on
#java.


What was said about him on #java?

/Rickard



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] WebWorks under jboss 3.04

2003-01-07 Thread Rickard Öberg
Udstrand, Gary wrote:

 
I am trying to deploy the webwork.war file that is part of the WebWork 
1.3rc1 package under jboss 3.04.  I keep getting the following 
deployment error :
 
14:51:24,710 ERROR [URLDeploymentScanner] Failed to deploy: 
org.jboss.deployment.scanner.URLDeploymentScanner$DeployedURL@b34 
mailto:org.jboss.deployment.scanner.URLDeploymentScanner$DeployedURL@b34
cf404{ url=file:/C:/jboss-3.0.4/server/default/apps/webwork.war, 
deployedLastModified=0 }
org.jboss.deployment.DeploymentException: Could not create deployment: 
file:/C:/jboss-3.0.4/server/default/apps/webwork.war;
- nested throwable: (java.lang.NoClassDefFoundError: 
org/apache/commons/logging/LogFactory)

Add Commons Logging from Jakarta.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] Action configuration XML [Commands]

2003-01-04 Thread Rickard Öberg
Chris Nokleberg wrote:

I don't understand this logic. A property default is a default for form
parameters, obviously it can change. If you want to fix the value for a
particular mapping, you add it to actions.xml.


Not quite. In an action there are two sets of parameters: 
initialization parameters and form parameters. From an action point of 
view they are equivalent however, since both are set through set* 
methods. If both are set the same way then there is a potential security 
problem if a user sets an init parameter through a form submission. I.e. 
a parameter which was supposed to be set through some initialization 
parameter is instead provided by the user. The way to get around that is to:
1) Set form parameters first and init parameters later. However, this 
makes it impossible to use the init parameters during the prepare() 
step, which is where they would be perhaps most useful.
2) Require that all init parameters are set in xwork.xml. Even if the 
default is ok, the value must be provided again, or else there is a 
security hole.

Both of these two issues go away if init-parameters are provided through 
the context, or similar, i.e. not by calling set* methods in the action.

The argument that it will hurt performance is really misleading
IMHO. You're assuming a certain implementation. 

Sure, I'm assuming reflection. Is there any other way to do it?


For one thing, since the
parameters and values and destination classes are known ahead of time,
you can pre-convert all of the values. etc., etc.


That's certainly possible, and would remove some of the overhead.

The other issues still remain.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] Re: Action invocation

2003-01-04 Thread Rickard Öberg
Chris Nokleberg wrote:

Here's another way: define the roles that are allowed to access an 
action in xwork.xml, and create an interceptor that checks it. Then it 
can work exactly like how web.xml works, except it can do so for the 
case where an unsecure action calls a secure action too.

That is a lot of extra machinery where pinning the action would work
instead. 

A lot of extra machinery?! You declare what roles may access it in 
xwork.xml. One could even provide defaults at the package level. How 
is that a lot of extra machinery?

Between skinning and support for declarative security, it seems
to me the latter is wanted by more people.


How do you know this?


BTW, if interceptors had at least an optional URL-mapping component, you
could do skinning via
   /* - DefaultSkinInterceptor
   /bar/* - BarSkinInterceptor


So one should write an interceptor for a skin? Isn't that a little too 
much extra machinery?

I find it strange how on one hand you argue against triggering
functionality based on URL-matching, 

What argument are you talking about? AFAIK I haven't made any such argument.


but on the other hand argue for
that exactly through your skinning examples.


Not following. What in the skinning examples is triggering functionality 
based on URL-matching?

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Action invocation

2003-01-04 Thread Rickard Öberg
boxed wrote:

I will run the action without a result a few times to start off to make sure
it compiles and goes through to success and so forth. I also have some (very
few) actions that don't actually have a view at all, but write directly to
the servlet output stream. Yes I know it's ugly, I hate it too, but there
are several cases where I am pretty much forced to do this, most notably
when the output needs to be streaming in some way. There is another early
development thing you can do to make initial development easier, but that
includes a change to MakeIterator (my diff and source is attached) and a
default mapping of success to a jsp that does:

ww:iterator
  ww:print value=value/propertyType / ww:print value=key /br /
/ww:iterator

I  find it very handy for initial debugging.


That's a very good point. So, it seems that .action invocation is indeed 
something that is necessary to keep.

The argument against .action invocation, then, is only with regard to 
declarative security. Would it be ok to declare what roles may access it 
in xwork.xml? (both on action and package level)

One nice thing about that is that the information could be used by many 
different invokers, as opposed to the declarative security through 
web.xml option which only works for the web case.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Action invocation

2003-01-04 Thread Rickard Öberg
Jason Carreira wrote:

That's the argument against .action invocation with any path. If we
pin actions to certain paths in the config files, as I've proposed,
then this is not an issue.


True, but it's more configuration to do. If it can be avoided that'd be 
nice.

One nice thing about that is that the information could be used by
many different invokers, as opposed to the declarative security
through web.xml option which only works for the web case.


Then you have to synchronize your roles in web.xml with the roles in
xwork.xml. Plus, your servlet container can't automatically determine
that you aren't logged in when you try to access a secured area and
pop up the log-in prompt or load the log-in form.


No, but the controller servlet can, I think. If the execution 
interceptor returns LOGIN, then the controller should be able to return 
headers that correspond to showing the log-in prompt, or one could 
simply have a view mapped to LOGIN that returns those headers. Or am I 
missing something?

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Re: Action invocation

2003-01-04 Thread Rickard Öberg
Jason Carreira wrote:

Creating an extra interceptor to re-create J2EE declarative security
is at least some extra machinery compared to just using what is
there. I'm not saying that it's bad, in fact I kind of like the idea
of restricting which roles can run packages of actions, but I would
prefer to add that IN ADDITION to being able to pin packages to
certain URL paths to enable the use of J2EE declarative security and
make it optional.

It's sounding to me like we really need 2 configuration files here:

1) xwork.xml : the standard xwork configuration which applies to all
Dispatcher types. This would include package and action configuration
 2) xwork-web.xml : configures web specific configurations, such as
URL paths to pin packages, and view mappings


The problem with that is keeping them in sync. I'd prefer using one file 
with namespaces instead.

The reason I would say to put the view mappings in the xwork-web.xml
is because you might want to use the same set of actions for web and
Swing based apps, and you'd want to have different view mappings.


Interesting point. How many people would use it though? How realistic is 
that?

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Action invocation

2003-01-04 Thread Rickard Öberg
Jason Carreira wrote:

As opposed to the extra configuration to assign roles to packages and
coordinate them with the roles in web.xml? I really don't like the
idea of putting security information into xwork. If we pinned
packages to URL paths, and protected the paths using J2EE declarative
security, you've only got security information in one place, and it
can be changed at deploy time (and even at run time, depending on
your servlet container).


Good point. I agree with that. But, there's still a need to add roles to 
xwork.xml I think, for the cases where the actions are invoked by other 
actions, or by some dispatcher other then a servlet controller.

No, but the controller servlet can, I think. If the execution 
interceptor returns LOGIN, then the controller should be able to
return headers that correspond to showing the log-in prompt, or one
could simply have a view mapped to LOGIN that returns those 
headers. Or am I missing something?


Can this be done? I'm not sure... I think this would require
container-specific code for each container we support. 

Isn't just a case of returning standard HTTP headers? (for the prompt I 
mean).

Also, what should happen if an action is invoked through an include 
and is not allowed access to. This is by far the most common case I have 
anyway (I don't have ANY other case). How would that work?

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Re: Action invocation

2003-01-04 Thread Rickard Öberg
Mike Cannon-Brookes wrote:

I have _never_ needed to use the fact that actions can move paths, and I
would hasten to guess that 95% of WebWork users don't care either?


That might be so, yes.


Leave the option open to do both, and we'll satisfy the security problems
(by pinning paths).


Make the path's optional then. Ok, that could work.


PS IMHO the principle of least surprise here is that actions are NOT
available anywhere.


Maybe, maybe not.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



Re: [OS-webwork] Re: Action invocation

2003-01-03 Thread Rickard Öberg
Mike Cannon-Brookes wrote:

Hrm - no, this is thinking the wrong way mate :)

If webwork defined paths, security would work perfectly right?

So why not have webwork only 'work' if the path is correct (and defined)?

Ie /admin/foo.action would execute foo, but /bar/admin/foo.action would
execute nothing.


Then the action would be pinned to that particular path, and skinning 
wouldn't work.

That way you keep .action, AND your security works fine?


Here's another way: define the roles that are allowed to access an 
action in xwork.xml, and create an interceptor that checks it. Then it 
can work exactly like how web.xml works, except it can do so for the 
case where an unsecure action calls a secure action too.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Re: Re: Action invocation

2003-01-03 Thread Rickard Öberg
Matt Ho wrote:

I look at it this way.  There are a couple accepted ways of implementing
declarative security:

	1. Securing based on path (Servlets for example)
	2. Securing based on authenticated role (EJBs for example)

There are of course proprietary implementations.  Ideally, I would love
XWork to support 1 and 2 orthogonally.  I can understand forcing
developers to rely on approach 1 as it's a common web practice, but I
can't agree with forcing developers to use approach 2 only.

snip

This would essentially mean that XWork would have to support these two 
invocation types:
/action/bar
/foo/bar.action

The first case would work well with path based security and roles, and 
the other would have no choice but to use roles. However, feature-wise 
the second case supports skinning.

And then there's the third case which also supports path based security:
/foo/xyzzy.jsp (which invokes bar action)

Maybe it's possible to support all three. Question is: is it better to 
support as many options as possible, or is it better to have one way to 
do things? I suppose it's a tradeoff between flexibility and complexity.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Action configuration XML [Commands]

2003-01-03 Thread Rickard Öberg
Heng Sin Low wrote:

May be don't use reflection then and delegate this to the action itself.

For e.g, this can be implemented by adding an init method to the Action
interface that take a map as parameter. This would also allow us to
differentiate between init parameter ( usually for configuration purpose ) and
runtime parameter ( usually use input ).


That would work just fine. You could do this in the prepare() step. 
Making a baseclass that has an implementation that does 
BeanUtil.copy(Map, this); would do the trick.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Action invocation

2003-01-03 Thread Rickard Öberg
Jason Carreira wrote:

As opposed to what? This is a model-2 MVC framework. It uses a controller servlet as its entry point.


Using a controller servlet that intercepts all requests but only deals 
with some of the requests is going to be unnecessary overhead.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Action invocation

2003-01-03 Thread Rickard Öberg
Jason Carreira wrote:

Maybe, but is it an acceptable level of complexity for the benefits
(simplictiy, security, etc) it provides? For instance, I would like
to have all of my JSP pages under WEB-INF, so they can only be used
from the servlet, rather than being accessed directly, which would
most likely cause them to break, since the context hasn't been set up
for them.


I don't think that's even theoretically possible. Velocity would work, 
of course, but I don't think JSP's would. Setting up a security 
constraint so that noone could access *.jsp would do the trick though.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Rethink

2003-01-02 Thread Rickard Öberg
matt baldree wrote:

Personally, I like these ideas. I think this design would lead people to
cleaner solutions. I think it is time to make some decisions. I think
Rickard should architect XWork. It would then be up to him to
assign/delegate work on different modules, etc. I'm not convinced the
current direction will lead to the best outcome. Rickard has established
himself in past frameworks, application servers and his new portal product
to earn the right to architect XWork. Besides, he mainly wrote WW. I may be
wrong, but I don't remember an e-mail asking if he wanted to architect XWork
or what role he wanted to play. I think this is a mistake. I think we should
at least offer him the opportunity to architect XWork. I think his ideas
have solidified and he is ready to right some code :). So, any dissenters?
I'm not interested in getting XWork out the door quickly but when it does
come out, I want it to be GREAT.


No dissenters then? :-)

I must admit that at first I was reluctant to the idea, since I already 
have so many irons in the fire, with the portal product and AOP 
framework coming along. However, since XWork could borrow so much from 
the AOP stuff, it's really not that much work, at least for the core (or 
so it seems). We (my company) are also greatly dependent on XWork being 
as good as it can be, so that's a huge motivational factor here.

I would hence gladly take on this role, at least when it comes to 
shaping the core of it. Once the dust settles somewhat, and there will 
be a lot of dust initially, I think there will be great opportunities 
for others to do major contributions to it, especially when it comes to 
creating standard interceptors that can be shipped with the framework. 
Alternative dispatchers is also a very important part.

So, if everyone is ok with me as (initially) main architect, I'll get to it.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Action configuration XML

2003-01-02 Thread Rickard Öberg
Mike Cannon-Brookes wrote:

Copmments:
- interceptor-ref name= is ugly XML! Why not just interceptor ref= /
? It's obvious that the name= attribute refers to the name of an
interceptor from the tag name


Because you'd then mix referring to an interceptor and defining one. 
Take a look again. If you can think of a better name I'm all for it, but 
there do need to be two.

- is there a global package?


No, that's why there's the depends thing, which usually includes 
standard which in a sense is the global package.

- how are parameterised actions handled? (one of the other main xwork
goals?)


I didn't know that was a goal. The implementation that is currently in 
CVS sets these parameters on each request, which is a lot of reflection. 
It seemed too heavy to me. Isn't it better to have configuration be 
handled in a traditional way? (i.e. by calling some config API) Remember 
that actions are going to be instantiated ALL THE TIME. Using the 
Preferences API might be an option here.

/Rickard



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork


Re: [OS-webwork] Rethink

2003-01-02 Thread Rickard Öberg
Jason Carreira wrote:

Some goals I would hope for:

* declarative security friendly URLs and the ability to protect your
actions from being called.


See the Action invocation post. .action URL's should go away with that.


* multiple configuration files, to improve multi-user version control
concurrency


See the Action configuration XML, and particularly the package idea.
With XML entities you're there.


- In the current (proprietary) framework we use, this is done by
having one main configuration file which maps certain paths to
certain config files. These sub config files define the request
handlers (like actions) and response handlers (like views). The nice
thing about this is the way chaining is handled. Below a certain
path, which is mapped to a sub-config file, every path segment is
treated as a reference to a handler. So, for instance, if we have a
sub-section with a separate config file mapped to /foo, this url:

/foo/handler1/handler2/handler3

Would look up and invoke handler1, then handler2, then handler3 in
that order, and return the response handler (view) associated with
the final request handler (action), unless an error is encountered.


Which is bad because you're displaying the guts of your application to 
the user. URL's of that kind will likely be shortlived. No good.

This allows for very fine grained reusable application pieces, which
can be put together dynamically by creating a URL.


You'll get the same with actions calling actions (easy with the new API) 
and action interceptors. Except it's all under the covers.

Unfortunately, the
current framework doesn't have the concept of the value stack, and
does everything by binding beans into the request. Handlers don't
have properties like Actions, but are more stateless and just use the
request parameters directly.


Ok, I see.

/Rickard

--
Rickard Öberg
[EMAIL PROTECTED]
Senselogic

Got blog? I do. http://dreambean.com



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork



  1   2   >