home / plugins / developing plugins

I'm almost ready to install but ...

Email

Developing plugins

Develop your own plugins, custom forms, and extensions.




Related information:
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

See third-party services and applications already integrated in Teamwork.

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.


Custom forms / plugin development

Custom forms creation is not hard and is documented in the user guide. Such additional forms are contextual: they can appear under specific conditions; so in fact Teamwork supports a more general plugin configuration system. For example, you may want certain end-task evaluation forms to appear only at the closing of a root task (or project). You can find more details in the user guide (chapter 15). There are no charges to develop and distribute your own plugins: see details here!

Documentation: the available complete sources can be useful only for expert Java and web developers; some documentation and examples can be found in the user guide, which keeps expanding. Persistence, that is, Hibernate, is documented on its site, and the business process part on the JBPM JBoss site. To ask for help, post questions on the answers service.

Sources downloads

Teamwork sources are under a commercial license, but also are no secret, actually we are very happy to share them for any integration purpose with any paying customer that supplied the NDA (see below). Download sources of persistent classes from Sourceforge under GPL:

http://sourceforge.net/projects/teamwork

Teamwork is built over Hibernate: get this powerful object/relational mapping here:

http://www.hibernate.org

Start developing your own plugins with complete sources: read here to learn more.

Complete sources
, inclusive of business logic are freely available for customers who sign a non-disclosure agreement: download the PDF, sign it and send it to us by e-mail at
info [at] twproject [dot] com.

Teamwork non disclosure agreement