Core object relations - peterlegrand/SIPx GitHub Wiki

The below image shows the core objects in the platform. Other objects could be considered core though). Also the relations between them is indicated. The arrow side represents the many relation as of 1 to many or many to many.

core

Objects

Projects
Organizations
Persons
Contents
Processes

Relations between objects

Project to Project

There are 2 types of relations between projects and projects. Those of a hierarchical structure and those of non-hierarchical. Hierarchical is that one project can have multiple child projects. In order to have a n-m relation between projects, we have another type of relation which we call matrix relation. The difference between hierarchical and matrix relation is that more functionality can be related to the hierarchical structure. For example access rights to content related to projects. You can give access to team members or a project and all sub projects to a certain piece of content.

Content to Content

You can relate content to content. An example of this is that one content is a translation of another. That is, one content is the parent of the other.

Project Content

One project can be related to multiple contents and one content can be related to multiple projects.

Process to Process

One process can be referenced inside another process (through a process field). Only one process can be referenced per field. Even though technically you can have as many fields per process as you want, this is not practical and thus would not work as a 1-n or at least to a limited number. Thus, one process can be referenced in many processes, but one process references to a limitted number of processes.

Process to Content

One process can reference to 1 or a limited number of contents. One content can be referenced to in an unlimted number of processes. In general, 2 contents would be used. For example a workflow for approval to change a standard to a new standard.

Organization to Organization

This will have the hirarchical relation. Not the matrix relation. For example a class is part of a school.

Organization to Process

In general, one organization can have many processes. One process is limited to and preferable 1 reference to an organization. 2 would be fine as for example a request to cooperate between 2 organizations.

Organization to Content

In general, an organization will have multiple content but one content only refers to 1 organization.

Organization to Project

There is no direct relation between project and relation.

Person to Person

There is a matrix type of relation between people. a n to m relation. One person can be related to many other people.

Person to Organization

A person will have a main organization but can have a relation to more than one organization. One organization has a many people related to them.

Person to Project

One person can belong to many projects with different roles, and one project has many people as members.

Person to Process

One person can be referenced in many processes but one process has limited references to people. For example a process could be to change the role of one person to another.

Person to Content

A special relation between content and person is that content can refer to a person. Based on the settings this could be HR / confidential content and thus be very limited acccesible. An example could be a contract or a score card.

Person to other objects

Persons are related to most objects as they are creators and modifiers as users.

Links:
Object relations
Technical design
Home