Key AFC Configuration Objects
What objects does Cartularius use for its AFC process?
AFC Object
An AFC Object record defines the top-level AFC behavior for a given SObject (and optionally a Record Type). When a record is inserted, Cartularius evaluates the matching AFC Object configuration and creates the record’s home folder under the configured base folder.
Important fields:
- Active (
upperspire__Active__c): if true, Cartularius creates a home folder for inserted records. - SObject (
upperspire__SObject__c): the object this configuration applies to. - Record Type (
upperspire__RecordType__c, optional): allows different folder roots/config per record type. - Base Folder (
upperspire__Base_Folder__c): the name of the base folder under which record home folders are created. - Folder (
upperspire__Folder__c): lookup to the created base folder. This will be populated automatically. - Allow Uploads in Record Home (
upperspire__Allow_Uploads_In_Record_Home__c): controls whether uploads are allowed directly into the record’s home folder. - Folder Creation Restriction (
upperspire__Folder_Creation_Restriction__c): controls whether users (with the documented permission set) can create new folders in the record home folder.
AFC Folder
An AFC Folder record defines a folder node within the hierarchy generated for an SObject (and optionally Record Type). After a home folder is created for a record, Cartularius evaluates the AFC Folder configuration and generates the configured folder hierarchy beneath it.
Important fields:
- SObject (
upperspire__SObject__c): the object this folder definition applies to. - Record Type (
upperspire__RecordType__c, optional): allows different folder structures per record type. - Folder Name (
upperspire__Folder_Name__c): the name of the folder node. - Parent AFC Folder (
upperspire__Parent_AFC_Folder__c): defines the hierarchical structure by referencing the parent AFC Folder (the guide notes this is managed automatically and should not be edited manually). - Folder Creation Restriction (
upperspire__Folder_Creation_Restriction__c): controls whether users can create folders inside this folder. - File Category Restriction (
upperspire__File_Category_Restriction__c): when enabled, only files matching configured categories (via AFC Folder File Categories) can be uploaded/copied/moved into this folder. - Indirect Related Folder Parent Object (
upperspire__Indirect_Related_Folder_Parent_Object__c): if omitted, the folder behaves as a “direct” folder; if populated, it participates in the Indirect Related Folder model (see below).
AFC Folder File Category
AFC Folder File Category records restrict which file categories are allowed in a given AFC Folder when the folder’s File Category Restriction is enabled. Think of this as an allow-list that Cartularius checks when users upload, copy, or move files into that folder.
Important fields:
- AFC Folder (
upperspire__AFC_Folder__c): lookup to the folder node being restricted. - File Category (
upperspire__File_Category__c): picklist value coming from the CDM File Categories Global Value Set. - AFC Folder Name (
upperspire__AFC_Folder_Name__c): formula used for display in list views.
AFC Folder Translation
An AFC Folder Translation record defines the localized display name for a specific AFC Folder. Use these records when your users work in multiple languages, and you want the Cartularius folder hierarchy to appear in their language.
Important fields:
- AFC Folder (
upperspire__AFC_Folder__c): master-detail to the target AFC Folder record being translated. This determines which folder node in the hierarchy gets a translated label. - Language (
upperspire__Language__c): picklist of language IDs. This determines for which user language the translation applies. - Translation (
upperspire__Translation__c): the translated folder name (Text(255)) that should be shown for the folder when the user’s language matchesupperspire__Language__c.
Related Folder
A Related Folder record defines a folder relationship based on a direct SObject relationship (parent/child). When configured, the Files and Folders component can show a collection of related record folders on the parent record page (for example, show Contact folders on an Account page via AccountId).
Important fields:
- Parent SObject Name (
upperspire__Parent_SObject_Name__c): the parent object. - Child SObject Name (
upperspire__Child_SObject_Name__c): the child object whose records appear as a collection. - Linked Field (
upperspire__Linked_Field__c): the field on the child object that references the parent (e.g.,AccountId). - Collection Name (
upperspire__Collection_Name__c): label shown for the collection on the record page. - Where Clause Field (
upperspire__Where_Clause_Field__c, optional): a boolean field on the child used to include/exclude records from the collection.
Indirect Related Folder
An Indirect Related Folder record defines folder relationships through an indirect relationship among three objects: a parent, a child, and a junction object that connects them. When configured, folder collections can be surfaced across this indirect relationship chain. This is an Enterprise Edition feature.
Important fields:
- Parent SObject Name (
upperspire__Parent_SObject_Name__c) - Child SObject Name (
upperspire__Child_SObject_Name__c) - Junction SObject Name (
upperspire__Junction_SObject_Name__c) - Junction Relation Field To Parent (
upperspire__Junction_Relation_Field_To_Parent__c) - Junction Relation Field To Child (
upperspire__Junction_Relation_Field_To_Child__c) - Collection Name (
upperspire__Collection_Name__c): collection label shown on the parent record page. - Single Record Name (
upperspire__Single_Record_Name__c): label for the container shown on the junction record page that displays the child’s folders. - Where Clause Field (
upperspire__Where_Clause_Field__c, optional): boolean filter on the child object.
