|
|
e935c3 |
|
|
|
9b4648 |
<chapter id="introduction" xreflabel="Introduction">
|
|
|
9b4648 |
|
|
|
9b4648 |
<title>Introduction</title>
|
|
|
9b4648 |
|
|
|
9b4648 |
<sect1 id="introduction-history" xreflabel="History">
|
|
|
9b9860 |
|
|
|
c1f6dd |
<title>History</title>
|
|
|
9b9860 |
|
|
|
809eb4 |
<para>The CentOS Artwork Repository started around 2008, at CentOS
|
|
|
809eb4 |
Developers mailing list (centos-devel@centos.org) during a
|
|
|
809eb4 |
discussion about how to automate the slide images of Anaconda. In
|
|
|
809eb4 |
such discussion, Ralph Angenendt rose up his hand to ask: Do you
|
|
|
809eb4 |
have 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 |
|
|
|
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
|
|
|
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 |
|
|
|
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 |
|
|
|
9b4648 |
</sect1>
|
|
|
9b4648 |
|
|
|
9b4648 |
</chapter>
|