thanks!
added to turbine-2 repository
- martin
Quoting Dan Bachelder <[EMAIL PROTECTED]>:
> I made a few changes... and tailored it to TDK 2.1 as I assume that is
> what
> most people who will want this are using... and it is what I did this
> on...
> Are there any glaring errors or omissions?
>
> If anyone has anything else they want XDOCified... let me know...
>
> thanks,
> dan
>
> <?xml version="1.0"?>
>
> <document>
> <properties>
> <title>Extend User Howto</title>
> <author email="[EMAIL PROTECTED]">Jon S. Stevens</author>
> <author email="[EMAIL PROTECTED]">Dan A. Bachelder</author>
> </properties>
>
> <body>
>
> <section name="Extend User">
>
> <p>
> This is a quick a dirty HOWTO on extending the TurbineUser
> and
> its functionality.
> All information is based on what I had to do to get this to
> work
> under TDK 2.1.
> </p>
>
> <p>
> Define your User in your [PROJECT]-schema.xml file:
> </p>
>
> <source><![CDATA[
> <table name="SCARAB_USER" javaName="ScarabUserImpl"
> alias="TurbineUser"
> baseClass="org.apache.turbine.om.security.TurbineUser"
>
> basePeer="org.apache.turbine.om.security.peer.TurbineUserPeer">
> <column name="USER_ID" primaryKey="true"
> required="true"
> type="INTEGER"/>
> </table>
> ]]></source>
>
> <p>
> You only need to define the columns in which you are
> referring
> to as a
> foreign key elsewhere in your database. In our case, that
> is
> just USER_ID.
> This will NOT create a new table in your schema, it simply
> allows you to
> make foreign key references to the TURBINE_USER table in
> you
> applications
> schema.
> </p>
>
> <p>
> Any new columns need to be added to the TURBINE_USER def. in
> the
> turbine-schema.xml file.
> </p>
>
> <p>
> Create an interface which describes the additional methods
> you
> are adding to
> your User object:
> </p>
>
> <source><![CDATA[
> public interface ScarabUser extends User
> ]]></source>
>
> <p>
> Using TDK 2.1 "ant init" will regenerate your OM layer,
> including the implementations
> referenced in the following paragraphs (ScarabUserImpl,
> ScarabUserImplPeer,
> BaseScarabUserImpl and BaseScarabUserImplPeer). IT WILL
> ALSO
> RECREATE YOUR DATABASE
> TABLES DESTROYING ALL DATA THEREIN.
> </p>
>
> <p>
> Have Torque create an implementation of ScarabUser. You
> should
> then fill it
> with the methods that you defined in ScarabUser. It should
> extend the Base
> class and look something like this:
> </p>
>
> <source><![CDATA[
> public class ScarabUserImpl extends BaseScarabUserImpl
> implements Persistent, ScarabUser
> ]]></source>
>
> <p>
> You may need to add your interface (ScarabUser) to the
> implements statement manually.
> </p>
>
> <p>
> Have Torque create the appropriate Peer class (mine is empty
> so
> far):
> </p>
>
> <source><![CDATA[
> public class ScarabUserImplPeer
> extends org.tigris.scarab.om.BaseScarabUserImplPeer
> {
> }
> ]]></source>
>
> <p>
> In your TurbineResources.properties file modify the
> following
> properties to
> tell Turbine to point at your specific implementations of
> the
> User
> interface:
> </p>
>
> <source><![CDATA[
>
> services.SecurityService.user.class=org.tigris.scarab.om.ScarabUserImpl
>
> services.SecurityService.userPeer.class=org.tigris.scarab.om.ScarabUserImplP
> eer
> ]]></source>
>
> <p>
> As you can see, it isn't real hard to override Turbine's
> concept
> of a User
> with your own specific implementation. If you wish to
> rename
> column names
> and what not, then you will need to do a bit more work and
> is
> beyond the
> scope of this tutorial.
> </p>
>
> </section>
> </body>
> </document>
>
>
>
> ---------------------------------------------------------------------
> 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]