Tanolis SharePoint Architecture — Compliance & Package Management (Phase 1)

1. Overview

This document defines the initial architecture for managing compliance records in SharePoint using a metadata-driven and relationship-based model.

The goal is to:

  • Avoid folder-based organization
  • Enable cross-library document relationships
  • Build a scalable foundation aligned with future SaaS development

This phase focuses on data structure and usability, without automation or Power Apps.


2. Core Design Principles

2.1 Metadata-Driven Architecture

Documents are classified using structured metadata rather than folders.

2.2 Separation of Concerns

  • Data Layer → IDs, relationships
  • UI Layer → links, navigation

2.3 No Duplication

Documents remain in their original libraries and are referenced, not copied.

2.4 SaaS Alignment

Design uses:

  • ID-based relationships
  • Cross-entity linking
  • Portable structure (future Dataverse/SQL)

3. Library Structure

The system uses multiple specialized libraries:

Compliance Documents

  • SWaM Certification
  • Licenses and regulatory records

Tax & Legal

  • EIN Letter
  • Tax filings
  • Legal documents

Financial

  • Invoices
  • Financial records

Corporate Governance

  • Organizational documents

All libraries inherit from a base content type:
Corporate Record


4. Metadata Model

4.1 Key Metadata Fields

FieldPurpose
Governance TypeWhy the document exists
Record CategoryFunctional classification
Record PhaseLifecycle stage
Record StatusCurrent state
AgencyIssuing authority
Effective DateStart date
Expiration DateEnd date
Responsible OwnerOwnership

4.2 Record Category Standardization

Used across all libraries:

  • Identity → EIN, formation docs
  • Filing → Tax filings, reports
  • Registration → Certifications (e.g., SWaM)
  • Reference → Supporting documents

5. Package Relationship Model

5.1 Concept

A Package represents a logical grouping of documents related to a compliance record.

Example:
SWaM Certification Package includes:

  • SWaM Certificate (Primary)
  • EIN Letter
  • Tax Filings
  • Supporting documents

5.2 Implementation (Record Package Items List)

A separate list is used to store relationships:

List Name: Record Package Items

Each row represents a relationship.


5.3 Key Columns

ColumnPurpose
PackageIdUnique package identifier
PrimaryRecordIdID of main record
PrimaryRecordLibrarySource library of main record
RelatedItemIdID of related document
RelatedItemLibrarySource library of related document
RelatedItemUrlLink to document
PackageRolePrimary / Supporting
PackageStatusDraft / Final

5.4 PackageId Format

TENANT-TYPE-YEAR-SEQ

Example:

TANOLIS-SWAM-2026-001

6. Example: SWaM Compliance Package

Primary Record

  • SWaM Certification (Compliance Library)

Supporting Records

  • EIN Letter (Tax & Legal)
  • Tax Filing 2023
  • Tax Filing 2022
  • Tax Filing 2021

7. Views for Package Visualization

7.1 By Package View

  • Group by: PackageId
  • Shows all related records together

7.2 By Primary Record View

  • Filter: PrimaryRecordId
  • Groups packages per compliance record

8. Navigation (PackageInfo Column)

A hyperlink column is used in Compliance library:

PackageInfo

This links to a filtered view of the package:

/Lists/Record Package Items/AllItems.aspx
?FilterField1=PackageId
&FilterValue1=TANOLIS-SWAM-2026-001
&FilterType1=Text

This allows users to:

  • Open a compliance record
  • Click PackageInfo
  • View all related documents instantly

9. Important Design Decisions

9.1 Separate PackageId and PackageInfo

ColumnRole
PackageIdData / relationship key
PackageInfoUI / navigation

This ensures:

  • Reliable filtering
  • Power Apps compatibility
  • Future SaaS migration

9.2 Use SharePoint IDs

  • No custom ID columns created
  • Built-in ID used for relationships
  • Combined with library name for uniqueness

10. Current Capabilities

The system now supports:

  • Cross-library document grouping
  • Metadata-driven classification
  • Package-based navigation
  • No duplication of files
  • Scalable relational model

11. Limitations (Intentional for Phase 1)

  • PackageId manually created
  • PackageInfo manually maintained
  • No automation
  • No custom UI
  • Filtering relies on SharePoint views

12. Next Phase (Not Implemented Yet)

Future enhancements:

  • Power Apps UI (package builder and viewer)
  • Automatic PackageId generation
  • Auto-linking of PackageInfo
  • Validation and governance workflows
  • Migration to Dataverse / API layer

13. Summary

This architecture replaces traditional folder-based document management with:

  • Metadata-driven classification
  • Relationship-based grouping
  • Lightweight navigation layer

It provides a strong foundation for evolving into a:

SaaS-based compliance and records management platform

FavoriteLoadingAdd to favorites

Author: Shahzad Khan

Software Developer / Architect

Leave a Reply