Blame Manual/repository-html/repository_16.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>
b9dbd3
<title>CentOS Artwork Repository: 2.14 The trunk/Identity/Models/Tpl/Promo/Web Directory</title>
ee1f37
b9dbd3
<meta name="description" content="CentOS Artwork Repository: 2.14 The trunk/Identity/Models/Tpl/Promo/Web Directory">
b9dbd3
<meta name="keywords" content="CentOS Artwork Repository: 2.14 The trunk/Identity/Models/Tpl/Promo/Web 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
b9dbd3
[ < ]
b9dbd3
[ > ]
ee1f37
   
b9dbd3
[ << ]
b9dbd3
[ Up ]
b9dbd3
[ >> ]
ee1f37
   
ee1f37
   
ee1f37
   
ee1f37
   
56a476
[Top]
56a476
[Contents]
b130a0
[Index]
56a476
[ ? ]
ee1f37
b9dbd3
b9dbd3
b9dbd3

2.14 The <tt>`trunk/Identity/Models/Tpl/Promo/Web'</tt> Directory

b9dbd3
ee1f37
b9dbd3
b9dbd3

2.14.1 Goals

b9dbd3
b9dbd3

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

b9dbd3
web environment.
b9dbd3

ee1f37
b9dbd3
b9dbd3

2.14.2 The CentOS web environment

ee1f37
b9dbd3

Inside CentOS corporate identity, the CentOS web environment is

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

b9dbd3

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

b9dbd3

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

    The CentOS project is attached to a monolithic corporate visual

    b9dbd3
    identity (see section The <tt>`trunk/Identity'</tt> Directory), where all visual manifestations
    b9dbd3
    have one unique name and one unique visual style. This way, the CentOS
    b9dbd3
    web environment has one unique name (the CentOS brand) and one unique
    b9dbd3
    visual style (the CentOS default theme) for all its visual
    b9dbd3
    manifestations, the web applications in this case.
    b9dbd3

    b9dbd3

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

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

    b9dbd3

    This visual style diversity complicates our goal of one unique visual

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

    b9dbd3

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

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

    b9dbd3

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

    b9dbd3
    repository to store CentOS web environment customized web applications.
    b9dbd3

    ee1f37
    b9dbd3
    b9dbd3

    2.14.2.1 Design model (without ads)

    ee1f37
    b130a0
    b9dbd3
    b9dbd3

    2.14.2.2 Design model (with ads)

    b9dbd3
    b9dbd3
    b9dbd3
    b9dbd3

    2.14.2.3 HTML definitions

    b9dbd3
    b9dbd3
    b9dbd3
    b9dbd3

    2.14.2.4 Controlling visual style

    b9dbd3
    b9dbd3

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

    b9dbd3
    following compenents:
    b9dbd3

    b9dbd3
    b9dbd3
    Webenv header background
    b9dbd3
    trunk/Identity/Themes/Motifs/$THEME/Backgrounds/Img/1024x250.png
    b9dbd3
    b9dbd3
    b9dbd3
    CSS definitions
    b9dbd3
    trunk/Identity/Themes/Models/Default/Promo/Web/CSS/stylesheet.css
    b9dbd3
    b9dbd3
    b9dbd3
    b9dbd3
    b9dbd3
    b9dbd3

    2.14.2.5 Producing visual style

    b9dbd3
    b9dbd3

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

    b9dbd3
    files:
    b9dbd3

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

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

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

    b9dbd3
    centos-art render --entry=trunk/Identity/Themes/Motifs/$THEME/Backgrounds --filter='1024x250'
    b9dbd3
    b9dbd3

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

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

    b9dbd3
    b9dbd3
    b9dbd3

    2.14.2.6 Navigation

    b9dbd3
    b9dbd3

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

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

    b9dbd3
    b9dbd3
    b9dbd3

    2.14.2.7 Development and release cycle

    982d5c
    b9dbd3

    The CentOS web environment development and relase cycle is described

    b9dbd3
    below: 
    b9dbd3

    b9dbd3
    b9dbd3
    Download
    b9dbd3
    b9dbd3

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

    b9dbd3
    want to use inside CentOS web environment.
    b9dbd3

    b9dbd3
    Important

    Important

    The source location from which web application are

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

    b9dbd3
    b9dbd3
    b9dbd3
    Prepare
    b9dbd3
    b9dbd3

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

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

    b9dbd3

    When preparing the structure keep in mind that different web

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

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

    Once web applications have been organized inside the version

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

    b9dbd3
    svn cp trunk/WebApp1/Sources/webapp1-0.0.1 trunk/WebApp1/Sources/webapp1-0.0.1-webenv
    b9dbd3
    b9dbd3

    The command above creates the following structure:

    b9dbd3

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

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

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

    b9dbd3
    Info

    Tip

    Use the diff command of Subversion between

    b9dbd3
    CentOS customization and upstream development lines to know what you
    b9dbd3
    are changing exactly.
    b9dbd3

    b9dbd3
    b9dbd3
    b9dbd3
    Build packages
    b9dbd3
    b9dbd3

    When web application has been customized, build the web application

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

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

    When the customized web application has been packaged, make packages

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

    b9dbd3
    info

    Note

    The [webenv-test] repository is not shipped inside

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

    b9dbd3
    b9dbd3

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

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

    b9dbd3

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

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

    b9dbd3
    b9dbd3
    Release for production
    b9dbd3
    b9dbd3

    When customized web application packages are considered ready for

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

    b9dbd3
    info

    Note

    The [webenv] repository is not shipped inside CentOS

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

    b9dbd3
    b9dbd3
    b9dbd3
    b9dbd3
    b9dbd3
    b9dbd3

    2.14.2.8 The [webenv-test] repository

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

    2.14.2.9 The [webenv] repository

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

    2.14.2.10 Priority configuration

    b9dbd3
    b9dbd3

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

    b9dbd3
    CentOS [base] and CentOS [updates] repositories.
    b9dbd3

    b9dbd3
    b9dbd3
    b9dbd3

    2.14.3 Usage

    ee1f37
    b130a0
      b130a0
    • ...
    • b130a0
      b130a0
      ee1f37
      b9dbd3
      b9dbd3

      2.14.4 See also

      ee1f37
      b9dbd3
      b9dbd3
      2.12 The <tt>`trunk/Identity/Models/Img/Promo/Web'</tt> Directory  
      b9dbd3
      b9dbd3
      ee1f37
      ee1f37
      ee1f37
      b9dbd3
      [ < ]
      b9dbd3
      [ > ]
      ee1f37
         
      b9dbd3
      [ << ]
      b9dbd3
      [ Up ]
      b9dbd3
      [ >> ]
      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>