head	1.12;
access;
symbols
	TIGRIS_1_1_0RC2:1.9
	TIGRIS_1_1_0RC1:1.9
	TIGRIS_1_1:1.9.0.4
	TIGRIS_1_0_8:1.9
	TIGRIS_1_0_8RC3:1.9
	TIGRIS_1_0_8RC2:1.9
	TIGRIS_1_0_8RC1:1.9
	TIGRIS_1_0_7:1.9
	TIGRIS_1_0_7RC3:1.9
	TIGRIS_1_0_7RC2:1.9
	TIGRIS_1_0_7RC1:1.9
	TIGRIS_1_0_6:1.9
	TIGRIS_1_0_6RC5:1.9
	TIGRIS_1_0_6RC4:1.9
	TIGRIS_1_0_6RC3:1.9
	TIGRIS_1_0_6RC2:1.9
	TIGRIS_1_0_6RC1:1.9
	TIGRIS_1_0_5:1.9
	TIGRIS_1_0_5RC6:1.9
	TIGRIS_1_0_5RC5:1.9
	TIGRIS_1_0_5RC4:1.9
	TIGRIS_1_0_5RC3:1.9
	TIGRIS_1_0_5RC2:1.9
	TIGRIS_1_0_5RC1:1.9
	TIGRIS_1_0_4:1.9
	TIGRIS_1_0_3:1.9
	TIGRIS_1_0_2:1.9
	TIGRIS_1_0_1:1.9
	TIGRIS_1_0:1.9.0.6
	TIGRIS_1_0_0:1.9
	TIGRIS_1_0_0_RC1:1.9.0.2;
locks; strict;
comment	@# @;


1.12
date	2001.08.10.14.30.26;	author leonardr;	state Exp;
branches;
next	1.11;

1.11
date	2001.08.07.17.42.24;	author leonardr;	state Exp;
branches;
next	1.10;

1.10
date	2001.08.01.18.12.47;	author jrobbins;	state Exp;
branches;
next	1.9;

1.9
date	2001.03.26.21.39.46;	author dlr;	state Exp;
branches;
next	1.8;

1.8
date	2001.03.26.21.38.23;	author dlr;	state Exp;
branches;
next	1.7;

1.7
date	2001.03.26.21.36.41;	author dlr;	state Exp;
branches;
next	1.6;

1.6
date	2001.03.26.21.31.42;	author dlr;	state Exp;
branches;
next	1.5;

1.5
date	2001.03.26.21.28.15;	author dlr;	state Exp;
branches;
next	1.4;

1.4
date	2001.03.26.21.21.31;	author dlr;	state Exp;
branches;
next	1.3;

1.3
date	2001.03.26.21.14.10;	author dlr;	state Exp;
branches;
next	1.2;

1.2
date	2001.03.26.21.10.14;	author dlr;	state Exp;
branches;
next	1.1;

1.1
date	2001.03.26.20.00.09;	author dlr;	state Exp;
branches;
next	;


desc
@@


1.12
log
@Integration documents now have their own directory. Also added a new event propagation architecture document to the new directory.
@
text
@<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>

  <head>
    <title>Component HOWTO</title>
  </head>

  <body>
    This document has been succeeded by the <a
    href="integration/">Helm Component Integration Guide</a>.
  </body>

</html>
@


1.11
log
@Deprecated document.
@
text
@d10 1
a10 1
    href="integration.html">Helm Component Integration Guide</a>.
@


1.10
log
@added some more detail to dir structure
@
text
@d5 1
a5 1
    <title>A Tigris web component author's guide</title>
d9 2
a10 127
    <h1>Component HOWTO</h1>
    Daniel Rall &lt;dlr at collab dot net&gt;<br>
    March 23, 2001<br>
    <small>$Id: component-HOWTO.html,v 1.9 2001/03/26 21:39:46 dlr Exp $</small>

    <h2>Overview</h2>
    <p>Tigris web components are a great way to extend the
      functionality of Helm in ways not originally anticipated, or in
      ways that do not belong in its core domain.</p>

    <h3>Directory structure</h3>
    <blockquote>
      <code>
	<pre>
	  [component]/
            build/
              build.sh
              build.xml
            conf/
              [component].ant.properties
              [two digit number][component].servlets
              [two digit number][component].zone.properties.in (if needed)
              [two digit number][component].httpd.conf.in (if needed)
            data/
              htdoc/www/www/docs/
                [end user on-line help pages for this component]
              htdoc/look/www/master/
                [servletname]Tasks.html (for servlets that show task bar)
                [component-specific branding templates, e.g., generated email]
            java/
              [component Java package]/
                om/
                  [component businees objects]
                tool/
                  [additional objects to place in context]
                [servlet dirs]/
                  [.java and .properties file for each servlet]
            scripts/
              migration/
                [versionnumber]/
            sql/
              [component Java package]/
                LoadOrder.lst
                [files specified in this, instance, or Helm LoadOrder.lst]
              schema/
                [component]-schema.xml
            templates/
              [component Java package]/
                [servlet dirs]/
                  [.wm or .vm files for each servlet]
            www/
              [component web site files]
              docs/
                [component developer documentation files]
        </pre>
      </code>
    </blockquote>

    <h2>Explanation</h2>
    <p>Using the suggested directory structure allows the component to
      to advantage of the hooks supplied by Helm (and its instance)
      for functional extension.</p>

    <h3><code>build</code> directory</h3>
    <p>The build scripts powering any makefiles scattered throughout
      the component directory hierarchy live here.  Helm uses
      <a href="http://jakarta.apache.org/ant/">Ant</a> as much as
      possible to handle its build.</p>

    <h3><code>conf</code> directory</h3>
    <p>Component-specific configuration to be copied to your Tigris
      instance's <code>site/conf/</code> directory during
      installation.  Common Ant variables are specified via a
      <code>[component].ant.properties</code> file.  Configuration for
      provided servlets is added via
      <code>[two digit number]servlets</code>, with a lower number
      indicating higher precendance in final servlets configuration
      file.</p>

    <h3><code>data</code> directory</h3>
    <p>Initial data files specific to your componenet.  These should
      be copied to the <code>$SANDBOX/data/</code> directory at
      installation time.  The content under <code>data/htdoc</code> is
      able to take advantage of Helm's remote branding
      functionality. <code>data/htdoc/www/www/docs/</code> is end user
      documentation for this component, and
      <code>data/htdoc/look/www/master/</code> is for additional
      master templates (another nice hook into Helm).</p>

    <h3><code>java</code> directory</h3>
    <p>The Java source code for your component.  We <i>strongly
      encourage</i> component implementations to consist of Java as
      much as possible.</p>

    <h3><code>sql</code> directory</h3>
    <p>Database-related content.  Currently shipping an uncompressed
      version of
      <a href="http://jakarta.apache.org/turbine/torque/">Torque</a>
      under this diredctory for components that use it (strongly
      encouraged).</p>
    <h4><code>sql/schema</code> directory</h4>
    <p><a href="http://jakarta.apache.org/turbine/torque/">Torque</a>
      XML schema for your component.  References to key values from
      tables in foreign database schemas (such as tables from Helm)
      are currently handled using indices in component schema.  The
      plan is to add foreign database table support to Torque and its
      DTD.</p>
    <h4><code>sql/[component Java package]</code> directory</h4>
    <p>Scripts to perform initial database population.  The file
      <code>LoadOrder.lst</code> is used as the "callback" hook by
      Helm's <code>create_tigris_database</code> script to specify
      additional files to run.</p>

    <h3><code>templates/[component Java package]</code> directory</h3>
    <p>WebMacro and/or Velocity templates.</p>

    <h3><code>www</code> directory</h3>
    <p>The component's web site for [component].tigris.org.</p>
    <h4><code>www/docs</code> directory</h4>
    <p>Documentation to be auto-published on the web site (via Helm's
      remote branding functionality).</p>

    <h2>Conclusion</h2>
    <p>Hopefully by now you have an idea of how to best model your web
      component for integration into the Tigris system.  If you commit
      some new functionality or feel that something is missing from
      this document, please feel free to email me.</p>
@


1.9
log
@Better wording in Overview.
@
text
@d12 1
a12 1
    <small>$Id: component-HOWTO.html,v 1.8 2001/03/26 21:38:23 dlr Exp $</small>
d29 3
a31 1
              [two digit number]servlets
d33 5
d40 9
d57 2
d62 1
a62 1
                [component documentation]
@


1.8
log
@Currently only one thing under templates directory.
@
text
@d12 1
a12 1
    <small>$Id: component-HOWTO.html,v 1.7 2001/03/26 21:36:41 dlr Exp $</small>
d17 1
a17 1
      ways that do not belong in its core functionality.</p>
@


1.7
log
@Noted subdirectories in the H4 tags.
@
text
@d12 1
a12 1
    <small>$Id: component-HOWTO.html,v 1.6 2001/03/26 21:31:42 dlr Exp $</small>
d104 1
a104 1
    <h3><code>templates</code> directory</h3>
@


1.6
log
@Added to Overview note.
@
text
@d12 1
a12 1
    <small>$Id: component-HOWTO.html,v 1.5 2001/03/26 21:28:15 dlr Exp $</small>
d91 1
a91 1
    <h4><code>schema</code> directory</h4>
d98 1
a98 1
    <h4><code>[component Java package]</code> directory</h4>
d109 1
a109 1
    <h4><code>docs</code> directory</h4>
@


1.5
log
@More suggestions by Jason Robbins.
@
text
@d12 1
a12 1
    <small>$Id: component-HOWTO.html,v 1.4 2001/03/26 21:21:31 dlr Exp $</small>
d16 2
a17 1
      functionality of Helm in ways not originally anticipated.</p>
@


1.4
log
@Added suggestion by Jason Robbins re: end user documentation under
data/htdoc directory for remote branding.
@
text
@d12 1
a12 1
    <small>$Id: component-HOWTO.html,v 1.3 2001/03/26 21:14:10 dlr Exp $</small>
d28 1
d63 5
a67 1
      <code>[component].ant.properties</code> file.</p>
d72 6
a77 3
      installation time.  <code>data/htdoc/www/www/docs</code> is end
      user documentation for this component, placed in such a location
      to take advantage of remote branding.</p>
@


1.3
log
@Removed stray pagination reference.  Leonard's pagination-HOWTO.html
was used as a template for this document.
@
text
@d12 1
a12 1
    <small>$Id: component-HOWTO.html,v 1.2 2001/03/26 21:10:14 dlr Exp $</small>
d67 3
a69 1
      installation time.</p>
@


1.2
log
@Described directory structure at some length.
@
text
@d12 1
a12 1
    <small>$Id: component-HOWTO.html,v 1.1 2001/03/26 20:00:09 dlr Exp $</small>
d106 1
a106 3
      this document, please feel free to email me. As the author of the
      pagination system, I'm also able (I hope) to answer all your
      pagination questions.</p>
@


1.1
log
@Beginnings of a Tigris web component HOWTO.
@
text
@d12 1
a12 1
    <small>$Id: $</small>
a14 1

a18 1

d28 1
a28 2
            [data]/
              [any component data files]
d38 1
d47 55
a102 1

@

