|
|
543699 |
<chapter id="intro-history" xreflabel="History">
|
|
|
9b9860 |
|
|
|
c1f6dd |
<title>History</title>
|
|
|
9b9860 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
The CentOS Artwork Repository started during a discussion
|
|
|
07a2e9 |
about how to automate the slide images of Anaconda, at CentOS
|
|
|
07a2e9 |
Developers mailing list (
|
|
|
07a2e9 |
url="mailto:centos-devel@centos.org">centos-devel@centos.org</ulink>)
|
|
|
07a2e9 |
around 2008. In such discussion, Ralph Angenendt rose up his
|
|
|
07a2e9 |
hand to ask —Do you have something to show?—.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
To answer the question, Alain Reguera Delgado suggested a bash
|
|
|
07a2e9 |
script which combined SVG and SED files in order to produce
|
|
|
07a2e9 |
PNG images in different languages —in conjunction with
|
|
|
07a2e9 |
the proposition of creating a Subversion repository where
|
|
|
07a2e9 |
translations and image production could be distributed inside
|
|
|
07a2e9 |
The CentOS Community—.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
Karanbirn Sighn considered the idea intresting and provided
|
|
|
07a2e9 |
the infrastructure necessary to support the effort. This way
|
|
|
07a2e9 |
the
|
|
|
07a2e9 |
url="https://projects.centos.org/trac/artwork/">CentOS Artwork
|
|
|
07a2e9 |
SIG</ulink> and the
|
|
|
07a2e9 |
url="https://projects.centos.org/svn/artwork/">CentOS Artwork
|
|
|
07a2e9 |
Repository</ulink> were officially created.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
Once the CentOS Artwork Repository was available, Alain
|
|
|
07a2e9 |
Reguera Delgado uploaded the bash script for rendering
|
|
|
07a2e9 |
Anaconda slides; Ralph Angenendt documented it very well; and
|
|
|
07a2e9 |
people started to download working copies of CentOS Artwork
|
|
|
07a2e9 |
Repository to produce slide images in their own languages.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<sect1>
|
|
|
07a2e9 |
<title>2009's</title>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
Around 2009, the rendition script was at a very rustic state
|
|
|
07a2e9 |
where only slide images could be produced, so it was
|
|
|
07a2e9 |
redesigned to extend the image production to other areas,
|
|
|
07a2e9 |
different from slide images. In this configuration, one SVG
|
|
|
07a2e9 |
file was used as input to produce a translated instance of it
|
|
|
07a2e9 |
which, in turn, was used to produce one translated PNG image
|
|
|
07a2e9 |
as output. The SVG translated instance was created through SED
|
|
|
07a2e9 |
replacement commands. The translated PNG image was created
|
|
|
07a2e9 |
from the SVG translated instance using Inkscape command-line
|
|
|
07a2e9 |
interface.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
The repository directory structure was prepared to receive the
|
|
|
07a2e9 |
rendition script using design templates and translation files
|
|
|
07a2e9 |
in the same location. There was one directory structure for
|
|
|
07a2e9 |
each artwork that needed to be produced. In this
|
|
|
07a2e9 |
configuration, if you would want to produce the same artwork
|
|
|
07a2e9 |
with a different visual style or structure, it was needed to
|
|
|
07a2e9 |
create a new directory structure for it because both the image
|
|
|
07a2e9 |
structure and the image visual style were together in the
|
|
|
07a2e9 |
design template.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
The rendition script was moved to a common place and linked
|
|
|
07a2e9 |
from different directory structures. There was no need to have
|
|
|
07a2e9 |
the same code in different directory structures if it could be
|
|
|
07a2e9 |
in just one place and then be linked from different locations.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
Corporate identity concepts began to be considered. As
|
|
|
07a2e9 |
referece, it was used the book "Corporate Identity" by Wally
|
|
|
07a2e9 |
Olins (1989) and
|
|
|
07a2e9 |
url="http://en.wikipedia.org/Corporate_identity">Wikipedia</ulink>
|
|
|
07a2e9 |
related links. This way, the rendition script main's goal
|
|
|
07a2e9 |
becomes into: <emphasis>automating production of a monolithic corporate
|
|
|
07a2e9 |
visual identity structure, based on the mission and the
|
|
|
07a2e9 |
release schema of The CentOS Project</emphasis>.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
The repository directory structures began to be documented by
|
|
|
07a2e9 |
mean of flat text files. Later, documentation in flat text
|
|
|
07a2e9 |
files was moved onto LaTeX format and this way the "The CentOS
|
|
|
07a2e9 |
Artwork Repository" documentation manual is initiated.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
</sect1>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<sect1>
|
|
|
07a2e9 |
<title>2010's</title>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
Around 2010, the rendition script changed its name from
|
|
|
07a2e9 |
<command>render.sh</command> to
|
|
|
07a2e9 |
<command>centos-art.sh</command> and became a collection of
|
|
|
07a2e9 |
functionalities where rendition was just one among others
|
|
|
07a2e9 |
(e.g., documentation and localization).
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
The <command>centos-art.sh</command> was initially conceived
|
|
|
07a2e9 |
to automate frequent tasks inside the repository based in the
|
|
|
07a2e9 |
idea of Unix toolbox: to create small and specialized tools
|
|
|
07a2e9 |
that do one thing well. This way, functionalities inside
|
|
|
07a2e9 |
<command>centos-art.sh</command> began to be identified and
|
|
|
07a2e9 |
separated one another. For example, when images were rendered,
|
|
|
07a2e9 |
there was no need to load functionalities related to
|
|
|
07a2e9 |
documentation manual. This layout moved us onto <quote>common
|
|
|
07a2e9 |
functionalities</quote> and <quote>specific
|
|
|
07a2e9 |
functionalities</quote> inside
|
|
|
07a2e9 |
<command>centos-art.sh</command> script. Common
|
|
|
07a2e9 |
functionalities are loaded when
|
|
|
07a2e9 |
<command>centos-art.sh</command> script is initiated and are
|
|
|
07a2e9 |
available to specific functionalities.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
Suddenly, no need was found to keep all the links spreaded
|
|
|
07a2e9 |
around the repository in order to execute the
|
|
|
07a2e9 |
<command>centos-art.sh</command> script from different
|
|
|
07a2e9 |
locations. The centos-art command-line interface was used
|
|
|
07a2e9 |
instead. The centos-art command-line interface is a symbolic
|
|
|
07a2e9 |
link stored inside the
|
|
|
07a2e9 |
class="directory">~/bin</filename> directory that point to
|
|
|
07a2e9 |
<command>centos-art.sh</command> script. As default
|
|
|
07a2e9 |
configuration, inside The CentOS Distribution, the path to
|
|
|
07a2e9 |
<filename class="directory">~/bin</filename> is included in
|
|
|
07a2e9 |
the search path for commands (see PATH environment variable).
|
|
|
07a2e9 |
This way, using the centos-art command-line interface, it is
|
|
|
07a2e9 |
possible for us to execute the
|
|
|
07a2e9 |
<command>centos-art.sh</command> script from virtually
|
|
|
07a2e9 |
anywhere inside the workstation, just as we frequently do with
|
|
|
07a2e9 |
regular commands.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
Start using GNU getopt as default option parser inside the
|
|
|
07a2e9 |
<command>centos-art.sh</command> script.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
The repository directory structure was updated to improve the
|
|
|
07a2e9 |
implementation of corporate visual identity concepts.
|
|
|
07a2e9 |
Specially in the area related to themes. Having both structure
|
|
|
07a2e9 |
and style in the same file introduced content duplication when
|
|
|
07a2e9 |
producing art works. Because of this reason, they were
|
|
|
07a2e9 |
divided out to separate directory structures: the design
|
|
|
07a2e9 |
models and artistic motifs directory structures. From this
|
|
|
07a2e9 |
point on, the <command>centos-art.sh</command> is able to
|
|
|
07a2e9 |
produce themes as result of arbitrary combinations between
|
|
|
07a2e9 |
design models (structures) and artistic motifs (visual
|
|
|
07a2e9 |
styles).
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
In the documentation area, the documents in LaTeX format were
|
|
|
07a2e9 |
migrated to Texinfo format. In this configuration, each
|
|
|
07a2e9 |
directory structure in the repository has a documentation
|
|
|
07a2e9 |
entry associated in a Texinfo structure which can be read,
|
|
|
07a2e9 |
edited and administered (e.g., renamed, deleted and copied)
|
|
|
07a2e9 |
interactively through <command>centos-art.sh</command> script.
|
|
|
07a2e9 |
Additionally, the texi2html program was used to produced
|
|
|
07a2e9 |
customized XHTML output in conjunction with CSS from The
|
|
|
07a2e9 |
CentOS Webenv.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
</sect1>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<sect1>
|
|
|
07a2e9 |
<title>2011's</title>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
Around 2011, the <command>centos-art.sh</command> script was
|
|
|
07a2e9 |
redesigned to start translating XML-based files (e.g., SVG and
|
|
|
07a2e9 |
Docbook files) through <command>xml2po</command> program and
|
|
|
07a2e9 |
shell scripts (e.g., Bash scripts) through GNU gettext tools.
|
|
|
07a2e9 |
This configuration provided a stronger localization interface
|
|
|
07a2e9 |
for graphic designers, translators and programmers. The SED
|
|
|
07a2e9 |
replacement files are no longer used to handle localization.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
The render , help and
|
|
|
07a2e9 |
locale functionalities were consolidated as the
|
|
|
07a2e9 |
most frequent tasks performed inside the repository.
|
|
|
07a2e9 |
Additionally, the prepare and tuneup functionalities are also
|
|
|
07a2e9 |
maintained as useful tasks.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
07a2e9 |
In the documentation area, support for producing localized
|
|
|
07a2e9 |
transformations of DocBook XML DTD instances was added through
|
|
|
07a2e9 |
the render and locale functionalities. The
|
|
|
07a2e9 |
render functionality uses the xsltproc
|
|
|
07a2e9 |
command-line XSLT parser in conjunction
|
|
|
07a2e9 |
with the styles provided by the
|
|
|
07a2e9 |
<package>docbook-style-xsl</package> package, both of them
|
|
|
07a2e9 |
included inside The CentOS Distribution. The locale
|
|
|
07a2e9 |
functionality creates the localized portable object
|
|
|
07a2e9 |
(PO) the render functionality
|
|
|
07a2e9 |
needs to produce localized transformations of DocBook XML DTD
|
|
|
07a2e9 |
instances.
|
|
|
07a2e9 |
</para>
|
|
|
07a2e9 |
|
|
|
07a2e9 |
<para>
|
|
|
460d3e |
To build DocBook documentation, it was considered the idea of
|
|
|
460d3e |
using concepts behind repository directory structure as base,
|
|
|
460d3e |
not the opposite (as I've been doing with Texinfo backend, so
|
|
|
460d3e |
far).
|
|
|
460d3e |
</para>
|
|
|
460d3e |
|
|
|
460d3e |
<para>
|
|
|
460d3e |
Producing documentation through DocBook XML as default
|
|
|
460d3e |
documentation backend consolidates render and
|
|
|
460d3e |
locale even more. In this configuration, once
|
|
|
1b0247 |
the DocBook files are written, you use locale
|
|
|
07a2e9 |
functionality to localize the DocBook files in your prefered
|
|
|
07a2e9 |
language and later, using render functionality,
|
|
|
1b0247 |
you produce the XTHML and PDF outputs as specified in a XSLT
|
|
|
1b0247 |
or DSL customization layer.
|
|
|
07a2e9 |
</para>
|
|
|
460d3e |
|
|
|
07a2e9 |
</sect1>
|
|
|
9b9860 |
|
|
|
543699 |
</chapter>
|