I am getting little confused about "extending-user" and "referencing-user 
as a foreign key"...I guess, what we want to do here is just use 
TURBINE_USER table as a foreign table and use it's USER_ID as foreign 
key.  We don't want to override TURBIE_USER table with JETSPEED_USER_PROFILE.

I have created new schema, please review it. I am a bit skeptical about 
it's correctness, in using TURBINE_USER.USER_ID as foreign key... For the 
given schema, I generated Torque OR classes, and it also generated classes 
for TurbineUser, TurbineRole, TurbineGroup, which I don't think are needed 
as, I guess, I would be really using Turbine API TurbineUser/Role/Group 
classes.

XML database schema:
=====================================================

<app-data>

<database defaultIdMethod="idbroker"
           basePeer="org.apache.turbine.om.peer.BasePeer" >

   <table name="JETSPEED_USER_PROFILE">

     <column name="PSML_ID" required="true" primaryKey="true" type="INTEGER"/>
     <column name="USER_NAME" required="true" size="32" type="VARCHAR"/>
     <column name="MEDIA_TYPE" size="99" type="VARCHAR"/>
     <column name="LANGUAGE" size="2" type="VARCHAR"/>
     <column name="COUNTRY" size="2" type="VARCHAR"/>
     <column name="PAGE" size="99" type="VARCHAR"/>
     <column name="PROFILE" required="true" type="VARBINARY"/>

     <foreign-key foreignTable="TURBINE_USER">
       <reference local="PSML_ID" foreign="USER_ID" />
     </foreign-key>

     <index name="JETSPEED_USER_PROFILE_INDEX">
       <index-column name="USER_NAME" />
       <index-column name="MEDIA_TYPE" />
       <index-column name="LANGUAGE" />
       <index-column name="COUNTRY" />
       <index-column name="PAGE" />
     </index>

   </table>

   <table name="JETSPEED_GROUP_PROFILE">

     <column name="PSML_ID" required="true" primaryKey="true" type="INTEGER"/>
     <column name="GROUP_NAME" required="true" size="99" type="VARCHAR"/>
     <column name="MEDIA_TYPE" size="99" type="VARCHAR"/>
     <column name="LANGUAGE" size="2" type="VARCHAR"/>
     <column name="COUNTRY" size="2" type="VARCHAR"/>
     <column name="PAGE" size="99" type="VARCHAR"/>
     <column name="PROFILE" required="true" type="VARBINARY"/>

     <foreign-key foreignTable="TURBINE_GROUP">
       <reference local="PSML_ID" foreign="GROUP_ID" />
     </foreign-key>

     <index name="JETSPEED_GROUP_PROFILE_INDEX">
       <index-column name="GROUP_NAME" />
       <index-column name="MEDIA_TYPE" />
       <index-column name="LANGUAGE" />
       <index-column name="COUNTRY" />
       <index-column name="PAGE" />
     </index>

   </table>

   <table name="JETSPEED_ROLE_PROFILE">

     <column name="PSML_ID" required="true" primaryKey="true" type="INTEGER"/>
     <column name="ROLE_NAME" required="true" size="99" type="VARCHAR"/>
     <column name="MEDIA_TYPE" size="99" type="VARCHAR"/>
     <column name="LANGUAGE" size="2" type="VARCHAR"/>
     <column name="COUNTRY" size="2" type="VARCHAR"/>
     <column name="PAGE" size="99" type="VARCHAR"/>
     <column name="PROFILE" required="true" type="VARBINARY"/>

     <foreign-key foreignTable="TURBINE_ROLE">
       <reference local="PSML_ID" foreign="ROLE_ID" />
     </foreign-key>

     <index name="JETSPEED_ROLE_PROFILE_INDEX">
       <index-column name="ROLE_NAME" />
       <index-column name="MEDIA_TYPE" />
       <index-column name="LANGUAGE" />
       <index-column name="COUNTRY" />
       <index-column name="PAGE" />
     </index>

   </table>

   <table name="TURBINE_USER" alias="TurbineUser" >

     <column name="USER_ID" primaryKey="true" required="true" type="INTEGER"/>

   </table>

   <table name="TURBINE_ROLE" alias="TurbineRole" >

     <column name="ROLE_ID" primaryKey="true" required="true" type="INTEGER"/>

   </table>

   <table name="TURBINE_GROUP" alias="TurbineGroup" >

     <column name="GROUP_ID" primaryKey="true" required="true" type="INTEGER"/>

   </table>

</database>

</app-data>
====================================================================

I couldn't find meaningful documentation about "alias" attribute. I just 
figured out that if "alias" is used, then Torque doesn't generate SQL for 
creating database table. But it created TurbineUser/Role/Group classes and 
peer classes in the generated Java code, which made me think, as to why are 
those needed?

-Atul

At 12:29 AM 9/6/01 -0700, you wrote:
>on 9/5/01 3:09 PM, "Atul Dambalkar" <[EMAIL PROTECTED]> wrote:
>
> > Yes, but this syntax will be valid only if you have the entire schema
> > defined in one single file. So we need to modify, turbine-schema.xml file,
> > with all the Jetspeed tables added, right?.
> >
> > -Atul
>
>Not if you do it right.
>
>Look at Scarab and also read:
>
>     extend-user-howto.xml
>
>In the jakarta-turbine-2/xdocs/howto directory.
>
>-jon
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]


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

Reply via email to