Import & Export¶
Introduced in v1.1.0.
Import/Export lets you download wizard steps as JSON and upload them back later. This enables:
- Collaboration with content writers, translators, and other admins
- Version control (commit JSON to git, track changes over time)
- Multi-instance deployment (configure once, deploy everywhere)
- Backups before making major changes
Exporting Wizard Steps¶
How to Export¶
- Select the language to export from the language dropdown
- Click the ๐ฅ Export button at the top of the steps list
- A JSON file downloads automatically
Filename format: introvox-steps-{language}-{timestamp}.json
Example: Exporting English on Jan 15, 2025 produces introvox-steps-en-2025-01-15-143022.json.
What's Included¶
- All wizard steps for the selected language
- Step IDs, titles, HTML text content
- CSS selectors (
attachTo) and positions - Enabled/disabled status
- Step order
- Group visibility (
visibleToGroups)
Importing Wizard Steps¶
How to Import¶
- Select the target language from the language dropdown
- Click the ๐ค Import button
- Pick a JSON file from your computer
- You'll see a success message: "Successfully imported X steps for language Y"
Important Notes¶
- โ ๏ธ Import replaces all existing steps for that language
- โ Only the selected language is affected โ safe for multi-language setups
- โ The JSON is validated before applying
- ๐พ Auto-saves โ changes are immediately active after a successful import
Validation¶
The import validates:
- JSON syntax is correct
- Required fields are present (
id,title,text) - Data types match
- No duplicate step IDs within the file
Error Messages¶
If import fails you'll see a specific error:
Error importing steps: Invalid JSON formatError importing steps: Missing required field 'id' in step 3Error importing steps: {specific error}
JSON File Structure¶
[
{
"id": "welcome",
"title": "๐ Welcome to Nextcloud",
"text": "<p>Nice to have you here!</p>",
"attachTo": "",
"position": "right",
"enabled": true,
"visibleToGroups": []
},
{
"id": "files",
"title": "๐ Files",
"text": "<p>Manage your files here.</p>",
"attachTo": "[data-id=\"files\"]",
"position": "right",
"enabled": true,
"visibleToGroups": []
},
{
"id": "admin-panel",
"title": "โ๏ธ Admin Panel",
"text": "<p>Configure your Nextcloud instance here.</p>",
"attachTo": "[data-id=\"settings\"]",
"position": "right",
"enabled": true,
"visibleToGroups": ["admin", "Administrators"]
}
]
Field notes:
attachTo: ""โ centered step (no element highlight)visibleToGroups: []โ visible to all usersvisibleToGroups: ["group1", "group2"]โ visible only to users in at least one of these groups
Workflows¶
Content Creator Collaboration¶
- Admin exports current English steps
- Admin sends
introvox-steps-en-2025-01-15.jsonto the content writer - Content writer opens the JSON in a text editor, edits titles and descriptions, saves as
introvox-steps-en-updated.json - Admin imports the updated file
- Admin tests, then exports again for version control
Translator Collaboration¶
- Admin exports English steps as the source
- Admin sends the JSON to a translator
- Translator edits only the
titleandtextfields, returns the file - Admin selects the target language, imports the file
- Admin enables the language in Available languages
Multi-Instance Deployment¶
- Admin configures wizard on a development/staging instance
- Admin exports all languages (one file per language)
- Admin imports them on the production instance
- Consistent user experience across all environments
Version Control¶
- Commit exported JSON to a git repository
- Track changes over time
- Roll back if a configuration breaks
- Share configurations as pull requests
See Also¶
- Managing Wizard Steps โ Step CRUD
- Group-Based Visibility โ
visibleToGroupsfield - Best Practices โ Back up before major changes