You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Migrate workflow extraction API from HID-based to ID-based dataset identification, enabling cross-history extraction and fixing copied dataset issues.
Problem
The workflow extraction API (POST /api/workflows with from_history_id) uses HIDs (History ID numbers) to identify datasets for input selection. This creates several limitations:
Cross-history restrictions: HIDs only have meaning within a single history context
Job cache hits: Cannot trace connections when job cache returns outputs from other histories
API naming confusion: dataset_ids param actually accepts HIDs, not encoded IDs
Motivation
Fix copied datasets: When users copy a dataset and run tools on it, extraction currently pulls in jobs from the original history and breaks connections
Summary
Migrate workflow extraction API from HID-based to ID-based dataset identification, enabling cross-history extraction and fixing copied dataset issues.
Problem
The workflow extraction API (
POST /api/workflowswithfrom_history_id) uses HIDs (History ID numbers) to identify datasets for input selection. This creates several limitations:dataset_idsparam actually accepts HIDs, not encoded IDsMotivation
Proposed Solution
Add new ID-based parameters alongside existing HID parameters:
Key changes:
from_history_idbecomes optional for ID-based extractionextract_steps_by_ids()function with ID-based connection mappingWorkflowSummaryto share code between HID/ID modesScope
hda_ids/hdca_idsOut of scope: Deprecating or removing HID-based params
Related Issues
Design Documents
Detailed analysis and implementation plan: