The Platform contains a library of models which are common to most many-to-many networks. Developers are encouraged to reuse these models so they will get the most benefit out of Platform's permissibility framework and authentication mechanisms.
Value Chain Models
Within Platform, all Models are scoped by a "Value Chain". A value chain encapsulates an entire set of companies and their relationships with one another. A typical Platform solution contains just one value chain in its database, but this is not a hard constraint; sometimes multiple value chains are used to implement a "multi-tenant" scenario where there are multiple many-to-many networks being hosted by the same Platform instance.
Enterprise, Organization, and Site are Platform Core models representing the organizational structure of an enterprise. Enterprise is meant to represent top-level companies, the organization represents divisions within an Enterprise, and Sites represent actual, physical locations managed by the Enterprise.
The User model represents a user who can login to the user interface. These can be modeled under an Enterprise, or as a "global" user at the value-chain level.
Each User can play one or more Roles. (They must choose one role to play at a time.) Since all permissions are defined based on role, all aspects of the application including what screens are shown, what fields are shown, what actions are available, what fields are editable, etc. are governed by the user's Role. Roles can be defined at different levels, including value chain, enterprise, organization and site. Based on the level at which the Role is defined, their access can be restricted to transactions associated with those entities. Thus an Enterprise-level role will typically be granted access to more data than a Site-level role.