Developer Info: Difference between revisions

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
Line 82: Line 82:
In the [logging] section of the trac.ini file. Need to set the log type to ''file'' to get log info in a file. The default is ''none'' and that turns off logging.
In the [logging] section of the trac.ini file. Need to set the log type to ''file'' to get log info in a file. The default is ''none'' and that turns off logging.


=== Serving static pages ===
First, use trac-admin to deploy the htdocs. I copied the result to /var/www/trac. dropping the ''htdocs'' dir and just copying the ''common'' and ''site'' dirs into /var/www/trac. Then set up the two directories so that the aliases /chrome/{common,site} can be used to access the stuff they contain. Note that ''site'' is supposed to hold the site specific stuff like a logo.
I also copied the trac.wsgi file in deploy/cgi-bin to /var/www/cgi-bin.
In trac.ini, set the logo (in the section  [header_logo]0 using ''src = /chrome/site/opendap_scm_2.png'' and the htdocs location for the common pages (in the section [trac]) using ''htdocs_location = /chrome/common''
<source lang="xml">
# This configures the web server to serve Trac pages so the static             
# parts don't get processed by python. The paths /chrome/common and           
# /chrome/site are used in the trac.ini file.                                 
Alias /chrome/common /var/www/trac/common
<Directory /var/www/trac/common>
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>
<Location /chrome/common>
  SetHandler None
</Location>
Alias /chrome/site /var/www/trac/site
<Directory /var/www/trac/site>
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>
<Location /chrome/site>
  SetHandler None
</Location>
</source>
=== Agilo install ===
=== Agilo install ===

Revision as of 06:19, 17 January 2014

  • Nightly Builds: Software we build every night on several platforms. The link provides the most recent report for each build we do. Use show=current to get the most recent; show=<date> to get a particular date, show=<platform> to see a particular platform. The sort=yes option runs the results through Unix sort before building the table. The nightly build software is part of the nbuilds project and is available from our trac/svn repository.

Developer Guidelines and Information

The OPeNDAP FAQ has a pretty good section on developer's questions, especially regarding SVN.

General development information

These pages contain general information relevant to anyone working with our software:

Workshops:

  • The APAC/BOM Workshops: This workshop spanned several days and covered a number of topics, including information for SAs and Developers. Oct 2007.
  • ESIP Federation Server Workshop: This half-day workshop focused on server installation and configuration. Summer 2008
  • Server Functions: This one-day workshop is all about writing and debugging server-side functions. It also contains a wealth of information about Hyrax, the BES and debugging tricks for the server. Spring 2012.

Development process information (OPeNDAP Specific)

These pages contain information about how we'd like people working with us to use our various on-line tools.

Using revision control:
  • Using the SVN trunk, branches and tags to manage releases.
  • Making a Branch of Shrew for a Server Release. Releases should be made from the trunk and moved to a branch once they are 'ready' so that development can continue on the trunk and so that we can easily go back to the software that mad up a release, fix bugs, and (re)release those fixes. In general, it's better to fix things like build issues, etc., discovered in the released software on the trunk and merge those down to the release branch to maintain consistency, re-release, etc. This also means that virtually all new feature development should take place on special feature branches, not the trunk.
  • Making a Source Release. Once software is ready for distribution, use this checklist to make sure you do all of the steps needed to make a source release.
  • How to merge code
Making specific kinds of packages for release:
Software process issues:

About Subversion

Trac install

Todo:

  • turn on https
  • copy more set up info from the notebook
  • Install Agilo plugin
  • figure out what else to instal and do it (goto http://scm.opendap.org/trac/about to see what's installed)
  • copy over the old data base
  • edit the value of base_url in [trac] section of trac.ini

Updated with information about the update to Trac 1.0.1 and the Agilo plugin.

Authentication

Added code to the trac.conf httpd conf file in /etc/httpd/conf.d/trac.conf:

<Location "/trac/login">
  AuthType Basic
  AuthName "Trac"
  AuthUserFile /usr/local/scm/svn-httpd-passwd
  Require valid-user
</Location>

And the login button worked. Since the passwd file was copied over the old user names and passwords are all there.

Logging

In the [logging] section of the trac.ini file. Need to set the log type to file to get log info in a file. The default is none and that turns off logging.

Serving static pages

First, use trac-admin to deploy the htdocs. I copied the result to /var/www/trac. dropping the htdocs dir and just copying the common and site dirs into /var/www/trac. Then set up the two directories so that the aliases /chrome/{common,site} can be used to access the stuff they contain. Note that site is supposed to hold the site specific stuff like a logo.

I also copied the trac.wsgi file in deploy/cgi-bin to /var/www/cgi-bin.

In trac.ini, set the logo (in the section [header_logo]0 using src = /chrome/site/opendap_scm_2.png and the htdocs location for the common pages (in the section [trac]) using htdocs_location = /chrome/common

# This configures the web server to serve Trac pages so the static              
# parts don't get processed by python. The paths /chrome/common and             
# /chrome/site are used in the trac.ini file.                                   
Alias /chrome/common /var/www/trac/common

<Directory /var/www/trac/common>
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

<Location /chrome/common>
  SetHandler None
</Location>

Alias /chrome/site /var/www/trac/site

<Directory /var/www/trac/site>
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

<Location /chrome/site>
  SetHandler None
</Location>

Agilo install