Skip to content

# ejabberd and XMPP tutorials

Learning ejabberd and XMPP through videos and hands-on tutorials.

## Text tutorials

In the ProcessOne's blog you will find tutorials about:

- How to setup MariaDB, MQTT, PubSub, STUN/TURN, WebSocket.

- Elixir: Part 1, Part 2, Embed in Phoenix, Embed in Elixir app.

- Useful configuration steps

- Configuration for Office IM

- Configuration for XMPP compliance test

- Using a local development trusted CA on MacOS

In the so-called ejabberd book there are also old archived ejabberd tutorials.

## Architecture

- Understanding ejabberd SaaS architecture

  > Excerpt from XMPP Academy #1 starting at 1m33s.

- What are ejabberd backends? What backends are available in ejabberd and how do they work?

  > Excerpt from XMPP Academy #2 starting at 2m05s.

- ejabberd backends architecture

  > Excerpt from XMPP Academy #2 starting at 14m00s.

- What are ejabberd session backends and how to use them to scale?

  > Excerpt from XMPP Academy #2 starting at 19m42s.

## XMPP on mobile devices (smartphones)

- Mobile XMPP support on ejabberd SaaS and Business Edition: Standby, push and detached modes

  > Excerpt from XMPP Academy #1 starting at 16m44s.

- How does Apple and Google Push support work on ejabberd SaaS and ejabberd Business Edition?

  > Excerpt from XMPP Academy #3 starting at 1m20s.

- What is the relationship between ejabberd Push support and XEP-0357: Push Notifications?

  > Excerpt from XMPP Academy #3 starting at 22m34s.

- What are message carbons and how do they work?

  > Excerpt from XMPP Academy #2 starting at 27m30s.

- Demo: learning message carbons with Psi XMPP console

  > Excerpt from XMPP Academy #2 starting at 29m51s.

## XMPP for the Web

- ejabberd roadmap: announcing OAuth2 support

  > Excerpt from XMPP Academy #1 starting at 27m43s.

- What is the impact of Websocket on Web chat performance?

  > Excerpt from XMPP Academy #3 starting at 25m02s.

## Multi-User Chat

- Why do avatars / carbons not work in MUC rooms? What is special about MUC rooms?

  > Excerpt from XMPP Academy #2 starting at 34m15s.

## Developer tools and techniques

- What are the typical tools for quick XMPP prototyping?

## ejabberd and XMPP server-side implementation

- How does ejabberd internally store messages which are not yet delivered?

- How are privacy lists managed in ejabberd?

- Why do we seem to find duplicate in Message Archive Management backend?

  > Excerpt from XMPP Academy #3 starting at 32m20s.