See ERGroupware on GitHub for more details.