BarakoCMS.Import
0.1.5
See the version list below for details.
dotnet add package BarakoCMS.Import --version 0.1.5
NuGet\Install-Package BarakoCMS.Import -Version 0.1.5
<PackageReference Include="BarakoCMS.Import" Version="0.1.5" />
<PackageVersion Include="BarakoCMS.Import" Version="0.1.5" />
<PackageReference Include="BarakoCMS.Import" />
paket add BarakoCMS.Import --version 0.1.5
#r "nuget: BarakoCMS.Import, 0.1.5"
#:package BarakoCMS.Import@0.1.5
#addin nuget:?package=BarakoCMS.Import&version=0.1.5
#tool nuget:?package=BarakoCMS.Import&version=0.1.5
<div align="center"> <img src="https://raw.githubusercontent.com/BaryoDev/barakoCMS/master/assets/icon.png" width="96" height="96" alt="BarakoCMS.Import logo" /> <h1>BarakoCMS.Import</h1> <p><em>Optional bulk-import module for barakoCMS — .xlsx & CSV into content.</em></p> </div>
A drop-in module for barakoCMS that turns spreadsheet
uploads into content. It parses .xlsx/CSV with the zero-dependency
Talaan reader, then bulk-creates content items through the
CMS's own validation, permissions, and event-sourcing.
Enable it
builder.Services.AddBarakoCMS(builder.Configuration, modules =>
{
modules.Add(new BarakoCMS.Import.ImportModule());
});
No services or schema to configure — the module only contributes endpoints.
The two-step flow
Analyze —
POST /api/import/analyze(multipart file upload). Returns a typed preview grid (rows × columns, each cell taggedText/Number/Date/Boolean) plus a suggested header row. Nothing is stored. A UI uses this to let the user map columns to content fields.Create —
POST /api/import/content(JSON):{ "contentType": "member", "records": [ { "FirstName": "Dindo", "LastName": "Abantao", "MemberNo": "3322657" } ], "continueOnError": false }Every record is validated against the content type first. With
continueOnError: false(default), a single invalid row aborts the whole import and returns per-row errors — nothing is written. Otherwise valid rows are created and failures reported. All creates commit in one transaction.
Why split analyze from create
The mapping and any cleanup (skipping title/section rows, formatting numbers, choosing which columns matter) happen in your UI between the two calls. The module stays generic: it parses, and it creates validated content — it does not hard-code any particular spreadsheet's shape.
Authorization
analyze requires an authenticated user. content is gated by the target content type's own
create permission (via the CMS permission resolver) — so a role that can create member content
can import members, and nothing else.
Requires
barakoCMS ≥ 2.2.0 and Talaan. Targets .NET 8.
License
MPL-2.0 © BaryoDev
If barakoCMS is useful to you, a star on the repository helps other people find it.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- AspNetCore.HealthChecks.Npgsql (>= 8.0.2)
- AspNetCore.HealthChecks.System (>= 9.0.0)
- AspNetCore.HealthChecks.UI (>= 8.0.2)
- AspNetCore.HealthChecks.UI.Client (>= 8.0.1)
- AspNetCore.HealthChecks.UI.InMemory.Storage (>= 8.0.1)
- BarakoCMS (>= 3.21.0)
- BCrypt.Net-Next (>= 4.2.0)
- FastEndpoints (>= 5.21.2)
- FastEndpoints.Security (>= 5.21.2)
- FastEndpoints.Swagger (>= 5.21.2)
- IdentityModel (>= 7.0.0)
- KubernetesClient (>= 18.0.13)
- Marten (>= 8.37.4)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.Extensions.Http.Resilience (>= 10.9.0)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.22.0)
- Otp.NET (>= 1.4.1)
- prometheus-net.AspNetCore (>= 8.2.1)
- Serilog.AspNetCore (>= 10.0.0)
- Serilog.Sinks.Console (>= 6.1.1)
- Serilog.Sinks.File (>= 7.0.0)
- System.IdentityModel.Tokens.Jwt (>= 8.22.0)
- Talaan (>= 0.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.7.1 | 87 | 10/25/2026 |
| 4.7.0 | 89 | 10/23/2026 |
| 4.5.0 | 89 | 10/14/2026 |
| 4.4.3 | 96 | 10/12/2026 |
| 4.4.2 | 92 | 10/11/2026 |
| 4.4.1 | 100 | 10/4/2026 |
| 4.4.0 | 101 | 9/29/2026 |
| 4.3.0 | 110 | 9/21/2026 |
| 4.1.1 | 111 | 9/18/2026 |
| 4.0.1 | 109 | 9/12/2026 |
| 4.0.0 | 137 | 9/7/2026 |
| 0.1.5 | 131 | 8/20/2026 |
| 0.1.3 | 131 | 8/15/2026 |
| 0.1.2 | 203 | 8/3/2026 |
| 0.1.1 | 141 | 7/21/2026 |
| 0.1.0 | 114 | 7/15/2026 |