**DRAFT* This document is still under heavy development.*
To build a stable, scalable system of integrated applications, a strict set of standards must be adhered to by developers hoping to domesticate and integrate their applications with COmanage. The following outlines these standards.
Applications should be made into native packages (e.g. deb or rpm).
Furthermore, to handle the integration of the application to the COmanage instance, a package name co-appname must be created. This package should ensure all dependancies are installed, including the above application package. And this package should provide tools to integrate or configure the application to work with the COmanage instance.
Domesticated applications that require configuration should add a tab to the collabmin interface. The tab should be written in PHP or Perl and dropped into the /ext subfolder. The page should rely on the COmanage Perl moduleor PHP API to query facts about the COmanage system and to request resources such as LDAP accounts, and MySQL databases.
Semi-domesticated applications that need to hook into operations such as the adding and removing of users should add a symlink to the appropriate subdirectory under /etc/comanage/hooks