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
051477
The @command{centos-art.sh} was initialy conceived to organize
051477
automation of most frequent tasks inside the repository based in the
051477
conceptual idea of Unix toolbox: @emph{to create small and specialized
051477
tools that do one thing well}. This way, functionalities inside
051477
@command{centos-art.sh} began to be identified and separated one
051477
another. For example, when images were rendered, there was no need to
051477
load functionalities related to documentation manual. This layout
051477
moved us onto ``common functionalities'' and ``specific
051477
functionalities'' inside @command{centos-art.sh} script. Common
051477
functionalities are loaded when @command{centos-art.sh} script is
051477
initiated and are available to specific functionalities.
051477
051477
Suddenly, no need was found to keep links from all around the
051477
repository to @command{centos-art.sh} script.  Instead the
051477
@command{centos-art} command-line was created. This is, a symbolic
051477
links in the @file{~/bin} directory which can be called from anywhere
051477
inside the repository, just as it would be a regular command. The
051477
symbolic links inside the repository were removed and the
051477
@command{centos-art} command-line interface was used instead.
051477
051477
Option parsing became too complicated for the current implemented way
051477
of parsing positional parameters passed to @command{centos-art.sh}
051477
script from the command-line.  The GNU @command{getopt} option parser
051477
was considered, studied, and implemented in @command{centos-art.sh}
051477
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
051477
transformations of DocBook XML DTD was added through the @code{render}
051477
and @code{locale} functionalities. The @code{render} functionality
051477
uses the @command{xsltproc} command-line XSLT parser in conjunction
051477
with the styles provided by the @file{docbook-style-xsl} package, both
051477
of them contained inside The CentOS Distribution. The @code{locale}
051477
functionality uses the @command{xml2po} as it usually does.