Skip to main content

Manage files in the StructScan library

StructScan used to be fire-and-forget: you uploaded a file, read the analysis, and the moment you navigated away there was no way back. The file library changes that. /structscan is now a persistent, org-wide list of every uploaded file — each row carrying its quality score, profile status, and breadcrumbs to the MapCraft projects it feeds — and every analysis lives at a stable URL you can bookmark and share.

This page covers what's new on top of the StructScan walkthrough; the profiling analysis itself is unchanged.

By the end of this page you will have:

  • Uploaded a file from the library and landed on its permanent analysis page.
  • Revisited an earlier analysis without re-uploading anything.
  • Read a library row: quality badge, file metadata, and the Mine filter.
  • Profiled a file that was uploaded but never analyzed.
  • Jumped from a file to the MapCraft projects mapped from it — and back.
You'll need
  • Access to a DataChord workspace (signed in).
  • A data file to upload — .csv, .json, or .xml (the walkthrough's customer_orders.csv works perfectly).

Step 1 — Open the library

Navigate to /structscan. Instead of the old single-shot upload screen you get the library: a header reading "Your data files — profile structure & quality, then map them", an Upload File button, and a row per file already in your workspace.

The list is org-wide — you see your teammates' files too. Click Mine (N) to filter to files you uploaded; the same button flips to All files (N) to switch back.


Step 2 — Upload a file

  1. Click Upload File. A drop zone unfolds below the header (the button becomes Close — the zone is collapsible, not a separate page).
  2. Drop or pick your file. Accepted types: .csv, .json, .xml.
  3. StructScan shows "Uploading and starting profiling…", then "Analyzing your data…" while the profiler runs.
  4. When profiling completes you are redirected to the file's stable analysis page at /structscan/{fileId}.

That URL is permanent. Bookmark it, paste it in a ticket, send it to a teammate — it reopens the same analysis workspace every time, no re-profiling needed.


Step 3 — Read a library row

Each row packs the at-a-glance state of one file:

ElementMeaning
File name + Mine badgeThe badge appears on files you uploaded.
Metadata linetype · size · N rows · uploader · when (row count appears once profiled).
Quality badge (number)The 0–100 data-quality score: green ≥ 80, amber ≥ 50, red below. Hover it — the tooltip explains the blend of completeness, consistency, and uniqueness.
Not analyzed badgeUploaded but never profiled — see Step 4.
Project buttonsUp to two MapCraft projects mapped from this file (+N overflow), each a deep-link.
Start mappingProfiled but not yet mapped — creates a MapCraft project pre-loaded with this profile.

Clicking anywhere on the row's name/metadata area opens the analysis page.


Step 4 — Analyze a file that was never profiled

Files can land in the library without a profile (an upload whose profiling run failed, for instance). These rows show a Not analyzed badge and an Analyze button.

  1. Click Analyze (or open the row). The detail page says "This file hasn't been analyzed yet — run a profile to see its structure, quality, and insights."
  2. Click Run analysis. The page polls until profiling finishes, then swaps in the full analysis workspace.

If the run fails, the error message appears in place and Run analysis stays available for a retry.


Step 5 — Jump between files and mappings

The library closes the loop with MapCraft in both directions:

  • File → mapping: rows (and the analysis page header, under "Mapped in") show a button per linked MapCraft project. One click puts you in that project's canvas.
  • File → new mapping: on a profiled-but-unmapped file, Start mapping opens the new-project flow with the file's profile already attached as the source.
  • Mapping → file: projects created this way stay linked, so the next time anyone views the file they can see where its data went.

Verify

The library is working end-to-end if:

CheckWhere to look
Upload redirects to a stable URLAfter profiling, the address bar reads /structscan/{fileId}; reloading that URL reopens the analysis.
The new file appears in the libraryBack at /structscan, the row shows your file with a quality badge and the Mine badge.
Mine filtering worksToggling Mine (N) hides teammates' files; the count matches your uploads.
Project links round-tripStart mapping creates a project; returning to the library shows that project's button on the file's row.

Troubleshooting

The row says "Not analyzed" even though I uploaded it just fine. Upload and profiling are separate steps — the profile run may have failed after the upload persisted. Open the row and click Run analysis.

"Profiling failed. Try again." The profiler errored on the file's content. Check the file parses as its extension claims (valid JSON, well-formed XML, consistent CSV delimiter) and re-run — the error message above the Run analysis button carries the specific cause when one is available.

The quality badge shows "—". The profile completed but no quality score was computed for this file type. The analysis workspace still shows structure and field-level detail.


What's next