Getting Started with Nitrogen

Getting Started | API | Elements | Actions | Validators | Handlers | About

Getting Started

Table of Contents

1 Common Questions

2 Is there a Nitrogen Tutorial?

Yes! You can view the slides from Rusty's Nitrogen Tutorial at the Erlang User Conference 2010 here.

3 How do I create a new Nitrogen application?

First, check the Downloads page to see if a pre-built package exists for your OS/architecture. If it does, then just download the package, unzip, and you are ready to start coding. (You don't even need to have Erlang installed, the Nitrogen binaries come with it pre-packaged.)

If you don't see a package that will run on your computer, or you want to try running from the latest code in source control, then follow the steps below:

Pull the latest source code from GitHub and run:

make rel_inets

This creates a completely self-contained starter application under ./rel/nitrogen that runs on Inets, Erlang's built in HTTP server. "Self-contained" here means that the ./rel/nitrogen directory contains everything you need to develop and run nitrogen, including the Erlang VM. To create a .tar.gz version of this code, exactly like you would find on the Downloads page, run:

make package_inets

You can also run Nitrogen on Mochiweb or Yaws. Run one of the scripts provided in the ./deps/ directory to download the

4 How do I start/stop/manage Nitrogen?

./deps/get_mochiweb.sh

5 How do I change configuration settings?

./deps/get_webmachine.sh

6 Where is the code for my website?

./deps/get_yaws.sh

7 How do I compile my code?

There are three different ways to compile code in Nitrogen:

  • If you are in the Erlang console then run sync:go().

    This will look at all loaded modules, find their associated Emakefiles, and run make:all([load]). to recompile.

  • If Nitrogen is running in the background then run ./bin/dev compile

    This connects to the running Nitrogen application and issues a sync:go(). command.

  • If Nitrogen is stopped then run make compile

    This calls erl -make, causing your application to be compiled based on the provided Emakefile.

8 How do I create new pages, custom elements, or custom actions?

Nitrogen 2.0 includes a developer tool to help you get started with a bare-bones page, element, or action. This tool uses the files found in ./site/.prototypes as templates. If you wish, you can edit files in this directory to make them more suitable for your application.

  • To create a new page at http://localhost/user/login, run:
    ./bin/dev page user_login
    
  • To create a new element called #custom_element{}, run:
    ./bin/dev element custom_element
    
  • To create a new action called #custom_action{}, run:
    ./bin/dev action custom_action
    

The code is placed under ./site/src, ./site/src/elements, or ./site/src/actions for pages, elements, and actions, respectively.

9 How do I upgrade to a new version of Nitrogen?

To upgrade to new versions of Nitrogen 2.0:

  • Build or download the new Nitrogen environment for your architecture and preferred web server. Unzip to a new directory.
  • Copy your existing ./etc directory to the new build. This retains your configuration settings.
  • Copy your existing ./site directory to the new build, except for the files in ./site/static/nitrogen. You will want to use the new version of any files in ./site/static/nitrogen.

This will update the Erlang version, the dependencies files, and all of the Javascript used by Nitrogen.

You will also need to update your code if there are any API level changes.

Author: Rusty Klophaus (@rklophaus)

Date: 2011-02-01 08:02:39 EST

HTML generated by org-mode 7.01h in emacs 24