This page describes the basics of the CommunityMashup.


A CommunityMashup (instance) consists of

Sources go through the following life cycle: fill (create InformationObjects), extend, update

When Items are created in the DataSet the CommunityMashups tries to merge them with other InformationObjects created earlier. For merging the mashup uses the isEqualItem() function defined for the Item class (and overloaded in classes derived from the Item class) - See package for the implementations of the different item types. Checks currently implemented for determining if to merge:

A special source is the CommunityMashupSource - which can be used to load data from one mashup instance to another. One use case for this is to have one server based mashup for loading and merging all the data - and one mashup instance in the client application (e.g. the CommunityMirror) that loads the data from the server and makes it available locally.

A CommunityMashupContainer can contain one or more CommunityMashup instances.

Data model

The data set can store any number of Item objects.

The core object class for storing information is InformationObject:

InformationObjects (persons, organisation, content) can be further extended by Extension objects:

InformationObjects can be linked to each other using Connection objects (a sub-class of Extension):

InformationObjects can be classified using Classification objects:

The complete data model currently (because it can be extended - e.g. by new Extension sub classes) looks like:


The basic concepts of the CommunityMashup have been documented in this publication: Lachenmaier, P., & Ott, F. (2011). Building a Person-Centric Mashup System - CommunityMashup: A Service Oriented Approach. In D. Eichhorn, A. Koschmider, & H. Zhang (Eds.), Proceedings of the 3rd Central-European Workshop on Services and their Composition (ZEUS’2011) (pp. 122–129). Karlsruhe, Germany: Retrieved from

Additional publication on the CommunityMashup: