cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Franz <afra...@optushome.com.au>
Subject Re: deploying to separate environments using different database servers
Date Thu, 23 Jun 2005 15:22:44 GMT
1. In cocoon.xconf, setup an input module like this:
    <component-instance name="local-properties" 
class="org.apache.cocoon.components.modules.input.PropertiesFileModule">
        <file src="C:\env\local.properties"/>
    </component-instance>

& setup *both* datasources like this:
    <datasources>
        <jdbc name="dbdev">
            <dburl>jdbc:oracle:thin:@localhost:1521:dbdev</dburl>
          ...
        </jdbc>
        <jdbc name="dblive">
            <dburl>jdbc:oracle:thin:@localhost:1521:dblive</dburl>
          ...
        </jdbc>
    ...

2. in c:\env\local.properties
      dbc=dbdev
or   dbc=dblive (depending on the system)

3. In each sitemap, if you were using the SQLTransformer, for example:
    <map:transform type="sql">
        <map:parameter name="use-connection" 
value="{local-properties:dbc}" />
       ...
...or XSP
    <map:generate src="{1}.xsp" type="serverpages"/>
        <map:parameter name="dbc" value="{local-properties:dbc}"/>
       and
        
<esql:pool><xsp:expr>parameters.getParameter("dbc")</xsp:expr></esql:pool>


Kim Toms wrote:

> I was wondering something similiar; I have a system where database 
> servers are deployed, and I'd like to pull reports off of them.  I 
> have a list of database servers in a local database, do I have to 
> manually edit the cocoon.xconf file as I deploy each new server?
>
> On 6/21/05, *Lars Huttar* <lars_huttar@sil.org 
> <mailto:lars_huttar@sil.org> > wrote:
>
>     Dear Cocoon-based webapp developers,
>
>     I would be interested to hear how others have handled this issue.
>
>     You have Cocoon applications whose source code is stored in a
>     repository. You want to be able to install them on multiple
>     development
>     machines (on each developer's desktop), on test servers, and on
>     production servers.
>     The environments (dev, test, production) use separate database servers
>     as well as separate web servers.
>     But when you checkout the source code from the repository onto various
>     web servers, they're all pointing to the same database server,
>     because
>     they all have the same datasources defined in cocoon.xconf.
>
>     You could then go in and modify cocoon.xconf separately for each
>     environment, but that could get to be a lot of time-consuming and
>     error-prone work. (We currently have 38 datasources defined for
>     all our
>     applications! Maybe not all of them are still used, but most are, I
>     believe.)
>     How do you automate this task?
>
>     I'm trying to think of some way to set one global variable that points
>     to a dev, test, or production database server, so that code only
>     needs
>     to be changed in one place... and preferably not every time
>     datasources
>     are added or changed. Maybe it should be done by defining an XML
>     entity?
>
>     Thanks for any responses.
>
>     Lars
>
>
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>     <mailto:users-unsubscribe@cocoon.apache.org>
>     For additional commands, e-mail: users-help@cocoon.apache.org
>     <mailto:users-help@cocoon.apache.org>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message