GNOME Webhackers Process

GNOME Webhackers

Process

CVS and the site modules

The GNOME Web sites are stored in cvs.gnome.org in gnomeweb-wml, web-devel-2, and foundation-web modules, as too are lxr (cvs), bonsai (cvs), and bugzilla:

CVS module location of GNOME sites
Site Module
www.gnome.org gnomeweb-wml
foundation.gnome.org foundation-web
developer.gnome.org web-devel-2
guadec.gnome.org guadec-web
cvs.gnome.org bonsai and lxr
bugzilla.gnome.org bugzilla
mail.gnome.org none
irc.gnome.org none

Instructions for using GNOME CVS are located at developer.gnome.org tools. Check out one, or all, of the modules out.

Generating and installing the site

Run, at the top of each module, autogen.sh --with-http-prefix=HOST/PATH, where HOST is the base URL where you will access the test site. HOST may be like http://www.myisp.net/~/me/www.gnome.org. Leave HOST blank if you are using virtual hosts on a development server (see the table below).

For each site within each module, cd into it, and type make to build the test site. The web-devel-2 module is an exception, cd into its content directory and run make.

Setting up the Web server

I recommend setting up apache with vhosts, one for each Web site you wish to work on. Almost any Web server that will do, though PHP may require configuration. Consult your Web server documentation for specifics. What follows are the basic steps I took QA my changes to the code.

Virtual host to gnome host mapping
Site Virtual host
www.gnome.org http://wgo
foundation.gnome.org http://fgo
developer.gnome.org http://dgo
guadec.gnome.org http://ggo

I added additional host names to my /etc/hosts file:
127.0.0.1 autumn localhost wgo dgo fgo ggo lgo

Check that the htaccess files are enabled in the apache httpd.conf:
AccessFileName .htaccess

Check that virtual host naming is enabled in the apache httpd.conf:
NameVirtualHost *

To the apache httpd.conf, add a section like below to for each virtual host. Note that developer.gnome.org is an exception, its DocumentRoot is web-devel-2/html/:
<VirtualHost *>
DocumentRoot /home/chovey/Projects/gnome2/gnomeweb-wml/www.gnome.org/
ServerName wgo
</VirtualHost>

Restart Apache. With your browser, test that everything worked by visiting each site. Using the setup described above the location http://wgo/ should display the www.gnome.org homepage.

Making your changes

Make your changes to the site(s) using your editor. Issue the make command at the top of the site directory to regenerate the site to see your changes. The make program uses the Makefile.am file in each directory to call a script that merges header, footer and CSS content with the source page to generate the final page. The scripts and included content are located at the top of the module in the scripts and include directories.

If you add files to a site, be sure to update the Makefile.am file in the same directory with the file names. Makefile.am contains the list of files that the make program must compile and/or generate for the site. If you create a directory, you must also create a Makefile.am in that directory, and you must add that Makefile.am to the configure.in file located at the top of the module. You must rerun autogen.sh --with-http-prefix=HOST to make file and directory additions take affect, and you must run make to see them.

Moving a directory will break its history in CVS, so please contact a CVS administrator to make arrangements. Breaking URLs is a bad thing for search engines, bookmarks, and linking sites. If an asset must move, a redirect should be setup in the htaccess file located at the top of the module. Note that the htaccess file is copied by the make program to the generated site as .htaccess.

Some older PHP application require the true GNOME server to run so they cannot easily be developed.

Check out the suggested tools page for advice about tools to make and check your changes.

Submitting changes

If you created new files and directories, add them to cvs. Remove your deleted files from CVS. You should run cvs up at the top of the module to get the most recent changes from CVS. Be sure to check that none of your change show up as a conflict.

Run the prepare-ChangeLog.pl script (from developer.gnome.org scripts) at the top of the module. Update the ChangeLog file at the top of the module with your changes. The modules's maintainer can give you permission to commit after the patch is reviewed. If you do not have commit rights, the maintainer or another member of the Webhackers group can.

To create a patch, run
cvs diff > module_name-your_name-fix_description.patch at the top of the module. The patch should be sent to the gnome-web-list to notify someone to review your changes. If you can catch the attention of a maintainer in #webhackers on IRC, you can send the patch to them.

If the fix is for a filed bug in bugzilla, then the bug number will be a suitable description for the patch. Please update the bug in bugzilla by attaching the patch and use the keyword 'PATCH' so that it can be found.

Users · Developers · ViewCVS · FTP · Bugzilla · Software Map · Contact