To manage all the complex information in a broad variety of business processes in a flexible yet consistent way, the Sahana Eden framework uses the concept of "resources".
A resource is a set of all database records which describe a complex entity in the business process (such as a person or an organization, or a request for items). Resources also provide all necessary methods to represent, modify and analyze the data.
Records to Resources
The following pictures illustrate the relationship between records in database tables and resources. Each Lego piece represents a single record in the database, while the different colors and sizes symbolize different database tables:
The next picture shows the relationship between the records - every "organization" can have one or more "offices".
The last picture shows how each set of related records forms an instance of the "organization" resource.
The database tables which are involved in a resource are called "components" of the resource. There is always one "master" component, typically containing the basic details, for example, a name or identification of the entity which the resource describes.
In the user interface, the resource concept is typically represented by navigation tabs:
This shows the "Organization" resource, with its components as navigation tabs. Each tab handles a set of records in a different database table. All the records in all of the tabs together form the "Organization" resource.
The Sahana Eden Framework provides a set of integrated tools for the implementation of resources and resource methods such as CRUD (create, read, update, delete), Search, Mapping and Reporting, Data Export and Import as well as Web Services. This allows developers to rapidly develop new solutions or adapt existing modules to new requirements.