|
|
4c79b5 |
------------------------------------------------------------
|
|
|
4c79b5 |
* Rename trunk/Identity/Models/ to trunk/Identity/Manuals/
|
|
|
4c79b5 |
|
|
|
4c79b5 |
* Reduce attention on the idea of creating a big book holding all
|
|
|
4c79b5 |
about CentOS corporate visual identity. The trunk/Identity/Manuals/
|
|
|
4c79b5 |
structure starts replacing the trunk/Manuals/ structure. All ideas
|
|
|
4c79b5 |
inside trunk/Manuals need to be moved to trunk/Identity/Manuals
|
|
|
4c79b5 |
common visual style.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
* As both manuals and design models get growing, I've found that
|
|
|
4c79b5 |
using a set of scalable vector graphic as design templates/models
|
|
|
4c79b5 |
--to define how illustrations look like--, and a set of translation
|
|
|
4c79b5 |
files --to define the illustrations language-- to describe small
|
|
|
4c79b5 |
ideas is more flexible (since an innovative graphic design point of
|
|
|
4c79b5 |
view) than creating a big book describing all the same small ideas
|
|
|
4c79b5 |
by means of texts and illustrations using LaTeX format.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Using scalable vector graphics design templates/models and
|
|
|
4c79b5 |
translation files to produce multi-language illustrations is
|
|
|
4c79b5 |
straightforward.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Note: translation files are applied to design templates using
|
|
|
4c79b5 |
rendering scripts.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
* Inside trunk/Identity/Manuals/, the format used to create each
|
|
|
4c79b5 |
specific flayer is A4-Landscape (297x210mm).
|
|
|
4c79b5 |
|
|
|
4c79b5 |
------------------------------------------------------------
|
|
|
4c79b5 |
|
|
|
4c79b5 |
* Inside Themes structure similar design templates are repeated
|
|
|
4c79b5 |
constantly. In order to optimeze Themes' structure, split Themes'
|
|
|
4c79b5 |
structure in the following two structures:
|
|
|
4c79b5 |
|
|
|
4c79b5 |
1. trunk/Identity/Themes/Models: This structure contains design
|
|
|
4c79b5 |
templates (SVG) only.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Models structure is organized by Names (e.g., Default,
|
|
|
4c79b5 |
Alternative, etc.). Convenctional models define art work
|
|
|
4c79b5 |
sizes, formats and position of elements in the screen.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
For example, inside models structure is where you set that
|
|
|
4c79b5 |
Anaconda Header art work is 800x88 pixels, the anaconda splash
|
|
|
4c79b5 |
is about 510x300 pixels, the GDM non-graphical definitions
|
|
|
4c79b5 |
(i.e., .xml, and .desktop files.), and so on.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
2. trunk/Identity/Themes/Motifs: This structure contains artistic
|
|
|
4c79b5 |
motifs images (e.g.: .xcf, .png, .jpg, .xpm, .ppm, etc.) and
|
|
|
4c79b5 |
rendering scripts only[1].
|
|
|
4c79b5 |
|
|
|
4c79b5 |
[1]: Rendering script files are currently inside each
|
|
|
4c79b5 |
renderable art work structure. In the near future,
|
|
|
4c79b5 |
rendering script files will be replaced by a command line
|
|
|
4c79b5 |
utility.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
As previously set, Motifs strcutre is organized by Names (e.g.,
|
|
|
4c79b5 |
Modern, TreeFlower, etc.). Each name represents one artistic
|
|
|
4c79b5 |
motif. Convenctional artistic motifs define visual style for
|
|
|
4c79b5 |
CentOS distribution (Distro), promotion (Promo), and web sites
|
|
|
4c79b5 |
(Web). Conventional artisitc motifs structure, also, covers
|
|
|
4c79b5 |
specific artistic motif's design, copyright note, license
|
|
|
4c79b5 |
(CC-SA), author(s), color, and palettes[2].
|
|
|
4c79b5 |
|
|
|
4c79b5 |
[2]: Palette files are required to produce color-limited
|
|
|
4c79b5 |
images, automatically. Two examples of color-limited
|
|
|
4c79b5 |
images are anaconda prompt (indexed to 16 colors), and
|
|
|
4c79b5 |
GRUB splash (indexed to 14 colors).
|
|
|
4c79b5 |
|
|
|
4c79b5 |
A relevant directory inside each artistic motif structure is
|
|
|
4c79b5 |
that used for Backgrounds (Distro/Backgrounds/). The background
|
|
|
4c79b5 |
directory stores images for many different sizes and screen
|
|
|
4c79b5 |
resolutions. Images inside background directory are passed
|
|
|
4c79b5 |
through Models design templates to produce the theme's final
|
|
|
4c79b5 |
images.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
------------------------------------------------------------
|
|
|
4c79b5 |
* /branches/Identity/Themes/$THEME/$BRANCH_ID/
|
|
|
4c79b5 |
|
|
|
4c79b5 |
This structure is used to store alternative theme designs that share
|
|
|
4c79b5 |
one common design concept. The common design concept is defined at
|
|
|
4c79b5 |
/trunk/Identity/Themes/$THEME/.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
- `$THEME': is a case-sensitive name that match one name under
|
|
|
4c79b5 |
/trunk/Identity/Themes/ (e.g., Modern, TreeFlower, etc.).
|
|
|
4c79b5 |
|
|
|
4c79b5 |
- `$BRANCH_ID': represents a unique serial number used to identify
|
|
|
4c79b5 |
the branch (e.g., 1.0, 2.0, 3.0, etc.).
|
|
|
4c79b5 |
|
|
|
4c79b5 |
For example, if you have a different design proposition (e.g., 1.0,
|
|
|
4c79b5 |
2.0, and 3.0) based on TreeFlower's concept, then the directory
|
|
|
4c79b5 |
structure will look similar to the following:
|
|
|
4c79b5 |
|
|
|
4c79b5 |
/branches/Identity/Themes/TreeFlower/1.0/
|
|
|
4c79b5 |
/branches/Identity/Themes/TreeFlower/2.0/
|
|
|
4c79b5 |
/branches/Identity/Themes/TreeFlower/3.0/
|
|
|
4c79b5 |
|
|
|
4c79b5 |
You can repeat the previous naming process in cascade as long as
|
|
|
4c79b5 |
different graphic designs arise. For example, if you find that a
|
|
|
4c79b5 |
completly different design can be derived from 1.0 then you can
|
|
|
4c79b5 |
create one branch, named 1.1 to store the idea:
|
|
|
4c79b5 |
|
|
|
4c79b5 |
/branches/Identity/Themes/TreeFlower/1.1/
|
|
|
4c79b5 |
|
|
|
4c79b5 |
The /branches/Identity/Themes/$THEME/$BRANCH_ID/ directory structure
|
|
|
4c79b5 |
is the same structure used under trunk. So, all rendering and
|
|
|
4c79b5 |
automation scripts available inside trunk structure are available in
|
|
|
4c79b5 |
here too.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
The directory structure described in this section is for completly
|
|
|
4c79b5 |
different designs, compared with its trunk version. If you only want
|
|
|
4c79b5 |
to experiment new ideas around the same turnk design then do not use
|
|
|
4c79b5 |
this structure. Instead, go to the Motif's directory in the trunk's
|
|
|
4c79b5 |
structure and create a new motif file to work your idea. For
|
|
|
4c79b5 |
example:
|
|
|
4c79b5 |
|
|
|
4c79b5 |
/trunk/Identity/Themes/TreeFlower/Motif/motif.svg
|
|
|
4c79b5 |
/trunk/Identity/Themes/TreeFlower/Motif/motif-1.svg
|
|
|
4c79b5 |
/trunk/Identity/Themes/TreeFlower/Motif/motif-2.svg
|
|
|
4c79b5 |
/trunk/Identity/Themes/TreeFlower/Motif/motif-n.svg
|
|
|
4c79b5 |
|
|
|
4c79b5 |
In the above path, the motif.svg file is the theme's default design
|
|
|
4c79b5 |
used on distribution, websites, and promotion art works. The other
|
|
|
4c79b5 |
files (i.e., motif-1.svg, motif-2.svg, motif-n.svg) are alternative
|
|
|
4c79b5 |
ideas of the same design.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
------------------------------------------------------------
|
|
|
4c79b5 |
|
|
|
4c79b5 |
* Create/Design a command line utility to achive the same task of
|
|
|
4c79b5 |
invocation rendering script (render.sh) files.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
- When invoking the command line utility, users can provide a path,
|
|
|
4c79b5 |
absolute or relative, to an specific framework. After verifying
|
|
|
4c79b5 |
the provided framework as valid path, image rendering starts for
|
|
|
4c79b5 |
that specific framework.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
If no path is provided to the command line utility, print the
|
|
|
4c79b5 |
usage message and quit.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Brain Storm 1:
|
|
|
4c79b5 |
-------------
|
|
|
4c79b5 |
|
|
|
4c79b5 |
If such a command line is created name flexibility inside the
|
|
|
4c79b5 |
repository may be limited.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Presently, there is one render.sh script inside each renderable
|
|
|
4c79b5 |
art work component which points to an entry in the scripts
|
|
|
4c79b5 |
configuration structure. If renderable art work components change
|
|
|
4c79b5 |
their path, the rendering action is not affected because both
|
|
|
4c79b5 |
configuration scripts and translation structures remains immutable
|
|
|
4c79b5 |
out of renderable strucutres.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Thinking how to design an efficient command line interface that
|
|
|
4c79b5 |
help us automate most tasks inside CentOS Artwork Repository, I
|
|
|
4c79b5 |
propose to realy on a strong name convenction to bond renderable
|
|
|
4c79b5 |
structures, scripts, and translations files altogether.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Presently, invokation rendering scripts call one configuration
|
|
|
4c79b5 |
file. The configuration file defines which task(s) to do and what
|
|
|
4c79b5 |
function(s) to call for that art work, that one the rendering
|
|
|
4c79b5 |
script was invoked from. For brevity, a function initialization
|
|
|
4c79b5 |
script is called to make all functions available inside the
|
|
|
4c79b5 |
configuration script and functions loaded inside it.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
If the invokation script is removed, we have to find some way to
|
|
|
4c79b5 |
make that bond between renderable art work component and
|
|
|
4c79b5 |
configuration script. The first idea coming to my mind is using
|
|
|
4c79b5 |
some kind of name convenction on paths so we could relay on it.
|
|
|
4c79b5 |
For exmample, if you are inside the following directory, or
|
|
|
4c79b5 |
provide it to the command line utility:
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Themes/Motifs/Modern/Info
|
|
|
4c79b5 |
|
|
|
4c79b5 |
The command line utility should verify if that directory exists
|
|
|
4c79b5 |
firstly, and later if it has a configuration script associated. To
|
|
|
4c79b5 |
determine which configuration script is associated with this path
|
|
|
4c79b5 |
we need to build a common path that can be compared no matter
|
|
|
4c79b5 |
where the command line utility was invoked from. For example,
|
|
|
4c79b5 |
taken the above path as reference, we could build such a common
|
|
|
4c79b5 |
path using its absolute path:
|
|
|
4c79b5 |
|
|
|
4c79b5 |
/home/centos/artwork/trunk/Identity/Themes/Motifs/Modern/Info
|
|
|
4c79b5 |
|
|
|
4c79b5 |
And later, manipulate the string to build its assiciated
|
|
|
4c79b5 |
configuration script. The manipulation, relays on the following
|
|
|
4c79b5 |
name convenction:
|
|
|
4c79b5 |
|
|
|
4c79b5 |
- Insert the Scripts/Bash/Config/ string before Identity/
|
|
|
4c79b5 |
|
|
|
4c79b5 |
- Remove the theme' name (e.g., Modern/) from the string.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Note: Pay attention to trailing slashes. They are part of
|
|
|
4c79b5 |
string manipulation.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
This convenction produces the following path:
|
|
|
4c79b5 |
|
|
|
4c79b5 |
/home/centos/artwork/trunk/Scripts/Bash/Config/Identity/Themes/Motifs/Info
|
|
|
4c79b5 |
|
|
|
4c79b5 |
If the above configuration directory exists, and it has the
|
|
|
4c79b5 |
render.conf.sh script inside, then it can be assumed as a valid
|
|
|
4c79b5 |
configuration entry in the configuration structure. Otherwise
|
|
|
4c79b5 |
there is no configuartion file for the specified framework, and by
|
|
|
4c79b5 |
extension no actions related to it.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
Note: Actions are based one functions loaded in the
|
|
|
4c79b5 |
render.conf.sh script. If the script render.conf.sh is empty,
|
|
|
4c79b5 |
or malformed you will have a result of the same nature.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
This schema relays completly on names convenctions. So in order to
|
|
|
4c79b5 |
the command line utility to work, the repository should have a
|
|
|
4c79b5 |
strong name convenction and changes to it need to be carefuly
|
|
|
4c79b5 |
planned before commit them.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
- The command line utility should provide the following:
|
|
|
4c79b5 |
|
|
|
4c79b5 |
- List of valid frameworks: This feature lets users to know
|
|
|
4c79b5 |
available frameworks where the command line utility can be used
|
|
|
4c79b5 |
for image rendering inside CentOS Artwork Repository.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
- Usage message: This functionality lets the user to know how to
|
|
|
4c79b5 |
use the command line utility. It resumes available options and
|
|
|
4c79b5 |
features.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
- Online framework documentation: This feature lets users request
|
|
|
4c79b5 |
information about specific art works and available actions
|
|
|
4c79b5 |
inside CentOS Artwork Repository, anywhere, anytime.
|
|
|
4c79b5 |
|
|
|
4c79b5 |
- ...
|
|
|
4c79b5 |
|
|
|
4c79b5 |
* Remove invocation rendering script (render.sh) files.
|
|
|
4c79b5 |
|