MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9

Integrating account management to applications

MeeGo 1.2 Harmattan uses a centralized user accounts framework. The main menu of the device contains an accounts management application that can be used to integrate user accounts in online services such as Facebook, Flickr and Mail for Exchange with applications on the device by saving user ID's and passwords from the online services to the accounts framework.

Harmattan devices also use a Single Sign-On (SSO) feature on top of the accounts framework, which makes it possible for the user to authenticate only once to an online service even though the same online service can be accessed by multiple applications. SSO is customisable so that the user can select which applications can authenticate directly to which online services.

All passwords are stored on the device encrypted.

While the native applications have the accounts framework integration built in, you can also develop your own applications to use it. This is done with account plugins, which are divided into two categories:

  • provider plugins - for handling settings that have effects throughout the whole registered account
  • service plugins - for handling specific services within an account

The plugin types and account settings are defined as .service XML files that must be placed in path /usr/share/accounts/ on the device during the application install process. An example XML file for an instant messaging application may look like the following:

<?xml version="1.0" encoding="UTF-8" ?>
<service id="myservice">
  <type>IM</type>
  <provider>David Developer</provider>
  <name>IM test app</name>
  <icon>icon_myservice</icon>

  <ui>
    <layout type ="linear">
      <layout type ="linear">
        <widget type="string" key="parameters/server"/>
        <widget type="integer" key="parameters/port"/>
        <widget type="checkbox" key="parameters/old-ssl"/>
      </layout>
      <layout type ="flow">
        <widget type="string" key="parameters/proxy"/>
      </layout>
    </layout>
  </ui>
</service>

The attribute inside the <type> tags defines the application type. The available service types are:

  • calendar
  • e-mail
  • IM
  • ovinotifications
  • sharing
  • social.service

Harmattan provides two APIs for creating accounts plugins. For more information, see: