|
|
543699 |
<chapter id="intro-history" xreflabel="History">
|
|
|
9b9860 |
|
|
|
c1f6dd |
<title>History</title>
|
|
|
9b9860 |
|
|
|
9bfa66 |
<para>The CentOS Artwork Repository started around 2008 during a
|
|
|
9bfa66 |
discussion about how to automate the slide images of Anaconda, at
|
|
|
9bfa66 |
CentOS Developers mailing list (centos-devel@centos.org). In such
|
|
|
9bfa66 |
discussion, Ralph Angenendt rose up his hand to ask —Do you have
|
|
|
9bfa66 |
something to show?—.</para>
|
|
|
09f899 |
|
|
|
809eb4 |
<para>To answer the question, I suggested a bash script which
|
|
|
809eb4 |
combined SVG and SED files in order to produce PNG images in
|
|
|
809eb4 |
different languages —together with the proposition of
|
|
|
809eb4 |
creating a Subversion repository where translations and image
|
|
|
809eb4 |
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
|
|
|
809eb4 |
CentOS Artwork SIG (https://projects.centos.org/trac/artwork/) and
|
|
|
809eb4 |
the CentOS Artwork Repository
|
|
|
809eb4 |
(https://projects.centos.org/svn/artwork/) were officially
|
|
|
809eb4 |
created.</para>
|
|
|
09f899 |
|
|
|
809eb4 |
<para>Once the CentOS Artwork Repository was available, I uploaded
|
|
|
809eb4 |
the bash script for rendering Anaconda slides; Ralph Angenendt
|
|
|
809eb4 |
documented it very well; and people started to download working
|
|
|
809eb4 |
copies of CentOS Artwork Repository to produce slide images in
|
|
|
809eb4 |
their own languages.</para>
|
|
|
9b9860 |
|
|
|
809eb4 |
<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
|
|
|
809eb4 |
extend the image production to other areas, different from slide
|
|
|
809eb4 |
images. In this configuration, one SVG file was used as input to
|
|
|
809eb4 |
produce a translated instance of it which, in turn, was used to
|
|
|
809eb4 |
produce one translated PNG image as output. The SVG translated
|
|
|
809eb4 |
instance was created through SED replacement commands. The
|
|
|
809eb4 |
translated PNG image was created from the SVG translated instance
|
|
|
809eb4 |
using Inkscape command-line interface.</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
|
|
|
809eb4 |
Identity</quote> by Wally Olins (1989) and Wikipedia related links
|
|
|
809eb4 |
(e.g.,
|
|
|
809eb4 |
/>). This way, the rendition script main's goal becomes to:
|
|
|
809eb4 |
automate production of a monolithic corporate visual identity
|
|
|
809eb4 |
structure, based on the mission and the release schema of The
|
|
|
809eb4 |
CentOS Project.</para>
|
|
|
09f899 |
|
|
|
9bfa66 |
<para>The repository directory structures began to be documented
|
|
|
9bfa66 |
inside by mean of flat text files. Later, documentation in flat
|
|
|
9bfa66 |
text files was moved onto LaTeX format and this way <quote>The
|
|
|
9bfa66 |
CentOS Artwork Repository Manual</quote> is initiated.</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 |
|
|
|
9bfa66 |
<para>The <command>centos-art.sh</command> was initialy conceived
|
|
|
9bfa66 |
to organize automation of most frequent tasks inside the
|
|
|
9bfa66 |
repository based in the conceptual idea of Unix toolbox:
|
|
|
9bfa66 |
<emphasis>create small and specialized tools that do one thing
|
|
|
9bfa66 |
well</emphasis>. This way, functionalities inside
|
|
|
9bfa66 |
<command>centos-art.sh</command> were identified and separated one
|
|
|
9bfa66 |
another. For example, when images were rendered, there was no need
|
|
|
9bfa66 |
to load functionalities related to documentation manual. This
|
|
|
9bfa66 |
layout moved us onto common functionalities and specific
|
|
|
9bfa66 |
functionalities inside <command>centos-art.sh</command> script.
|
|
|
9bfa66 |
Common functionalities are loaded when
|
|
|
9bfa66 |
<command>centos-art.sh</command> script is initiated and are
|
|
|
9bfa66 |
available to specific functionalities.</para>
|
|
|
09f899 |
|
|
|
9bfa66 |
<para>There was no need to have links all around the
|
|
|
9bfa66 |
repository if a command-line interface could be created (through
|
|
|
9bfa66 |
symbolic links, in the
|
|
|
9bfa66 |
class="directory">~/bin</filename> directory) and be called
|
|
|
9bfa66 |
anywhere inside the repository as it would be a regular
|
|
|
9bfa66 |
command.</para>
|
|
|
9bfa66 |
|
|
|
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
|
|
|
809eb4 |
visual style in the same file. Now, both
|
|
|
809eb4 |
<command>centos-art.sh</command> and repository directory
|
|
|
809eb4 |
structure are able to produce themes as result of arbitrary
|
|
|
809eb4 |
combinations between design models (structures) and artistic
|
|
|
809eb4 |
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 |
|
|
|
9bfa66 |
<para>The render , help and
|
|
|
9bfa66 |
locale functionalities were consolidated as the most
|
|
|
9bfa66 |
frequent tasks 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 |
|
|
|
543699 |
</chapter>
|