There have been several examples of a default/generic file structure and
build.xml file posted within the last few weeks.

If you need additional help, just let us know.

JM

> -----Original Message-----
> From: Mike Karl [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, May 14, 2002 12:57 PM
> To: Struts Users Mailing List
> Subject: Re: Multiple sites using one struts application.
>
>
> Good to know, I have never actually used Ant.
>
> On Tue, 2002-05-14 at 10:34, [EMAIL PROTECTED] wrote:
> >
> >
> >
> > > I also need to integrate this with some parts from an
> existing PHP site
> > > which I'm sure is going to add some complexity to the site.
> And I don't
> > > want to have to erase and rebuild 50 sites everytime I need to fix a
> > > little problem. Which with my client happens several times a day.
> >
> > Using Ant you could just rebuild and deploy only one site at a time (or
> > parts of a site).
> >
> > As they say - TIMTOWTDI!
> >
> > FWIW -
> > Kevn
> >
> >
> >
> >
> >
> >
> >
> > Mike Karl <[EMAIL PROTECTED]> on 05/14/2002 12:37:30 PM
> >
> > Please respond to "Struts Users Mailing List"
> >       <[EMAIL PROTECTED]>
> >
> > To:   Struts Users Mailing List <[EMAIL PROTECTED]>
> > cc:    (bcc: Kevin Bedell/Systems/USHO/SunLife)
> > Subject:  Re: Multiple sites using one struts application.
> >
> >
> > I wanted to do something where a just created the properties for each
> > club based on the URL and pass resources and a directory to the jsp
> > pages.  I think in my case it would be best on the server to have just
> > one set of pages running even if there is a bit more overhead processing
> > the pages.  This would save on ram usage, which I could then use for
> > caching of pages to increase the speed of the site.
> >
> > Also this way I can seperate the content/configuration (which I would
> > store in a directory stucture for all the clubs) from the logic which
> > would be a struts application.
> >
> > This was the type of thing that I was doing before except that
> > previously I was passing a clubID in the URL. This is no longer an
> > option because every club needs to be accessabe from just a standard URL
> > without a query string.
> >
> > I also need to integrate this with some parts from an existing PHP site
> > which I'm sure is going to add some complexity to the site. And I don't
> > want to have to erase and rebuild 50 sites everytime I need to fix a
> > little problem. Which with my client happens several times a day.
> >
> > Thanks for the help.
> > mike
> >
> >
> >
> > On Tue, 2002-05-14 at 06:38, [EMAIL PROTECTED] wrote:
> > >
> > >
> > >
> > > You're not reading this wrong. I'm advocating creating 50
> webapps (and 50
> > > war files) if you have 50 sites.
> > >
> > > But I've always felt that disk space and server memory are
> cheap compared
> > > to developer time. CPU requirements would likely be the same
> with either
> > > approach.
> > >
> > > Don't run from ghosts - that is, don't spend a lot of effort
> programming
> > > around hardware limitations that don't exist or that can be
> eliminated by
> > a
> > > few hundred dollars in parts. Developer time is the critical
> resource -
> > not
> > > hardware.
> > >
> > > I believe that this approach (driving the site customization at
> > build-time
> > > versus run-time) will give you a simpler codebase that's likely to be
> > > eaiser (i.e. faster) to develop.
> > >
> > > However, if you want to drive the customization at run-time,
> you could do
> > > so with a similar approach:
> > >
> > >  - Still drive every thing that is site-specific from properties.
> > >  - Create a cache of Properties objects (or ResourceBundles)
> in a Hashmap
> > > that gets loaded at start-up (and potentially allow for dynamic reload
> > > without restarting the server). These Properties objects would contain
> > all
> > > site-specific values.
> > >  -  To build the View (i.e. jsp) for each request retrieve
> the Properties
> > > object containing the propery values for that site based on
> some lookup
> > > driven by the url/uri requested.
> > >  - You could create a <SetSiteProperties> tag that attached the
> > Properties
> > > object to the Request with some known attribute name - this type of
> > > behavior occurs throughout Struts so you could find examples
> somewhere in
> > > the code.
> > >  - Then the html output is customized by the Properties.
> > >
> > > Gosh - now that I look at this, it doesn't look that hard either....
> > >
> > > What do you think?
> > >
> > >
> > >
> > >
> > >
> > > Mike Karl <[EMAIL PROTECTED]> on 05/13/2002 07:07:07 PM
> > >
> > > Please respond to "Struts Users Mailing List"
> > >       <[EMAIL PROTECTED]>
> > >
> > > To:   Struts Users Mailing List <[EMAIL PROTECTED]>
> > > cc:    (bcc: Kevin Bedell/Systems/USHO/SunLife)
> > > Subject:  Re: Multiple sites using one struts application.
> > >
> > >
> > > Would this then build me an application for each site?  So it
> would copy
> > > the files over for each site.  I don't know that this is
> viable because
> > > I have 50 or so sites that would be running on one server.
> What I would
> > > like is just one set of files running at a time and not 50 so that I
> > > could save on server resources.  Or am I reading this wrong.
> > >
> > > thanks
> > > mike
> > >
> > >
> > > On Mon, 2002-05-13 at 15:31, [EMAIL PROTECTED] wrote:
> > > >
> > > >
> > > >
> > > >
> > > > I believe this is a build/deploy question as much as a
> Struts question.
> > > But
> > > > here goes:
> > > >
> > > > 1. Drive virtually everything from your application.properties file.
> > All
> > > > these properties are available to your Action classes. For example,
> > > define
> > > > the path to your images directory there, the club name, the
> jdbc url,
> > > etc.)
> > > >
> > > > 2. Create each site as it's own web app - but keep everything in a
> > SINGLE
> > > > SOURCE CONTROL REPOSITORY version. You will create specific
> sites ONLY
> > AT
> > > > BUILD TIME. Again - only one version exists in source control. Call
> > this
> > > > The Template.
> > > >
> > > >      This is critical. No site-specific code or properties
> get checked
> > in
> > > > with The Template. Everything is driven from the
> application.properties
> > > > file.
> > > >
> > > > 3. Define the values in this application.properties file using
> > "tokens",
> > > > not actual values. For example:
> > > >
> > > >      in The Template application.properties for Struts:
> > > >
> > > >      club.name=CLUB_NAME
> > > >      path.to.images=IMAGE_PATH
> > > >      site.jdbc.url=JDBC_URL
> > > >
> > > >      - etc. -
> > > >
> > > > 4. Then, for each actual site, create a seperate "properties" file
> > > > containing the specific values for that site. For example:
> > > >
> > > >      in "club1.properties"
> > > >
> > > >      club.name=Fred's Club
> > > >      path.to.images=/fredimages/images
> > > >      site.jdbc.url="jdbc:oracle:thin:@123.45.67.89:1521:orcl"
> > > >
> > > >      - etc. -
> > > >
> > > > 5. At build time, use Ant's "<replace>" target to replace
> the "tokens"
> > in
> > > > the struts application.properties file with the site-specific values
> > from
> > > > the site-specific properties files. That is:
> > > >
> > > >
> > > >           <replace
> > > >               file="path/to/struts/application.properties"
> > > >               propertyFile="path/to/specific/club.properties" >
> > > >             <replacefilter
> > > >               token="CLUB_NAME"
> > > >               property="club.name"/>
> > > >             <replacefilter
> > > >               token="IMAGE_PATH"
> > > >               property="path.to.images"/>
> > > >             <replacefilter
> > > >               token="JDBC_URL"
> > > >               property="site.jdbc.url"/>
> > > >           </replace>
> > > >
> > > >
> > > >      See details on the Ant <replace> tag at:
> > > http://jakarta.apache.org/ant/manual/CoreTasks/replace.html
> > > >
> > > > 6. Create a different ant target to build each site. And maybe a
> > > "build-all" to build all the sites.
> > > >
> > > >      There's a bit of work here getting things organized.
> But this will
> > > allow you to generate sites from The Template as a build/configuration
> > > process
> > > >  - not as a development issue.
> > > >
> > > > Summary:
> > > >
> > > > 1.   Drive EVERYTHING site specific from the application.properties
> > file
> > > > 2.   Use tokens in the application.properties file instead of actual
> > > values
> > > > 3.   Create the actual sites at build/deploy time using Ant and the
> > > <replace> target.
> > > >
> > > > This will work!
> > > >
> > > >
> > > > FWIW -
> > > > Kevin
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Mike Karl <[EMAIL PROTECTED]> on 05/13/2002 04:51:36 PM
> > > >
> > > > Please respond to "Struts Users Mailing List"
> > > >       <[EMAIL PROTECTED]>
> > > >
> > > > To:   [EMAIL PROTECTED]
> > > > cc:    (bcc: Kevin Bedell/Systems/USHO/SunLife)
> > > > Subject:  Multiple sites using one struts application.
> > > >
> > > >
> > > > Hello,
> > > > I'm building a site for a group of clubs.  All the sites
> will have the
> > > > same set of pages and actions.
> > > >
> > > > For instance:
> > > >
> > > > http://clubsites/club1/index.jsp
> > > > http://clubsites/club2/index.jsp
> > > > http://clubsites/club3/index.jsp
> > > > http://anothersite/club4/index.jsp
> > > >
> > > > All of these sites would basically be the same in terms of
> layout and
> > > > functionality except that the would have different images.  They may
> > > > also connect to seperate database. How can I set up a site
> like this so
> > > > that I can use the same pages for all of the clubs but pass
> different
> > > > configurations so that I can render the pages with their own images.
> > > >
> > > > thanks
> > > > mike
> > > >
> > > >
> > > >
> > > > --
> > > > To unsubscribe, e-mail:   <
> > > > mailto:[EMAIL PROTECTED]>
> > > > For additional commands, e-mail: <
> > > > mailto:[EMAIL PROTECTED]>
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
> ------------------------------------------------------------------
> ---------
> > > > This e-mail message (including attachments, if any) is
> intended for the
> > > use
> > > > of the individual or entity to which it is addressed and may contain
> > > > information that is privileged, proprietary , confidential
> and exempt
> > > from
> > > > disclosure.  If you are not the intended recipient, you are notified
> > that
> > > > any dissemination, distribution or copying of this communication is
> > > > strictly prohibited.  If you have received this
> communication in error,
> > > > please notify the sender and erase this e-mail message immediately.
> > > >
> > >
> >
> ------------------------------------------------------------------
> ---------
> > > >
> > > >
> > > > --
> > > > To unsubscribe, e-mail:   <
> > > mailto:[EMAIL PROTECTED]>
> > > > For additional commands, e-mail: <
> > > mailto:[EMAIL PROTECTED]>
> > > --
> > > Mike Karl
> > >
> > > Montana Connect
> > > 851 Bridger Dr.
> > > Bozeman, MT 59715
> > > (406) 556-1800
> > >
> > > [EMAIL PROTECTED]
> > >
> > > --
> > > To unsubscribe, e-mail:   <
> > > mailto:[EMAIL PROTECTED]>
> > > For additional commands, e-mail: <
> > > mailto:[EMAIL PROTECTED]>
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> ------------------------------------------------------------------
> ---------
> > > This e-mail message (including attachments, if any) is
> intended for the
> > use
> > > of the individual or entity to which it is addressed and may contain
> > > information that is privileged, proprietary , confidential and exempt
> > from
> > > disclosure.  If you are not the intended recipient, you are
> notified that
> > > any dissemination, distribution or copying of this communication is
> > > strictly prohibited.  If you have received this communication
> in error,
> > > please notify the sender and erase this e-mail message immediately.
> > >
> >
> ------------------------------------------------------------------
> ---------
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:   <
> > mailto:[EMAIL PROTECTED]>
> > > For additional commands, e-mail: <
> > mailto:[EMAIL PROTECTED]>
> > --
> > Mike Karl
> >
> > Montana Connect
> > 851 Bridger Dr.
> > Bozeman, MT 59715
> > (406) 556-1800
> >
> > [EMAIL PROTECTED]
> >
> > --
> > To unsubscribe, e-mail:   <
> > mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail: <
> > mailto:[EMAIL PROTECTED]>
> >
> >
> >
> >
> >
> >
> >
> >
> ------------------------------------------------------------------
> ---------
> > This e-mail message (including attachments, if any) is intended
> for the use
> > of the individual or entity to which it is addressed and may contain
> > information that is privileged, proprietary , confidential and
> exempt from
> > disclosure.  If you are not the intended recipient, you are
> notified that
> > any dissemination, distribution or copying of this communication is
> > strictly prohibited.  If you have received this communication in error,
> > please notify the sender and erase this e-mail message immediately.
> >
> ------------------------------------------------------------------
> ---------
> >
> >
> > --
> > To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
--
Mike Karl

Montana Connect
851 Bridger Dr.
Bozeman, MT 59715
(406) 556-1800

[EMAIL PROTECTED]

--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to