Migration and Data Import
Overview
FormKiQ supports several migration patterns for moving documents, metadata, attributes, and external references from existing systems into a FormKiQ deployment. The right approach depends on the source system, document volume, metadata complexity, cutover window, and whether content should be copied into FormKiQ-managed storage or referenced from an existing location.
Most production migrations follow the same pattern:
- Inventory the source repository.
- Map source fields to FormKiQ documents, paths, attributes, tags, schemas, and sites.
- Run a small pilot migration.
- Perform bulk import in repeatable batches.
- Validate counts, content, metadata, and search behavior.
- Run a final delta migration and cut over users or applications.
tip
For large migrations, treat the migration process as an operational project, not only a data transfer. Plan for retries, validation, rollback, cost monitoring, and source-to-target reconciliation before the first production import.
Choose a Migration Method
| Migration method | Best for | Main advantages | Watch for |
|---|---|---|---|
| API-based migration | Custom source systems, complex transformations, application-led imports, incremental synchronization | Maximum control over mapping, validation, retries, and business logic | Requires custom scripting and careful retry/idempotency design |
| FileSync CLI and CSV import | Structured bulk imports where documents, content locations, and attributes can be prepared as CSV files | Repeatable, batch-oriented, and easier to validate before import | Available for supported commercial installations; CSV quality matters |
| FileSync CLI sync | Local folders or S3 locations that should be synchronized into FormKiQ | Good for file-system style migrations and ongoing sync scenarios | Metadata enrichment may require pre-hook or post-hook logic |
| FKB64 staging bucket import | Smaller documents, generated bundles, and staging-bucket based import workflows | Combines content and metadata into one import object | Base64 adds size overhead and requires strict file structure validation |
| S3 deep links | Content that should remain in an existing S3 location | Avoids copying large content sets into FormKiQ storage | External object permissions, lifecycle, and retention stay outside FormKiQ-managed storage |
| Stack-to-stack migration | Moving data between FormKiQ installations | Useful for environment moves or recovery workflows | Requires DynamoDB and S3 coordination; validate target stack compatibility |
Before You Migrate
Complete a planning pass before writing migration scripts or preparing import files.
| Planning area | Questions to answer |
|---|---|
| Source inventory | How many documents exist, how large are they, what file types are present, and how many versions need to move? |
| Metadata | Which fields should become FormKiQ attributes, tags, paths, classifications, or external references? |
| Tenancy | Should documents import into the default site, defined sites, customer sites, departments, or separate FormKiQ instances? |
| Permissions | Which users, groups, folder permissions, or access-control rules must exist before import? |
| Validation | What source-of-truth counts, checksums, sample sets, and reports will prove that the migration succeeded? |
| Processing | Should OCR, full-text indexing, rulesets, workflows, or AI processing run during import or after cutover? |
| Cutover | Will there be a read-only freeze, a final delta load, or a period where source and target run in parallel? |
| Recovery | What backups, exports, rollback steps, and re-run strategy are available if a batch fails? |