{t escape='no' 1=''}GNU%1 Herds Hackers' Guide{/t}

{t}Index{/t}

  1. {t}Introduction{/t}
  2. {t}Technologies{/t}
  3. {t}Architecture{/t}
  4. {t}Design{/t}
  5. {t}Coding Standards{/t}
  6. {t escape='no' 1=''}i18n%1 settings{/t}
  7. {t}Release procedure{/t}
  8. {t}The task list{/t}
  9. Wikis
  10. {t escape='no' 1='' 2='' }The %1CVS%2 server{/t}
  11. {t}The PostgreSQL data base{/t}
  12. {t}Mailing lists{/t}
  13. {t}How to install a development environment{/t}
  14. {t}Current work team{/t}

{t}Introduction{/t}

{t escape='no' 1='' 2='' 3='' 4='' 5='' 6='' }If you want to contribute to %1GNU%2 Herds, please %3subscribe%6 to our development mailing list or coordinate with one of the %4team members%6, and read the %5charter%6. Thanks and welcome!

{t escape='no' 1='' 2='' 3='' 4='' 5='' 6='' }To play with the web application, you'll need the %1source code%4 (or %2production%4 code) and a %3web server%4. Translators don't need to download the source code; just request the relevant %5POT%6 file.

{t escape='no' 1='' 2='' }If you need support beyond what's in this document, please %1send an email%2 to the development list.

{t}Technologies{/t}

The project depends on the following technologies. Any subject is open to discussion.

{t}Architecture{/t}

{t}As a free software project we try to keep the architecture modular and extensible, to make it easier to change the technology of a specific layer if necessary.{/t}

Layer 0
Site entry point (HTML, CSS, Smarty, JavaScript, Apache SSI and PHP ).
Layer 1
GUI page builder and themes (PHP)
Layer 2
GUI business logic: content section, others (checking & processing forms) (PHP, HTML)
Layer 4
Data base Manager class, PHP Tools class and Mailer class (PHP)
Layer 5
Data base Operation classes (PHP, SQL)
Layer 6
ADOdb Database Abstraction Library (PHP)
No stored procedures layer.
Layer 7.
PostgreSQL database server (PostgreSQL, SQL)
locale
Here are the files which translate the webapp (gettext)

{t}Design{/t}

Layers 0 through 5 – GUI, Forms, DBManager, PHPTools, and Mailer

{t}The Smarty templates could be moved outside this layer.{/t}

Layer 6 – ADOdb Database Abstraction Library (PHP)

{t escape='no' 1='' 2='' }ADOdb is an external library. It is not being used yet. We give up about using a data base abstraction library, and this proposal will use instead just %1PDO%2.

Layer 7 – PostgreSQL data base server (PostgreSQL, SQL)

{t}Documentation of the new Data Base design:{/t}

{t}Coding Standards{/t}

{t escape='no' 1=''}i18n%1 settings{/t}

-- External wiki page --

Release procedure

{t escape='no' 1='' 2='' }%1CVS%2 is used as repository. The HTTP server gets a tagged release via “update” from the %1CVS%2 server.{/t}

{t escape='no' 1='“cvs diff -c3p”' 2='“diff -up OLD NEW”' }The suggested formats to share source code among the developers are %1 or %2.{/t}

{t}The task list{/t}

{t escape='no' 1='' 2='' }See the %1Task Manager%2 at Savannah.{/t}

Wikis

{t escape='no' 1='' 2='' }See the %1Wiki howto%2 at Savannah.{/t}

{t escape='no' 1='' 2='' }The %1CVS%2 server{/t}

-- External wiki page --

{t}Mailing lists{/t}

{t}How to install a development environment{/t}

-- External wiki page --

{t}The PostgreSQL data base{/t}

-- External wiki page --

Current work team

Victor
Web developer.
Antenore
Localization architecture adviser, auditor, Italian translator, etc..
Bill
System administrator, architecture adviser, etc..
Charles
Auditor, quality assurance, etc..
Davi
Web developer, CVS, Spanish translator, etc..
David
Web developer, Italian translator.
Duarte
Portuguese translator.
Fatima
Functional auditor.
Gabriel
Database adviser.
Jonas
GNU Business Network.
Jose
Architecture adviser.
Klaus
Web developer, code auditor.
Lars
Romanian translator and maybe some coding.
Martin
Auditor and quality assurance; he evaluates the project as a whole. Public relations.
Neal
Initial proposal, project chapter, public relations, etc..
RMS
Ethics officer; he evaluates the project as a whole.

Footnotes

To keep the access to the user data physically secure, we have proposed to move the PostgreSQL and HTTP service of gnuherds.org to offices managed by FSF staff.

GNU Herds is not an official part of the GNU Project.