Blame Manual/repository-html/repository_75.html

632e8b
632e8b
<html>
632e8b
632e8b
organization, and administration of CentOS Artwork Repository.
632e8b
632e8b
Copyright C 2009-2011 Alain Reguera Delgado
632e8b
632e8b
Permission is granted to copy, distribute and/or modify this document
632e8b
under the terms of the GNU Free Documentation License, Version 1.2 or
632e8b
any later version published by the Free Software Foundation; with no
632e8b
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
632e8b
copy of the license is included in the section entitled GNU Free
632e8b
Documentation License.  
632e8b
-->
06d106
632e8b
632e8b
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
632e8b
            Karl Berry  <karl@freefriends.org>
632e8b
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
632e8b
            and many others.
632e8b
Maintained by: Many creative people <dev@texi2html.cvshome.org>
632e8b
Send bugs and suggestions to <users@texi2html.cvshome.org>
632e8b
632e8b
-->
632e8b
<head>
06d106
<title>CentOS Artwork Repository: 2.71 The trunk/Scripts/Bash/Cli/Functions/Render Directory</title>
632e8b
06d106
<meta name="description" content="CentOS Artwork Repository: 2.71 The trunk/Scripts/Bash/Cli/Functions/Render Directory">
06d106
<meta name="keywords" content="CentOS Artwork Repository: 2.71 The trunk/Scripts/Bash/Cli/Functions/Render Directory">
632e8b
<meta name="resource-type" content="document">
632e8b
<meta name="distribution" content="global">
632e8b
<meta name="Generator" content="texi2html 1.76">
632e8b
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
632e8b
<style type="text/css">
632e8b
632e8b
@import "/home/centos/artwork/trunk/Identity/Models/Css/Texi2html/common.css";
632e8b
632e8b
a.summary-letter {text-decoration: none}
632e8b
pre.display {font-family: serif}
632e8b
pre.format {font-family: serif}
632e8b
pre.menu-comment {font-family: serif}
632e8b
pre.menu-preformatted {font-family: serif}
632e8b
pre.smalldisplay {font-family: serif; font-size: smaller}
632e8b
pre.smallexample {font-size: smaller}
632e8b
pre.smallformat {font-family: serif; font-size: smaller}
632e8b
pre.smalllisp {font-size: smaller}
632e8b
span.sansserif {font-family:sans-serif; font-weight:normal;}
632e8b
ul.toc {list-style: none}
632e8b
-->
632e8b
</style>
632e8b
632e8b
632e8b
</head>
632e8b
632e8b
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
632e8b
632e8b
06d106
[ < ]
06d106
[ > ]
632e8b
   
632e8b
[ << ]
632e8b
[ Up ]
06d106
[ >> ]
632e8b
   
632e8b
   
632e8b
   
632e8b
   
632e8b
[Top]
632e8b
[Contents]
06d106
[Index]
632e8b
[ ? ]
632e8b
06d106
06d106
06d106

2.71 The <tt>`trunk/Scripts/Bash/Cli/Functions/Render'</tt> Directory

632e8b
06d106

The render functionality exists to produce both identity and

06d106
translation files on different levels of information (i.e., different
06d106
languages, release numbers, architectures, etc.).
06d106

06d106

The render functionality relies on "renderable directory

06d106
structures" to produce files. Renderable directory structures can be
06d106
either "identity directory structures" or "translation directory
06d106
structures" with special directories inside.
06d106

632e8b
06d106
06d106

2.71.1 Renderable identity directory structures

06d106
06d106

Renderable identity directory structures are the starting point of

06d106
identity rendition. Whenever we want to render a component of CentOS
06d106
corporate visual identity, we need to point <tt>`centos-art.sh'</tt> to a
06d106
renderable identity directory structure. If such renderable identity
06d106
directory structure doesn't exist, then it is good time to create it. 
06d106

06d106

Inside the working copy, one renderable identity directory structures

06d106
represents one visual manifestation of CentOS corporate visual
06d106
identity, or said differently, each visual manifestation of CentOS
06d106
corporate visual identity should have one renderable identity
06d106
directory structure.
06d106

06d106

Inside renderable identity directory structures, <tt>`centos-art.sh'</tt>

06d106
can render both image-based and text-based files. Specification of
06d106
whether a renderable identity directory structure produces image-based
06d106
or text-based content is a configuration action that takes place in
06d106
the pre-rendition configuration script of that renderable identity
06d106
directory structure.
06d106

06d106

Inside renderable identity directory structures, content production is

06d106
organized in different configurations. A content production
06d106
configuration is a unique combination of the components that make an
06d106
identity directory structure renderable. One content production
06d106
configuration does one thing only (e.g., to produce untranslated
06d106
images), but it can be extended (e.g., adding translation files) to
06d106
achieve different needs (e.g., to produce translated images).
06d106

06d106
06d106
06d106

2.71.1.1 Design template without translation

06d106
06d106

The design template without translation configuration is based on a

06d106
renderable identity directory structure with an empty translation
06d106
directory structure. In this configuration, one design template
06d106
produces one untranslated file. Both design templates and final
06d106
untranslated files share the same file name, but they differ one
06d106
another in file-type and file-extension.
06d106

06d106

For example, to produce images without translations (there is no much

06d106
use in producing text-based files without translations), consider the
06d106
following configuration:
06d106

06d106
06d106
One renderable identity directory structure:
06d106
06d106

In this example we used <tt>`Identity/Path/To/Dir'</tt> as the identity

06d106
component we want to produce untranslated images for.  Identity
06d106
components can be either under <tt>`trunk/'</tt> or <tt>`branches/'</tt>
06d106
directory structure.
06d106

06d106

The identity component (i.e., <tt>`Identity/Path/To/Dir'</tt>, in this

06d106
case) is also the bond component we use to connect the identity
06d106
directory structures with their respective auxiliar directories (i.e.,
06d106
translation directory structres and pre-rendition configuration
06d106
structures).  The bond component is the path convenction that
06d106
<tt>`centos-art.sh'</tt> uses to know where to look for related
06d106
translations, configuration scripts and whatever auxiliar thing a
06d106
renderable directory structure may need to have.
06d106

06d106
      | The bond component
06d106
      |----------------->|
06d106
trunk/Identity/Path/To/Dir  <-- Renderable identity directory structure.
06d106
|-- Tpl                     <-- Design template directory.
06d106
|   `-- file.svg            <-- Design template file.
06d106
`-- Img                     <-- Directory used to store final files.
06d106
    `-- file.png            <-- Final image-based file produced from
06d106
                                design template file.
9bfd15
06d106

Inside design template directory, design template files are based on

06d106
SVG (Scalable Vector Graphics) and use the extension
06d106
.svg.  Design template files can be organized using several
06d106
directory levels to create a simple but extensible configuration,
06d106
specially if translated images are not required.
06d106

06d106

In order for SVG (Scalable Vector Graphics) files to be

06d106
considered "design template" files, they should be placed under the
06d106
design template directory and to have set a CENTOSARTWORK
06d106
object id inside.
06d106

06d106

The CENTOSARTWORK word itself is a convenction name we use to

06d106
define which object/design area, inside a design template, the
06d106
<tt>`centos-art.sh'</tt> script will use to export as
06d106
PNG (Portable Network Graphic) image at rendition time.
06d106
Whithout such object id specification, the <tt>`centos-art.sh'</tt> script
06d106
cannot know what object/design area you (as designer) want to export
06d106
as PNG (Portable Network Graphic) image file.
06d106

06d106
info

Note

At rendition time, the content of <tt>`Img/'</tt> directory

06d106
structure is produced by <tt>`centos-art.sh'</tt> automatically.
9bfd15

9bfd15
06d106

When a renderable identity directory structure is configured to

06d106
produce image-based content, <tt>`centos-art.sh'</tt> produces
06d106
PNG (Portable Network Graphics) files with the .png
06d106
extension. Once the base image format has been produced, it is
06d106
possible for <tt>`centos-art.sh'</tt> to use it in order to automatically
06d106
create other image formats that may be needed (-- Removed(pxref:trunk Scripts
06d106
Bash Functions Render Config) --).
06d106

06d106

Inside the working copy, you can find an example of "design template

06d106
without translation" configuration at <tt>`trunk/Identity/Models/'</tt>.
06d106

06d106

See section The <tt>`trunk/Identity'</tt> Directory, for more information.

06d106

06d106
06d106
One translation directory structure:
06d106
06d106

In order for an identity entry to be considered an identity renderable

06d106
directory structure, it should have a translation entry. The content
06d106
of the translation entry is relevant to determine how to process the
06d106
identity renderable directory entry.
06d106

06d106

If the translation entry is empty (i.e., there is no file inside it),

06d106
<tt>`centos-art.sh'</tt> interprets the identity renderable directory
06d106
structure as a "design templates without translation" configuration.
06d106

06d106
                   | The bond component
06d106
                   |----------------->|
06d106
trunk/Translations/Identity/Path/To/Dir
06d106
`-- (empty)
9bfd15
06d106

If the translation entry is not empty, <tt>`centos-art.sh'</tt> can

06d106
interpret the identity renderable directory structure as one of the
06d106
following configurations: "design template with translation
06d106
(one-to-one)" or "design template with translation (optimized)".
06d106
Which one of these configurations is used depends on the value
06d106
assigned to the matching list (MATCHINGLIST) variable in the
06d106
pre-rendition configuration script of the renderable identity
06d106
directory structure we are producing images for.
06d106

06d106

If the matching list variable is empty (as it is by default), then

06d106
"design template with translation (one-to-one)" configuration is
06d106
used. In this configuration it is required that both design templates
06d106
and translation files have the same file names. This way, one
06d106
translation files is applied to one design template, to produce
06d106
one translated image.
632e8b

06d106

If the matching list variable is not empty (because you redefine it in

06d106
the pre-rendition configuration script), then "design template with
06d106
translation (optimized)" configuration is used instead. In this
06d106
configuration, design templates and translation files don't need to
06d106
have the same names since such name relationship between them is
06d106
specified in the matching list properly.
632e8b

06d106

-- Removed(xref:trunk Translations) --, for more information.

632e8b

06d106
06d106
One pre-rendition configuration script:
06d106
06d106

In order to make an identity directory structure renderable, a

06d106
pre-rendition configuration script should exist for it.  The
06d106
pre-rendition configuration script specifies what type of rendition
06d106
does <tt>`centos-art.sh'</tt> will perform over the identity directory
06d106
structure and how does it do that.
632e8b

06d106
                                           | The bond component
06d106
                                           |----------------->|
06d106
trunk/Scripts/Bash/Functions/Render/Config/Identity/Path/To/Dir
06d106
`-- render.conf.sh
06d106
06d106

In this configuration the pre-rendition configuration script

06d106
(<tt>`render.conf.sh'</tt>) would look like the following:
632e8b

06d106
function render_loadConfig {
06d106
06d106
    # Define rendition actions.
06d106
    ACTIONS[0]='BASE:renderImage'
632e8b
06d106
}
06d106
06d106

Since translation directory structure is empty, <tt>`centos-art.sh'</tt>

06d106
assumes a "design template without translation" configuration to
06d106
produce untranslated images.
06d106

06d106

To produce untranslated images, <tt>`centos-art.sh'</tt> takes one design

06d106
template and creates one temporal instance from it.  Later,
06d106
<tt>`centos-art.sh'</tt> uses the temporal design template instance as
06d106
source file to export the final untranslated image. The action of
06d106
exporting images from SVG (Scalable Vector Graphics) to
06d106
PNG (Portable Network Graphics) is possible thanks to
06d106
Inkscape's command-line interface and the CENTOSARTWORK object
06d106
id we previously set inside design templates.
06d106

06d106
centos-art.sh render --identity=trunk/Identity/Path/To/Dir
06d106
-------------------------------------------------
06d106
0 | Execute centos-art.sh on renderable identity directory structure.
06d106
--v----------------------------------------------
06d106
trunk/Identity/Path/To/Dir/Tpl/file.svg
06d106
-------------------------------------------------
06d106
1 | Create instance from design template.
06d106
--v----------------------------------------------
06d106
/tmp/centos-art.sh-a07e824a-5953-4c21-90ae-f5e8e9781f5f-file.svg
06d106
-------------------------------------------------
06d106
2 | Render untranslated image from design template instance.
06d106
--v----------------------------------------------
06d106
trunk/Identity/NewDir/Img/file.png
06d106
-------------------------------------------------
06d106
3 | Remove design template instance.
9bfd15
06d106

Finally, when the untranslated image has been created, the temporal

06d106
design template instance is removed. At this point,
06d106
<tt>`centos-art.sh'</tt> takes the next design template and repeats the
06d106
whole production flow once again (design template by design template),
06d106
until all design templates be processed.
06d106

06d106

-- Removed(xref:trunk Scripts Bash Functions Render Config) --, for more

06d106
information.
06d106

06d106
06d106
06d106
06d106
06d106

2.71.1.2 Design template with translation (one-to-one)

06d106
06d106

Producing untranslated images is fine in many cases, but not always.

06d106
Sometimes it is required to produce images in different languages and
06d106
that is something that untrasnlated image production cannot achieve.
06d106
However, if we fill its empty translation entry with translation files
06d106
(one for each design template) we extend the production flow from
06d106
untranslated image production to translated image production.
06d106

06d106

In order for <tt>`centos-art.sh'</tt> to produce images correctly, each

06d106
design template should have one translation file and each translation
06d106
file should have one design template.  Otherwise, if there is a
06d106
missing design template or a missing translation file,
06d106
<tt>`centos-art.sh'</tt> will not produce the final image related to the
06d106
missing component.
06d106

06d106

In order for <tt>`centos-art.sh'</tt> to know which is the relation

06d106
between translation files and design templates the translation
06d106
directory structure is taken as reference.  For example, the
06d106
<tt>`trunk/Translations/Identity/Path/To/Dir/file.sed'</tt> translation
06d106
file does match <tt>`trunk/Identity/Path/To/Dir/Tpl/file.svg'</tt> design
06d106
template, but it doesn't match
06d106
<tt>`trunk/Identity/Path/To/Dir/File.svg'</tt> or
06d106
<tt>`trunk/Identity/Path/To/Dir/Tpl/File.svg'</tt> or
06d106
<tt>`trunk/Identity/Path/To/Dir/Tpl/SubDir/file.svg'</tt> design
06d106
templates.
06d106

06d106

The pre-rendition configuration script used to produce untranslated

06d106
images is the same we use to produce translated images. There is no
06d106
need to modify it. So, as we are using the same pre-rendition
06d106
configuration script, we can say that translated image production is
06d106
somehow an extended/improved version of untranslated image production.
06d106

06d106
info

Note

If we use no translation file in the translation entry

06d106
(i.e., an empty directory), <tt>`centos-art.sh'</tt> assumes the
06d106
untranslated image production. If we fill the translation entry with
06d106
translation files, <tt>`centos-art.sh'</tt> assumes the translated image
06d106
production.  
9bfd15

632e8b
06d106

To produce final images, <tt>`centos-art.sh'</tt> applies one translation

06d106
file to one design template and produce a translated design template
06d106
instance. Later, <tt>`centos-art.sh'</tt> uses the translated template
06d106
instance to produce the translated image. Finally, when the translated
06d106
image has been produced, <tt>`centos-art.sh'</tt> removes the translated
06d106
design template instance. This production flow is repeated for each
06d106
translation file available in the translatio entry. 
06d106

06d106
centos-art.sh render --identity=trunk/Identity/Path/To/Dir
06d106
-------------------------------------------------
06d106
0 | Execute centos-art.sh on directory structure.
06d106
--v----------------------------------------------
06d106
trunk/Translations/Identity/Path/To/Dir/file.sed
06d106
-------------------------------------------------
06d106
1 | Apply translation to design template.
06d106
--v----------------------------------------------
06d106
trunk/Identity/Path/To/Dir/Tpl/file.svg
06d106
-------------------------------------------------
06d106
2 | Create design template instance.
06d106
--v----------------------------------------------
06d106
/tmp/centos-art.sh-a07e824a-5953-4c21-90ae-f5e8e9781f5f-file.svg
06d106
-------------------------------------------------
06d106
3 | Render PNG image from template instance.
06d106
--v----------------------------------------------
06d106
trunk/Identity/NewDir/Img/file.png
06d106
-------------------------------------------------
06d106
4 | Remove design template instance.
06d106
632e8b
06d106
06d106

2.71.1.3 Design template with translation (optimized)

632e8b
06d106

Producing translated images satisfies almost all our production images

06d106
needs, but there is still a pitfall in them. In order to produce
06d106
translated images as in the "one-to-one" configuration describes
06d106
previously, it is required that one translation file has one design
06d106
template. That's useful in many cases, but what would happen if we
06d106
need to apply many different translation files to the same design
06d106
template?  Should we have to duplicate the same design template file
06d106
for each translation file, in order to satisfy the "one-to-one"
06d106
relation? What if we need to assign translation files to design
06d106
templates arbitrarily?
06d106

06d106

Certenly, that's something the "one-to-one" configuration cannot

06d106
handle.  So, that's why we had to "optimize" it. The optimized
06d106
configuration consists on using a matching list (MATCHINGLIST)
06d106
variable that specifies the relationship between translation files and
06d106
design templates in an arbitrary way. Using such matching list between
06d106
translation files and design templates let us use as many assignment
06d106
combinations as translation files and design templates we are working
06d106
with.
06d106

06d106

The MATCHINGLIST variable is set in the pre-rendition

06d106
configuration script of the component we want to produce images for.
06d106
By default, the MATCHINGLIST variable is empty which means no
06d106
matching list is used. Otherwise, if MATCHINGLIST variable has a
06d106
value different to empty value then, <tt>`centos-art.sh'</tt> interprets
06d106
the matching list in order to know how translation files are applied
06d106
to design templates.
06d106

06d106

For example, consider the following configuration:

06d106

632e8b
06d106
One entry under <tt>`trunk/Identity/'</tt>:
06d106
06d106

In this configuration we want to produce three images using a

06d106
paragraph-based style, controlled by <tt>`paragraph.svg'</tt> design
06d106
template; and one image using a list-based style, controlled by
06d106
<tt>`list.svg'</tt> design template.
06d106

06d106
trunk/Identity/Path/To/Dir
06d106
|-- Tpl
06d106
|   |-- paragraph.svg
06d106
|   `-- list.svg
06d106
`-- Img
06d106
    |-- 01-welcome.png
06d106
    |-- 02-donate.png
06d106
    |-- 03-docs.png
06d106
    `-- 04-support.png
06d106
06d106
06d106
One entry under <tt>`trunk/Translations/'</tt>:
06d106
06d106

In order to produce translated images we need to have one translation

06d106
file for each translated image we want to produce. Notice how
06d106
translation names do match final image file names, but how translation
06d106
names do not match design template names. When we use matching list
06d106
there is no need for translation files to match the names of design
06d106
templates, such name relation is set inside the matching list itself.
06d106

06d106
trunk/Translations/Identity/Path/To/Dir
06d106
|-- 01-welcome.sed
06d106
|-- 02-donate.sed
06d106
|-- 03-docs.sed
06d106
`-- 04-support.sed
06d106
06d106
06d106
One entry under <tt>`trunk/trunk/Scripts/Bash/Functions/Render/Config/'</tt>:
06d106
06d106

In order to produce different translated images using specific design

06d106
templates, we need to specify the relation between translation files
06d106
and design templates in a way that <tt>`centos-art.sh'</tt> could know
06d106
exactly what translation file to apply to what design template. This
06d106
relation between translation files and design templates is set using
06d106
the matching list MATCHINGLIST variable inside the pre-rendition
06d106
configuration script of the component we want to produce images for.  
06d106

06d106
trunk/Scripts/Bash/Functions/Render/Config/Identity/Path/To/Dir
06d106
`-- render.conf.sh
06d106
06d106

In this configuration the pre-rendition configuration script

06d106
(<tt>`render.conf.sh'</tt>) would look like the following:
06d106

06d106
function render_loadConfig {
06d106
06d106
    # Define rendition actions.
06d106
    ACTIONS[0]='BASE:renderImage'
06d106
06d106
    # Define matching list.
06d106
    MATCHINGLIST="\
06d106
    paragraph.svg:\
06d106
        01-welcome.sed\
06d106
        02-donate.sed\
06d106
        04-support.sed
06d106
    list.svg:\
06d106
        03-docs.sed
06d106
    "
06d106
06d106
}
06d106
06d106

As result, <tt>`centos-art.sh'</tt> will produce <tt>`01-welcome.png'</tt>,

06d106
<tt>`02-donate.png'</tt> and <tt>`04-support.png'</tt> using the
06d106
paragraph-based design template, but <tt>`03-docs.png'</tt> using the
06d106
list-based design template.
632e8b

632e8b
632e8b
06d106
06d106
06d106

2.71.1.4 Design template with translation (optimized+flexibility)

06d106
06d106

In the production models we've seen so far, there are design templates

06d106
to produce untranslated images and translation files which combiend
06d106
with design templates produce translated images. That may seems like
06d106
all our needs are covered, doesn't it? Well, it almost does.
06d106

06d106

Generally, we use design templates to define how final images will

06d106
look like. Generally, each renderable directory structure has one
06d106
<tt>`Tpl/'</tt> directory where we organize design templates for that
06d106
identity component. So, we can say that there is only one unique
06d106
design template definition for each identity component; or what is the
06d106
same, said differently, identity components can be produced in one way
06d106
only, the way its own design template directory specifies.  This is
06d106
not enough for theme production. It is a limitation, indeed.
06d106

06d106

Initially, to create one theme, we created one renderable directory

06d106
structure for each theme component. When we found ourselves with many
06d106
themes, and components inside them, it was obvious that the same
06d106
design model was duplicated inside each theme. As design models were
06d106
independently one another, if we changed one theme's design model,
06d106
that change was useless to other themes. So, in order to reuse design
06d106
model changes, we unified design models into one common directory
06d106
structure.
06d106

06d106

With design models unified in a common structure, another problem rose

06d106
up. As design models also had the visual style of theme components,
06d106
there was no difference between themes, so there was no apparent need
06d106
to have an independent theme directory structure for each different
06d106
theme.  So, it was also needed to separate visual styles from design
06d106
models.
06d106

06d106

At this point there are two independent worklines: one directory

06d106
structure to store design models (the final image characteristics
06d106
[i.e., dimensions, translation markers, etc.]) and one directory
06d106
structure to store visual styles (the final image visual style [i.e.,
06d106
the image look and feel]).  So, it is possible to handle both
06d106
different design models and different visual styles independtly one
06d106
another and later create combinations among them using
06d106
<tt>`centos-art.sh'</tt>. 
06d106

06d106

For example, consider the following configuration:

06d106

06d106
06d106
One entry under <tt>`trunk/Identity/Themes/Models/'</tt>:
06d106
06d106

The design model entry exists to organize design model files (similar

06d106
to design templates). Both design models and design templates are very
06d106
similar; they both should have the CENTOSARTWORK export id
06d106
present to identify the exportation area, translation marks, etc.
06d106
However, design models do use dynamic backgrounds inclusion while
06d106
design templates don't.
06d106

06d106
                        THEMEMODEL | | The bond component
06d106
                             |<----| |--------------------->|
06d106
trunk/Identity/Themes/Models/Default/Distro/Anaconda/Progress/
06d106
|-- paragraph.svg
06d106
`-- list.svg
06d106
06d106

Inisde design models, dynamic backgrounds are required in order for

06d106
different artistic motifs to reuse common design models. Firstly, in
06d106
order to create dynamic backgrounds inside design models, we import a
06d106
bitmap to cover design model's background and later, update design
06d106
model's path information to replace fixed values to dynamic values.
06d106

06d106
06d106
One entry under <tt>`trunk/Identity/Themes/Motifs/'</tt>:
06d106
06d106

The artistic motif entry defines the visual style we want to produce

06d106
images for, only. Final images (i.e., those built from combining both
06d106
design models and artistic motif backrounds) are not stored here, but
06d106
under branches directory structure. In the artistic motif entry, we
06d106
only define those images that cannot be produced automatically by
06d106
<tt>`centos-art.sh'</tt> (e.g., Backgrounds, Color information,
06d106
Screenshots, etc.).
06d106

06d106
                  Artistic motif name | | Artistic motif backgrounds
06d106
                             |<-------| |-------->|
06d106
trunk/Identity/Themes/Motifs/TreeFlower/Backgrounds/
06d106
|-- Img
06d106
|   |-- Png
06d106
|   |   |-- 510x300.png
06d106
|   |   `-- 510x300-final.png
06d106
|   `-- Jpg
06d106
|       |-- 510x300.jpg
06d106
|       `-- 510x300-final.jpg
06d106
|-- Tpl
06d106
|   `-- 510x300.svg
06d106
`-- Xcf
06d106
    `-- 510x300.xcf
06d106
06d106
06d106
One entry under <tt>`trunk/Translations/'</tt>:
06d106
06d106

The translation entry specifies, by means of translation files, the

06d106
language-specific information we want to produce image for. When we
06d106
create the translation entry we don't use the name of neither design
06d106
model nor artistic motif, just the design model component we want to
06d106
produce images for.
06d106

06d106
                                   | The bond component
06d106
                                   |--------------------->|
06d106
trunk/Translations/Identity/Themes/Distro/Anaconda/Progress/
06d106
`-- 5
06d106
    |-- en
06d106
    |   |-- 01-welcome.sed
06d106
    |   |-- 02-donate.sed
06d106
    |   `-- 03-docs.sed
06d106
    `-- es
06d106
        |-- 01-welcome.sed
06d106
        |-- 02-donate.sed
06d106
        `-- 03-docs.sed
06d106
06d106
06d106
One entry under <tt>`trunk/Scripts/Bash/Functions/Render/Config/'</tt>:
06d106
06d106

There is one pre-rendition configuration script for each theme

06d106
component. So, each time a theme component is rendered, its
06d106
pre-rendition configuration script is evaluated to teach
06d106
<tt>`centos-art.sh'</tt> how to render the component.
06d106

06d106
trunk/Scripts/Bash/Functions/Render/Config/Identity/Themes/Distro/Anaconda/Progress/
06d106
`-- render.conf.sh
06d106
06d106

In this configuration the pre-rendition configuration script

06d106
(<tt>`render.conf.sh'</tt>) would look like the following:
06d106

06d106
function render_loadConfig {
06d106
06d106
    # Define rendition actions.
06d106
    ACTIONS[0]='BASE:renderImage'
06d106
06d106
    # Define matching list.
06d106
    MATCHINGLIST="\
06d106
    paragraph.svg:\
06d106
        01-welcome.sed\
06d106
        02-donate.sed
06d106
    list.svg:\
06d106
        03-docs.sed
06d106
        "
06d106
06d106
    # Deifne theme model.
06d106
    THEMEMODEL='Default'
06d106
06d106
}
06d106
06d106
06d106
06d106

The production flow of "optimize+flexibility" configuration…

06d106

06d106
06d106

2.71.2 Renderable translation directory structures

06d106
06d106

Translation directory structures are auxiliar structures of renderable

06d106
identity directory structures. There is one translation directory
06d106
structure for each renderable identity directory structure.  Inside
06d106
translation directory structures we organize translation files used by
06d106
renderable identity directory structures that produce translated
06d106
images. Renderable identity directory structures that produce
06d106
untranslated images don't use translation files, but they do use a
06d106
translation directory structure, an empty translation directory
06d106
structure, to be precise.
06d106

06d106

In order to aliviate production of translation file, we made

06d106
translation directory structures renderable adding a template
06d106
(<tt>`Tpl/'</tt>) directory structure to handle common content inside
06d106
translation files.  This way, we work on translation templates and
06d106
later use <tt>`centos-art.sh'</tt> to produce specific translation files
06d106
(based on translation templates) for different information (e.g.,
06d106
languages, release numbers, architectures, etc.).  
06d106

06d106

If for some reason, translation files get far from translation

06d106
templates and translation templates become incovenient to produce such
06d106
translation files then, care should be taken to avoid replacing the
06d106
content of translation files with the content of translation templates
06d106
when <tt>`centos-art.sh'</tt> is executed to produce translation files
06d106
from translation templates.
06d106

06d106

Inside renderable translation directory structures,

06d106
<tt>`centos-art.sh'</tt> can produce text-based files only.
632e8b

632e8b
06d106
06d106

2.71.3 Copying renderable directory structures

06d106
06d106

A renderable layout is formed by design models, design images,

06d106
pre-rendition configuration scripts and translations files. This way,
06d106
when we say to duplicate rendition stuff we are saying to duplicate
06d106
these four directory structures (i.e., design models, design images,
06d106
pre-rendition configuration scripts, and related translations files).
06d106

06d106

When we duplicate directories, inside `trunk/Identity' directory

06d106
structure, we need to be aware of renderable layout described above
06d106
and the source location used to perform the duplication action.  The
06d106
source location is relevant to centos-art.sh script in order to
06d106
determine the required auxiliar information inside directory
06d106
structures that need to be copied too (otherwise we may end up with
06d106
orphan directory structures unable to be rendered, due the absence of
06d106
required information).
632e8b

06d106

In order for a renderable directory structure to be valid, the new

06d106
directory structure copied should match the following conditions:
632e8b

06d106
    06d106
  1. To have a unique directory structure under
  2. 06d106
    <tt>`trunk/Identity'</tt>, organized by any one of the above
    06d106
    organizational designs above.
    06d106
    06d106
  3. To have a unique directory structure under
  4. 06d106
    <tt>`trunk/Translations'</tt> to store translation files.
    06d106
    06d106
  5. To have a unique directory structure under
  6. 06d106
    <tt>`trunk/Scripts/Bash/Functions/Render/Config'</tt> to set pre-rendition
    06d106
    configuration script.
    06d106
    632e8b
    06d106

    As convenction, the render_doCopy function uses

    06d106
    <tt>`trunk/Identity'</tt> directory structure as source location.  Once
    06d106
    the <tt>`trunk/Identity'</tt> directory structure has been specified and
    06d106
    verified, the related path information is built from it and copied
    06d106
    automatically to the new location specified by FLAG_TO variable.
    06d106

    06d106

    Design templates + No translation:

    06d106

    06d106

    Command:

    06d106
    - centos-art render -copy=trunk/Identity/Path/To/Dir -to=trunk/Identity/NewPath/To/Dir
    06d106

    06d106

    Sources:

    06d106
    - trunk/Identity/Path/To/Dir
    06d106
    - trunk/Translations/Identity/Path/To/Dir
    06d106
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/Path/To/Dir
    06d106

    06d106

    Targets:

    06d106
    - trunk/Identity/NewPath/To/Dir
    06d106
    - trunk/Translations/Identity/NewPath/To/Dir
    06d106
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/NewPath/To/Dir
    06d106

    06d106

    Renderable layout 2:

    06d106

    06d106

    Command:

    06d106
    - centos-art render -copy=trunk/Identity/Themes/Motifs/TreeFlower \
    06d106
                        -to=trunk/Identity/Themes/Motifs/NewPath/To/Dir
    06d106

    06d106

    Sources:

    06d106
    - trunk/Identity/Themes/Motifs/TreeFlower
    06d106
    - trunk/Translations/Identity/Themes
    06d106
    - trunk/Translations/Identity/Themes/Motifs/TreeFlower
    06d106
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/Themes
    06d106
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/Themes/Motifs/TreeFlower
    06d106

    06d106

    Targets:

    06d106
    - trunk/Identity/Themes/Motifs/NewPath/To/Dir
    06d106
    - trunk/Translations/Identity/Themes
    06d106
    - trunk/Translations/Identity/Themes/Motifs/NewPath/To/Dir
    06d106
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/Themes
    06d106
    - trunk/Scripts/Bash/Functions/Render/Config/Identity/Themes/Motifs/NewPath/To/Dir
    06d106

    06d106

    Notice that design models are not included in source or target

    06d106
    locations. This is intentional. In "Renderable layout 2", design
    06d106
    models live by their own, they just exist, they are there, available
    06d106
    for any artistic motif to use. By default `Themes/Models/Default'
    06d106
    design model directory structure is used, but other design models
    06d106
    directory structures (under Themes/Models/) can be created and used
    06d106
    changing the value of THEMEMODEL variable inside the pre-rendition
    06d106
    configuration script of the artistic motif source location you want to
    06d106
    produce.
    06d106

    06d106

    Notice how translations and pre-rendition configuration scripts may

    06d106
    both be equal in source and target. This is because such structures
    06d106
    are common to all artistic motifs (the default values to use when no
    06d106
    specific values are provided).
    06d106

    06d106

    - The common directory structures are not copied or deleted. We cannot

    06d106
      copy a directory structure to itself.
    06d106

    06d106

    - The common directory structures represent the default value to use

    06d106
      when no specific translations and/or pre-rendition configuration
    06d106
      script are provided inside source location.
    06d106

    06d106

    - The specific directory structures, if present, are both copiable and

    06d106
      removable. This is, when you perform a copy or delete action from
    06d106
      source, that source specific auxiliar directories are transfered in
    06d106
      the copy action to a new location (that specified by FLAG_TO
    06d106
      variable).
    06d106

    06d106

    - When translations and/or pre-rendition configuration scripts are

    06d106
      found inside the source directory structure, the centos-art.sh
    06d106
      script loads common auxiliar directories first and later specific
    06d106
      auxiliar directories.  This way, identity rendition of source
    06d106
      locations can be customized idividually over the base of common
    06d106
      default values.
    06d106

    06d106

    - The specific auxiliar directories are optional.

    06d106

    06d106

    - The common auxiliar directories should be present always. This is,

    06d106
      in order to provide the information required by render functionality
    06d106
      (i.e., to make it functional in the more basic level of its
    06d106
      existence).
    06d106

    06d106

    Notice how the duplication process is done from `trunk/Identity' on,

    06d106
    not the oposite. If you try to duplicate a translation structure (or
    06d106
    similar auxiliar directory structures like pre-rendition configuration
    06d106
    scripts), the `trunk/Identity' for that translation is not created.
    06d106
    This limitation is impossed by the fact that many `trunk/Identity'
    06d106
    directory structures may reuse/share the same translation directory
    06d106
    structure. We cannot delete one translation (or similar) directory
    06d106
    structures while a related `trunk/Identity/' directory structure is
    06d106
    still in need of it.
    06d106

    06d106

    The `render_doCopy' functionality does duplicate directory structures

    06d106
    directly involved in rendition process only. Once such directories
    06d106
    have been duplicated, the functionality stops thereat. 
    06d106

    06d106
    06d106
    06d106

    2.71.4 Usage

    06d106
    06d106
      06d106
    • ...
    • 06d106
      06d106
      06d106
      06d106
      06d106

      2.71.5 See also

      632e8b
      632e8b
      632e8b
      632e8b
      06d106
      [ < ]
      06d106
      [ > ]
      632e8b
         
      632e8b
      [ << ]
      06d106
      [ Up ]
      06d106
      [ >> ]
      632e8b
      632e8b

      632e8b
       <font size="-1">
      06d106
        This document was generated on March, 10 2011 using texi2html 1.76.
      632e8b
       </font>
      632e8b
       
      632e8b
      632e8b

      632e8b
      </body>
      632e8b
      </html>