Hi all! :)
I've been hacking erlyweb, twoorl and noe lately introducing a lots of
changes that I find interesting for my projects.
In erlyweb I've:
- added support for erlang packages (
http://www.erlang.org/doc/man/
packages.html) and changed
the compile procedure to use them;
- changed things so that the views would get access to the #arg
record (allowing erlyweb apps to be installed outside of /)
- refactored the normalized_appmoddata hack to yaws_arg (where I also
move get_app_root and get_url_prefix - as both depend only on the
remaining #arg fields)
- changed create_app() so that it would create the necessary boot
scripts and boilerplate compile functions that wrap the erlyweb ones
(a small abstraction is always nice) :)
I worked on getting twoorl and noe's boot code more similar so that
someone wanting to learn how to use erlyweb could migrate between
these projects more easily.
I also changed the twoorl start code so that it could be deployed as
an OTP application or a standalone Yaws server (I removed the
hardcoded configurations).
Ah, and of course, I have two branches of both twoorl and noe that use
my erlyweb+packages branch. :) (the twoorl one isn't ready for
publishing yet)
The best thing about supporting packages and non_root installations is
that this enables erlyweb webapps to run side by side on the same
server without any conflicts! :D
It's would be nice if these changes could get into erlyweb, but I'm
afraid that I haven't been very thoughtful about backwards
compatibility. :)
I also hacked together a replacement for YAPPS that should enable
newcomers to start using yaws more easily.
This is to much for a single post/mail/whatever so I'll just leave you
the links for my branches and let you take a look around.
My github account is:
http://github.com/davide/
The README files in the various branches should contain all steps (and
links to required erlyweb branches) needed to get things working.
Feel free to take a look and forked it all up! :)
Cheers,
Davide :)