Blame Manuals/Repository/Docbook/Introduction/Repoconvs/relbdirs.docbook

054a7b
<sect1 id="intro-repoconvs-relbdirs">
054a7b
054a7b
    <title>Relation Between Directories</title>
054a7b
054a7b
    <para>
054a7b
        In order for automation scripts to produce content inside a
054a7b
        working copy of CentOS Artwork Repository, it is required that
054a7b
        all work lines be related somehow.  The relation is used by
054a7b
        automation scripts to know where to retrive the information
054a7b
        they need to work with (e.g., design model, translation
054a7b
        messages, output locations, etc.).  This kind of relation is
054a7b
        built using two path constructions named <emphasis>master
054a7b
        paths</emphasis> and <emphasis>auxiliar
054a7b
        paths</emphasis>.
054a7b
    </para>
054a7b
    
054a7b
    <para>
054a7b
        The master path points only to directories that contain source
054a7b
        files (e.g., SVG files) required to produce output base
054a7b
        content (e.g., PNG files) through automation scripts.  Each
054a7b
        master path inside the repository may have several auxiliar
054a7b
        paths associated, but auxiliar paths can only have one master
054a7b
        path associated.
054a7b
    </para>
054a7b
    
054a7b
    <para>
054a7b
        Master paths used for producing images through SVG rendition
054a7b
        are organized under 
054a7b
        class="directory">trunk/Identity/Models</filename> directory
054a7b
        structure and the auxiliar paths under 
054a7b
        class="directory">trunk/Identity/Images</filename>, 
054a7b
        class="directory">trunk/Locales</filename> and 
054a7b
        class="directory">trunk/Manuals</filename> directory
054a7b
        structures.
054a7b
    </para>
054a7b
    
054a7b
    <para>
054a7b
        Auxiliar paths can point either to directories or files.  When
054a7b
        an auxiliar path points to a directory, that directory
054a7b
        contains information that modifies somehow the content
054a7b
        produced from master paths (e.g., translation messages) or
054a7b
        provides the output information required to know where the
054a7b
        content produced from the master path should be stored.  When
054a7b
        an auxiliar path points to a file, that file has no other
054a7b
        purpose but to document the master path it refers to.
054a7b
    </para>
054a7b
054a7b
    <para>
054a7b
        Auxiliar paths should never be modified under any reason but
054a7b
        to satisfy the relationship with the master path.  Liberal
054a7b
        change of auxiliar paths may suppress the conceptual idea they
054a7b
        were initially created for; and certainly, automation scripts
054a7b
        may stop working as expected.
054a7b
    </para>
054a7b
     
054a7b
    <para>
054a7b
        The relationship between auxiliar paths and master paths is
054a7b
        built by combining the master path and the second level
054a7b
        directory structures of the repository.  The master path is
054a7b
        considered the path identifier and the repository second level
054a7b
        directory structure is considered the common part of the path
054a7b
        where the path identifier is appended to.  So, if we have the
054a7b
        master path 
054a7b
        class="directory">trunk/Identity/Models/Brands</filename>,
054a7b
        we'll end up having, at least, the 
054a7b
        class="directory">trunk/Identity/Images/Brands</filename>
054a7b
        auxiliar path for storing output files and, optionally, one
054a7b
        path under 
054a7b
        class="directory">trunk/Manuals</filename> for storing
054a7b
        documentation and one path under 
054a7b
        class="directory">trunk/Locales</filename> for storing
054a7b
        localizations.
054a7b
    </para> 
054a7b
    
054a7b
</sect1>