ArcGIS Enterprise Clone Content 0.0.0 Documentation
This is the documentation for ArcGIS Enterprise Clone Content. All the Markdown (md) files in
./docsrc/mkdocs become the documentation pages.
What it does
ArcGIS Enterprise Clone Content is a Python tool for migrating content between ArcGIS portals (ArcGIS Enterprise or ArcGIS Online). Point it at a source and a destination portal and it clones all accessible items — preserving folder structure and handling errors per-item so one bad item never stops the run.
Key capabilities:
- Fresh run — clone everything from source to destination.
- Resume mode — skip items already present in the destination (matched by title and type), so interrupted runs can be continued safely.
- Folder mirroring — recreates the source owner's folder structure in the destination portal.
- Structured logging — a full DEBUG-level audit trail is written to a timestamped
log file at
data/logs/clone_content_YYMMDDHHMM.log. - Failure isolation — per-item failures are captured and reported without stopping
the migration; inspect
MigrationResult.failuresfor details.
Prerequisites
- ArcGIS Pro (provides the
arcgisPython package andarcpy) — or the standalone ArcGIS API for Python in a compatible conda environment. - Portal credentials — source and destination portal connection details stored in
config/secrets.yml(copied fromconfig/secrets_template.yml).
Quick Start
1. Configure credentials
Copy the secrets template to a new file protected by .gitignore so it will not be
committed to version control. This protects your portal credentials while allowing
you to customize them for your environment.
Open config/secrets.yml and fill in your portal details:
source:
profile: "" # ArcGIS named profile (takes precedence if set)
url: "https://source-portal.example.com/arcgis"
username: "your_source_username"
password: "your_source_password"
destination:
profile: ""
url: "https://destination-portal.example.com/arcgis"
username: "your_destination_username"
password: "your_destination_password"
2. Run the migration (CLI)
A timestamped log is written to data/logs/clone_content_YYMMDDHHMM.log.
The final console line shows: Migration complete: migrated=N, skipped=N, failed=N.