-
Notifications
You must be signed in to change notification settings - Fork 0
Scanning and Inventory
This guide covers using the Digital Asset Inventory to view, filter, and report on assets across your site.
The inventory page (/admin/digital-asset-inventory) displays all digital assets discovered on your site.
- Uploads - PDFs, Word documents, images uploaded through Drupal
- Media - Assets uploaded through the Media Library
- Server files - Files added via FTP or SFTP (outside Drupal)
- External links - Google Docs, YouTube videos, and other external resources
| Column | Description |
|---|---|
| File Name | The name of the file or resource (links to the file URL) |
| Type | Asset type and category (e.g., PDF, Word, Google Doc) |
| Size | File size in human-readable format (KB, MB, GB), or "-" for external/remote assets |
| Location | How the asset was added (see below) |
| Active Usage | Number of content pages referencing this asset, plus orphan reference count |
| Location | Meaning |
|---|---|
| Upload | Uploaded through Drupal file managed system |
| Media | Uploaded through the Media Library (includes remote videos) |
| Server | Added directly to the files folder (FTP, SFTP) |
| External | Hosted on another website (Google, YouTube, etc.) |
Note about Remote Video Media: YouTube and Vimeo videos added via the Media Library's "Remote Video" media type appear as "Media" location type. These are tracked separately from YouTube/Vimeo URLs pasted directly in content (which appear as "External").
External assets are links to content hosted elsewhere. The inventory tracks these when they appear in your content:
- Google Docs, Sheets, Slides, Forms
- YouTube and Vimeo videos
- Dropbox, Box, OneDrive links
- Canvas, Panopto, and other education platforms
Filters help you find specific assets in large inventories.
Use the File Name text field to search for assets by name or URL. The search uses partial matching, so:
- Entering "report" finds "annual_report.pdf", "report_2024.docx", "budget-report.xlsx"
- Entering "2024" finds "report_2024.pdf", "2024-budget.xlsx", "meeting-notes-2024.docx"
- Entering "docs.google.com" finds Google Docs, Sheets, and other Google Workspace assets
- Entering "youtube" finds YouTube video assets
The search is case-insensitive, so "Report" and "report" return the same results.
This filter searches both the file name and the file URL, making it easy to find external assets by their URL.
Use the Filter by Type dropdown to show only certain kinds of files:
- Documents - PDF, Word, Excel, PowerPoint, Text, CSV
- Videos - MP4, WebM, MOV, AVI
- Audio - MP3, WAV, M4A, OGG
- Images - JPG, PNG, GIF, SVG, WebP
- Google Workspace - Google Docs, Sheets, Slides, Drive, Forms, Sites
- Document Services - DocuSign, Box, Dropbox, OneDrive, SharePoint, Adobe Acrobat
- Forms & Surveys - Qualtrics, Microsoft Forms, SurveyMonkey, Typeform
- Education Platforms - Canvas, Panopto, Kaltura
- Embedded Media - YouTube, Vimeo, Zoom recordings, SlideShare, Prezi, Issuu, Canva
- Other - Compressed files, unrecognized formats
You can also select specific types (e.g., "PDF" instead of all "Documents").
Use the Filter by Location dropdown to filter by how assets were added:
- Upload Only - Standard Drupal uploads
- Media Only - Media Library uploads
- Server Only - FTP/SFTP uploads
- External Only - External URLs and embedded content
Use the Usage Status dropdown to filter assets by how they are referenced:
- In Use - Assets referenced in reachable content (pages, blocks, menus)
- Has Orphan References - Assets referenced by orphan content entities (paragraphs no longer attached to any active page). This is an inclusive filter — it shows any asset with orphan references, including those also in use. When an asset has both active usage and orphan references, both are shown in the "Active Usage" column.
- Not In Use - Assets with no active usage and no orphan references (truly unused)
What are orphan references? When a paragraph entity is edited or restructured, old paragraph revisions can remain in the database even though they're no longer attached to any active content. If those orphan paragraphs reference files, those references are "orphan references" — they don't count as active usage, but the module tracks them for visibility.
This is helpful for identifying unused files that may need cleanup and understanding why some files appear to have references that don't correspond to any visible content.
Use the File Storage dropdown to filter by where files are stored:
- Public Files Only - Files accessible without login
- Private Files Only - Files requiring authentication
You can use multiple filters together. For example:
- Search for "budget" + filter by Documents + In Use = No (find unused budget documents)
- Search for "report" + filter by PDF (find all PDF reports)
- Filter by External + Google Workspace (find all Google Docs, Sheets, Slides)
- Filter by Private Files Only + Videos (find all private video files)
An asset is considered "in use" when:
- It's referenced in a content field (file field, media field)
- It's embedded in text content (CKEditor)
- It's linked in the body of a page
- It's displayed via an inline
<img>tag in text content - It's embedded via a legacy
<object>or<embed>tag - It's linked from a navigation menu
Click on the Active Usage count to see a detailed usage page for the asset. The usage page has two tabs:
- Active Usage (default) - Shows content that currently references this asset
- Orphan References - Shows references from orphan content entities (paragraphs no longer attached to active content). These don't count as active usage.
If an asset shows "No active usage" with an orphan reference count in the Active Usage column, clicking the orphan reference link takes you directly to the Orphan References tab.
At the top of the usage page, you'll see an info box displaying:
- Asset name (for media files: media title with filename in parentheses)
- File type, size, location, and file access separated by
|dividers - File access shows "Public (Accessible to anyone without logging in)" or "Private (Accessible only to logged-in or authorized users)"
- File URL as a clickable link
The table shows all content that references this asset with these columns:
| Column | Description |
|---|---|
| Used On | Title of the page/content with a link to view it |
| Item Type | The entity type (Node, Media, Block, etc.) |
| Item Category | The content type or bundle (Page, Article, etc.) |
| Section | The field label where the asset appears (e.g., "Hero Image") |
| Required Field | Whether the field is required on that content type |
Additional Columns for Images:
| Column | Description |
|---|---|
| Alt Text | Status of alt text for the image in this usage context (shows source: "from media", "content override", or "inline image") |
Embed Type Column (All Asset Types):
| Column | Description |
|---|---|
| Embed Type | How the asset is embedded in content (see table below) |
The Embed Type column appears for all asset types (documents, images, videos, audio, external assets) and shows how each asset is referenced:
| Embed Type | Meaning |
|---|---|
| Media Embed | Embedded via CKEditor's media button (<drupal-media>) |
| Field Reference | Referenced via an entity reference or file field |
| HTML5 Video | Raw <video> tag in content |
| HTML5 Audio | Raw <audio> tag in content |
| Text Link | Hyperlink (<a href>) to the file in text content |
| Inline Image | Inline <img> tag in text content (not via Media Library) |
| Object Embed | Legacy <object> tag in text content |
| Embed Element | Legacy <embed> tag in text content |
| Text URL | External URL found in text content |
| Link Field | URL from a Link field |
| Menu Link | Link in a navigation menu |
Additional Columns for Video and Audio:
| Column | Description |
|---|---|
| Controls | Whether player controls are present: Yes, No, Unknown, or — (not applicable) |
| Captions | Whether captions/subtitles are available: Yes, No, Unknown, or — (not applicable) |
| Transcript | Whether a transcript link is nearby: Yes, No, Unknown, or — (not applicable) |
A "Return to Inventory" button appears at the bottom to return to the main inventory.
Understanding usage is important because:
- Archiving may require zero usage - By default, you cannot archive a file that's still referenced in content. However, if "Allow Archive In Use" is enabled in settings, documents and videos can be archived while still in use (links automatically route to the Archive Detail Page).
- Deletion affects linked content - Deleting a used file breaks links on those pages
- Audit reports need context - Knowing where assets appear helps compliance reviews
- Navigate to
/admin/digital-asset-inventory - Apply any filters you want (optional)
- Click the Export Asset Inventory (CSV) button
- Save the file to your computer
The CSV export includes:
- File Name
- File URL
- Asset Type
- Category
- MIME Type
- Location
- File Size
- Active Use Detected
- Used In
The CSV file opens in Excel, Google Sheets, or other spreadsheet applications.
Common uses:
- Accessibility audits - Review documents for accessibility compliance
- Content inventory - Catalog all files for migration or cleanup
- Usage analysis - Identify unused files for potential removal
The dashboard (/admin/digital-asset-inventory/dashboard) provides a visual overview of inventory health using interactive charts with accessible table fallbacks.
| Section | What It Shows |
|---|---|
| Summary Bar | Key stats: Total Assets, In Use, Unused, and Archived (when archiving is enabled) |
| Inventory Overview | Assets by Category (horizontal bar chart) and Usage Status (doughnut chart) |
| Location & Top Assets | Assets by Location (pie chart) and Top Assets by Usage (table of the 10 most-referenced assets) |
| Archive Status | Archive Status (pie chart), Archive Type (horizontal bar chart), and Archive Purpose (doughnut chart). Only visible when archiving is enabled. |
Each chart section includes a toggle button that lets you switch between the chart view and a data table view. This is useful for:
- Users who prefer tabular data
- Keyboard-only navigation
- Screen reader users who want direct access to the underlying data
The toggle button appears after a chart loads successfully. Click "Show data table" to see the table, and "Show chart" to switch back.
- All charts include accessible data tables rendered in the page (not hidden in
<noscript>) - Charts use a colorblind-safe gray-blue sequential palette
- Animations are disabled when the user prefers reduced motion
- Each chart section has proper ARIA labeling (
role="img",aria-label,aria-describedby) - Toggle buttons use
aria-pressedstate for screen reader context - Tables are responsive on mobile — they switch to a stacked card layout with labeled rows
The dashboard adapts to different screen sizes:
- Tablet (1024px): Archive 3-column grid becomes 2 columns
- Mobile (768px): All chart grids become single column; summary bar becomes 2 columns; tables use stacked layout
- Phone (480px): Summary cards become single column
This documentation is part of the Digital Asset Inventory module. For feedback or updates, please open an issue in the main repository.