> ## Building a Shared Development Framework

> Previous sections describe how to create and use data sources and data sets and lay out and format report items. A single report developer with a requirement for only a few reports can use these approaches effectively. For a larger project, either one with more developers or one that requires more reports, many designs need to use the same elements or layouts.

> To support creating and maintaining standard formats, building reports in collaboration with other report developers, and avoiding error-prone, repetitious design tasks, BIRT uses the following file types:

> | A library

> The main purpose of a library is to provide developers of report designs with a shared repository of predesigned report elements and styles. The file-name extension for a library file is .rptlibrary. BIRT locates libraries in the resource folder.
> A library is a dynamic component of a report design. When a library developer makes changes to a library, the report design synchronizes itself with the changed library. In this way, changes propagate easily within a suite of report designs.
> A library stores customized report elements, such as data sources, visual report items, styles, and master pages. Use a library in a report design to access the customized elements. You can use multiple libraries in a single report design. By using multiple libraries, you can separate the styles and functionality that different projects or processes need.

> | A template

> The main purpose of a template is to provide a standard start position for a new report design. As such, the structure of a template file is identical to the structure of a report design file. The file-name extension for a template file is .rpttemplate. BIRT locates templates in the template folder.
> A template is a static framework on which to build a new report design. A report design derived from a template modifies a copy of that template. For this reason, a report design can derive from only one template. Because report designs use copies of the template, when a template developer changes a template, report designs based on that template do not automatically reflect those changes.
> A template provides a structure for a standard report layout. A template can contain visual report items that appear in the report’s layout, data sources and data sets, and master page layouts. A template uses libraries in the same way that a report design does. BIRT Report Designer provides a set of standard templates, such as Simple Listing and Grouped Listing report templates.

> | A CSS file

> This type of file provides styles for formatting items in a report, similar to the formatting of items on a web page.

(c) Copyright Actuate Corporation 2013