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
051477
To answer the question, I suggested a bash script which combined SVG
051477
and SED files in order to produce PNG images in different languages
051477
---in conjunction with the proposition of creating a Subversion
051477
repository where translations and image production could be
b32b45
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
051477
Once the CentOS Artwork Repository was available, I uploaded the bash
051477
script for rendering Anaconda slides; Ralph Angenendt documented it
051477
very well; and people started to download working copies of CentOS
051477
Artwork Repository to produce slide images in their own languages.
051477
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
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
0f7ec9
The @command{centos-art.sh} was initialy 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
4fb317
repository which refer to @command{centos-art.sh} script.  The
4fb317
@command{centos-art} command-line interface is used instead. The
4fb317
@command{centos-art} command-line interface is a symbolic link stored
4fb317
inside the @file{~/bin} directory pointing the @command{centos-art.sh}
4fb317
script. Inside The CentOS Distribution, the @file{~/bin} path is set
4fb317
in the @env{PATH} environment variable which is read by the shell to
4fb317
know where executable files are stored in; and this way let us to
4fb317
execute the @command{centos-art.sh} script from virtually anywhere
4fb317
inside the workstation.
051477
4fb317
Option parsing needs inside the @command{centos-art.sh} script became
4fb317
too complicated for the current implementation of parsing positional
4fb317
parameters passed from the command-line.  The GNU @command{getopt}
4fb317
option parser was considered and configured inside
4fb317
@command{centos-art.sh} script as default option parser.
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
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.