Skip to content

DTU Version Control Wiki

ThomasBechMadsen edited this page Jan 17, 2018 · 1 revision

A Brief Explanation of The Version Control Objects:

The version control system builds on some core objects, with the users data, that can be created, updated and deleted:

Project

A project is a collection of componenttypes. The project also contains members that are allowed to change the objects in the project.

Componenttype

The componenttypes are at the core of the system. A componenttype represents a thing the team is developing as a concept. The componenttype contains a description of the concept along with a storage number.

The description should explain the componenttypes properties and its use.

The storage should be used to indicate how many physical items of the componenttype exists it is a high number and creating individual components is not desired.

More in-depth information about the componenttype should be stored as components and documents in the componenttype.

Component

Where the componenttype is a concept, the component is a physical item of that componenttype, like a prototype. A team may have made two copies of a componenttype, each copy should then be represented as a component.

The component has a status that describes the state of the component. Examples of the status could be: 'Broken', 'Good' or 'Out of house' and so on.

The component also has a comment field. The comment is, for example, used to describe minor differences from the componenttype.

Document

A document is one of the most simple objects in the system. A document represents a file that documents or contains information about a componenttype.

Log

The log is used to store different versions of the before mentioned objects. Whenever a change happens in a project, a log is created that documents the change.

The log object references the version of the object before the change, this is used for rolling back changes.

The log also logs who made the change, the time of change, an event that describes the type of change (Created, Updated, Deleted or Rolled back) and lastly a comment by the user describing the change that happened to the object.

Category

A category is used by componenttypes to describe their familiarity to other componenttypes.

User

A user is contains contact information to the person that owns it. A user has a role in each project they are related to: (Guest, Member, Admin or Super Admin)

Example:

The project:

Name: DTU SpoonRunners

Members: Bob Spoon and Alice Spork

contains a their new idea, a spoon!, it is represented as a componenttype:

Name: Spoon

Description: This is the brand new spoon, it is made of plastic and great for eating soup

The componenttype contains a document describing the design plans for the spoon:

Name: SpoonDesign.pdf

and two prototypes of the spoon as components:

Component 1:

Status: Missing

Comment: This one is red

Component 2:

Status: Good

Comment: This one is blue


REST API Documentation:

DTU Version Control API