Blame Manuals/Docbook/repository-preface.docbook

e935c3
9b9860
<preface>
9b9860
09f899
    <title>Preface</title>
9b9860
09f899
    <para>The CentOS Artwork Repository started around 2008, at 
09f899
    url="mailto:centos-devel@centos.org">CentOS Developers mailing
09f899
    list</ulink> during a discussion about how to automate the slide
09f899
    images of Anaconda. In such discussion, Ralph Angenendt rose up
09f899
    his hand to ask: Do you have something to show?</para>
09f899
    
09f899
    <para>To answer the question, Alain Reguera Delgado suggested a
09f899
    bash script which combined SVG and SED files in order to produce
09f899
    PNG images in different languages —together with the
09f899
    proposition of creating a Subversion repository where translations
09f899
    and image production could be distributed inside The CentOS
09f899
    Community—.</para>
09f899
    
09f899
    <para>Karanbirn Sighn considered the idea intresting and provided
09f899
    the infrastructure necessary to support the effort.  This way the
09f899
    <ulink url="https://projects.centos.org/trac/artwork/">CentOS
09f899
    Artwork SIG</ulink> and the 
09f899
    url="https://projects.centos.org/svn/artwork/">CentOS Artwork
09f899
    Repository</ulink> were officially created.</para>
09f899
    
09f899
    <para>Once the CentOS Artwork Repository was available, Alain
09f899
    Reguera Delagdo uploaded the bash script for rendering Anaconda
09f899
    slides; Ralph Angenendt documented it very well; and people
09f899
    started to download working copies of CentOS Artwork Repository to
09f899
    produce slide images in their own languages.</para>
9b9860
09f899
    <para>Around 2009, The rendition script was at a very rustic state
09f899
    where only slide images could be produced, so it was redesigned to
09f899
    extend the image production to other areas, not just slide images.
09f899
    In this configuration, one SVG file was used as input to produce a
09f899
    translated instance of it which, in turn, was used to produce one
09f899
    translated PNG image as output.  The SVG translated instance was
09f899
    created through SED replacement commands. The translated PNG image
09f899
    was created from the SVG translated instance using Inkscape
09f899
    command-line interface.</para>
09f899
    
09f899
    <para>The rendition script was named
09f899
    <quote>render.sh</quote>.</para>
09f899
    
09f899
    <para>The repository directory structure was prepared to receive
09f899
    the rendition script using design templates and translation files
09f899
    in the same location.  There was one directory structure for each
09f899
    artwork that needed to be produced. In this configuration, if you
09f899
    would want to produce the same artwork with a different visual
09f899
    style or structure, it was needed to create a new directory
09f899
    structure for it because both the image structure and the image
09f899
    visual style were together in the design template.</para>
09f899
    
09f899
    <para>The rendition script was moved to a common place and linked
09f899
    from different directory structures. There was no need to have the
09f899
    same code in different directory structures if it could be in just
09f899
    one place and then be linked from different locations.</para>
09f899
    
09f899
    <para>The concepts about corporate identity began to be
09f899
    considered. As referece, it was used the book <quote>Corporate
09f899
    Identity</quote> by Wally Olins (1989) and Wikipedia (
09f899
    url="http://en.wikipedia.org/Corporate_identity" />). This way,
09f899
    the rendition script main's goal becomes to: automate production
09f899
    of a monolithic corporate visual identity structure, based on the
09f899
    mission and the release schema of The CentOS Project.</para>
09f899
    
09f899
    <para>The directory structures started to be documented inside the
09f899
    repository using text files without markup.  Later, documentation
09f899
    in flat text files was moved to LaTeX format and this way
09f899
    <quote>The CentOS Artwork Repository Manual</quote> started to
09f899
    take form.</para>
9b9860
09f899
    <para>Around 2010, the rendition script changed its name from
09f899
    <command>render.sh</command> to <command>centos-art.sh</command>
09f899
    and became a collection of functionalities where rendition was
09f899
    just one among others (e.g., documenting and localizing).</para>
09f899
    
09f899
    <para>The <command>centos-art.sh</command> was created to organize
09f899
    automation of most frequent tasks inside the repository.  There
09f899
    was no need to have links all around the repository if a
09f899
    command-line interface could be created (through symbolic links,
09f899
    in the <filename class="directory">~/bin</filename> directory) and
09f899
    be called anywhere inside the repository as it would be a regular
09f899
    command.</para>
09f899
    
09f899
    <para>Inside <command>centos-art.sh</command>, functionalities
09f899
    started to get identified and separated one another. For example,
09f899
    when images were rendered, there was no need to load
09f899
    functionalities related to documentation manual. This layout moved
09f899
    us onto common functionalities and specific functionalities inside
09f899
    <command>centos-art.sh</command> script. Common functionalities
09f899
    are loaded when <command>centos-art.sh</command> script is
09f899
    initiated and are available to specific functionalities.</para>
09f899
    
09f899
    <para>The <command>centos-art.sh</command> script was redesigned
09f899
    to handle command-line options trough <command>getopt</command>
09f899
    option parser.</para>
09f899
    
09f899
    <para>The repository directory structure was updated to improve
09f899
    the implementation of concepts related to corporate visual
09f899
    identity.  Specially in the area related to themes which were
09f899
    divided into <emphasis>design models</emphasis> and
09f899
    <emphasis>artistic motifs</emphasis> to eliminate the content
09f899
    duplication produced by having both image structure and image
09f899
    visual style in the same file. Now, themes are produced as result
09f899
    of arbitrary combinations of both design models (structures) and
09f899
    artistic motifs (visual styles).</para>
09f899
    
09f899
    <para>In the documentation area, the documentation files in LaTeX
09f899
    format were migrated to Texinfo format.  In this configuration,
09f899
    each directory structure in the repository has a documentation
09f899
    entry associated in a Texinfo structure which can be read, edited
09f899
    and administered (e.g., renamed, deleted, copied) interactively
09f899
    throuch <command>centos-art.sh</command>. Additionally, the
09f899
    <command>texi2html</command> program was used to produced XHTML
09f899
    output customized by CSS from The CentOS Webenv.</para>
9b9860
09f899
    <para>Around 2011, the <command>centos-art.sh</command> script was
09f899
    redesigned to start translating SVG and other XML-based files
09f899
    (e.g., XHTML and Docbook files) through the
09f899
    <command>xml2po</command> program and shell scripts files (e.g.,
09f899
    Bash scripts) through GNU <command>gettext</command> tools.  This
09f899
    configuration provided a stronger interface for graphic designers,
09f899
    translators and programmers to produce localized content. The SED
09f899
    files are no longer used to handle translations.</para>
09f899
    
09f899
    <para>Improve option parsing through
09f899
    <command>getopt</command>.</para>
9b9860
09f899
    <para>Consolidate the render, help and
09f899
    locale functionalities as the most frequent tasks
09f899
    performed inside the repository. Additionally, the
09f899
    prepare and tuneup functionalities are
09f899
    maintained as useful tasks.</para>
09f899
    
09f899
    <para>The <command>centos-art.sh</command> script is updated to
09f899
    organize functionalities in two groups: <quote>the administrative
09f899
    functionalities</quote> and <quote>the productive
09f899
    functionalities</quote>.  The administrative functionalities cover
09f899
    actions like: copying, deleting and renaming directory structures
09f899
    inside the repository.  Also, preparing your workstation for using
09f899
    <command>centos-art.sh</command> script, making backups of the
09f899
    distribution theme currently installed,  installing themes created
09f899
    inside repository and restoring themes from backup.  On the other
09f899
    hand, the productive functionalities cover actions like: content
09f899
    rendition, content localization, content documentation and content
09f899
    maintainance.</para>
9b9860
9b9860
</preface>