Here is the modified schema. This schema is based on the current Profiler 
service proposal and current PsmlManager Service interface. I will work on 
gathering more user requirements for Profiler changes and then we can 
decide on how and when we want to implement that.

As far as, foreign key reference to the Turbine schema, is concerned, it's 
up to us how do we want to implement the referential integrity in Jetspeed 
user/role/group profile tables. And since cascading deletes are not 
supported by Torque, we have to handle the data integrity, thro' Jetspeed 
Security Service.

The schema as you can see, follows the current Profiler Service proposal 
and File System (Castor) implementation of PsmlManager Service interface.

Schema:
======================================================================
<app-data>

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

   <table name="JETSPEED_USER_PROFILE" idMethod="idbroker" >

     <column name="PSML_ID" required="true" primaryKey="true"
             autoIncrement="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"/>

     <unique name="JETSPEED_USER_PROFILE_UNIQUE">
       <unique-column name="USER_NAME" />
       <unique-column name="MEDIA_TYPE" />
       <unique-column name="LANGUAGE" />
       <unique-column name="COUNTRY" />
       <unique-column name="PAGE" />
     </unique>

     <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" idMethod="idbroker" >

     <column name="PSML_ID" required="true" primaryKey="true"
             autoIncrement="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"/>

     <unique name="JETSPEED_GROUP_PROFILE_UNIQUE">
       <unique-column name="GROUP_NAME" />
       <unique-column name="MEDIA_TYPE" />
       <unique-column name="LANGUAGE" />
       <unique-column name="COUNTRY" />
       <unique-column name="PAGE" />
     </unique>

     <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" idMethod="idbroker" >

     <column name="PSML_ID" required="true" primaryKey="true"
             autoIncrement="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"/>

     <unique name="JETSPEED_ROLE_PROFILE_UNIQUE">
       <unique-column name="ROLE_NAME" />
       <unique-column name="MEDIA_TYPE" />
       <unique-column name="LANGUAGE" />
       <unique-column name="COUNTRY" />
       <unique-column name="PAGE" />
     </unique>

     <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="JETSPEED_ANON_PROFILE" idMethod="idbroker" >

     <column name="PSML_ID" required="true" primaryKey="true"
             autoIncrement="true" type="INTEGER"/>
     <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"/>

     <unique name="JETSPEED_ANON_PROFILE_UNIQUE">
       <unique-column name="MEDIA_TYPE" />
       <unique-column name="LANGUAGE" />
       <unique-column name="COUNTRY" />
       <unique-column name="PAGE" />
     </unique>

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

   </table>

</database>

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

-Atul


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

Reply via email to