|
|
87b0e4 |
This section describes the organization of files and directories
|
|
|
e08079 |
inside the CentOS Artwork Repository, the names convenctions, how to
|
|
|
e08079 |
extend the current layout and the way content is produced, as well.
|
|
|
e08079 |
|
|
|
e08079 |
The repository layout is used as standard backend for automation
|
|
|
e08079 |
scripts to work correctly. If repository layout changes unexpectedly,
|
|
|
e08079 |
automation scripts may get confuse themselves and stop doing what you
|
|
|
e08079 |
may expect from them to do.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
As convenction, inside CentOS Artwork Repository, files and
|
|
|
87b0e4 |
directories related to CentOS corporate visual identity are organized
|
|
|
87b0e4 |
under three top level directories named: @file{trunk/},
|
|
|
87b0e4 |
@file{branches/}, and @file{tags/}.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
The @file{trunk/} directory (@pxref{Directories trunk}) organizes the main
|
|
|
87b0e4 |
development line of CentOS corporate visual identity. Inside
|
|
|
87b0e4 |
@file{trunk/} directory structure, the CentOS corporate visual
|
|
|
87b0e4 |
identity concepts are implemented using directories. There is one
|
|
|
87b0e4 |
directory level for each relevant concept inside the repository. The
|
|
|
87b0e4 |
@file{trunk/} directory structure is mainly used to perform
|
|
|
87b0e4 |
development tasks related to CentOS corporate visual identity.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
The @file{branches/} directory (@pxref{Directories branches}) oranizes
|
|
|
87b0e4 |
parallel development lines to @file{trunk/} directory. The
|
|
|
87b0e4 |
@file{branches/} directory is used to set points in time where
|
|
|
87b0e4 |
develpment lines are devided one from another taking separte and
|
|
|
87b0e4 |
idependent lives that share a common past from the point they were
|
|
|
87b0e4 |
devided on. The @file{branches/} directory is mainly used to perform
|
|
|
87b0e4 |
quality assurance tasks related to CentOS corporate visual identity.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
The @file{tags/} directory (@pxref{Directories tags}) organizes parallel frozen
|
|
|
87b0e4 |
lines to @file{branches/} directory. The parallel frozen lines are
|
|
|
87b0e4 |
immutable, nothing change inside them once they has been created. The
|
|
|
87b0e4 |
@file{tags/} directory is mainly used to publish final releases of
|
|
|
87b0e4 |
CentOS corporate visual identity.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
The CentOS Artwork Repository layout is firmly grounded on a
|
|
|
87b0e4 |
Subversion base. Subversion (@url{http://subversion.tigris.org}) is a
|
|
|
87b0e4 |
version control system, which allows you to keep old versions of files
|
|
|
87b0e4 |
and directories (usually source code), keep a log of who, when, and
|
|
|
87b0e4 |
why changes occurred, etc., like CVS, RCS or SCCS. Subversion keeps a
|
|
|
87b0e4 |
single copy of the master sources. This copy is called the source
|
|
|
87b0e4 |
``repository''; it contains all the information to permit extracting
|
|
|
87b0e4 |
previous versions of those files at any time.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
@subsection Repository file names
|
|
|
87b0e4 |
|
|
|
87b0e4 |
Repository name convenctions are applied to files and directories
|
|
|
87b0e4 |
inside the repository layout. As convenction, file names are all
|
|
|
87b0e4 |
written in lowercase (@samp{01-welcome.png}, @samp{splash.png},
|
|
|
87b0e4 |
@samp{anaconda_header.png}, etc.) and directory names are all written
|
|
|
87b0e4 |
capitalized (e.g., @samp{Identity}, @samp{Themes}, @samp{Motifs},
|
|
|
87b0e4 |
@samp{TreeFlower}, etc.).
|
|
|
87b0e4 |
|
|
|
87b0e4 |
Repository name convenctions are implemented inside the
|
|
|
87b0e4 |
@code{cli_getRepoName} function of @file{centos-art.sh} script. With
|
|
|
87b0e4 |
@code{cli_getRepoName} function the amount of commands and
|
|
|
87b0e4 |
convenctions to remember are reduced and concentrated in just one
|
|
|
87b0e4 |
single place to look for fixes and improvements.
|
|
|
87b0e4 |
|
|
|
c2929c |
@subsection Work lines
|
|
|
c2929c |
|
|
|
c2929c |
Work lines describe different areas of content production inside
|
|
|
c2929c |
CentOS Artwork Repository. Content production inside these specific
|
|
|
c2929c |
areas may vary as much as persons be working on them. Producing
|
|
|
c2929c |
content in too many different ways may result innapropriate in a
|
|
|
c2929c |
collaborative environment like CentOS Artwork Repository where content
|
|
|
c2929c |
produced in one area depends somehow from content produced in another
|
|
|
c2929c |
different area. To produce content in a syncronized but descentralized
|
|
|
c2929c |
way, it is required to define a content production standard for each
|
|
|
c2929c |
work line that everyone uses as reference to realize their work.
|
|
|
c2929c |
|
|
|
c2929c |
The standard way of producing content inside CentOS Artwork Repository
|
|
|
c2929c |
is implemented through @command{centos-art.sh} script and described in
|
|
|
c2929c |
@command{centos-art.sh} script related documentation entry
|
|
|
c2929c |
(@pxref{Directories trunk Scripts}).
|
|
|
c2929c |
|
|
|
c2929c |
Inside CentOS Artwork Repository, work lines are organized in
|
|
|
c2929c |
@emph{Graphic design}, @emph{Documentation}, @emph{Localization} and
|
|
|
c2929c |
@emph{Automation}.
|
|
|
87b0e4 |
|
|
|
2b93ca |
@subsubsection Graphic design
|
|
|
798844 |
|
|
|
2b93ca |
This work line exists to cover brand design, typography design and
|
|
|
c2929c |
theme design. Additionally, some auxiliar areas like icon design,
|
|
|
c2929c |
illustration design for documentation, brushes design, pattern designs
|
|
|
c2929c |
and palettes with color definitions could be included here for
|
|
|
c2929c |
completeness.
|
|
|
c2929c |
|
|
|
c2929c |
Inside CentOS Artwork Repository, graphic design is performed through
|
|
|
c2929c |
Inkscape and GIMP program. Inkscape is used create and manipulate
|
|
|
c2929c |
scalable vector graphics and export them to PNG format; it also
|
|
|
c2929c |
provides a command-line interface that we use to automate the
|
|
|
c2929c |
exportation process so you can perform massive exportation of SVG
|
|
|
c2929c |
files to PNG files. On the other hand, GIMP is used to create and
|
|
|
c2929c |
manipulate rastered images, create brushes, patterns and palettes of
|
|
|
c2929c |
colors. Notice that each program provides very specific
|
|
|
c2929c |
functionalities and posibilities that when combined can let you
|
|
|
c2929c |
produce very beautiful images.
|
|
|
c2929c |
|
|
|
c2929c |
The CentOS Project Corporate Identity is made of several visual
|
|
|
c2929c |
manifestations. These visual manifestations implement the Corporate
|
|
|
c2929c |
Identity by mean of images placed in key areas of their visual space.
|
|
|
c2929c |
To produce these images, we decompose image production in @emph{design
|
|
|
c2929c |
models} and @emph{artistic motifs}. Design models provide the image
|
|
|
c2929c |
structure (i.e., dimension, translation markers, common designs, etc.)
|
|
|
c2929c |
and are generally produced as scalable vector graphics generally. On
|
|
|
c2929c |
the other hand, artistic motifs provide the visual style (i.e., the
|
|
|
c2929c |
background information, the look and feel) and are generally produced
|
|
|
c2929c |
as rastered images.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
Design models are created for each visual manifestation the CentOS
|
|
|
87b0e4 |
Project is made of. This way we describe the visual manifestation and
|
|
|
87b0e4 |
provide a template system for it where several artistic motifs can be
|
|
|
87b0e4 |
applied. Artistic motifs are created with design models in mind, not
|
|
|
c2929c |
the visual manifestation that design models are built for.
|
|
|
c2929c |
|
|
|
c2929c |
The result produced by combining one design model with one artistic
|
|
|
c2929c |
motif is what we know as a @emph{theme}. Inside themes directory
|
|
|
c2929c |
structure (@pxref{Directories trunk Identity Themes}), you can find
|
|
|
c2929c |
several design models and several artistic motifs, apart one another,
|
|
|
c2929c |
that can be albitrarily combined one another through @emph{theme
|
|
|
c2929c |
rendition}, a flexible way to produce images for different visual
|
|
|
c2929c |
manifestations inside CentOS Artwork Repository. Inside themes
|
|
|
c2929c |
directory structure, theme rendition is performed in
|
|
|
c2929c |
@file{trunk/Identity/Themes/Motifs} directory structures and takes
|
|
|
c2929c |
design models from @file{trunk/Identity/Themes/Models} directory
|
|
|
c2929c |
structure.
|
|
|
798844 |
|
|
|
798844 |
In addition to theme rendition, you can find another way of image
|
|
|
798844 |
production, a more direct way of image production where there is no
|
|
|
798844 |
artistic motif at all, but design models only. Such configuration is
|
|
|
798844 |
named @emph{direct rendition} and is very useful to produce simple
|
|
|
c2929c |
content that doesn't need specific background information (e.g., icons
|
|
|
c2929c |
and illustrations for documentation). Direct rendition takes place in
|
|
|
c2929c |
@file{trunk/Identity/Models} and @file{trunk/Identity/Images}
|
|
|
798844 |
directory structures.
|
|
|
798844 |
|
|
|
c2929c |
@xref{Directories trunk Identity}, for more information on graphic
|
|
|
c2929c |
design.
|
|
|
798844 |
|
|
|
2b93ca |
@subsubsection Documentation
|
|
|
2b93ca |
|
|
|
2b93ca |
This work line exists to describe what each directory structure inside
|
|
|
2b93ca |
the CentOS Artwork Repository is for and how to produce content inside
|
|
|
87b230 |
them.
|
|
|
87b230 |
|
|
|
87b230 |
Documentation is supported by Texinfo, a documentation system that
|
|
|
87b230 |
uses a single source file to produce both online information and
|
|
|
87b230 |
printed output.
|
|
|
87b230 |
|
|
|
87b230 |
Documentation is organized in the same way of CentOS Artwork
|
|
|
87b230 |
Repository directory structure. In the CentOS Artwork Repository we
|
|
|
87b230 |
use directories to store conceptual ideas of The CentOS Project
|
|
|
87b230 |
Corporate Visual Identity. This way, each directory in CentOS Artwork
|
|
|
87b230 |
Repository has its own documentation section to describe the related
|
|
|
87b230 |
conceptual ideas it is based on. Documentation entries related to
|
|
|
87b230 |
repository directory structure are organized in sections under
|
|
|
87b230 |
@emph{Repository Directories} chapter (@pxref{Directories}).
|
|
|
87b230 |
|
|
|
87b230 |
The file structure of documentation related to the repository
|
|
|
87b230 |
directory structures is stored under @file{trunk/Manual/Directories}
|
|
|
87b230 |
directory structure and controlled by the @code{help} functionality of
|
|
|
87b230 |
@command{centos-art.sh} script. Using this functionality you can
|
|
|
87b230 |
create, edit and remove documentation for each directory structure
|
|
|
87b230 |
inside the repository; so you don't need to take care of updating
|
|
|
87b230 |
menus, nodes and cross reference information inside the manual
|
|
|
87b230 |
structure, the functionality takes care of it for you. However, if
|
|
|
87b230 |
you need to write repository documentation that have nothing to do
|
|
|
87b230 |
with directory structure (e.g., Preface, Introduction and similar) you
|
|
|
87b230 |
need to do it manually, there is no functionality to automate such
|
|
|
87b230 |
process yet.
|
|
|
87b230 |
|
|
|
87b230 |
@xref{Directories trunk Manual}, for more information on
|
|
|
87b230 |
documentation.
|
|
|
2b93ca |
|
|
|
8e4e50 |
@subsubsection Localization
|
|
|
87b0e4 |
|
|
|
2b93ca |
This work line exists to localize corporate design and documentation
|
|
|
2b93ca |
source files, so they can be produced in different languages.
|
|
|
2b93ca |
|
|
|
87b0e4 |
Whatever content rendition you perform, sometimes you need to produce
|
|
|
798844 |
content in different languages. Production of content in different
|
|
|
87b0e4 |
languages is known as localization or l10n for short. Inside CentOS
|
|
|
87b0e4 |
Artwork Repository, content localization is performed using the
|
|
|
87b230 |
processes provided by @command{gettext} internationalization standard.
|
|
|
87b0e4 |
|
|
|
798844 |
Basically, the @command{gettext} internationalization standard
|
|
|
87b0e4 |
consists on retriving translatable strings from source files and
|
|
|
798844 |
creating Portable Objects and Machine Objects. Portable Objects
|
|
|
798844 |
contain the information used by translators to do their work, they are
|
|
|
798844 |
files that can be edited by any convenctional text editor like Vim,
|
|
|
798844 |
Emacs or Nano. On the other hand, Machine Objects are produced to be
|
|
|
798844 |
machine-redable as its name implies, and are produced from Portable
|
|
|
798844 |
Objects.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
Since @command{gettext} needs to extract translatable strings form
|
|
|
87b0e4 |
source files in order to let translators to localize them, the types
|
|
|
87b0e4 |
of source files we use inside the repository are limitted to the file
|
|
|
87b230 |
types supported by @command{gettext} program. Most of the source files
|
|
|
87b0e4 |
supported by @command{gettext} are those from programming languages
|
|
|
798844 |
like C, C++, Bash, Python and Perl just to mention a few ones from the
|
|
|
798844 |
long list of supported formats. However, formats like SVG, XHTML and
|
|
|
87b0e4 |
Docbook don't figure as supported in the long list of
|
|
|
87b230 |
@command{gettext} supported source files.
|
|
|
87b230 |
|
|
|
87b230 |
To translate XML based source files like SVG, XHTML and Docbook we use
|
|
|
87b230 |
the @command{xml2po} program. This program comes with
|
|
|
87b230 |
@file{gnome-doc-utils} package and reads one XML based file to extract
|
|
|
87b230 |
translatable strings from it. As result it creates one Portable Object
|
|
|
87b230 |
that is use by @command{xml2po} itself to create a translated XML
|
|
|
87b230 |
based file with the same definition of the source file where
|
|
|
87b230 |
translatable strings were taken from (e.g., if we extract translatable
|
|
|
87b230 |
strings from a SVG file, as result we get the same SVG file but with
|
|
|
87b230 |
translatable strings already localized ---obviously, for this to
|
|
|
87b230 |
happen translators need to localize translatable strings inside the
|
|
|
87b230 |
Portable Object first, localization won't appear as art of magic---).
|
|
|
87b230 |
When using @command{xml2po}, the Machine Object file is used just
|
|
|
87b230 |
temporally to produce the final translated XML based file.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
@quotation
|
|
|
87b0e4 |
@strong{Tip} If you want to have your content localized inside CentOS
|
|
|
87b0e4 |
Artwork Repository be sure to use source files supported by
|
|
|
87b0e4 |
@command{gettext} and @command{xml2po} programs.
|
|
|
87b0e4 |
@end quotation
|
|
|
87b0e4 |
|
|
|
8e4e50 |
@xref{Directories trunk Locales}, for more information.
|
|
|
87b0e4 |
|
|
|
2b93ca |
@subsubsection Automation
|
|
|
2b93ca |
|
|
|
87b230 |
This work line exists to standardize content production inside CentOS
|
|
|
87b230 |
Artwork Repository. There is no need to repeat several tasks time
|
|
|
87b230 |
after time if they can be programmed in just one. If you need to
|
|
|
87b230 |
improve the way content is produced, look inside automation scripts
|
|
|
87b230 |
and make your improvement there for every one to benefit.
|
|
|
798844 |
|
|
|
87b0e4 |
So far, we've seen a conceptual view of how image production inside
|
|
|
87b0e4 |
CentOS Artwork Repository is performed, but how all this is
|
|
|
87b0e4 |
implemented, what is the practical view?
|
|
|
87b0e4 |
|
|
|
87b0e4 |
The practical view can be found through @command{centos-art.sh}
|
|
|
87b0e4 |
script, a bash script specially designed to automate most frequent
|
|
|
87b0e4 |
tasks inside CentOS Artwork Repository. The @command{centos-art.sh}
|
|
|
87b0e4 |
script is stored in @file{trunk/Scripts} directory structure and is
|
|
|
87b0e4 |
there where the main development for @command{centos-art.sh} script
|
|
|
87b0e4 |
takes place. Basically, the @command{centos-art.sh} script is divided
|
|
|
87b0e4 |
in several functionalities that perform specific tasks inside the
|
|
|
87b0e4 |
repository. Such functionalities relay on repository organization to
|
|
|
87b0e4 |
work as expected.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
Maiking the @command{centos-art.sh} script to automate tasks is the
|
|
|
87b0e4 |
only possible work flow that I can think about right now. If you are a
|
|
|
87b0e4 |
programmer, take a functionality from @command{centos-art.sh} script,
|
|
|
87b0e4 |
study it, look how to improve it and share your ideas at
|
|
|
87b230 |
@email{centos-devel@@centos.org} mailing list or create your own new
|
|
|
87b230 |
functionalities and propose them as well.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
@quotation
|
|
|
87b0e4 |
@strong{Note} As default configuration, everyone is denied from
|
|
|
87b0e4 |
committing changes up to CentOS Artwork Repository. In order to gain
|
|
|
87b0e4 |
commit rights, you need to prove your interest in contributing and
|
|
|
87b0e4 |
maintaining that contribution. Otherwise, if you only want to comment
|
|
|
87b0e4 |
your ideas, the @email{centos-devel@@centos.org} mailing list exists
|
|
|
87b0e4 |
for you to manifest yourself. This restrictions are necessary to
|
|
|
87b0e4 |
protect our work from spammers.
|
|
|
87b0e4 |
@end quotation
|
|
|
87b0e4 |
|
|
|
c2929c |
@xref{Directories trunk Scripts}, for more information on automation.
|
|
|
8e4e50 |
|
|
|
87b230 |
@subsection Connection between directories
|
|
|
87b230 |
|
|
|
87b230 |
In order to produce content correctly inside CentOS Artwork
|
|
|
87b230 |
Repository, it is required that all work lines be connected somehow.
|
|
|
87b230 |
This way it could be possible to know what design models and
|
|
|
87b230 |
translation messages to use in order to produce a specific content.
|
|
|
87b230 |
This directory connection between work lines takes place through one
|
|
|
87b230 |
@emph{master path} that may have several @emph{auxiliar paths}.
|
|
|
87b230 |
|
|
|
87b230 |
Master paths are those whose contain source files used to produce base
|
|
|
87b230 |
content and auxiliar paths provide the files used to modify the
|
|
|
87b230 |
production of such base content. For example, when images are produced
|
|
|
87b230 |
from source files, the directory structure that holds source files is
|
|
|
87b230 |
considered the master path and all other directory structures are
|
|
|
87b230 |
considered auxiliar paths. There are auxiliar paths to store images,
|
|
|
87b230 |
translation messages and documentation.
|
|
|
87b230 |
|
|
|
87b230 |
Auxiliar paths take their structure from one unique parent path.
|
|
|
87b230 |
Inside CentOS Artwork Repository, this unique parent path is under
|
|
|
87b230 |
@file{trunk/Identity} directory structure. The @file{trunk/Identity}
|
|
|
87b230 |
location must be considered as a reference for whatever information
|
|
|
87b230 |
you plan to create inside the repository. For example, all the
|
|
|
87b230 |
possible paths related to brands component production, are:
|
|
|
87b230 |
|
|
|
87b230 |
@table @file
|
|
|
87b230 |
@item trunk/Identity/Models/Brands
|
|
|
87b230 |
|
|
|
87b230 |
This is the master path where source files used to produce brands are
|
|
|
87b230 |
stored in.
|
|
|
87b230 |
|
|
|
87b230 |
@item trunk/Locales/Identity/Models/Brands
|
|
|
87b230 |
|
|
|
87b230 |
This is the auxiliar path where translation messages used to produce
|
|
|
87b230 |
brands, if there is any at all, are stored in.
|
|
|
87b230 |
|
|
|
87b230 |
@item trunk/Manual/Directories/trunk/Locales/Identity/Models/Brands.texi
|
|
|
87b230 |
|
|
|
87b230 |
This is the auxiliar path where documentation about translation
|
|
|
87b230 |
messages, used to produce brands are stored in.
|
|
|
87b230 |
|
|
|
87b230 |
@item trunk/Identity/Images/Brands
|
|
|
87b230 |
|
|
|
87b230 |
This is the auxiliar path where output images produced as result of
|
|
|
87b230 |
rendition are stored in.
|
|
|
87b230 |
|
|
|
87b230 |
@item trunk/Manual/Directories/trunk/Identity/Models/Brands.texi
|
|
|
87b230 |
|
|
|
87b230 |
This is the auxiliar path where documentation about brand design is
|
|
|
87b230 |
stored in. This is, how brands are constructed, the color information,
|
|
|
87b230 |
the proportions, etc. Notice that it points to a regular file, not a
|
|
|
87b230 |
directory as other auxilar path use to do.
|
|
|
87b230 |
|
|
|
87b230 |
@item trunk/Manual/Directories/trunk/Identity/Images/Brands.texi
|
|
|
87b230 |
|
|
|
87b230 |
This is the auxiliar path where documentation about brand
|
|
|
87b230 |
implementation. This is, how the brand is applied and how it cannot be
|
|
|
87b230 |
applied in each different visual manifestation. Notice that it points
|
|
|
87b230 |
to a regular file, not a directory as other auxiliar path use to do.
|
|
|
87b230 |
@end table
|
|
|
87b230 |
|
|
|
87b230 |
The configuration described above for organizing brand component
|
|
|
87b230 |
inside the repository is the one used by direct rendition and can be
|
|
|
87b230 |
used as reference to organize other components inside the repository
|
|
|
87b230 |
that are produced through direct rendition too. Just change the
|
|
|
87b230 |
component name from brands to that one you want to add without
|
|
|
87b230 |
changing the path structure around it.
|
|
|
87b230 |
|
|
|
87b230 |
The file organization used by theme rendition, however, is a bit
|
|
|
87b230 |
different from that used by direct rendition. In theme rendition, both
|
|
|
87b230 |
master paths and auxiliar paths are built dynamically based on the
|
|
|
87b230 |
design model and the artistic motifs you specify at rendition time. As
|
|
|
87b230 |
a mnemotechnic resource, consider theme rendition as two independent
|
|
|
87b230 |
lists, one list of design models and one list of artistic motifs,
|
|
|
87b230 |
which are arbitrary combined among themselves in order to render
|
|
|
87b230 |
images. For example, consider the organization used to produce
|
|
|
87b230 |
Anaconda images to CentOS distribution major release 5 from Default
|
|
|
87b230 |
design model and Flame artistic motif:
|
|
|
87b230 |
|
|
|
87b230 |
@table @file
|
|
|
87b230 |
@item trunk/Identity/Themes/Models/Default/Distro/5/Anaconda
|
|
|
87b230 |
|
|
|
87b230 |
This directory contains source files used to produce Anaconda images
|
|
|
87b230 |
for CentOS distribution major release 5 using Default design models.
|
|
|
87b230 |
|
|
|
87b230 |
Here is where you, as graphic designers, define Default design models for
|
|
|
87b230 |
Anaconda images used in CentOS distribution major release 5.
|
|
|
87b230 |
|
|
|
87b230 |
The path to this directory is considered master because it contains
|
|
|
87b230 |
the most critical information (i.e., the information that can't be
|
|
|
87b230 |
absent) required to produce Anaconda images used inside CentOS
|
|
|
87b230 |
distribution major release 5.
|
|
|
87b230 |
|
|
|
87b230 |
@item trunk/Manual/Directories/trunk/Identity/Themes/Models/Default/Distro/5/Anaconda.texi
|
|
|
87b230 |
|
|
|
87b230 |
This file contains documentation, in Texinfo format, for Default
|
|
|
87b230 |
design models used to produce the Anaconda images used inside CentOS
|
|
|
87b230 |
distribution major release 5.
|
|
|
87b230 |
|
|
|
87b230 |
Here is where you, as documentor, describe construction of Default
|
|
|
87b230 |
desing models used to produce the Anaconda images for CentOS
|
|
|
87b230 |
distribution major release 5. In this description you can include
|
|
|
87b230 |
image dimensions, color information, image location inside
|
|
|
87b230 |
distribution filesystem, image packaging and similar things.
|
|
|
87b230 |
|
|
|
87b230 |
The path to this file is considered auxiliar for
|
|
|
87b230 |
@file{trunk/Identity/Themes/Models/Default/Distro/5/Anaconda} master
|
|
|
87b230 |
path because provides the description required to let everyone know
|
|
|
87b230 |
how to build Default design models used to produce Anaconda images
|
|
|
87b230 |
required by CentOS distribution major release 5.
|
|
|
87b230 |
|
|
|
87b230 |
@item trunk/Locales/Identity/Themes/Models/Default/Distro/5/Anaconda
|
|
|
87b230 |
|
|
|
87b230 |
This directory contains translation files, as @command{gettext}
|
|
|
87b230 |
portable objects, for Default design models used to produce the
|
|
|
87b230 |
Anaconda images used inside CentOS distribution major release 5.
|
|
|
87b230 |
|
|
|
87b230 |
Here is where you, as translator, localize translatable strings
|
|
|
87b230 |
retrived in English language from Default design models used to
|
|
|
87b230 |
produce the Anaconda images of CentOS distribution major release 5 to
|
|
|
87b230 |
your own language. If no portable object is found here, content is
|
|
|
87b230 |
produced in English language.
|
|
|
87b230 |
|
|
|
87b230 |
The path to this directory is considered auxiliar for
|
|
|
87b230 |
@file{trunk/Identity/Themes/Models/Default/Distro/5/Anaconda} master
|
|
|
87b230 |
path because provides the language-specific information required to
|
|
|
87b230 |
produce Anaconda Default design models in different languages.
|
|
|
87b230 |
|
|
|
87b230 |
@item trunk/Manual/Directories/trunk/Locales/Identity/Themes/Models/Default/Distro/5/Anaconda.texi
|
|
|
87b230 |
|
|
|
87b230 |
This file contains documentation, in Texinfo format, for translation
|
|
|
87b230 |
messages retrived from Default design models used to produce the
|
|
|
87b230 |
Anaconda images used inside CentOS distribution major release 5.
|
|
|
87b230 |
|
|
|
87b230 |
Here is where you, as documentor, describe localization of Default
|
|
|
87b230 |
desing models used to produce the Anaconda images used in CentOS
|
|
|
87b230 |
distribution major release 5. In this description you can include
|
|
|
87b230 |
image dimensions, color information, image location inside
|
|
|
87b230 |
distribution filesystem, image packaging and similar things.
|
|
|
87b230 |
|
|
|
87b230 |
The path to this file is considered auxiliar for
|
|
|
87b230 |
@file{trunk/Identity/Themes/Models/Default/Distro/5/Anaconda} master
|
|
|
87b230 |
path because provides the language-specific information required to
|
|
|
87b230 |
produce Anaconda Default design models in different languages.
|
|
|
87b230 |
|
|
|
87b230 |
Each master path has its own auxiliar path to store their specific
|
|
|
87b230 |
documentation and whatever the artistic motifs used to produce images
|
|
|
87b230 |
be is somthing irrelevant.
|
|
|
87b230 |
|
|
|
87b230 |
@item trunk/Identity/Themes/Motifs/Flame/3/Distro/5/Anaconda
|
|
|
87b230 |
|
|
|
87b230 |
This directory contains Anaconda final images produced from Anaconda
|
|
|
87b230 |
Default design models used by CentOS distribution major release 5 and
|
|
|
87b230 |
Flame 3 artistic motif.
|
|
|
87b230 |
|
|
|
87b230 |
Here is where you, as packager, can find the images you need to
|
|
|
87b230 |
rebrand Anaconda in CentOS distribution major release 5.
|
|
|
87b230 |
|
|
|
87b230 |
The path to this directory is considered auxiliar for
|
|
|
87b230 |
@file{trunk/Identity/Themes/Models/Default/Distro/5/Anaconda} master
|
|
|
87b230 |
path because it provides the final images produced from Anaconda
|
|
|
87b230 |
Default design models.
|
|
|
87b230 |
|
|
|
87b230 |
@item trunk/Manual/Directories/trunk/Identity/Themes/Motifs/Flame/3/Distro/5/Anaconda.texi
|
|
|
87b230 |
|
|
|
87b230 |
This directory should contain documentation about how to implement
|
|
|
87b230 |
Anaconda component in CentOS distribution major release 5 would be.
|
|
|
87b230 |
However, since all artistic motifs are produced based on one design
|
|
|
87b230 |
model (@file{trunk/Identity/Themes/Models/Default/Distro/5/Anaconda},
|
|
|
87b230 |
in this case) we may end up duplicating the same documentation in all
|
|
|
87b230 |
artistic motifs documentation entries and there is no need of that.
|
|
|
87b230 |
|
|
|
87b230 |
To avoid duplicating information, all documentation related to theme
|
|
|
87b230 |
components like Anaconda is put in design model documentation entires
|
|
|
87b230 |
(@file{trunk/Manual/Directories/trunk/Locales/Identity/Themes/Models/Default/Distro/5/Anaconda.texi}
|
|
|
87b230 |
in this case). The only reason to create documentation entries inside
|
|
|
87b230 |
artistic motifs is to put a redirection admonition to link design
|
|
|
87b230 |
model related information.
|
|
|
87b230 |
@end table
|
|
|
87b230 |
|
|
|
87b230 |
The Anaconda component is part of CentOS Distribution visual
|
|
|
87b230 |
manifestation. Inside CentOS Distribution visual manifestation there
|
|
|
87b230 |
are other components Syslinux, Grub, Rhgb, Gdm, Kdm, Gsplash and
|
|
|
87b230 |
Ksplash that share a similar file organization to that described for
|
|
|
87b230 |
Anaconda component. The way each of these components is produced is
|
|
|
87b230 |
described in their own documentation entry.
|
|
|
87b230 |
|
|
|
87b230 |
When one master path is changed, it is required to change the related
|
|
|
87b230 |
auxiliar path related to it, too. This is required in order for master
|
|
|
87b230 |
paths to retain their relation with their auxiliar paths. This way,
|
|
|
87b230 |
automation script are able to know where to retrive translation
|
|
|
87b230 |
messages, where to store final output images and where to look for
|
|
|
87b230 |
documentation. If relation between master paths and auxiliar paths is
|
|
|
87b230 |
lost, there is no way for automation scripts to know where to retrive
|
|
|
87b230 |
the information required by for task automation.
|
|
|
87b230 |
|
|
|
87b230 |
The auxiliar paths should never be modified under no reason but to
|
|
|
87b230 |
satisfy the relation to their master paths. Liberal change of
|
|
|
87b230 |
auxiliar paths may suppress the conceptual idea they were initially
|
|
|
87b230 |
created for; and certainly, things may stop working the way they
|
|
|
87b230 |
should.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
@subsection Syncronizing path information
|
|
|
87b0e4 |
|
|
|
87b230 |
The master and auxiliar paths concept is very useful to keep
|
|
|
87b230 |
repository organized but introduce some complications. For instance,
|
|
|
87b230 |
consider what would happen to functionalities like @code{help}, that
|
|
|
87b230 |
rely on master paths to create documentation entries, through auxiliar
|
|
|
87b230 |
paths, if one of those master paths suddenly change after the
|
|
|
87b230 |
documentation entry has been already created for it?
|
|
|
87b230 |
|
|
|
87b230 |
In such cases, functionalities like @code{help} may confuse themselves
|
|
|
87b230 |
if path information is not updated to reflect the appropriate path
|
|
|
87b230 |
relation. Such functionalities work with master paths as reference;
|
|
|
87b230 |
if a master path is changed, the functionalities won't even note it
|
|
|
87b230 |
because they work with the last master path available in the
|
|
|
87b230 |
repository, no matter what it is.
|
|
|
87b230 |
|
|
|
87b230 |
In the specific case of documentation (the @code{help} functionality),
|
|
|
87b230 |
the problem mentioned above provokes that older master paths, already
|
|
|
87b230 |
documented, remain inside documentation directory structures as long
|
|
|
87b230 |
as you get your hands into the documentation directory structure
|
|
|
87b230 |
(@file{trunk/Manual}) and change what must be changed to match the new
|
|
|
87b230 |
master path information.
|
|
|
87b230 |
|
|
|
87b230 |
There is no immediate way for @code{help} and similar functionalities
|
|
|
87b230 |
that use master paths as reference, to know when and how the path
|
|
|
87b230 |
information is changed inside the repository. Such information is
|
|
|
87b230 |
available only when files or directories are moved in the repository.
|
|
|
87b230 |
So, is there, at the moment of moving files, when we need to
|
|
|
87b230 |
syncronize paths information between master paths and auxiliar paths
|
|
|
87b230 |
and rename old paths to new paths inside all the files which includes
|
|
|
87b230 |
them (e.g., scalalble vector graphics, documentation files and
|
|
|
87b230 |
translation files files) and commit everything to keep the central
|
|
|
87b230 |
repository up to date.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
@quotation
|
|
|
87b230 |
@strong{Warning} Even Subversion can perform some operations using
|
|
|
87b230 |
URLs, there is not support for URLs inside @command{centos-art.sh}
|
|
|
87b230 |
script. The @command{centos-art.sh} script is designed to work with
|
|
|
87b230 |
local files inside the working copy only. If you need to work on URLs
|
|
|
87b230 |
directly, use Subversion command-line interface instead of
|
|
|
87b230 |
@command{centos-art.sh} script.
|
|
|
87b0e4 |
@end quotation
|
|
|
87b0e4 |
|
|
|
87b230 |
File movement inside the repository is considered a repository change
|
|
|
87b230 |
and it should be recorded as such. In order for this to happen, we
|
|
|
87b230 |
need to add directories and files into the version control system to
|
|
|
87b230 |
make them part of it, commit them, perform the file movement using
|
|
|
87b230 |
version control system commands and finally commit all files related
|
|
|
87b230 |
in the operation. This configuration makes possible for everyone to
|
|
|
87b230 |
know about changes details inside the repository; and if needed,
|
|
|
87b230 |
revert or update them back to a previous revision.
|
|
|
87b230 |
|
|
|
87b230 |
Once all path information has been updated in the filesystem, it is
|
|
|
87b230 |
time to update path information inside all the files involved in the
|
|
|
87b230 |
operation. Considere what would happen to documentation entries
|
|
|
87b230 |
defined in the documentation manual when the target locations they
|
|
|
87b230 |
point to are removed from filesystem. Certainly, that would make
|
|
|
87b230 |
Texinfo to produce an error message when documentation manual is
|
|
|
87b230 |
exported to output files. Something similar could happen to scalable
|
|
|
87b230 |
vector graphics that include artistic motifs background images and
|
|
|
87b230 |
translation messages with path information inside.
|
|
|
87b230 |
|
|
|
87b230 |
So, in order to keep path information syncronized, the
|
|
|
87b0e4 |
@file{centos-art.sh} script needs to know when such changes happen, in
|
|
|
87b230 |
a way they could be noted and handled without producing errors (e.g.,
|
|
|
87b230 |
replacing old path information to new path information inside all the
|
|
|
87b230 |
files that may include any kind of path information inside).
|
|
|
87b0e4 |
|
|
|
87b230 |
@subsection Extending repository structure
|
|
|
87b0e4 |
|
|
|
87b0e4 |
Occasionly, you may find that new corporate visual identity components
|
|
|
87b0e4 |
need to be added to the repository. If that is your case, the first
|
|
|
87b0e4 |
question you need to ask yourself, before start to create directories
|
|
|
87b0e4 |
blindly all over, is: What is the right place to store it?
|
|
|
87b0e4 |
|
|
|
87b230 |
The best place to find answers is in The CentOS Community (see page
|
|
|
87b230 |
@url{http://wiki.centos.org/GettingHelp}), but going there with hands
|
|
|
87b230 |
empty is not good idea. It may give the impression you don't really
|
|
|
87b230 |
care about. Instead, consider the following suggestions to find your
|
|
|
87b230 |
own comprehension in order to make your own propositions based on it.
|
|
|
87b230 |
|
|
|
87b230 |
The best advice we probably could offer you, when extending
|
|
|
87b230 |
respository structure, is to bear in mind The CentOS Project Corporate
|
|
|
87b230 |
Identity Structure (@pxref{Directories trunk Identity}). The rest is
|
|
|
87b230 |
just matter of choosing appropriate names.
|
|
|
87b230 |
|
|
|
87b230 |
To illustrate this desition process let's consider the
|
|
|
87b230 |
@file{trunk/Identity/Themes/Motifs/TreeFlower} directory structure as
|
|
|
87b230 |
example. It can be read as: the trunk development line of
|
|
|
87b230 |
@emph{TreeFlower} artistic motif; artistic motifs are part of themes;
|
|
|
87b230 |
and themes part of CentOS corporate visual identity.
|
|
|
87b0e4 |
|
|
|
87b0e4 |
When building parent directory structures, you may find that reaching
|
|
|
87b0e4 |
an acceptable location may take some time, and as it uses to happen
|
|
|
87b230 |
most of time; once you've find one, that may be not a definite
|
|
|
87b230 |
solution. There are many concepts you need to play with, in order to
|
|
|
87b230 |
find a result that match the conceptual idea you try to implement in
|
|
|
87b230 |
the new directory structure. To know which these concepts are, split
|
|
|
87b230 |
directory structures and read their documentation entry from less
|
|
|
87b230 |
specific to more specific. The concepts used in
|
|
|
87b230 |
@file{trunk/Identity/Themes/Distro/Motifs/TreeFlower} directory
|
|
|
87b230 |
structure are described in the following documentation entries,
|
|
|
87b230 |
respectively:
|
|
|
87b0e4 |
|
|
|
87b0e4 |
@verbatim
|
|
|
87b230 |
centos-art help --read turnk/
|
|
|
87b230 |
centos-art help --read turnk/Identity/
|
|
|
87b230 |
centos-art help --read turnk/Identity/Themes/
|
|
|
87b230 |
centos-art help --read turnk/Identity/Themes/Motifs/
|
|
|
87b230 |
centos-art help --read turnk/Identity/Themes/Motifs/TreeFlower/
|
|
|
87b0e4 |
@end verbatim
|
|
|
87b0e4 |
|
|
|
87b230 |
The @file{trunk/Identity/Themes/Motifs/TreeFlower} location has
|
|
|
87b230 |
evolved through several months of contant work and there is no certain
|
|
|
87b230 |
it won't change in the future, even it fixes quite well the concept we
|
|
|
87b230 |
are trying to implement. Other location concepts can be found in the
|
|
|
87b230 |
same way described above, just change the directory structure to the
|
|
|
87b230 |
one you are trying to know concepts for.
|