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]