Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Resource Attestation Manager

Quality Gate Status

Overview

The Resource Attestation Manager is a comprehensive SharePoint Framework (SPFx) web part designed to streamline resource tracking and attestation for project teams and departments. It acts as a central hub for viewing resource status, assigning ownership, and managing assets.

Resource Dashboard

Functional Use Case

This solution is tailored for teams that need to maintain an up-to-date inventory of resources (hardware, software, access rights, etc.) and ensure regular validation by their respective owners.

Key Workflows

  1. Status Monitoring:
    • A visual dashboard provides an instant health check of all resources.
    • Statuses are color-coded using theme colors: Overdue (Red), Urgent (Orange), and Up to Date (Green).
  2. Resource Categorization:
    • Resources are automatically grouped by category (e.g., "Laptops", "Licenses") with dynamic counts displayed on the dashboard.
  3. Owner Management:
    • Create new resources and assign them to specific SharePoint users via the integrated People Picker.
    • Role-Based Views: Regular members see only their own resources ("My Resources"), while Admins manage the full inventory.

Architecture: Attestation Process

Since standard users (Members) often have Read-Only access to the master inventory list to prevent accidental deletions, the attestation flow is designed to be secure:

  1. Read-Only Access: Members cannot directly edit the "Last Attested" date in the main list.

  2. Attestation History list (Audit Trail):

    • Instead of modifying the main list directly, attestations are written to a separate History List.
    • Duplicate Check: If a resource already has a pending attestation (Status found in History List), the system blocks duplicate submissions.
    • Power Automate Integration: A flow triggers on new items in the History List to update the main inventory.

    Power Automate Flow Logic

    To complete the cycle, create a Flow with the following steps:

    1. Trigger: "When an item is created" (in the History List).
    2. Action: "Update item" (in the Main Resource List):
      • Matches the Item ID using the Resource ID from the history item.
      • Sets Status to "Up to Date" (or your configured Attested Status).
      • Sets "Last Attested" date to utcNow().
    3. Action: "Update item" (in the History List):
      • Sets the History Status to "Completed" (to resolve the Pending state).

Features

1. comprehensive Resource Inventory

  • Centralized List: View all resources in a clean, responsive detailed list.
  • Advanced Filtering: Real-time search by Title, Owner, Status, or Category.
  • Sorting & Pagination: Sort by any column and handle large datasets with configurable pagination (5-50 items per page).
  • Smart Grouping: Automatically groups resources by category for better organization.

2. Attestation & Compliance Workflow

  • One-Click Attestation: "Attest" action with a modern confirmation dialog.
  • Audit History: All attestations are logged to a separate History List for security and audit trails.
  • Duplicate Prevention: Intelligent logic prevents users from submitting multiple attestations if one is already pending.
  • Visual Status Indicators: Instant visual feedback for attested (Green), Overdue (Red/Warning), or Pending items.

3. Lifecycle Management (Soft Delete)

  • Soft Delete: Mark items as deleted without permanently removing them from SharePoint.
  • Recovery View: Toggle "Show Deleted Requests" to view and audit deleted items.
  • Safety First: Confirmation dialogs for delete actions to prevent accidental data loss.

4. Admin vs. User Views (RBAC)

  • Admin Role: Full visibility of all resources and ability to Add New Resources.
  • Member Role: Restricted view showing only resources owned by the current user.
  • Secure: UI elements (like the "Add" button) are hidden based on permissions.

5. Extensive Customization

  • Typography: Granular control over font sizes for Headers, Rows, Titles, and Cards.
  • Color Coding: specific color pickers and opacity sliders for Alert, Warning, and Attested statuses.
  • Configurable Columns: Map every field (Status, Owner, History, etc.) to your specific SharePoint List internal names.

Configuration

General Settings

Property Type Description
Web Part Title Text The main heading displayed on the web part.
Description Text A sub-heading or instructional text.
Center Card Text Toggle If ON, center-aligns the text in statistics cards.
Title Font Size Slider (10-40px) Adjusts the size of the Web Part Title.
Description Font Size Slider (8-20px) Adjusts the size of the Description text.
Card Label Font Size Slider (10-24px) Controls the size of labels like "Total Resources".
Card Value Font Size Slider (12-48px) Controls the size of the numeric counts in cards.
Table Header Font Size Slider (8-20px) Adjusts the size of the table column headers.
Table Row Font Size Slider (8-20px) Adjusts the size of the text within the table rows.

Permissions Settings

Configure which SharePoint Groups map to the application roles.

Property Type Description
Admin Group Dropdown Members of this SharePoint Group have full access (Add/View All).
Member Group Dropdown Members of this SharePoint Group can only view their own items.

List & Column Configuration

Map the internal names of your SharePoint List columns to the Web Part fields:

Property Type Description
Select List Dropdown Choose the SharePoint List where resource data is stored.
Resource Name Column Dropdown (Text) The main title of the resource.
Owner Column Dropdown (Person) The user responsible for the resource.
Category Column Dropdown (Choice/Text) Used for grouping and dashboard cards.
Date Attested Column Dropdown (Date/Time) Used to calculate status.
Status Column Dropdown (Choice) The current status (e.g., Overdue, Up to Date).

Alert Configuration

Highlight critical statuses (like "Action Required") with a custom color.

Property Type Description
Alert Status Choice Dropdown Select the status value that should trigger an alert.
Alert Color Color Picker Choose the color to apply to cards and rows matching the Alert Status.

Warning Configuration

Highlight secondary statuses (like "Overdue") with a different custom color.

Property Type Description
Warning Status Choice Dropdown Select the status value that should trigger a warning.
Warning Color Color Picker Choose the color to apply to cards and rows matching the Warning Status.

Attestation History Configuration (New)

To maintain a secure audit trail, this solution writes attestation events to a separate SharePoint List.

Property Type Description
Select History List Dropdown The secondary list used to store history logs.
Resource ID Column Dropdown (Number/Text) Stores the ID of the attested resource.
Owner Column Dropdown (Person/Text) Stores who attested the resource.
Date Attested Column Dropdown (Date/Time) Stores when the attestation happened.
History Status Column Dropdown (Choice) Stores the workflow status ('Not Started', 'Completed'). Used for Duplicate Checks.

Soft Delete Configuration

instead of permanently deleting items, you can mark them as "Soft Deleted" to preserve data integrity.

Property Type Description
Soft Delete Column Dropdown (Choice/Yes/No) A column in the main list to mark items as deleted.
Show Deleted Requests Toggle Default visibility of deleted items in the dashboard.

Attested Configuration

Define the look and feel for resources that are in good standing.

Property Type Description
Attested Status Choice Dropdown The status value indicating a resource is valid (e.g., "Up to Date").
Attested Color Color Picker Green by default.
Attested Opacity Slider Background opacity percentage.

Alert Configuration

Installation

Prerequisites

  • Node.js (LTS version)
  • SharePoint Online tenant
  • @rushstack/heft globally installed

Steps

  1. Clone this repository:

    git clone <repository-url>
    cd ResourceAttestationManager
  2. Install dependencies:

    npm install
  3. Start the local workbench:

    heft start
  4. Deploy to SharePoint:

    heft build --production
    heft bundle --production
    heft package-solution --production
  5. Upload the .sppkg file from sharepoint/solution/ to your App Catalog.

Disclaimer

THIS CODE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages