Blame Identity/Manual/repository-html/repository_2.16.html

728c6d
728c6d
<html>
728c6d
728c6d
organization, and administration of CentOS Artwork Repository.
728c6d
728c6d
Copyright C 2009-2011 Alain Reguera Delgado
728c6d
728c6d
Permission is granted to copy, distribute and/or modify this document
728c6d
under the terms of the GNU Free Documentation License, Version 1.2 or
728c6d
any later version published by the Free Software Foundation; with no
728c6d
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
728c6d
copy of the license is included in the section entitled GNU Free
728c6d
Documentation License.  
728c6d
-->
728c6d
728c6d
728c6d
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
728c6d
            Karl Berry  <karl@freefriends.org>
728c6d
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
728c6d
            and many others.
728c6d
Maintained by: Many creative people <dev@texi2html.cvshome.org>
728c6d
Send bugs and suggestions to <users@texi2html.cvshome.org>
728c6d
728c6d
-->
728c6d
<head>
728c6d
<title>CentOS Artwork Repository: 2.16 The trunk/Identity/Models/Tpl/Promo/Web Directory</title>
728c6d
728c6d
<meta name="description" content="CentOS Artwork Repository: 2.16 The trunk/Identity/Models/Tpl/Promo/Web Directory">
728c6d
<meta name="keywords" content="CentOS Artwork Repository: 2.16 The trunk/Identity/Models/Tpl/Promo/Web Directory">
728c6d
<meta name="resource-type" content="document">
728c6d
<meta name="distribution" content="global">
728c6d
<meta name="Generator" content="texi2html 1.76">
728c6d
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
728c6d
<style type="text/css">
728c6d
728c6d
/* CSS
728c6d
 *
728c6d
 * repository.css -- This file provides visual style for repository
728c6d
 * documentation manual in HTML format, as output by Texi2html
728c6d
 * program.
728c6d
 *
728c6d
 * Copyright (C) 2009-2011 Alain Reguera Delgado
728c6d
 *
728c6d
 * This program is free software; you can redistribute it and/or
728c6d
 * modify it under the terms of the GNU General Public License as
728c6d
 * published by the Free Software Foundation; either version 2 of the
728c6d
 * License, or (at your option) any later version.
728c6d
 * 
728c6d
 * This program is distributed in the hope that it will be useful, but
728c6d
 * WITHOUT ANY WARRANTY; without even the implied warranty of
728c6d
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
728c6d
 * General Public License for more details.
728c6d
 *
728c6d
 * You should have received a copy of the GNU General Public License
728c6d
 * along with this program; if not, write to the Free Software
728c6d
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
728c6d
 * USA.
728c6d
 * ----------------------------------------------------------------------
728c6d
 * $Id$
728c6d
 * ----------------------------------------------------------------------
728c6d
 */
728c6d
728c6d
@import url("/home/centos/artwork/trunk/Identity/Webenv/Css/base.css");
728c6d
@import url("/home/centos/artwork/trunk/Identity/Webenv/Css/base-app.css");
728c6d
728c6d
a.summary-letter {text-decoration: none}
728c6d
pre.display {font-family: serif}
728c6d
pre.format {font-family: serif}
728c6d
pre.menu-comment {font-family: serif}
728c6d
pre.menu-preformatted {font-family: serif}
728c6d
pre.smalldisplay {font-family: serif; font-size: smaller}
728c6d
pre.smallexample {font-size: smaller}
728c6d
pre.smallformat {font-family: serif; font-size: smaller}
728c6d
pre.smalllisp {font-size: smaller}
728c6d
span.sansserif {font-family:sans-serif; font-weight:normal;}
728c6d
ul.toc {list-style: none}
728c6d
-->
728c6d
</style>
728c6d
728c6d
728c6d
</head>
728c6d
728c6d
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
728c6d
728c6d
728c6d
[ < ]
728c6d
[ > ]
728c6d
   
728c6d
[Contents]
728c6d
[Index]
728c6d
[ ? ]
728c6d
728c6d
728c6d
728c6d

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

728c6d
    728c6d
    2.16.1 Goals 
    728c6d
    2.16.2 The CentOS web environment 
    728c6d
      728c6d
      2.16.2.1 Design model (without ads) 
      728c6d
      2.16.2.2 Design model (with ads) 
      728c6d
      2.16.2.3 HTML definitions 
      728c6d
      2.16.2.4 Controlling visual style 
      728c6d
      2.16.2.5 Producing visual style 
      728c6d
      2.16.2.6 Navigation 
      728c6d
      2.16.2.7 Development and release cycle 
      728c6d
      2.16.2.8 The [webenv-test] repository 
      728c6d
      2.16.2.9 The [webenv] repository 
      728c6d
      2.16.2.10 Priority configuration 
      728c6d
      728c6d
      2.16.3 Usage 
      728c6d
      2.16.4 See also 
      728c6d
      728c6d
      728c6d
      728c6d
      728c6d

      2.16.1 Goals

      728c6d
      728c6d

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

      728c6d
      web environment.
      728c6d

      728c6d
      728c6d
      728c6d

      2.16.2 The CentOS web environment

      728c6d
        728c6d
        2.16.2.1 Design model (without ads) 
        728c6d
        2.16.2.2 Design model (with ads) 
        728c6d
        2.16.2.3 HTML definitions 
        728c6d
        2.16.2.4 Controlling visual style 
        728c6d
        2.16.2.5 Producing visual style 
        728c6d
        2.16.2.6 Navigation 
        728c6d
        2.16.2.7 Development and release cycle 
        728c6d
        2.16.2.8 The [webenv-test] repository 
        728c6d
        2.16.2.9 The [webenv] repository 
        728c6d
        2.16.2.10 Priority configuration 
        728c6d
        728c6d
        728c6d

        Inside CentOS corporate identity, the CentOS web environment is

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

        728c6d

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

        728c6d

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

          The CentOS project is attached to a monolithic corporate visual

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

          728c6d

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

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

          728c6d

          This visual style diversity complicates our goal of one unique visual

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

          728c6d

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

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

          728c6d

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

          728c6d
          repository to store CentOS web environment customized web applications.
          728c6d

          728c6d
          728c6d
          728c6d

          2.16.2.1 Design model (without ads)

          728c6d
          728c6d
          728c6d
          728c6d

          2.16.2.2 Design model (with ads)

          728c6d
          728c6d
          728c6d
          728c6d

          2.16.2.3 HTML definitions

          728c6d
          728c6d
          728c6d
          728c6d

          2.16.2.4 Controlling visual style

          728c6d
          728c6d

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

          728c6d
          following compenents:
          728c6d

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

          2.16.2.5 Producing visual style

          728c6d
          728c6d

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

          728c6d
          files:
          728c6d

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

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

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

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

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

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

          728c6d
          728c6d
          728c6d

          2.16.2.6 Navigation

          728c6d
          728c6d

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

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

          728c6d
          728c6d
          728c6d

          2.16.2.7 Development and release cycle

          728c6d
          728c6d

          The CentOS web environment development and relase cycle is described

          728c6d
          below: 
          728c6d

          728c6d
          728c6d
          Download
          728c6d
          728c6d

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

          728c6d
          want to use inside CentOS web environment.
          728c6d

          728c6d
          Important

          Important

          The source location from which web application are

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

          728c6d
          728c6d
          728c6d
          Prepare
          728c6d
          728c6d

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

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

          728c6d

          When preparing the structure keep in mind that different web

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

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

          Once web applications have been organized inside the version

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

          728c6d
          svn cp trunk/WebApp1/Sources/webapp1-0.0.1 trunk/WebApp1/Sources/webapp1-0.0.1-webenv
          728c6d
          728c6d

          The command above creates the following structure:

          728c6d

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

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

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

          728c6d
          Info

          Tip

          Use the diff command of Subversion between

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

          728c6d
          728c6d
          728c6d
          Build packages
          728c6d
          728c6d

          When web application has been customized, build the web application

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

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

          When the customized web application has been packaged, make packages

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

          728c6d
          info

          Note

          The [webenv-test] repository is not shipped inside

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

          728c6d
          728c6d

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

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

          728c6d

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

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

          728c6d
          728c6d
          Release for production
          728c6d
          728c6d

          When customized web application packages are considered ready for

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

          728c6d
          info

          Note

          The [webenv] repository is not shipped inside CentOS

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

          728c6d
          728c6d
          728c6d
          728c6d
          728c6d
          728c6d

          2.16.2.8 The [webenv-test] repository

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

          2.16.2.9 The [webenv] repository

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

          2.16.2.10 Priority configuration

          728c6d
          728c6d

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

          728c6d
          CentOS [base] and CentOS [updates] repositories.
          728c6d

          728c6d
          728c6d
          728c6d

          2.16.3 Usage

          728c6d
          728c6d
            728c6d
          • ...
          • 728c6d
            728c6d
            728c6d
            728c6d
            728c6d

            2.16.4 See also

            728c6d
            728c6d
            728c6d
            728c6d
            728c6d
            [Contents]
            728c6d
            [Index]
            728c6d
            [ ? ]
            728c6d
            728c6d

            728c6d
             <font size="-1">
            728c6d
              This document was generated on March, 30 2011 using texi2html 1.76.
            728c6d
             </font>
            728c6d
             
            728c6d
            728c6d

            728c6d
            </body>
            728c6d
            </html>