AutoIngest/QUICKSTART.md

106 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Quick Start
**AutoIngest — running in under 5 minutes.**
A Windows tray tool that moves photos off a camera, SD card, USB reader, or phone into a dated folder, converts them to JPG, and applies your branding. Built for ecommerce sellers.
---
## 1. Build
### Prerequisite (build machine only)
[Visual Studio 2022](https://visualstudio.microsoft.com/vs/community/) with the **.NET desktop development** workload, or the [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) standalone. Windows 10/11.
### Option A — Visual Studio
1. Open `AutoIngest.sln`.
2. Build → Build Solution (Ctrl+Shift+B).
3. Output: `AutoIngest\bin\Release\net8.0-windows\AutoIngest.exe`.
### Option B — Command line
```bat
cd AutoIngest
dotnet restore
dotnet build -c Release
```
## 2. Publish a single exe
Two profiles ship as scripts. Both produce a single self-contained `AutoIngest.exe` — pick the size/dependency trade-off.
| Script | Size | Target PC needs |
|--------|------|-----------------|
| `publish.bat` | ~15 MB | .NET 8 Desktop Runtime (Win11 has it; Win10 may need it) |
| `publish-standalone.bat` | ~150200 MB | Nothing. Runs on any Windows 10/11 PC. |
```bat
publish.bat REM framework-dependent
publish-standalone.bat REM self-contained (recommended for handing to a non-technical seller)
```
Output lands in `publish\` or `publish-standalone\`.
## 3. Deploy
Copy `AutoIngest.exe` to the target PC. No installer, no admin rights. Put it anywhere the user can run it (Desktop, Downloads, anywhere).
## 4. First launch
1. Double-click `AutoIngest.exe`. It starts in the system tray — no window opens.
2. On a brand-new install (no config yet), a **welcome wizard** appears:
- **Skip for now** — default settings, no branding. Get straight to importing.
- **Customize branding** — enter store name / URL / handle, set a text or logo watermark, optionally embed EXIF copyright. A live preview shows the result. The tray icon renders your mark immediately on finish.
3. The wizard runs exactly once. Reach branding later from the tray: **Options ▸ Branding ▸ Edit branding…**.
## 5. Import photos
1. Insert an SD card, USB reader, or phone.
2. The first time a device connects, AutoIngest prompts: **Register & Import** (trusted forever), **Import Once**, or **Ignore**. A friend's device picks Ignore — it is never touched.
3. Registered devices import silently on every future plug-in.
4. A small toast pops into the bottom-right corner during import:
- JPGs copy straight through.
- RAW / HEIC / PNG / etc. convert to progressive JPG and the original is removed.
- Same-day duplicates (size + SHA-256) skip automatically.
5. Photos land in `%USERPROFILE%\Pictures\YYYY-MM-DD\`.
## 6. Tray menu
Right-click the tray icon for the menu:
| Item | Action |
|------|--------|
| **Show status** | Pop the toast to peek at the log |
| **Open import folder** | Open today's `Pictures\YYYY-MM-DD\` in Explorer |
| **Settings…** | Device registry, retention, access-tracking |
| **Reset drive memory** | Re-scan devices already seen this session |
| **Options ▸** | Auto-orient, Strip metadata, Delete from phone after import, Branding, Start with Windows |
| **About** | Version, author, license |
| **Exit** | Quit |
Left-click the tray icon to toggle the toast.
## 7. Recommended first-run setup for a seller
1. Complete the welcome wizard with the store name and a logo if available.
2. Confirm **Options ▸ Auto-orient** and **Options ▸ Strip metadata** are on (defaults) — phones photos arrive right-way-up without leaking GPS.
3. **Options ▸ Start with Windows** → on, so the seller never has to launch it.
4. Plug in the seller's SD card → **Register & Import**. Done forever.
## Troubleshooting
| Problem | Resolution |
|---------|------------|
| `dotnet` not found | Install [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0). |
| Magick.NET restore fails | Check internet; NuGet.org must be reachable. |
| Target PC says "missing runtime" | Use `publish-standalone.bat` (self-contained). |
| SD card not detected | Verify it mounts as a drive letter. Right-click tray → Show status for the log. |
| Phone not detected | Unlock the phone and tap "Trust this PC." MTP enumeration needs an unlocked, trusted device. |
| Photos land in the wrong place | Destination is `%USERPROFILE%\Pictures\YYYY-MM-DD\`. OneDrive redirection can move `Pictures` — check there too. |
| Branding not applying | Branding applies to **converted** files only. JPGs that move straight through are byte-for-byte untouched. |
| Retention not firing | Retention is off by default. Enable in **Settings…** and pick an age. The sweep runs on startup then daily. |
| "Delete from phone" log says "src kept" | The phone driver did not honor the delete verb. The local copy is fine; the phone original remains. Re-run the import or delete manually. |
| "Photos disappeared" / need a record of what happened | A persistent log lives at `%LocalAppData%\AutoIngest\autoingest.log` (with a `.bak` for the prior rotation). It records every import, retention sweep, and crash. Open it in Notepad. |
---
**Author:** Jeremy Anderson — [dcos.net](https://dcos.net) — info@dcos.net
**License:** MIT. See [LICENSE](LICENSE).