Blob Blame History Raw
<sect1 id="intro-repoconvs-relbdirs">

    <title>Relation Between Directories</title>

    <para>
        In order for automation scripts to produce content inside a
        working copy of &TCAR;, it is required that all work lines be
        related somehow.  The relation between work lines is used by
        automation scripts to know where to retrive the information
        they need to work with (e.g., input files, translation
        messages, output locations, etc.).  This kind of relation is
        built using two path constructions known as <emphasis>master
        paths</emphasis> and <emphasis>auxiliar paths</emphasis>.
    </para>

    <variablelist>
    <varlistentry>
    <term>Master Paths</term>
    <listitem>
    <para>
        A master path refers to a directory inside the repository that
        contain input files required to produce output files through
        automation scripts. Examples of master paths inside the
        repository include:

        <itemizedlist>
        <listitem>
        <para>
            <filename class="directory">trunk/Identity/Models/Brands</filename>
        </para>
        </listitem>
        <listitem>
        <para>
            <filename class="directory">trunk/Manuals/Repository/Docbook</filename>
        </para>
        </listitem>
        <listitem>
        <para>
            <filename class="directory">trunk/Identity/Models/Themes/Default/Distro/5/Anaconda</filename>
        </para>
        </listitem>
        </itemizedlist>
    </para>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term>Auxiliar paths</term>
    <listitem>
    <para>
        An auxiliar path refers a directory inside the repository
        considered auxiliar for the master path. Auxiliar path can be
        either for output or localization. Assuming the master path
        provides the input information, the auxiliar paths provide the
        auxiliar information which describes how and where that input 
        information is rendered by automation scripts. Examples of
        auxiliar paths inside the repository include:
        
        <itemizedlist>
        <listitem>
        <para>
            <filename class="directory">trunk/Identity/Images/Brands</filename>
        </para>
        </listitem>
        <listitem>
        <para>
            <filename class="directory">trunk/Manuals/Repository/Docbook/es_ES</filename>
        </para>
        </listitem>
        <listitem>
        <para>
            <filename class="directory">trunk/Locales/Manuals/Repository/Docbook/es_ES</filename>
        </para>
        </listitem>
        <listitem>
        <para>
            <filename class="directory">trunk/Identity/Images/Themes/Flame/3/Distro/5/Anaconda/es_ES</filename>
        </para>
        </listitem>
        <listitem>
        <para>
            <filename class="directory">trunk/Locales/Identity/Models/Default/Distro/5/Anaconda/es_ES</filename>
        </para>
        </listitem>
        </itemizedlist>

    </para>
    </listitem>
    </varlistentry>
    </variablelist>
      
    <para>
        The relationship between master and auxiliar paths is built by
        combining the second directory level of master paths with
        directories in the second directory level of repository
        layout. In the second directory level of repository layout,
        the <filename class="directory">Identity</filename>, <filename
        class="directory">Manuals</filename> and <filename
        class="directory">Scripts</filename> directories are always
        used to create the master paths and the output auxiliar paths.
        The <filename class="directory">Locales</filename> directory,
        on the other hand, is always used to create localization
        auxiliar paths for all the master paths available under
        <filename class="directory">Identity</filename>, <filename
        class="directory">Manuals</filename> and <filename
        class="directory">Scripts directories</filename>.
    </para>
        
    <para>
        For example, if the <envar>LANG</envar> environment variable
        is set to <literal>es_ES.UTF-8</literal> and you execute the
        <function>render</function> functionality of
        <command>centos-art.sh</command> script with the <filename
        class="directory">trunk/Manuals/Repository/Docbook</filename>
        master path as argument, it will produce &TCARUG; in Spanish
        language using translation messages from <filename
        class="directory">trunk/Locales/Manuals/Repository/Docbook/es_ES</filename>
        auxiliar path and saving output files inside <filename
        class="directory">trunk/Manuals/Repository/Docbook/es_ES</filename>
        auxiliar path.
    </para> 

    <para>
        To better understand what each directory inside the repository
        means, read <xref linkend="intro-repoconvs-layout" />.
    </para>
    
</sect1>