Skip to content

Single List filter uses display name as URL path instead of resolving actual library URL #87

Description

@TheRealStriff

Description

When using the Single List filter, NovaPoint constructs the FolderServerRelativeUrl using the library display name entered by the user rather than resolving the library's actual URL.
Library display names and URL paths are not always identical, causing the CAML query to target the wrong path and fail.

Example

  • Site: https://[tenant-redacted].sharepoint.com/sites/[site-redacted]
  • Display name entered: "Project Documents"
  • Actual library URL: /sites/[site-redacted]/ProjectDocuments
  • URL constructed by NovaPoint: /sites/[site-redacted]/Project Documents

Steps to Reproduce

  1. Open Files and Items Report (ItemReport)
  2. Set Sites filter > Single Site URL
  3. Set Library filter > Single List > enter display name "Project Documents"
  4. Run solution

Expected Behaviour

NovaPoint resolves the library's actual RootFolder.ServerRelativeUrl
using the display name as a lookup key, then uses the resolved URL in the CAML query.

Actual Behaviour

The display name is used directly as the URL path, which fails whenever the display name differs from the URL (spaces, special characters,
libraries that have been renamed after creation, etc.).

This causes:
Exception: Value does not fall within the expected range. at SPOListItemCSOM.GetBatchAsync() at SPOTenantItemsCSOM.GetAsync()

Suggested Fix - two options

Option 1 (UI change): Update the input label from "Library/List name" to "Library/List URL" and document that users must enter the URL path (e.g. "ProjectDocuments") not the display name (e.g. "Project Documents").

Option 2 : Resolve the display name to the actual
RootFolder.ServerRelativeUrl via CSOM before building the CAML query, so users can continue entering the display name as shown in SharePoint.

Secondary Issue

The export crashes on malformed results and NovaPoint logs "COMPLETED" despite the failure - this is misleading:
[ItemReport] "Exception: Exception has been thrown by the target of an invocation." at DbHandlerSolution.ExportAllReports() [LoggerSolution] "COMPLETED: Solution has finished correctly!"

Environment

  • NovaPoint version: v0.15.1
  • Auth method: Delegated (interactive)
  • Windows: Windows 11

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions