graph LR A[Omeka API] --> B[data_2_dasch.py] B --> C[DSP API] B --> D[File Storage] E[process_data_from_omeka.py] --> B F[Configuration] --> B style A fill:#e1f5fe style C fill:#e8f5e8 style B fill:#fff3e0
omeka2dsp Documentation
Complete documentation for the Omeka to DaSCH Service Platform (DSP) data migration tool.
📚 Core Documentation
- 🏗️ System Architecture – Overview of system components, design patterns, and data flow architecture with class diagrams illustrating core components and their interactions.
- 🔄 Data Migration Workflows – Complete workflow documentation with Mermaid diagrams covering the main migration workflow (end-to-end process), data extraction workflow (Omeka API interaction), data transformation workflow (format conversion), synchronization workflow (incremental updates), file upload workflow (media processing) and error handling workflow (recovery and retry)
- 🔧 API Reference – Comprehensive documentation of all 5 Python modules with 50+ functions
- 🧩 Data Model – Data model documentation
📒 Guides
- ⚡ Installation & Setup – How to install and configure the system
- ⚙️ Configuration – Environment variables and settings
- 📋 Usage – How to run the migration scripts
- 🛠️ Development – Contributing and extending the codebase
- 🔍 Troubleshooting – Common issues and solutions
🚀 Quick Start
- Setup Environment: Configure your environment variables (see Configuration Guide)
- Install Dependencies: Install required Python packages
- Run Migration: Execute the data transfer script
# Set up environment variables
cp example.env .env
# Edit .env with your configuration
# Run the migration
uv run python scripts/data_2_dasch.py
System Overview
The omeka2dsp system transfers research data from Stadt.Geschichte.Basel (SGB)’s Omeka instance to the DaSCH Service Platform (DSP) for long-term preservation.
Features
- ✅ Full Data Migration – Transfer metadata and media files
- ✅ Incremental Sync – Update existing resources with changes
- ✅ Multiple Modes – Process all data, samples, or test data
- ✅ Error Handling – Comprehensive logging and error recovery
- ✅ Configuration – Flexible environment-based configuration
Key Components
Main Scripts
data_2_dasch.py
– Main migration script with sync capabilitiesprocess_data_from_omeka.py
– Omeka API data extraction utilitiesapi_get_project.py
– Fetch DSP project informationapi_get_lists.py
– Retrieve DSP list configurationsapi_get_lists_detailed.py
– Get detailed list metadata
For detailed API documentation, see API Reference.
Architecture
The system follows a modular architecture with clear separation of concerns:
- Data Extraction Layer – Interfaces with Omeka API
- Transformation Layer – Converts data formats between systems
- Upload Layer – Manages file transfers and API interactions
- Synchronization Layer – Handles incremental updates and conflict resolution
For detailed architecture documentation, see System Architecture.