An eSpace can be a part of an application in the sense that elements exposed by this eSpace are used by other eSpaces. An application, in this situation, is composed of the main eSpace and all the eSpaces that expose elements necessary to the complete application. In this context, it is necessary to distinguish the two following concepts: Producer and Consumer.

Producer

The Producer is the eSpace (An application or a part of an application that implements a set of services, gathered in a single project. Each service can be presented in a different flow.) or extension (Set of actions, structures, and entities defined in OutSystems Integration Studio that increments the Agile Platform and allows integration with external systems.) that effectively defines and implements the referable elements. The Producer can expose the following referable elements:

Consumer

The Consumer is the eSpace that uses elements exposed by the Producer. From the Consumer point of view, these elements are called References.

Public Elements

To export your elements so they can be used by other Consumer eSpaces, you have to set them to public as explained below.

You can only set as public the elements that belong to your eSpace, that is, owned by it. References cannot be set as public.

Any eSpace is created containing a reference to the '(System)' Producer eSpace which is the producer of all Agile Platform entities, such as, the 'User' entity.

eSpace References

To use the Public elements of a Producer, you must launch the Add/Remove References Window, in the Consumer, and then simply add a reference to the Producer of web screens, Producer of screen blocks, Producer of entities, Producer of structures, Producer of actions, Producer of themes, Producer of processes, Producer of process activities, and Producer of roles.

Once the reference is added, you can use it anywhere in your Consumer eSpace but you cannot change its definition.

Using references is different from merging elements from an eSpace: when you merge an element, this element is copied to your local eSpace and is executed in that eSpace. See how merge works.

The following picture presents graphically the relationship between Public and References elements:

In this picture, the Private elements are, by simple exclusion, those that are neither References nor Public.

See Also

Use eSpace References | Add/Remove References Window | Consumer eSpace Life Cycle | Producer eSpace Life Cycle | About Sessions in Agile Platform