How do we deploy Pulse? There are three main components:

1) The Pulse PEAR packages

2) The Pulse web application

3) The Pulse MySQL database

This guide assumes that the deployment root (referred to hereafter as [PULSE]) is something like:


and has a top-level directory structure of

[PULSE]/cron  - cron scripts

[PULSE]/lib - pear packages

[PULSE]/resources - database seed scripts

[PULSE]/webapp - the actual pulse web application


Getting Prerequisites

Pulse depends on the Apache OODT Balance PHP library. Currently, the trunk version is the go-to one, though once 0.4 is released, that one should be fully compatible with the current Pulse codebase.

mkdir tmp;cd tmp

svn export

cd pear

pear package

sudo pear install --force *.tgz

cd ../../

rm -rf ./tmp

Pulse depends on the EDRN Php Core classes. If these are not yet present, they can be easily installed via:

mkdir ./tmp;cd ./tmp;

svn export core

cd core

pear package

sudo pear install --force *.tgz

cd ../../

rm -rf ./tmp

Getting the code:

svn co[TAG]  [PULSE]

That should get you the top-level directory structure outlined above

Building the PEAR Packages

cd [PULSE]/lib/pear

pear package

sudo pear install --force *.tgz

Deploying the Web Application

The web application lives in 'webapp' and is ready to go, modulo configuration. Open up 'config.ini' and make sure the following fields are correct:

ldap_group_base_dn = 'dc=edrn,dc=jpl,dc=nasa,dc=gov'
edrn_public_portal_url = ''
edrn_pulse_url  = ''
edrn_rss_feed_url  = ''

Configure the database connection:

in [PULSE]/webapp/index.php, ensure the following three definitions are accurate:

define("PULSE_TABLE_PREFIX", 'pulse_');
define("PULSE_DSN", 'mysql:host=localhost;dbname=pulse');

Deploying the Database

There should be nothing to do here for a regular release. If the database schema has changed, a notation will be made in the release candidate announcement and the modifications can be made via phpmyadmin.