Plugin development FAQ
Develop, distribute and sell your own plugins, custom forms, and extensions.

The user guide shows how to configure and extend Teamwork to fit your needs. If you want to save yourself years of development, you can use Teamwork as a development platform at no cost, on top of which you can build and distribute your customizations. Examples are:
- custom portlets
- custom forms
- additional sections and plugins
- integrations with third-party services and applications
Can I ask customers a fee for using my plugin?
Yes, indeed.
Do I have to pay a special license to do that?
No.
Are there royalties or support contracts to be paid?
No.
Can I start distributing my own Teamwork bundled with my solution?
No: the customers to which you distribute your plugin have to be Teamwork customers.
Will you help me be known that my plugin exists?
Yes, we will test your plugin and we will list it among the available ones, linking to your site. We may even publish it as news in our promotional channels.
How do I start?
Well, you probably need the complete sources; these are distributed to customers or good-willed developers under NDA(see below); you also probably need to be proficient in Java, DHTML and Hibernate.
If you need training for development, see the boot camp page (which can be turned in a development-boot camp).
We are a software house with a development team. How do we get trained on Teamwork, and integrate with our existing solutions?
In these case we usually hold longer training and integrate with yearly support contracts.
Teamwork API modifications in time.
Teamwork has different development “rhythms” for different layers, and your plugin code will have to be updated rarely or frequently in function of the level at which it will be connected to Teamwork:
Database level: changes are quite rare.
Linked to persistent classes: changes are more frequent, but most often as expansion, not causing backwards incompatibilities.
User interface API (e.g. portlets): here the components evolve more frequently, but here to we try to maintain backwards incompatible evolution to a minimum.
As for web services, Teamwork 4 does not currently expose a standard set of web services, but it is a planned development for version 5; we did expose some data as web service (using Axis) for some custom parts.
Teamwork non disclosure agreement
community
