01
Dashboard
The home screen opens a new operation, jumps to saved configurations, or opens history. Recent operations stay on the page, with status and a way through to the full list.
Desktop app · Sitefinity CMS
Your JSON-powered copilot for Sitefinity content management.
Sitefinity C-Pilot is a Windows desktop tool for Sitefinity developers. It loads structured JSON, maps it onto a Dynamic Module, compares it with live records, and creates, updates, or deletes content through the Sitefinity REST API.
Dashboard · Version 1.0.4
Overview
One operation connects to a Sitefinity module, reads a JSON file, maps fields, and shows what would change before anything is written. Execution then runs record by record, with a live log and a cancel control.
Interface
Use the sample interface. Switch screens, then try the connection test, field identity, sync modes, and comparison filters.
Dashboard
Product
Each step is a screen in the app. The sidebar also keeps Dashboard, New Operation, Saved Configurations, and Operation History within reach.
01
The home screen opens a new operation, jumps to saved configurations, or opens history. Recent operations stay on the page, with status and a way through to the full list.
02
Enter the Dynamic Module REST endpoint and test it. A successful test shows the module name, item count, and fields. Authentication can be None, Basic, Session / Cookie, or Access Key. Saving a connection stores the name, endpoint, and auth type only.
03
Upload a file or paste JSON. The parser walks nested objects and arrays, so the record list does not have to sit under a fixed property name. The screen shows whether the JSON is valid, how many records were found, and a field preview. Replacing the file clears the later wizard steps so they rebuild from the new document.
04
JSON properties map onto Sitefinity fields by exact name or case-insensitive match, and any row can be overridden by hand. Unmapped fields start ignored. One mapped field is marked as the identity, the key used to match JSON records with existing Sitefinity items.
05
Choose Create Only, Update Only, Create & Update, or Full Sync. Full Sync can remove Sitefinity records that are absent from the JSON, and it asks for an explicit deletion confirmation. Options cover skipping unchanged records, continuing after a single record fails, validating before execution, and case-sensitive comparison.
06
The app fetches existing Sitefinity records and classifies each source record: New, Modified, Unchanged, Delete, Missing, or Conflict. Filter the table, choose which rows to include, and open a detail drawer before the confirmation screen.
Workflow
The wizard progress bar follows this order on every step. Confirmation, execution, and results come after the comparison you can see above.
Endpoint, authentication, and a connection test.
A file or pasted JSON, with the record array detected.
Match JSON properties to module fields and set the identity.
Create only, update only, create and update, or full sync.
Classify each record against Sitefinity before anything is written.
Review the plan, including destructive actions, and name the operation.
Live progress, a per-record log, and cancel.
A filterable summary, CSV or JSON export, and save configuration.
Also in the app
The operation is the main path. These screens keep the setup, the history, and the files on the machine that runs the app.
List, run, or delete a saved sync setup. Field mappings and sync settings are stored with the configuration so the same module can be run again.
Past runs stay searchable, with status, counts, and a link to the record-level result.
The results screen filters the outcome table and saves a report through a file dialog.
Passwords, access keys, and session cookies are entered when you connect. They are not written to saved connections, settings, or logs. Session cookies are cleared on startup.
Preferences in the gear menu switches the theme immediately and keeps the choice for the next launch.
The SQLite database, logs, and settings live together in Documents\Sitefinity CPilot.
Architecture
The window is vanilla JavaScript. Parsing, mapping, comparison, and the Sitefinity calls run in the Electron main process. There is no separate web frontend.
Screens, wizard state, and the sidebar. The page talks to the main process through the preload bridge.
sitefinity-client, json-parser, field-mapper, comparison-engine, and sync-executor. Sync progress is pushed back to the window.
Connections, configurations, operations, and per-record results. The database file is cpilot.db in the data folder.
Test connection, fetch records with OData pagination, then create, update, or delete items. Calls are visible in DevTools.
Screens
Jump back to a screen in the demo. Each one is the same sample interface, not a screenshot.
Softasium-licensed Windows desktop
Sitefinity C-Pilot is a Windows desktop app. Startup checks the Softasium license service before the main window opens.
Requires Windows. Licensed through Softasium.
Sitefinity C-Pilot
Startup checks the Softasium license service before the main window opens. Comparison runs before any write, a running sync can be cancelled, and the results can be exported when the operation finishes.
Let's TalkWelcome to Sitefinity C-Pilot — your JSON-powered copilot for Sitefinity content management.
Figures below are sample data for this demo.
| Operation | Module | Status |
|---|---|---|
| Sample FAQs | faqs | Completed |
The full URL of the Dynamic Module REST API endpoint.
Connected
Module faqs
Total items 3
Upload a file or paste JSON. The record list can sit anywhere in the document.
Record array path: value
Valid JSON
Records 1
Map JSON properties to Sitefinity fields. Mark one mapped field as the identity.
| Sitefinity field | JSON property | Status | Ignore | Identity |
|---|---|---|---|---|
| Question | question | Auto | ||
| Answer | answer | Auto | ||
| Provider | Not mapped | Unmapped |
Choose what the operation is allowed to write.
Full Sync can remove Sitefinity records that are absent from the JSON. It asks for an explicit deletion confirmation.
Classify each source record before anything is written.
| Id | Action | |
|---|---|---|
| faq-1 | New | |
| faq-2 | Modified | |
| faq-3 | Unchanged | |
| faq-4 | Delete | |
| faq-5 | Missing | |
| faq-6 | Conflict |
List, run, or delete a saved sync setup. Field mappings and sync settings stay with the configuration.
| Name | Module | |
|---|---|---|
| Sample FAQs | faqs |
Past runs stay searchable, with status and a link to the record-level result.
| Operation | When | Status |
|---|---|---|
| Sample FAQs | Sample run | Completed |