Sandbox Artifact Copy
A streamlined solution for transferring sandbox artifacts.

Overview
Transferring artifacts between sandboxes in Adobe Experience Platform is time-consuming and error prone.Sandbox Artifact Copy aims to simplify and streamline sandbox management.
Goals
- Allow users to seamlessly transfer artifacts and their dependencies between sandboxes.
- Allow users to sync artifacts whose sources have been edited.
Role
UX Designer and Developer | Wireframes, Prototyping, UI/UX Research, Front-End Development and API OptimizationScope
August 2022 - January 2023Tools
React, TypeScript, React Spectrum (React implementation of Adobe’s design system), Unified Shell (Adobe’s UI framework for internal apps), HTML/CSSExploration
Personas
- Solution architect
- Consultant
- Data engineer
Identified pain points
- Painful and time-consuming to copy complex artifacts between sandboxes
- Need to easily kickstart new business implementations between environments
- Need to deploy sandboxes with a baseline configuration, support customers that wish to benefit from faster sandbox deployments that include tested AEP configurations
- Need a separate set of APIs for AEP versus AJO for migrating development work to higher sandboxes
Functional use cases
- Copy all foundation artifacts (schemas, datasets, segments, sources, destinations) and first level dependencies from one sandbox to another sandbox
- Review dependencies before copying
- Sync artifacts between the source and destination sandboxes
- Revert artifacts (once) after syncing
- Log actions for documentation and troubleshooting
Competitive Analysis

Design Process

User flow for copying artifacts

Initial sketches
Version 1
Improvement | Before | After |
---|---|---|
ProblemUsers can only view one artifact's dependencies at a time.SolutionList all artifacts and their dependencies in a separate window.Thought ProcessPreviously, we used a dependency tree (plugin) to view all dependencies for a given artifact. During testing sessions, we learned that this tool ran slow for artifact's with multiple dependencies and users wanted a more holistic view of all artifacts they selected. I decided to create a separate window to display all artifacts and their dependencies in an organized list. | ![]() | ![]() |
ProblemLack of modularization makes it hard to incorporate new features.SolutionSeparate the artifacts into their own tabs.Thought ProcessWe received two additional requests to sync and revert artifacts between sandboxes. Incorporating these features (each requiring multiple UI components) would've been time-consuming and unreliable in our single-page UI. Given that our highest priority was to implement these features for schemas and we already faced issues running asynchronous calls across different artifact types, we decided to move each artifact type to its own tab. | ![]() | ![]() |
ProblemThe audit log is too dense and hard to follow for troubleshooting.SolutionTurn the audit log into a table and put it on another tab.Thought ProcessThe audit log outputted asynchronous calls across all copy operations, which made it hard to trace what was actually happening for each copy workflow. Since we already created tabs for each artifact type, we decided to extend this to the audit log and put it on a separate tab. We also narrowed down the information to main actions taken in the app and organized it into a table. | ![]() | ![]() |
Current Design
Conclusion
From the audit log, we've tracked over 100 internal consultants and solution architects using our app. We've also added an additional capability to copy artifacts across IMS orgs. Overall, we've received positive feedback on the usefulness of this tool to facilitate and streamline sandbox management in AEP.