Blame Manuals/en/Html/Repository/repository_11.html

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

3.8 trunk/Identity/Models/Tpl/Promo/Web

4c79b5
4c79b5
4c79b5
4c79b5

3.8.1 Goals

4c79b5
1a6d31

Organize scalable vector graphics (svg) to help describe the CentOS

1a6d31
web environment.
1a6d31

4c79b5
4c79b5
1a6d31

3.8.2 The CentOS web environment

4c79b5
1a6d31

Inside CentOS corporate identity, the CentOS web environment is

1a6d31
considered a promotion component. The CentOS web environment is formed
1a6d31
by a central web application --to cover base needs (e.g., per-major
1a6d31
release information like release notes, lifetime, downloads,
1a6d31
documentation, support, security advisories, bugs, etc.)-- and many
1a6d31
different free web applications --to cover specific needs (e.g.,
1a6d31
wiki, mailing lists, etc.)--. 
1a6d31

1a6d31

The CentOS web environment is addressed to solve the following issues:

1a6d31

bc3531
    1a6d31
  • One unique name and one unique visual style to all web
  • 1a6d31
    applications used inside the web environment.
    1a6d31
    1a6d31
  • One-step navigation to web applications inside the environment.
  • 1a6d31
    1a6d31
  • High degree of customization to change the visual style of all
  • 1a6d31
    web applications with few changes (e.g, updating just two or three
    1a6d31
    images plus common style sheet [CSS] definitions).
    bc3531
    bc3531
    1a6d31

    The CentOS project is attached to a monolithic corporate visual

    1a6d31
    identity (see section trunk/Identity), where all visual manifestations
    1a6d31
    have one unique name and one unique visual style. This way, the CentOS
    1a6d31
    web environment has one unique name (the CentOS brand) and one unique
    1a6d31
    visual style (the CentOS default theme) for all its visual
    1a6d31
    manifestations, the web applications in this case.
    1a6d31

    1a6d31

    Since a maintainance point of view, achiving the one unique visual

    1a6d31
    style inside CentOS web environment is not a simple task. The CentOS
    1a6d31
    web environment is built upon many different web applications which
    1a6d31
    have different visual styles and different internal ways to customize
    1a6d31
    their own visual styles. For example: MoinMoin, the web application
    1a6d31
    used to support the CentOS wiki (http://wiki.centos.org/) is
    1a6d31
    highly customizable but Mailman (in its 2.x.x serie), the web
    1a6d31
    application used to support the CentOS mailing list, doesn't
    1a6d31
    support(1) a customization system that separates
    1a6d31
    presentation from logic, similar to MoinMoin's one.
    1a6d31

    1a6d31

    This visual style diversity complicates our goal of one unique visual

    1a6d31
    style for all web applications. So, if we want one unique visual style
    1a6d31
    for all web applications used, it is innevitable to modify the web
    1a6d31
    applications in order to implement the CentOS one unique visual style
    1a6d31
    customization in them. Direct modification of upstream applications is
    1a6d31
    not convenient because upstream applications come with their one
    1a6d31
    visual style and administrators take the risk of loosing all
    1a6d31
    customization changes the next time the application be updated (since
    1a6d31
    not all upstream web applications, used in CentOS web environment,
    1a6d31
    separate presentation from logic).
    1a6d31

    1a6d31

    To solve the "one unique visual style" issue, installation and

    1a6d31
    actualization of web applications --used inside CentOS web
    1a6d31
    environment-- need to be independent from upstream web applications
    1a6d31
    development line; in a way that CentOS web environment administrators
    1a6d31
    can install and update web applications freely without risk of loosing
    1a6d31
    the one unique visual style customization changes. 
    1a6d31

    1a6d31

    At the surface of this issue we can see the need of one specific yum

    1a6d31
    repository to store CentOS web environment customized web applications.
    1a6d31

    4c79b5
    4c79b5
    1a6d31

    3.8.2.1 Design model (without ads)

    1a6d31
    1a6d31
    1a6d31

    The CentOS web customization design model

    1a6d31
    1a6d31

    Figure 3.1: The CentOS web customization design model.

    1a6d31
    1a6d31

    1a6d31
    1a6d31
    1a6d31

    3.8.2.2 Design model (with ads)

    1a6d31
    1a6d31
    1a6d31

    The CentOS web customization design model using promotion

    1a6d31
    1a6d31

    Figure 3.2: The CentOS web customization using promotion design model.

    1a6d31
    1a6d31

    1a6d31
    1a6d31
    1a6d31

    3.8.2.3 Controlling visual style

    1a6d31
    1a6d31

    Inside CentOS web environment, the visual style is controlled by the

    1a6d31
    following compenents:
    1a6d31

    1a6d31
    1a6d31
    Webenv header background
    1a6d31
    trunk/Identity/Themes/Motifs/$THEME/Promo/Web/Img/header-bg-top.png
    1a6d31
    1a6d31
    1a6d31
    Webapp header background
    1a6d31
    trunk/Identity/Themes/Motifs/$THEME/Promo/Web/Img/header-bg-app.png
    1a6d31
    1a6d31
    1a6d31
    Webapp footer background
    1a6d31
    trunk/Identity/Themes/Motifs/$THEME/Promo/Web/Img/footer-bg-app.png
    1a6d31
    1a6d31
    1a6d31
    CSS definitions
    1a6d31
    trunk/Identity/Themes/Motifs/$THEME/Promo/Web/CSS/stylesheet.css
    1a6d31
    1a6d31
    1a6d31
    1a6d31
    1a6d31
    1a6d31

    3.8.2.4 Producing visual style

    1a6d31
    1a6d31

    The visual style of CentOS web environment is defined in the following

    1a6d31
    files:
    1a6d31

    1a6d31
    trunk/Identity/Themes/Motifs/$THEME/Backgrounds/Xcf/1024x250.xcf
    1a6d31
    trunk/Identity/Themes/Motifs/$THEME/Backgrounds/Img/1024x250.png
    1a6d31
    trunk/Identity/Themes/Motifs/$THEME/Backgrounds/Img/1024x250-bg.png
    1a6d31
    trunk/Identity/Themes/Motifs/$THEME/Backgrounds/Tpl/1024x250.svg
    1a6d31
    1a6d31

    As graphic designer you use <tt>`1024x250.xcf'</tt> file to produce

    1a6d31
    <tt>`1024x250-bg.png'</tt> file. Later, inside <tt>`1024x250.svg'</tt> file,
    1a6d31
    you use the <tt>`1024x250-bg.png'</tt> file as background layer to draw
    1a6d31
    your vectorial design. When you consider you artwork ready, use the
    1a6d31
    centos-art.sh script, as described below, to produce the
    1a6d31
    visual style controller images of CentOS web environment.
    1a6d31

    1a6d31
    centos-art render --entry=trunk/Identity/Themes/Motifs/$THEME/Promo/Web
    1a6d31
    1a6d31

    The image files which control the visual style of CentOS web

    1a6d31
    environment are stored in the location:
    1a6d31

    1a6d31
    trunk/Identity/Themes/Motifs/$THEME/Promo/Web
    1a6d31
    1a6d31

    Once you have rendered required image files, changing the visual style

    1a6d31
    of CentOS web environment is a matter of replacing old image files
    1a6d31
    with new ones, inside webenv repository file system structure. The
    1a6d31
    visual style changes will take effect the next time customization line
    1a6d31
    of CentOS web applications be packaged, uploded, and installed from
    1a6d31
    [webenv] or [webenv-test] repositories.
    1a6d31

    1a6d31
    1a6d31
    1a6d31

    3.8.2.5 Development and release cycle

    1a6d31
    1a6d31

    The CentOS web environment development and relase cycle is described

    1a6d31
    below: 
    1a6d31

    1a6d31
    1a6d31
    Download
    1a6d31
    1a6d31

    The first action is download the source code of web applications we

    1a6d31
    want to use inside CentOS web environment.
    1a6d31

    1a6d31
    Important

    Important

    The source location from which web application are

    1a6d31
    downloaded is very important. Use SRPMs from CentOS [base]
    1a6d31
    and [updates] repositories as first choise, and third party
    1a6d31
    repositories (e.g. RPMForge, EPEL, etc.) as last resource.
    1a6d31

    1a6d31
    1a6d31
    1a6d31
    Prepare
    1a6d31
    1a6d31

    Once web application source code has been downloaded, our duty is

    1a6d31
    organize its files inside <samp>`webenv'</samp> version controlled repository.
    1a6d31

    1a6d31

    When preparing the structure keep in mind that different web

    1a6d31
    applications have different visual styles, and also different ways to
    1a6d31
    implement it. A convenient way to organize the file system structure
    1a6d31
    would be create one development line for each web application we use
    1a6d31
    inside CentOS web environment. For example, consider the following
    1a6d31
    file system structure:
    1a6d31

    1a6d31
    https://projects.centos.org/svn/webenv/trunk/
    1a6d31
    |-- WebApp1/
    1a6d31
    |   |-- Sources/
    1a6d31
    |   |   `-- webapp1-0.0.1/
    1a6d31
    |   |-- Rpms/
    1a6d31
    |   |   `-- webapp1-0.0.1.rpm
    1a6d31
    |   |-- Srpms/
    1a6d31
    |   |   `-- webapp1-0.0.1.srpm
    1a6d31
    |   `-- Specs/
    1a6d31
    |       `-- webapp1-0.0.1.spec
    1a6d31
    |-- WebApp2/
    1a6d31
    `-- WebAppN/
    1a6d31
    1a6d31
    1a6d31
    Customize
    1a6d31
    1a6d31

    Once web applications have been organized inside the version

    1a6d31
    controlled repository file system, use subversion to create the CentOS
    1a6d31
    customization development line of web applications source code.  For
    1a6d31
    example, using the above file system structure, you can create the
    1a6d31
    customization development line of <tt>`webapp1-0.0.1/'</tt> with the
    1a6d31
    following command:
    1a6d31

    1a6d31
    svn cp trunk/WebApp1/Sources/webapp1-0.0.1 trunk/WebApp1/Sources/webapp1-0.0.1-webenv
    1a6d31
    1a6d31

    The command above creates the following structure:

    1a6d31

    1a6d31
    https://projects.centos.org/svn/webenv/trunk/
    1a6d31
    |-- WebApp1/
    1a6d31
    |   |-- Sources/
    1a6d31
    |   |   |-- webapp1-0.0.1/
    1a6d31
    |   |   `-- webapp1-0.0.1-webenv/
    1a6d31
    |   |-- Rpms/
    1a6d31
    |   |   `-- webapp1-0.0.1.rpm
    1a6d31
    |   |-- Srpms/
    1a6d31
    |   |   `-- webapp1-0.0.1.srpm
    1a6d31
    |   `-- Specs/
    1a6d31
    |       `-- webapp1-0.0.1.spec
    1a6d31
    |-- WebApp2/
    1a6d31
    `-- WebAppN/
    1a6d31
    1a6d31

    In the above structure, the <tt>`webapp1-0.0.1-webenv/'</tt> directory is

    1a6d31
    the place where you customize the visual style of
    1a6d31
    <tt>`webapp1-0.0.1/'</tt> web application. 
    1a6d31

    1a6d31
    Info

    Tip

    Use Subversion's diff between CentOS

    1a6d31
    customization and upstream development lines to know what you are
    1a6d31
    changing exactly.
    1a6d31

    1a6d31
    1a6d31
    1a6d31
    Build packages
    1a6d31
    1a6d31

    When web application has been customized, build the web application

    1a6d31
    RPM and SRPM using the source location with <samp>`-webenv'</samp> prefix. 
    1a6d31

    1a6d31
    https://projects.centos.org/svn/webenv/trunk/
    1a6d31
    |-- WebApp1/
    1a6d31
    |   |-- Sources/
    1a6d31
    |   |   |-- webapp1-0.0.1/
    1a6d31
    |   |   `-- webapp1-0.0.1-webenv/
    1a6d31
    |   |-- Rpms/
    1a6d31
    |   |   |-- webapp1-0.0.1.rpm
    1a6d31
    |   |   `-- webapp1-0.0.1-webenv.rpm
    1a6d31
    |   |-- Srpms/
    1a6d31
    |   |   |-- webapp1-0.0.1.srpm
    1a6d31
    |   |   `-- webapp1-0.0.1-webenv.srpm
    1a6d31
    |   `-- Specs/
    1a6d31
    |       |-- webapp1-0.0.1.spec
    1a6d31
    |       `-- webapp1-0.0.1-webenv.spec
    1a6d31
    |-- WebApp2/
    1a6d31
    `-- WebAppN/
    1a6d31
    1a6d31
    1a6d31
    Release for testing
    1a6d31
    1a6d31

    When the customized web application has been packaged, make packages

    1a6d31
    available for testing and quality assurance. This can be achives using
    1a6d31
    a [webenv-test] yum repository. 
    1a6d31

    1a6d31
    info

    Note

    The [webenv-test] repository is not shipped inside

    1a6d31
    CentOS distribution default yum configuraiton. In order to use
    1a6d31
    [webenv-test] repository you need to configure it first.
    1a6d31

    1a6d31
    1a6d31

    If some problem is found to install/update/use the customized version

    1a6d31
    of web application, the problem is notified somewhere (a bugtracker
    1a6d31
    maybe) and the customization face is repated in order to fix the
    1a6d31
    problem. To release the new package add a number after <samp>`-webenv'</samp>
    1a6d31
    prefix. For example, if some problem is found in
    1a6d31
    <tt>`webapp1-0.0.1-webenv.rpm'</tt>, when it be fixed the new package will
    1a6d31
    be named <tt>`webapp1-0.0.1-webenv-1.rpm'</tt>. If a problem is found in
    1a6d31
    <tt>`webapp1-0.0.1-webenv-1.rpm'</tt>, when it be fixed the new package
    1a6d31
    will be named <tt>`webapp1-0.0.1-webenv-2.rpm'</tt>, and so on.
    1a6d31

    1a6d31

    The "customization -- release for testing" process is repeated

    1a6d31
    until CentOS quality assurance team considers the package is ready for
    1a6d31
    production.
    1a6d31

    1a6d31
    1a6d31
    Release for production
    1a6d31
    1a6d31

    When customized web application packages are considered ready for

    1a6d31
    production they are moved from [webenv-test] to [webenv] repository.
    1a6d31
    This action is commited by CentOS quality assurance team.
    1a6d31

    1a6d31
    info

    Note

    The [webenv] repository is not shipped inside CentOS

    1a6d31
    distribution default yum configuraiton. In order to use [webenv]
    1a6d31
    repository you need to configure it first.
    1a6d31

    1a6d31
    1a6d31
    1a6d31
    1a6d31
    1a6d31
    1a6d31

    3.8.2.6 The [webenv-test] repository

    1a6d31
    1a6d31
    /etc/yum.repos.d/CentOS-Webenv-test.repo
    1a6d31
    1a6d31
    [webenv-test]
    1a6d31
    name=CentOS-$releasever - Webenv-test
    1a6d31
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=webenv-test
    1a6d31
    #baseurl=http://mirror.centos.org/centos/$releasever/webenv-test/$basearch/
    1a6d31
    gpgcheck=1
    1a6d31
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
    1a6d31
    enabled=1
    1a6d31
    priority=10
    1a6d31
    1a6d31
    1a6d31
    1a6d31

    3.8.2.7 The [webenv] repository

    1a6d31
    1a6d31
    /etc/yum.repos.d/CentOS-Webenv.repo
    1a6d31
    1a6d31
    [webenv]
    1a6d31
    name=CentOS-$releasever - Webenv
    1a6d31
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=webenv
    1a6d31
    #baseurl=http://mirror.centos.org/centos/$releasever/webenv/$basearch/
    1a6d31
    gpgcheck=1
    1a6d31
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
    1a6d31
    enabled=1
    1a6d31
    priority=10
    1a6d31
    1a6d31
    1a6d31
    1a6d31

    3.8.2.8 Priority configuration

    1a6d31
    1a6d31

    Both [webenv] and [webenv-test] repositories update packages inside

    1a6d31
    CentOS [base] and CentOS [updates] repositories.
    1a6d31

    1a6d31
    1a6d31
    1a6d31

    3.8.2.9 Navigation

    1a6d31
    1a6d31

    Inside CentOS web environment, the one-step navegation between web

    1a6d31
    applications is addressed using the web environment navigation bar.
    1a6d31
    The web environment navigation bar contains links to main applications
    1a6d31
    and is always visible no matter where you are inside the web
    1a6d31
    environment.
    1a6d31

    1a6d31
    1a6d31

    The CentOS web navigation design model

    1a6d31
    1a6d31

    Figure 3.3: The CentOS web navigation design model.

    1a6d31
    1a6d31

    1a6d31
    1a6d31
    1a6d31
    4c79b5

    3.8.3 Usage

    4c79b5
    bc3531
      bc3531
    • ...
    • bc3531
      bc3531
      4c79b5
      1a6d31
      4c79b5

      3.8.4 See also

      4c79b5
      4c79b5
      bc3531
      3.7 trunk/Identity/Models/Img/Promo/Web  
      4c79b5
      4c79b5
      4c79b5
      4c79b5
      4c79b5
      1a6d31
      [ < ]
      1a6d31
      [ > ]
      4c79b5
         
      4c79b5
      [ << ]
      4c79b5
      [ Up ]
      1a6d31
      [ >> ]
      4c79b5
      4c79b5

      4c79b5
       <font size="-1">
      1a6d31
        This document was generated on October, 2 2010 using texi2html 1.76.
      4c79b5
       </font>
      4c79b5
       
      4c79b5
      4c79b5

      4c79b5
      </body>
      4c79b5
      </html>