Teamwork Control


This bunch of functions lets your add-on operate in the new Teamwork environment introduced in Archicad 13.

Functions

for checking the project status and the online-offline mode:

ACAPI_TeamworkControl_HasConnection
ACAPI_TeamworkControl_IsOnline

for checking the user privileges of lockable object sets:

ACAPI_TeamworkControl_HasCreateRight
ACAPI_TeamworkControl_HasDeleteModifyRight

for lockable object set reservation:

ACAPI_TeamworkControl_GetLockableStatus
ACAPI_TeamworkControl_FindLockableObjectSet
ACAPI_TeamworkControl_ReserveLockable
ACAPI_TeamworkControl_ReleaseLockable

for element reservation:

ACAPI_TeamworkControl_ReserveElements
ACAPI_TeamworkControl_ReleaseElements

for reservation of the Hotlink/XRef Management

ACAPI_TeamworkControl_ReserveHotlinkCacheManagement  Featuring API 18
ACAPI_TeamworkControl_ReleaseHotlinkCacheManagement  Featuring API 18
ACAPI_TeamworkControl_GetHotlinkCacheManagementOwner  Featuring API 18

for monitoring reservation changes:

ACAPI_Notify_CatchElementReservationChange  Featuring API 15
ACAPI_Notify_CatchLockableReservationChange  Featuring API 15

for determining if a given library part is loaded from the BIM server:

ACAPI_TeamworkControl_IsServerLibPart  Featuring API 15

for collecting information about the team project, the actual workspace and the effective privileges of the Team Member:

APIEnv_ProjectSharingID
APIEnv_GetTWAccessRightID  Featuring API 14
ACAPI_TeamworkControl_GetUsernameFromId  Featuring API 25
ACAPI_TeamworkControl_GetTeamworkProjectDetails  Featuring API 25

for sending or receiving changes to or from the BIM server:

ACAPI_TeamworkControl_SendChanges  Featuring API 25
ACAPI_TeamworkControl_ReceiveChanges  Featuring API 25

 

Lockable Object Sets

Lockable object sets are groups of objects (or may consist of a single object) which can be modified separately from the other part of the Teamwork project. Typically attribute containers are lockable object sets. These sets have a special reservation panel on their settings dialog in Teamwork mode to control the exclusive lock on that particular part of the project.

On the API interface lockable object sets are referenced by their object guid. These guids can be obtained with the ACAPI_TeamworkControl_FindLockableObjectSet function using pre-defined identifiers.

In some cases two or more lockable object sets need to be handled simultaneously, for example they can be locked only in the same user interface at the same time, like the Layers and Layer Combinations in the Layer Settings dialog. These sets are grouped under a special lockable object set, which is called compound lockable object set. Compounds are referenced by a pre-defined name, and their guid can also be retrieved by the ACAPI_TeamworkControl_FindLockableObjectSet function.

The pre-defined identifier strings of lockable object sets are listed in the Remarks section of ACAPI_TeamworkControl_FindLockableObjectSet.

 

Example

The Teamwork_Control example project of the APIDevKit shows samples how to use these functions.