Teamsite is a content management system primarily geared towards web content management. At its core lies a version control system which helps content contributors manage the files that make up the web site and keeps track of the evolution of those files over time.
Access to assets stored in Teamsite requires that a set of permissions be given to each user to manipulate them. Access to Teamsite itself also requires authentication.
To facilitate the work of content contributors, Teamsite FormsPublisher allows users to enter content through forms. Content is completely separated from presentation and is stored as XML files named Data Content Records (DCRs).
The XML content of DCRs can be transformed into static documents (HTML, JSP, ASP, PHP, plain text, RSS, …) through the use of custom PERL templates or XSLT templates.
In addition, SitePublisher allows users to compose a page though a WYSIWYG interface for dragging and dropping (XSL) components (re-useable page parts such as header, footer, stock price, RSS feed…) which can also load the XML content of DCRs. Again, the pages composed this way can be generated as a static document.
The document creation process (or other company processes) can be supported by workflows from creation to publication. This workflow engine is java based and therefore extremely extensible.
Metadata can be applied to any file stored in TeamSite and this follows an extensible model which allows you to define your own metadata tags and their values.
The propagation of documents from Teamsite to the actual web server that delivers the website (Apache, IIS, Tomcat,… ) can be performed by OpenDeploy. This works with a repeatable deployment configuration which allows to configure where the files get deployed (published) to, consistently.
One of the selling points of OpenDeploy is the ability to deploy the files to a database. Known as DataDeploy, this can be useful is you want to use this data from JSP and you are more comfortable with database queries than loading XML files. This is also often used for search engine indexing.
In addition to this, an event system allows you to detect when content changes and take additional action (custom notification for example). This event system is leveraged by OpenDeploy to perform database auto-synchronisation and automatically perform database update when content changes.