Directory structure for non-OTP projects

Chandrashekhar Mullaparthi <>
Thu Jul 28 15:16:06 CEST 2005

On 28 Jul 2005, at 12:08, Tim Bates wrote:
> I want to keep my system install of Erlang separate from my development
> environment, but maybe I'm approaching things the wrong way. Do people
> normally have a separate install of Erlang for each project, with only
> the modules they need?
Yes, that is usually how it is. Each erlang node we deploy has 
everything it needs to run under one top level directory.

> Do people normally go through some variant of the
>  release process described in the OTP Design Principles every time they
> change a line of code?
No - not really. This is what we do.

- If some modules are changed, we put them in the right paths and load 
the new modules into the node.

- If we need to add new applications or the version number of an 
application has changed (for e.g because of backward incompatible 
changes or because we added new modules) we go through the release 
process. But even in this case, we don't write .appup and .relup files. 
We just build a new boot file, copy the boot file and the  new stuff 
into appropriate places and either wait for the next node restart or we 
do a controlled restart. We maintain uptime by diverting traffic to 
standby nodes.

- If we have to upgrade the ERTS and/or some OTP libraries, we build a 
whole new release and install it in place of the old one and restart 
the node.

I know of quite a few people you do not use much of the OTP framework 
and instead have their own way of starting up nodes. But that is only 
really recommended once you have attained 'guru' status :-)

I hope this helps.


More information about the erlang-questions mailing list