RE: Stable 1.0 and deployment ....

2000-12-01 Thread Allton Paul

 Allton Paul wrote:
 
  Sorry to bug, but is there a planned release date for a 
 milestone 1.0
  release?
 
  Just made the decision to go with Struts and I've been 
 playing with v0.5.
  I'm looking to use it in a production environment so I'm 
 not keen on using
  unstable releases ... but I also dont want to use 0.5 if 
 there are going to
  be major changes 
 
  In a nutshell should I deploy with 0.5 now, or is 1.0 immenient?
 
 
 It is relatively imminent ... but I had to spend a very large 
 amount of November
 picking up the pieces and getting Tomcat 3.2 out the door 
 (final release was
 last night).  :-(
 
 There have been very substantial changes between 0.5 and the 
 current code base.
 I would expect relatively few incompatible changes from the 
 current code to
 final release, although there will probably need to be some 
 as we implement the
 remaining suggestions and features.
 
 Personally, I would base new development on the current code.
 
 
  Finally, currently it seems that for each deployed 
 application you need to
  have struts.jar and all the taglibraries, is it possible to have one
  instance of for container.  Presumably the .jar can just be 
 added to the
  classpath, but how do I share the taglib's  (I'm using Tomcat)
 
 
 Yes, you need struts.jar and the tag library descriptors in 
 each web app.
 
 It would be technically feasible to share the struts.jar file 
 by putting it on
 the classpath, but that would break the Digester module -- it 
 would no longer be
 able to see user classes that really were in WEB-INF/clasess 
 or WEB-INF/lib.
 
 There is no mechanism to share TLDs across web apps.  The 
 whole idea is that a
 web app should be a self-contained component that can be 
 installed on any
 servlet container, and it will "just work".  Although this 
 ideal is not
 completely met yet (primarily due to buggy servlet 
 containers), it is pretty
 close to the case.
 

I agree in principal, the whole point of having a WAR file is so that its
easy to deploy elsewhere.  But in reality it means you have to either put
everything into one webapp, which would quickly get out of hand if you have
a lot of pages.

Or if you split into seperate webapps then you are forced to have a copy of
the .jar and .tld's in each one, which sounds like it will lead to version
control nightmare 

 
  Cheers ...
 
  p.
 
 Craig McClanahan
 
 

The information in this email is confidential and is intended solely
for the addressee(s).
Access to this email by anyone else is unauthorised. If you are not
an intended recipient, you must not read, use or disseminate the
information contained in the email.
Any views expressed in this message are those of the individual sender,
except where the sender specifically states them to be the views of
The Capital Markets Company.

http://www.capco.com
***




Re: Stable 1.0 and deployment ....

2000-12-01 Thread Craig R. McClanahan

Allton Paul wrote:

 
  There is no mechanism to share TLDs across web apps.  The
  whole idea is that a
  web app should be a self-contained component that can be
  installed on any
  servlet container, and it will "just work".  Although this
  ideal is not
  completely met yet (primarily due to buggy servlet
  containers), it is pretty
  close to the case.
 

 I agree in principal, the whole point of having a WAR file is so that its
 easy to deploy elsewhere.  But in reality it means you have to either put
 everything into one webapp, which would quickly get out of hand if you have
 a lot of pages.

 Or if you split into seperate webapps then you are forced to have a copy of
 the .jar and .tld's in each one, which sounds like it will lead to version
 control nightmare 


System administrators have to deal with this kind of thing all the time -- it's
by no means unique to web apps.  All it takes is some discipline and the use of
scripts rather than manual commands to do updates.

You also run into the same issue with development environments.  Consider the
case where you're using Struts to build three different web apps.  What I do is
set up my directories like this:

DEVELOPMENT-HOME/
jakarta-struts/-- Struts distribution
my-app-1/-- My App 1 source code
my-app-2/-- My App 2 source code
my-app-3/-- My App 3 source code
BUILD-HOME/
my-app-1/-- My App 1 WAR directory structure
my-app-2/-- My App 2 WAR directory structure
my-app-3/-- My App 3 WAR directory structure

And I use Ant build scripts (the same way that Struts itself is built -- if
you're not using Ant you are working way too hard!) for the three individual
apps that always copy the appropriate stuff from "../jakarta-struts/lib" every
time I build.  In all cases, the build occurs into separate build directories
that have the exact structure of a web application.  These directories are
mapped as Context entries in Tomcat.

Now, I can rebuild a particular app from scratch by simply deleting the
BUILD-HOME/my-app-2 directory (for example), and running the build script for
my-app-2.  I'm always guaranteed to pick up the current version of the Struts
files, and they will always be in the right place -- so it's very difficult to
make a mistake.

For more on my recommended approach to organizing development of web
applications (including those that use Struts), see the Application Developer's
Guide that is included in the documentation directory of the Tomcat 3.2
distribution.

Craig



Re: Stable 1.0 and deployment ....

2000-11-30 Thread Craig R. McClanahan

Allton Paul wrote:

 Sorry to bug, but is there a planned release date for a milestone 1.0
 release?

 Just made the decision to go with Struts and I've been playing with v0.5.
 I'm looking to use it in a production environment so I'm not keen on using
 unstable releases ... but I also dont want to use 0.5 if there are going to
 be major changes 

 In a nutshell should I deploy with 0.5 now, or is 1.0 immenient?


It is relatively imminent ... but I had to spend a very large amount of November
picking up the pieces and getting Tomcat 3.2 out the door (final release was
last night).  :-(

There have been very substantial changes between 0.5 and the current code base.
I would expect relatively few incompatible changes from the current code to
final release, although there will probably need to be some as we implement the
remaining suggestions and features.

Personally, I would base new development on the current code.


 Finally, currently it seems that for each deployed application you need to
 have struts.jar and all the taglibraries, is it possible to have one
 instance of for container.  Presumably the .jar can just be added to the
 classpath, but how do I share the taglib's  (I'm using Tomcat)


Yes, you need struts.jar and the tag library descriptors in each web app.

It would be technically feasible to share the struts.jar file by putting it on
the classpath, but that would break the Digester module -- it would no longer be
able to see user classes that really were in WEB-INF/clasess or WEB-INF/lib.

There is no mechanism to share TLDs across web apps.  The whole idea is that a
web app should be a self-contained component that can be installed on any
servlet container, and it will "just work".  Although this ideal is not
completely met yet (primarily due to buggy servlet containers), it is pretty
close to the case.


 Cheers ...

 p.

Craig McClanahan