Geoff Cant Whitelabel Erlang covers the trials, tribulations and technologies used in building a whitelabel ejabberd hosting service.
The talk explains the rationale behind the choices of web server, templating system, email module, page optimizers and other web framework components. The talk also covers the documented and undocumented DNS query and caching modules in OTP and introduces 'dns' - a convenient new API for using them. Finally, the talk describes some tips and tricks useful for whitelabel hosting solutions that require customer DNS updates.
2. Who is this guy?
Geoff Cant
<nem@erlang.geek.nz>
Current (xmpp|mailto):
gcant@process-one.net
Previously
geoff@catalyst.net.nz
archaelus on http://
github, irc:freenode/
#erlang
3.
4.
5. What have I been up to?
ejabberd
debugging
virtual hosting
debugging large clusters
porting patches
debugging patches
6. What have I been up to?
Whitelabel ejabberd hosting
7. A rant in four parts
Web Frameworks (why Mochiweb)
Other libraries (ejango, esmtp,
erlydtl)
DNS (OTP Undocumented)
Tricks and Lessons
12. URL Routing
Must work with RESTful URLs
Must be reversible - able to generate
URLs too
ejango.url_routes
13.
14. Form Validation
Generate forms and validate form
posts
Couldn’t find anything available
already
Declarative DSL for form specification
ejango.form, ejango.form_validator
25. YSlow Optimisations
Initially got a D on my YSlow report
Decided to gzip and minify content,
move js blocks around
ejango.static:compress_docroot/1,
ejango.static:serve_compressed/3