Blame Manual/repository-html/repository_63.html

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

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

b130a0
f66721

The render functionality exists to produce both identity and

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

f66721

The render functionality relies on "renderable directory

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

b130a0
f66721
f66721

2.58.1 Renderable identity directory structures

063806
f66721

Renderable identity directory structures are the starting point of

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

f66721

Inside the working copy, one renderable identity directory structures

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

f66721

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

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

f66721

Inside renderable identity directory structures, content production is

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

7ba52f
f66721
f66721

2.58.1.1 Design template without translation

f66721
f66721

The design template without translation configuration is based on a

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

f66721

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

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

f66721
f66721
One renderable identity directory structure:
f66721
f66721

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

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

f66721

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

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

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

Inside design template directory, design template files are based on

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

f66721

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

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

f66721

The CENTOSARTWORK word itself is a convenction name we use to

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

f66721
info

Note

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

f66721
structure is produced by <tt>`centos-art.sh'</tt> automatically.
f66721

063806
f66721

When a renderable identity directory structure is configured to

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

f66721

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

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

f66721

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

f66721

f66721
f66721
One translation directory structure:
f66721
f66721

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

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

f66721

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

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

f66721
                   | The bond component
f66721
                   |----------------->|
f66721
trunk/Translations/Identity/Path/To/Dir
f66721
`-- (empty)
f66721
f66721

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

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

f66721

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

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

f66721

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

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

f66721

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

f66721

f66721
f66721
One pre-rendition configuration script:
f66721
f66721

In order to make an identity directory structure renderable, a

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

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

In this configuration the pre-rendition configuration script

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

f66721
function render_loadConfig {
063806
f66721
    # Define rendition actions.
063806
    ACTIONS[0]='BASE:renderImage'
063806
063806
}
063806
f66721

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

f66721
assumes a "design template without translation" configuration to
f66721
produce untranslated images.
b9dbd3

f66721

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

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

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

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

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

f66721

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

f66721
information.
f66721

f66721
063806
063806
f66721
f66721

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

f66721
f66721

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

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

f66721

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

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

f66721

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

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

f66721

The pre-rendition configuration script used to produce untranslated

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

f66721
info

Note

If we use no translation file in the translation entry

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

063806
f66721

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

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

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

2.58.1.3 Design template with translation (optimized)

f66721
f66721

Producing translated images satisfies almost all our production images

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

f66721

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

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

f66721

The MATCHINGLIST variable is set in the pre-rendition

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

f66721

For example, consider the following configuration:

f66721

f66721
f66721
One entry under <tt>`trunk/Identity/'</tt>:
f66721
f66721

In this configuration we want to produce three images using a

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

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

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

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

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

In order to produce different translated images using specific design

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

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

In this configuration the pre-rendition configuration script

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

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

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

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

f66721
063806
063806
f66721
f66721

2.58.1.4 Design template with translation (optimized+flexibility)

f66721
f66721

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

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

f66721

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

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

f66721

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

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

f66721

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

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

f66721

At this point there are two independent worklines: one directory

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

f66721

For example, consider the following configuration:

b130a0

063806
f66721
One entry under <tt>`trunk/Identity/Themes/Models/'</tt>:
063806
f66721

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

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

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

Inisde design models, dynamic backgrounds are required in order for

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

b9dbd3
f66721
One entry under <tt>`trunk/Identity/Themes/Motifs/'</tt>:
063806
f66721

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

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

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

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

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

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

There is one pre-rendition configuration script for each theme

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

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

In this configuration the pre-rendition configuration script

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

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

The production flow of "optimize+flexibility" configuration…

f66721

f66721
f66721

2.58.2 Renderable translation directory structures

f66721
f66721

Translation directory structures are auxiliar structures of renderable

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

f66721

In order to aliviate production of translation file, we made

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

f66721

If for some reason, translation files get far from translation

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

f66721

Inside renderable translation directory structures,

f66721
<tt>`centos-art.sh'</tt> can produce text-based files only.
f66721

f66721
f66721
f66721

2.58.3 Copying renderable directory structures

f66721
f66721

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

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

f66721

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

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

f66721

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

f66721
directory structure copied should match the following conditions:
f66721

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

    As convenction, the render_doCopy function uses

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

    f66721

    Design templates + No translation:

    f66721

    f66721

    Command:

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

    f66721

    Sources:

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

    f66721

    Targets:

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

    f66721

    Renderable layout 2:

    f66721

    f66721

    Command:

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

    f66721

    Sources:

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

    f66721

    Targets:

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

    f66721

    Notice that design models are not included in source or target

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

    f66721

    Notice how translations and pre-rendition configuration scripts may

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

    f66721

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

    f66721
      copy a directory structure to itself.
    f66721

    f66721

    - The common directory structures represent the default value to use

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

    f66721

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

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

    f66721

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

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

    f66721

    - The specific auxiliar directories are optional.

    f66721

    f66721

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

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

    f66721

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

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

    f66721

    The `render_doCopy' functionality does duplicate directory structures

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

    b9dbd3
    063806
    f66721

    2.58.4 Usage

    f66721
    f66721
      f66721
    • ...
    • f66721
      f66721
      f66721
      f66721
      f66721

      2.58.5 See also

      ee1f37
      193ea4
      193ea4
      ee1f37
      f66721
      [ < ]
      f66721
      [ > ]
      ee1f37
         
      f66721
      [ << ]
      f66721
      [ Up ]
      f66721
      [ >> ]
      ee1f37
      ee1f37

      ee1f37
       <font size="-1">
      406f69
        This document was generated on March, 1 2011 using texi2html 1.76.
      ee1f37
       </font>
      ee1f37
       
      ee1f37
      ee1f37

      ee1f37
      </body>
      ee1f37
      </html>