Functional to Deep-Dive Mapping

Purpose

Provide traceability between each functional element listed in the Functional Overview matrix and its detailed documentation location(s).

Metadata Structure

  • Auto create metadata structure tables: Partial – implied across metadata “structure” pages; add explicit subsection “Automatic Metadata Structure Creation”.

  • Analyse and refresh metadata using SQL: Partial – add concrete refresh workflow snippet.

  • Drop & recreate metadata: Gap – needs safe rebuild guidance (backup, locking constraints).

  • Update names and aliases from SQL: Covered – spMFAliasesUpsert (anchor pending in deep dive).

  • Insert new valuelist items from SQL: Covered – staging + sync in Valuelist and Workflow Management.

  • Update aliases in bulk: Partial – add rollback / performance notes.

  • Analyse metadata structure relationships: Gap – recipe queries using MFvwMetadataStructure & MFvwClassTableColumns.

  • Show login / user accounts: External – procedure & security docs.

  • Show workflows & states: Partial – add example query block.

  • Show valuelists & items: Partial – need usage query examples.

  • Auto create valuelist/workflow views: External – procedures spMFCreateValueListLookupView, spMFCreateWorkflowStateLookupView.

  • Show complex ownership relationships: Gap – multi-level ownership recipe planned (will anchor in valuelist & workflow management deep dive).

  • Explore metadata usage in vault: Partial – add usage density / orphan property queries.

  • Get metadata structure version: External – fnMFLastConnectorVersion.

Class Tables

  • Create new class tables: Covered – creation procedures + overview.

  • Drop and re-create all class tables: Gap – add procedure + warnings.

  • Batch update of records: Covered (procedures) but Partial – tuning & batch sizing doc.

  • Update only changed records: Partial – add explicit “Delta-Only Updates” anchor in class table strategies.

  • Concurrent update processes: Partial – need multi ProcessBatch pattern example.

  • Bi-directional updates (to & from M-Files): Partial – clarify both paths.

  • Update records from specific date: Covered – date-based procedure.

  • Update records with specific objids: Covered – object ID grouping procs.

  • Update records changed by specific SQL user: Gap – recipe using audit tables.

  • Update all included in App tables: Partial – document inclusion flag logic.

  • Update using filters: Partial – consolidate filter option comparison table.

  • Helper procedures for update filters: Partial – list & link.

  • Insert new records: Covered – insert path explanation.

  • Hyperlinks to objects: Covered – hyperlink functions.

  • Format hyperlinks for Excel: Covered – Excel hyperlink function example.

  • Get object hyperlink to public links: Partial – add combined example.

  • Change classes and properties: Partial – need caution & step sequence.

  • Delete records: Covered – add retention / audit caution.

  • Delete adhoc properties in bulk: Partial – script loop example needed.

  • Get objver of objects: External – view/procedure only.

  • Copy objects: External – procedure.

  • Add comments: External – procedure.

  • Search objects: External – search procedure; add small example.

  • Delete adhoc properties (single): Covered – procedure docs; narrative partial.

Special Functions

  • Delimited string handling: Partial – add parsing & multi-lookup mapping recipe.

  • HTML conversion for reporting: External – spMFConvertTableToHtml.

  • Include table in notification: Partial – pattern combining HTML + email send.

  • Send HTML formatted email: Partial – end-to-end sample forthcoming.

  • Remove special characters: Covered – add before/after snippet.

  • Insert/update multi lookup values: Partial – performance note.

  • Send bulk notifications using templates: Gap – add email template recipe (will land in messaging deep dive).

Files

  • Export files to folders: External – file export procedures.

  • Send bulk emails with attachments: External – combine file + email procs.

  • Import files from database blobs: External – ingestion procedures.

  • Checksum of a file: Gap – confirm function existence or remove claim.

  • Import files from network folders: External – scripts.

  • Get file size: Gap/External – verify & document or remove.

  • Get metadata on files without downloading: Gap – document metadata-only access pattern.

Views & Reporting

  • Explore full metadata structure: Covered – reporting module pages.

  • Create views for related lookups in bulk: Partial – need procedure usage example.

  • Class Table statistical report: Gap – produce view/example.

  • Explore column usage & errors: Partial – add troubleshooting queries.

  • Explore valuelist ownership relations: Gap – planned recipe.

  • Export / view M-Files event log: Covered – reporting module (cross-link only).

  • Export object history: External – procedure.

  • Process log summary (class tables): Partial – summarization pattern.

  • View Error log: Partial – add direct link and filter examples.

  • Get/create comments: External – procedure.

  • View Update History: Partial – expand referencing history tables.

  • View Process Batch logs: Covered – logging & observability deep dive.

  • View User Messages: Partial – retrieval usage example.

  • View Audit History: External – view only.

Valuelists & Workflow Items

  • Create valuelist lookup views: External – dedicated procedures.

  • Create workflow state lookup views: External – dedicated procedures.

  • Create/update/delete valuelist items: Covered – detailed in valuelist & workflow management deep dive (Value List Item Synchronization section).

Operations in M-Files

  • Configurable context menu items: Covered – context menu deep dive.

  • Access Website: Partial – need action type usage example.

  • Execute procedure on object: Covered – context menu action types.

  • Execute procedure on workflow trigger: Covered – workflow/event handler doc.

  • Execute procedure on event handler trigger: Covered – same location.

  • Show user message: Partial – small example needed.

  • Synchronous processing: Covered – action type docs.

  • Process with feedback message: Partial – add combined example snippet.

  • Asynchronous processing: Covered – logging & observability (queue section).

  • SQL actions via WebAPI (cloud): Partial – add concise steps.

Error Handling

  • Email notification of SQL errors: Partial – expand spMFLogError_EMail usage.

  • User Messages: Partial – central retrieval + display pattern.

  • Error logging: Covered – logging tables overview.

  • Email sent log: Gap – verify existence / add doc.

  • Process logging: Covered – logging deep dive (metrics examples pending).

  • Show user message from SQL: Partial – snippet needed.

  • Formatted emailed process results: Gap – HTML + email example planned.

  • Show feedback message: Partial – clarify semantics vs user message.

  • Validate email profile: External – procedure.

  • Perform Class Table audits: Partial – performance + integrity checklist.

  • Delete history logs: Covered – automated updates & scheduling deep dive.

Special Applications

  • External application user to filter updates: Gap – security pattern.

  • Action M-Files Reporting Data Export: Partial – link to reporting export flow.

  • Update metadata on demand: Partial – targeted sync examples.

  • Update metadata scheduled: Covered – automated updates & scheduling (matrix).

  • Change history of any class property: Partial – combine change history procedure + conflict remediation narrative.

Scheduling & Automation (New)

  • Daily incremental updates: Covered – automated updates & scheduling deep dive.

  • Weekly metadata refresh: Covered – same deep dive.

  • Monthly retention & housekeeping: Covered – same deep dive (spMFDeleteHistory guidance).

  • Sync error remediation loop: Covered – synchronization conflicts deep dive.

  • Value list synchronization cadence: Covered – valuelist management deep dive.

  • Assembly version safeguard: Covered – automated updates & scheduling.

  • Escalation/conflict spike detection: Gap – planned (add escalation script skeleton).

Installation & Upgrade (External)

All related procedures and scripts remain in installation / getting-started sections; only cross-link from matrix table as needed.

Appendix A: Object-Level Mapping (Snapshot)

Legend: T=Table, P=Procedure, F=Function, V=View

Metadata Structure Objects

  • Auto create metadata structure tables: P spMFCreateAllMFTables, P spMFCreateAllLookups; T tbMFClass, tbMFProperty, tbMFObjectType, tbMFValueList, tbMFValueListItems, tbMFWorkflow, tbMFWorkflowState – Status Partial.

  • Analyse metadata refresh: P spMFSynchronizeMetadata, P spMFSynchronizeSpecificMetadata, P spMFSynchronizeClasses; V MFvwMetadataStructure – Partial.

  • Drop & recreate metadata: P spMFDropAndUpdateMetadata – Gap.

  • Update names & aliases: P spMFAliasesUpsert – Covered.

  • Valuelist item insert/update: P spMFInsertValueListItems; T tbMFValueListItems – Covered.

  • Alias bulk update: P spMFAliasesUpsert – Partial.

  • Relationship analysis: V MFvwMetadataStructure, V MFvwClassTableColumns – Gap.

  • Accounts & users: P spMFInsertLoginAccount, P spMFInsertUserAccount – External.

  • Workflows/states: P spMFInsertWorkflow, P spMFInsertWorkflowState – Partial.

  • Complex ownership: (No direct object) – Gap.

  • Usage analysis: V MFvwClassTableColumns – Partial.

  • Structure version: F fnMFLastConnectorVersion – External.

Class Table Objects

  • Creation: P spMFCreateTable, P spMFInsertClass – Covered.

  • Recreate all: P spMFDropAllClassTables – Gap.

  • Batch update: P spMFUpdateTableinBatches; P spMFUpdateTableInternal – Partial.

  • Delta update: P spMFUpdateTableWithLastModifiedDate; P spMFUpdateMFilesToMFSQL – Partial.

  • Concurrent processing: T tbMFProcessBatch; P update procs – Partial.

  • Directional updates: P spMFUpdateMFilesToMFSQL (MF→SQL), P spMFUpdateTable / spMFUpdateTableinBatches (SQL→MF) – Partial.

  • Date filter: P spMFUpdateTableWithLastModifiedDate – Covered.

  • ObjID filter: P spMFUpdateTable_ObjIDs_Grouped; P spMFUpdateTable_ObjIDs_GetGroupedList – Covered.

  • User-based filter: audit tables tbMFUpdateHistory – Gap (no dedicated proc).

  • Inclusion flag batch: P spMFUpdateAllncludedInAppTables – Partial.

  • Filter helpers: P spMFUpdateTable_ObjIDs_GetGroupedList – Partial.

  • Inserts: P spMFUpdateTable (insert path) – Covered.

  • Hyperlinks: F fnMFObjectHyperlink; F fnMFExcelObjectHyperlink – Covered.

  • Public link hyperlink: P spMFCreatePublicSharedLink + F hyperlink fn – Partial.

  • Change class/property: P spMFChangeClass (and related) – Partial.

  • Delete records: standard update procs with delete flags – Covered.

  • Bulk adhoc property delete: P spMFDeleteAdhocProperty loop – Partial.

  • ObjVer retrieval: (view/proc) – External.

  • Object copy: P spMFCopyObject – External.

  • Comments: P spMFGetAndUpdateObjectComments – External.

  • Search: P spMFSearchForObject – External.

  • Single adhoc property delete: P spMFDeleteAdhocProperty – Covered.

Scheduling & Automation Objects

  • Daily/weekly/monthly routines: documented patterns using P spMFUpdateAllncludedInAppTables, P spMFDeleteHistory, P spMFDropAndUpdateMetadata, P spMFCheckAndUpdateAssemblyVersion – Covered.

  • Sync error remediation: P spMFUpdateSynchronizeError – Covered.

  • Conflict stats: P spMFClassTableStats – Covered (monitoring).

  • Value list sync: P spMFSynchronizeValueListItemsToMFiles – Covered.

  • Assembly version: P spMFCheckAndUpdateAssemblyVersion – Covered.

  • Escalation (planned): new script (Gap).

Error Handling & Logging Objects

  • Synchronization errors: P spMFUpdateSynchronizeError; T tbMFProcessBatch; T tbMFProcessBatchDetail – Covered (synchronization conflicts deep dive).

  • History retention: P spMFDeleteHistory – Covered (automated updates deep dive).

  • Email error notification: P spMFLogError_EMail – Partial.

File Pipeline Objects

  • Import/export control & history: T tbMFFileImport, tbMFFileExportControl, tbMFExportFileHistory – Covered (file ingestion & export pipeline deep dive pending anchor verification).

Appendix B: Remaining Unmapped / Review

Procedures needing placement or decision: - spMFObjectTypeUpdateClassIndex (metadata usage counts) – candidate Metadata Structure. - spMFSetAdditionalProperty (adhoc property management) – integrate into Class Tables property changes. - spMFSetUniqueIndexes (index/constraint management) – consider adding new minor subsection under performance. - spMFUsersByUserGroup (security introspection) – map to user/security insights deep dive. - spMFsettingsForDBUpdate / spMFsettingsForVaultUpdate (internal) – decide to omit or document as internal. - spMFUpdateItemByItem (row-by-row fallback) – performance caveats subsection. - spMFSynchronizeLookupColumnChange / spMFSynchronizeWorkFlowStateColumnChange – change history / structure drift subsection.

Utility Functions (possible consolidation): - fnMFVariableTableName, fnMFGetCulture, fnMFTextToDate, fnMFFloatToString, fnMFCapitalizeFirstLetter – either group under “Utility Conversions” or keep external. - fnMFVaultSettings – map to settings/metadata structure.

Views / Diagnostics: - MFvwTableID – metadata diagnostics; include in Metadata Structure analysis.

Recommendation: treat minor utilities collectively to avoid table bloat; prioritize authoring Gap items tied to safety, data integrity, or core update correctness before cosmetic enhancements.

Next Actions

  1. Validate status accuracy; adjust any misclassified items.

  2. Create missing anchors (delta-only updates, alias maintenance, escalation script placeholder, complex ownership examples).

  3. Author Gap content (metadata drop/recreate safety, email sent log, checksum/file metadata access, escalation script, complex ownership).

  4. Merge summarized mapping into functional overview table via footnotes or hover tooltips (future enhancement).

  5. Reassess remaining External items; either keep or integrate if they gain deep-dive coverage.

End of Mapping