Assignables provides a mergeable document model for documents composed of pages, questions, and marks that can be assigned to and edited by users on iOS and visionOS. You build documents from conforming types such as AssignableDocument and AssignedWorkDocument, organizing their content with AssignableDocumentElement and DocumentElement parts identified by DocumentElementID and BasicDocumentElementID. Edits merge through the MergeableDocument, MergeableDocumentPage, and MergeablePartsContainer protocols, while contributors are tracked with user identities like StringUserIdentity and AnonymousUserIdentity, resolved through UserIdentityFactory and UserIdentityTypeRegistry.
Essentials 3
The foundational protocol and concrete document types you use to model assignable content.
- PrAssignableDocuments conforming to this protocol can be assigned to a user.
- StAssignableDocumentAn assignable document is an augmented PDF that allows teachers to mark up
- StAssignedWorkDocumentAn assigned work document is a document that contains taker and
Document Configuration 2
Types that describe how assignable and assigned-work documents are configured.
- PrAssignableDocumentConfigurationA protocol describing options for ``AssignableDocument``,
- PrAssignedWorkDocumentConfigurationA protocol that describes the configuration of an assigned-work document.
Document Elements 6
Protocols and identifiers for the pages, questions, and marks that make up a document's content.
- PrDocumentElementRepresents an element that is contained within a document.
- PrAssignableDocumentElementAn element of an ``AssignableDocument``.
- PrAssignedWorkDocumentElementAn element of an ``AssignedWorkDocument``.
- PrDocumentElementIDAn identifier for an element in a document.
- StBasicDocumentElementIDA default implementation for a document element identifier.
- StDocumentThumbnailA structure that contains an image of an entire
Mergeable Documents 5
Protocols and data types that merge concurrent edits across documents, pages, and parts.
- PrMergeableDocumentDocuments conforming to this protocol can merge several
- PrMergeableDocumentPageTypes conforming to this protocol indicate that they are
- PrMergeablePartsContainerObjects conforming to this protocol allow
- StMergeablePartsContainerPartIDThe ID of a part in a `MergeablePartsContainer`.
- EnMergeablePartDataAn enumeration of the data values that a mergeable document part can hold.
User Identities 6
Types that represent and resolve the users who are assigned to and contribute edits to a document.
- PrUserIdentityTypes conforming to this protocol can act as
- StAnyUserIdentityA user identity that performs type erasure by wrapping another user identity.
- StStringUserIdentityA user identity defined by a string.
- StAnonymousUserIdentityA user identity for unknown editors.
- EnUserIdentityFactoryA type that contains helpers for creating user identity objects.
- ClUserIdentityTypeRegistryA registry for user identity types.
Structures 2
- StAssignableDocumentViewSwiftUI View to display an `AssignableDocument`.
- StAssignedWorkDocumentViewSwiftUI View to display an `AssignedWorkDocument`