What differs Amun
Figure 1. Amun comparison
Amun comes with an flexible login system wich allows your user to login from different providers without having the Nascar-Effect. If you want login with your twitter account you can simply enter email@example.com in the login field. There are many login handler available i.e. twitter, facebook, google, github, etc. Amun uses oEmbed discovery for some content that means if you post a link wich points to an media item of an known oEmbed provider it automatically creates a preview to your post.
Figure 2. Service architecture
Amun has a powerful service system wich can turn it into any software you like. Services follow the unix philosophy "Write programs that do one thing and do it well. Write programs to work together". The services interacting through an event system with each other. A service can provide an event publisher or can subscribe to existing publisher to receive event notifications. As seen in the figure an service can provide content for the main page, gadgets or API endpoints. Each service has an config.xml wich contains meta data and setup instructions about the service.
Page / Gadget System
In Amun you can build your website structure with pages. Each page can have multiple child pages. Each page must contain one service wich is called if the page is requested. The service is responsible for displaying the content i.e. a news service displays a list of news entries. Besides a service you can load gadgets with your page. A gadget displays informations like latest news entries etc. Depending on the template the gadget is displayed at a specific location i.e. the right sidebar.
Amun offers a general API system wich can be easily extended by a service. It is protected through OAuth. It supports multiple data formats like JSON, XML and Atom. Each Api endpoint can be discovered through the XRDS endpoint (/api/xrds).