Blame Manuals/Repository/en_US/Introduction/history.texinfo

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