GithubHelp home page GithubHelp logo

isabella232 / pearweb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pear/pearweb

0.0 0.0 0.0 19.38 MB

Shell 0.03% JavaScript 1.81% Perl 0.01% PHP 96.02% XSLT 0.43% CSS 1.37% Hack 0.01% Makefile 0.09% HTML 0.23%

pearweb's Introduction

DEVELOPER'S GUIDE FOR ``pearweb´´ CODE
========================================================================

Read this before starting to hack on the PEAR website.

1) Coding Standards
------------------------------------------------------------------------

    Code for the PEAR website strictly follows the PEAR Coding Standards 
    [1].

    If changes that do not follow these standards are committed to the 
    repository, they will be reverted.

    Usage of '@' to silence warnings and notices is discouraged.  Use it
    only if no clean solution exists.

2) Only commit working code
------------------------------------------------------------------------

    People constantly committing code that makes (parts of) the website 
    inaccessible will lose their SVN karma.

    Test your changes before committing them.  If you are unable to set 
    up a test environment, you must not commit anything!


3) Usage of header comment blocks
------------------------------------------------------------------------

    Every newly added text file has to carry a header comment block
    similar to the following:

    /*
       +----------------------------------------------------------------------+
       | PEAR Web site version 1.0                                            |
       +----------------------------------------------------------------------+
       | Copyright (c) 2005 The PEAR Group                                    |
       +----------------------------------------------------------------------+
       | This source file is subject to version 2.02 of the PHP license,      |
       | that is bundled with this package in the file LICENSE, and is        |
       | available at through the world-wide-web at                           |
       | http://www.php.net/license/2_02.txt.                                 |
       | If you did not receive a copy of the PHP license and are unable to   |
       | obtain it through the world-wide-web, please send a note to          |
       | [email protected] so we can mail you a copy immediately.               |
       +----------------------------------------------------------------------+
       | Author: Martin Jansen <[email protected]>                                   |
       +----------------------------------------------------------------------+
    */

4) Performance
------------------------------------------------------------------------

    The PEAR website can be considered a high traffic website, which is
    why a content cache is employed.  If new sections/pages are added, 
    one has to make sure that they get cached if it makes sense.  (Most
    of the time it makes sense.)

    Also one has to ensure that newly added code does not lead to 
    performance issues or bottlenecks.

5) Dependencies
------------------------------------------------------------------------

    If new dependencies are introduced, they must be written down in
    pearweb/package.xml.

    If possible, non-PEAR dependencies and dependencies on packages with
    only beta- or alpha-releases must be avoided.

6) Talk first, code later
------------------------------------------------------------------------

    If you want to implement new features, ask the PEAR webmaster team 
    [2] first.  Otherwise you may run into serious trouble.


7) Packaging & deployment
------------------------------------------------------------------------
See the instructions in https://wiki.php.net/systems/euk1 for production deployment

Ensure that you have deployed and tested the changes on test.pear.php.net
  $ pear upgrade -f package.xml
or a specific area:
  $ pear upgrade -f package-pepr.xml

Once you have tested your changes, you can proceed.

Third, make the appropriate pearweb release and push it to pear.php.net. Be sure to update the relevant package_*.php file and generate the new package.xml

  $ vim package_pepr.php
  $ php package_pepr.php make
  $ git commit -m "Release preparation" package-pepr.xml package_pepr.php
  $ pear package package-pepr.xml
  $ git tag -a pearweb_pepr-1.2.3 -m 'PEARWeb_PEPR-1.2.3'

Join the #pear IRC channel on efnet, and discuss the changes you are about to make.

Next:
  $ ssh pear.php.net
  $ sudo pear upgrade pearweb
  
or
  $ sudo pear upgrade pearweb_pepr

Apply any mysql, crontab changes manually.

Verify that http://pear.php.net/ is still functioning and update this changelog.


References
------------------------------------------------------------------------

[1] http://pear.php.net/manual/en/standards.php
[2] mailto:[email protected]

pearweb's People

Contributors

ashnazg avatar chregu avatar clockwerx avatar convissor avatar cweiske avatar garrettw avatar golgote avatar helgi avatar izimobil avatar jimwins avatar jmcastagnetto avatar jparise avatar kenguest avatar mj avatar pierrejoye avatar rlerdorf avatar roojs avatar saltybeagle avatar slusarz avatar stigsb avatar stof avatar till avatar tobys avatar tvvcox avatar wez avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.