Apply Owner History
Overview
The owner history is used to capture history and identification related information about the object to which it is attached.
In particular, it is used to identify for the object the:
- creation date
- date of last modification
- the owning application owning (the current software application performing actions on the object)
- the last modifying application (the last software application to modify the object)
- the owning user (the current person or organization performing actions on the object)
- the last modifying user (the last person or organization to modify the object)
Additionally, the access state and change action associated with an object may be optionally captured. However, at the present time, these are not widely asserted in IFC compliant applications and are not included in this functional part.
Typically, current IFC file based data exchange tends to apply a single or limited number of owner history objects with many objects using the same owner history. This does not provide a potential for a detailed history of individual objects. It is however allowed under present implementation agreements.
Results
Owner history for object(s) is captured.
| Description | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| Information about software applications that should be asserted. Specific information required about the software includes: |
||||
The developer of the application The application developer is always an organization. |
IfcApplication.ApplicationDeveloper ::IfcOrganization.Name |
|
||
The name of the developer of the application. This is specified as being an organization. It is sufficient to assert the name of the organization |
IfcOrganization.Name::IfcLabel | |
||
The role of the developer of the application should also be asserted. For a software application the role should be set as being USERDEFINED. This means that a user defined role also has to be asserted and this value should be set to APPLICATIONDEVELOPER (since this value is not included in the predefined enumeration list) |
IfcOrganization.Roles::IfcActorRole IfcActorRole.Role::IfcRoleEnum = .USERDEFINED. IfcActorRole.UserDefinedRole::IfcLabel = 'APPLICATIONDEVELOPER' |
|
||
The name of the software application This should be the full name of the software application as defined by the application developer. |
IfcApplication.ApplicationFullName::IfcLabel | |
||
The version identifier for the software used This is the version number of the software application as specified by the application developer. |
IfcApplication.Version::IfcLabel | |
||
A short identifier for the software application |
IfcApplication.ApplicationIdentifier::IfcIdentifier | |
||
| Information about users that should be asserted. Specific information required about the user includes: |
||||
Identity of the person concerned. The owning user is indicated as being a person.The identity should minimally give the family name of the user. |
IfcPersonAndOrganization.ThePerson::IfcPerson IfcPerson.FamilyName::IfcLabel ::IfcPerson.Roles |
|
||
The organization with which the person is associated must also be asserted. Refer to the organization attributes specified above in relation to the owning application. In this case, the role of the organization may be specified in the predefined list or set as a different user defined value (being the role of the organization represented by the owning user on the project) |
IfcPersonAndOrganization.TheOrganization::IfcOrganization IfcOrganization.Name::IfcLabel IfcOrganization.Roles::IfcActorRole IfcActorRole.Role::IfcRoleEnum |
|
||
The given name and further personal identification can be given if required. |
IfcPerson.GivenName::IfcLabel | |
||
The role of the owning user in relation to the project should also be asserted. |
IfcPerson.Roles:: IfcActorRole | |
||
If the role of the owning user is not contained within the predefined list, the value should be set to USERDEFINED. This means that a user defined role also has to be asserted. |
IfcActorRole.Role::IfcRoleEnum = .USERDEFINED. IfcActorRole.UserDefinedRole::IfcLabel |
|
||
For the purposes of owner history, it is not considered necessary to specify the addresses of users (either persons or organizations). Addresses may be asserted in other contexts. |
IfcPerson.Addresses::fp_address IfcOrganization.Addresses::fp_address |
|
||
| Owner history information should be created at the time that an object is created and each time the object is modified. | ||||
| At the time of creation, initial information should be established as follows. | ||||
Set the owning user The owning user is the person with the current rights to change the state of the object. |
IfcOwnerHistory.OwningUser:: IfcPersonAndOrganization | |
||
Set the owning application The owning application is the application with the current rights to change the state of the object. |
IfcOwnerHistory.OwningApplication:: IfcApplication | |
||
Set the creation date Creation date is the date on which the object was first created. Note that this value is in the forms of seconds passed since 1970 and not in conventional calendar date format. |
IfcOwnerHistory.CreationDate:: IfcTimeStamp | |
||
At creation, modification attributes should be set to mirror the creation values.
|
IfcOwnerHistory.LastModifyingUser::IfcPersonAndOrganization IfcOwnerHistory.LastModifyingApplication:: IfcApplication IfcOwnerHistory.LastModifiedDate::IfcTimeStamp |
|
||
Set the value for the change action to ADDED This indicates the creation action for the object. |
IfcOwnerHistory.ChangeAction::IfcChangeActionEnum = .ADDED. | |
||
| When an object is modified, the following owner history attributes should be amended to reflect changes: | ||||
The user making the modification |
IfcOwnerHistory.LastModifyingUser::IfcPersonAndOrganization | |
||
The application in which the modification was made |
IfcOwnerHistory.LastModifyingApplication:: IfcApplication | |
||
The date on which the modification was made |
IfcOwnerHistory.LastModifiedDate::IfcTimeStamp | |
||
Set the value for the change action to MODIFIED This indicates the modification action for the object. |
IfcOwnerHistory.ChangeAction::IfcChangeActionEnum = .MODIFIED. | |
||
| For the purposes of this functional part, the state attribute should not be asserted. | IfcOwnerHistory.State::IfcStateEnum | X | X | X |
- IFC Entities Required
- IfcActorRole
- IfcApplication
- IfcOrganization
- IfcOwnerHistory
- IfcPerson
- IfcPersonAndOrganization
- IFC Datatypes Required
- IfcChangeActionEnum
- IfcIdentifier
- IfcLabel
- IfcRoleEnum
- IfcStateEnum
- IfcText
- IfcTimeStamp
- IFC Functions Required
- None
- IDM Functional Parts Required
- fp_address
- EXPRESS-G*