Nag Documentation

Installing Nag 2.3

Last update:2008-09-05
Revision: 1.19.10.9
Contact: nag@lists.horde.org

This document contains instructions for installing the Nag web-based todo list application on your system.

For information on the capabilities and features of Nag, see the file README in the top-level directory of the Nag distribution.

1   Obtaining Nag

Nag can be obtained from the Horde website and FTP server, at

http://www.horde.org/nag/

ftp://ftp.horde.org/pub/nag/

Bleeding-edge development versions of Nag are available via CVS; see the file docs/HACKING in the Horde distribution for information on accessing the Horde CVS repository.

2   Prerequisites

To function properly, Nag requires the following:

  1. A working Horde installation.

    Nag runs within the Horde Application Framework, a set of common tools for Web applications written in PHP. You must install Horde before installing Nag.

    The Horde Framework can be obtained from the Horde website and FTP server, at

    http://www.horde.org/horde/

    ftp://ftp.horde.org/pub/horde/

    Many of Nag's prerequisites are also Horde prerequisites. Be sure to have completed all of the steps in the INSTALL file for the Horde Framework before installing Nag.

  2. SQL support in PHP or a configured Kolab Server.

    Nag will store its data in either an SQL database or on a Kolab Server. If you use SQL, build PHP with whichever SQL driver you require; see the Horde INSTALL file for details.

3   Installing Nag

Nag is written in PHP, and must be installed in a web-accessible directory. The precise location of this directory will differ from system to system. Conventionally, Nag is installed directly underneath Horde in the webserver's document tree.

Since Nag is written in PHP, there is no compilation necessary; simply expand the distribution where you want it to reside and rename the root directory of the distribution to whatever you wish to appear in the URL. For example, with the Apache webserver's default document root of /usr/local/apache/htdocs, you would type:

cd /usr/local/apache/htdocs/horde
tar zxvf /path/to/nag-x.y.z.tar.gz
mv nag-x.y.z nag

and would then find Nag at the URL:

http://your-server/horde/nag/

4   Configuring Nag

  1. Configuring Horde for Nag

    1. Register the application

      In horde/config/registry.php, find the applications['nag'] stanza. The default settings here should be okay, but you can change them if desired. If you have changed the location of Nag relative to Horde, either in the URL, in the filesystem or both, you must update the fileroot and webroot settings to their correct values.

    2. Configuring a DataTree backend

      Nag requires a permanent DataTree backend in Horde to manage tasklists and to add tasks to tasklists. If you didn't setup a DataTree backend yet, go to the configuration interface, select Horde from the list of applications and select a driver different than None on the DataTree System tab. Make sure that you ran the necessary scripts to create a storage backend for the DataTree system, e.g. one of the create.*.sql or horde_datatree.*.sql SQL scripts in horde/scripts/sql/. You should have done this already during the installation of Horde.

  2. Creating the database table

    The specific steps to create the Nag database table depend on which database you've chosen to use. If you've chosen to use the Kolab driver, skip this step.

    First, look in scripts/sql/ to see if a script already exists for your database type. If so, you should be able to simply execute that script as superuser in your database. (Note that executing the script as the "horde" user will probably fail when granting privileges.)

    If such a script does not exist, you'll need to build your own, using the file nag.sql as a starting point. If you need assistance in creating databases, you may wish to let us know on the Nag mailing list.

  3. Configuring Nag

    To configure Nag, change to the config/ directory of the installed distribution, and make copies of all of the configuration dist files without the dist suffix:

    cd config/
    for foo in *.dist; do cp $foo `basename $foo .dist`; done
    

    Documentation on the format of those files can be found in each file. With the exception of the conf.* files (see below), the other files in config/ need only be modified if you wish to customize Nag's appearance or behavior, as the defaults will be correct for most sites.

    You must login to Horde as a Horde Administrator to finish the configuration of Nag. Use the Horde Administration menu item to get to the administration page, and then click on the Configuration icon to get the configuration page. Select Tasks from the selection list of applications. Fill in or change any configuration values as needed. When done click on Generate Tasks Configuration to generate the conf.php file. If your web server doesn't have write permissions to the Nag configuration directory or file, it will not be able to write the file. In this case, go back to Configuration and choose one of the other methods to create the configuration file nag/config/conf.php.

    Note for international users: Nag uses GNU gettext to provide local translations of text displayed by applications; the translations are found in the po/ directory. If a translation is not yet available for your locale (and you wish to create one), see the horde/po/README file, or if you're having trouble using a provided translation, please see the horde/docs/TRANSLATIONS file for instructions.

  4. Testing Nag

    Use Nag to create, modify, and delete todos. Test at least the following:

    • Creating a new todo item
    • Modifying a todo item
    • Completing a todo item
    • Deleting a todo item

5   Obtaining Support

If you encounter problems with Nag, help is available!

The Horde Frequently Asked Questions List (FAQ), available on the Web at

http://www.horde.org/faq/

The Horde Project runs a number of mailing lists, for individual applications and for issues relating to the project as a whole. Information, archives, and subscription information can be found at

http://www.horde.org/mail/

Lastly, Horde developers, contributors and users may also be found on IRC, on the channel #horde on the Freenode Network (irc.freenode.net).

Please keep in mind that Nag is free software written by volunteers. For information on reasonable support expectations, please read

http://www.horde.org/support.php

Thanks for using Nag!

The Horde team