Editions are point-in-time snapshots of your curriculum. Once created, an edition is immutableβchanges to your live curriculum don't affect existing editions. This enables reliable distribution while you continue developing new content.
Overview
Editions enable you to:
- Freeze content - Capture curriculum state at a specific moment
- Track history - Maintain a complete record of releases
- Distribute safely - Share immutable content with confidence
- Compare versions - See what changed between releases
- Support multiple releases - Maintain parallel versions for different years or audiences
When to Create an Edition
Create editions when:
- School year release - Ready to distribute for 2024-2025
- Major milestone - Completing a significant update
- Before experiments - Preserve working state before major changes
- Regulatory submission - Capture content for review processes
- Partner distribution - Share with external organizations
Creating an Edition
Steps to Create
- Navigate to your curriculum
- Click Editions in the toolbar
- Click New Edition
- Enter edition details:
- Name - Required, must be unique per curriculum (e.g., "2024-2025 Release")
- Description - Optional context about this release
- Changelog - Optional summary of changes since last edition
- Click Create Edition
Size Considerations
Editions can be created synchronously or asynchronously depending on size:
| Curriculum Size | Creation Mode | Wait Time |
|---|---|---|
| < 10,000 nodes | Synchronous | Seconds |
| >= 10,000 nodes | Background job | Minutes |
For large curricula, you'll receive an email when creation completes.
What Gets Captured
An edition snapshots everything:
| Content Type | Description |
|---|---|
| Content Nodes | All content with resolved attribute values |
| Translations | All locale translations |
| Alignments | Standards alignments |
| References | Cross-references between nodes |
| Routines | Instructional routine associations |
| Glossary Terms | Terms and their definitions |
| Glossary Usages | Which nodes use which terms |
| Assets | Asset usage references |
| Node Types | Structure definitions |
| Attribute Definitions | Attribute schemas |
Variant Inheritance Resolution
For variant curricula, editions resolve inheritance at snapshot time:
- Inherited content - Uses parent's values (resolved, not inherited)
- Overridden content - Uses variant's values
- Added content - Captured as-is
The resulting edition contains fully resolved contentβno inheritance references.
Viewing Editions
Edition List
Access all editions from your curriculum:
- Open the curriculum
- Click Editions in the toolbar
- View list sorted by creation date (newest first)
Each edition shows:
- Name and description
- Creation date
- Creator name
- Quick actions (view, compare, metadata)
Edition Viewer
Click an edition to view its frozen content:
Tree Navigation:
- Browse the content hierarchy
- Expand/collapse nodes
- Click to view content
Content Panel:
- Read-only view of selected node
- All attribute values as captured
- Associated metadata
Locale Selection:
- Switch between available translations
- View captured translation status
Edition Metadata
View detailed statistics for an edition:
| Metric | Description |
|---|---|
| Node Count | Total content nodes captured |
| Translation Count | Translation records included |
| Alignment Count | Standards alignments |
| Asset Usage Count | Asset references |
| Glossary Terms | Terms captured |
| Glossary Usages | Term-node associations |
| Reference Count | Cross-references |
| Routine Count | Instructional routine links |
| Locales | Captured language versions |
Access via the Metadata button in the edition viewer.
Comparing Editions
Compare editions to understand what changed between releases.
Comparison Types
Edition vs Edition:
Compare two historical editions to see evolution.
Edition vs Current:
Compare an edition against live (draft) content to see pending changes.
Starting a Comparison
- Click Compare in the editions list
- Select base edition (the "before")
- Select target:
- Another edition (the "after")
- Current Draft (live content)
- View the diff
Understanding the Diff
Changes are categorized as:
| Category | Badge | Meaning |
|---|---|---|
| Added | Green | New nodes in target |
| Removed | Red | Nodes deleted from base |
| Modified | Amber | Content changed |
| Unchanged | Gray | No differences |
Diff Details
For modified nodes, view:
- Which attributes changed
- Base (before) values
- Target (after) values
- Side-by-side comparison
Use Cases for Comparison
Pre-release review:
Current Draft vs Last Edition
β "What am I about to release?"
Historical analysis:
2023 Edition vs 2024 Edition
β "What changed year-over-year?"
Change validation:
Before major edit vs After major edit
β "Did I break anything?"
Edition Immutability
Editions are designed to be permanent and unchangeable.
What Cannot Change
After creation, these are frozen:
- Edition name
- Description and changelog
- All content snapshots
- Associated data
What Can Change
Only aggregate metadata (counts) can be updated if needed.
Why Immutability Matters
- Trust - Recipients know content won't change
- Compliance - Regulatory submissions remain valid
- Debugging - Historical issues can be reproduced
- Distribution - Synced content stays consistent
Deleting Editions
Admins can delete editions entirely, but they cannot be modified. Deletion is irreversible and removes all snapshot data.
Edition Architecture
How Snapshots Work
Editions use separate snapshot tables:
Edition
βββ edition_content_nodes
βββ edition_translations
βββ edition_alignments
βββ edition_asset_usages
βββ edition_glossary_terms
βββ edition_glossary_usages
βββ edition_references
βββ edition_routines
βββ edition_node_types
βββ edition_attribute_definitions
Each snapshot table stores:
- source_*_id - Reference to original record
- Captured data at snapshot time
- Edition association
Why Separate Tables?
- Immutability - Isolation from live content changes
- Performance - Optimized for read-only access
- History - Multiple editions coexist independently
- Distribution - Clean export boundaries
Working with Large Editions
Background Creation
For curricula with 10,000+ nodes:
1. Creation runs as a background job
2. Progress is tracked
3. Email notification on completion
4. Retry on failure
Performance Tips
- Plan timing - Large editions may take minutes
- Off-peak creation - Less system load
- Incremental updates - Use editions strategically, not constantly
- Prune if needed - Delete outdated editions
Monitoring Progress
For background creation:
1. Modal shows progress indicator
2. Email confirms completion
3. Check editions list for result
Edition Best Practices
Naming Conventions
Use descriptive, consistent names:
| Good | Bad |
|---|---|
| "2024-2025 School Year" | "v1" |
| "March 2024 Update" | "new" |
| "TEKS Submission Draft" | "test" |
| "Pre-Pilot Release" | "edition1" |
Documentation
Use description and changelog effectively:
Description:
Official release for the 2024-2025 school year.
Includes all Grade 3-5 mathematics content aligned to CCSS.
Changelog:
- Added Unit 7: Data Analysis
- Updated fractions content per reviewer feedback
- Fixed typos in Unit 3 assessment
- Added Spanish translations for Units 1-3
Release Workflow
- Complete all content editing
- Move content through review workflow
- Verify translations are complete
- Run content quality checks
- Create edition with descriptive name
- Verify edition content in viewer
- Share/distribute as needed
Common Questions
"Can I edit content in an edition?"
No. Editions are read-only snapshots. Edit your live curriculum, then create a new edition.
"What happens if I delete source content?"
The edition snapshot is independent. Deleted live content doesn't affect existing editions.
"Can I restore content from an edition?"
Currently, there's no automated restore. Editions are for reference and distribution, not backup/restore.
"How many editions can I create?"
There's no limit. Create editions as often as your workflow requires.
"Do editions count against storage?"
Editions do use database storage. Consider deleting old editions you no longer need.
"Can I export an edition?"
Export capabilities depend on your API implementation. The edition viewer provides read access to all snapshot data.
"What if edition creation fails?"
For background jobs, failures are logged and you're notified. Retry by creating a new edition.
"Do variants get their own editions?"
Yes. Each curriculum (base or variant) has its own edition history.
Related Documentation:
- Prepare for a New School Year - Annual release workflow guide
- Working with Content - Content editing
- Workflow & Review - Review process
- Translations - Localization
- Curriculum Comparison - Variant diffs