Admin Workflow
This page is for website admins who maintain the PV Cell and PV Module datasets.
The public site reads generated files in data/, but the preferred admin workflow is to manage records as txt files and optionally CSV files.
Folder Layout
Store source records under the matching institution category and owner:
cellData/
Research/
<Owner>/
YYYY__record-id__record-label.txt
Academic research Institution/
<Owner>/
YYYY__record-id__record-label.txt
Industrial Institution/
<Owner>/
YYYY__record-id__record-label.txt
moduleData/
Research/
<Owner>/
YYYY__record-id__record-label.txt
Academic research Institution/
<Owner>/
YYYY__record-id__record-label.txt
Industrial Institution/
<Owner>/
YYYY__record-id__record-label.txt
Template files live under _TEMPLATE_CATEGORY and are ignored by the build tools.
Txt Record Order
Every cell and module txt file starts with these fields in exactly this order:
id:
label:
year:
efficiency:
chemistry:
stackChemistry:
electrodeChemistry:
type:
institution:
institutionType:
recordConfidence:
measurementCondition:
areaBasis:
certificationStatus:
certificationQuery:
certificateSubmission:
testEnvironment:
testCentre:
fabricatedCountry:
geographicCountry:
geographicLocation:
geographicBasis:
geographicSourceUrl:
authors:
title:
summary:
paperUrl:
doi:
referenceCode:
recordDate:
voc:
jsc:
ff:
area:
suns:
Module records then append these module-specific fields:
model:
pmax:
vmp:
imp:
isc:
dimensions:
weight:
cellCount:
manufacturerUrl:
specSheetUrl:
sourceUrl:
efficiencyBasis:
productStatus:
stackElements:
electrodeElements:
exactStackCompounds:
representativeStackCompounds:
exactElectrodeCompounds:
representativeElectrodeCompounds:
chemistryEvidenceLevel:
chemistrySourceUrl:
Use comma-separated chemical symbols in stackElements and electrodeElements
(for example, Si, O, Ag). These validated fields control the highlighted elements in a module record's periodic table.
Use semicolons between structured compounds so notation such as Cu(In,Ga)Se2 remains intact.
PowerShell Commands
Run these from the pv-cell-efficiency-site folder:
powershell -ExecutionPolicy Bypass -File .\tools\seed-txt-records-from-js.ps1 -CleanExisting -OverwriteExisting
powershell -ExecutionPolicy Bypass -File .\tools\build-record-data.ps1
powershell -ExecutionPolicy Bypass -File .\tools\sync-records-csv.ps1 -Mode Export -Dataset All
powershell -ExecutionPolicy Bypass -File .\tools\sync-records-csv.ps1 -Mode Import -Dataset All
Use this when you want the full maintenance sequence on the clipboard.
CSV import now triggers the build automatically, so the generated website data files are rebuilt as part of the import step.
Validation Rules
The tools currently validate:
- required fields are present
- field order inside each txt file is exact
- filename year, id, and label slug match the contents
- category folder matches
institutionType paperUrlis an absolutehttporhttpsURLdoi, if present, looks like a DOIauthors, if present, should be stored as a semicolon-separated list in citation order- duplicate record
idvalues are blocked - duplicate
year + labelcombinations are blocked
Bulk Editing
Use CSV export when an admin wants to bulk-edit records in Excel or another spreadsheet tool. The CSV files are written to:
cellData/_exports/cell-records.csvmoduleData/_exports/module-records.csv
After editing a CSV, import it back with the CSV import command. The txt files are updated and the generated JS data files are rebuilt automatically.
Sample Record Pack
A starter pack is included for new admins under the ignored sample folders below. These files are not used by the live build because the folder name starts with an underscore.
cellData/_SAMPLE_PACK/moduleData/_SAMPLE_PACK/
Each sample pack includes example owner folders inside all three institution categories so a new owner can duplicate the closest example and edit it.
Chemistry Dictionary Management
The PV Paper Analyzer now uses a local chemistry/material dictionary snapshot during extraction. External sources are for enrichment jobs only; live paper extraction should not depend on them.
Upload CSV or JSON records for manual import mode. Imported entries are normalized into pending-review dictionary entries.
Pending dictionary entries
[]
Unknown material mentions
[]
Enrichment jobs
[]