From 16013d1cf9ad82ee052f905f9702feffde7b67eb Mon Sep 17 00:00:00 2001 From: Luca <102960244+Luca-Timo@users.noreply.github.com> Date: Sat, 20 Jun 2026 13:30:44 +0200 Subject: [PATCH] docs(slideshow): add Live Slideshow guide + README entries - docs/live-slideshow.md: full feature guide (enable, generate link, run on a projector, global Settings -> Slideshow defaults, per-event overrides, how live updates work, security notes). - README: Live Slideshow bullet under Key Features, a Live Events use case, and a Documentation quick link. --- README.md | 3 ++ docs/live-slideshow.md | 79 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 docs/live-slideshow.md diff --git a/README.md b/README.md index 38321678..457bc462 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ Unlike expensive SaaS solutions, PicPeak gives you: - πŸ” **Password Protection** - Secure client galleries - πŸ“§ **Automated Emails** - Creation confirmations and expiration warnings - πŸ“Š **Analytics Dashboard** - Track views, downloads, and engagement +- πŸ“½οΈ **Live Slideshow** - A separate fullscreen "Diashow" link per event for projectors at live events β€” auto-picks-up new uploads while it runs, with transitions, a logo watermark, and image-fit/colour options ([guide](docs/live-slideshow.md)) - 🎨 **Custom Themes** - Match your brand perfectly - 🌐 **Public Landing Page** - Publish a curated marketing page when guests visit your root URL @@ -154,6 +155,7 @@ Full documentation lives at **[docs.picpeak.app](https://docs.picpeak.app)** β€” - πŸš€ [**Deployment**](https://docs.picpeak.app/deployment) - Docker, environment variables, reverse proxy, SSL - βš™οΈ [**Admin Settings**](https://docs.picpeak.app/guides/admin-settings) - Every tab in the Settings panel - 🎯 [**Creating Events**](https://docs.picpeak.app/guides/creating-events) - Full event field reference +- πŸ“½οΈ [**Live Slideshow**](https://docs.picpeak.app/features/live-slideshow) - Fullscreen projector view that auto-updates during live events - πŸ’Ύ [**Backup & Restore**](https://docs.picpeak.app/guides/backup-restore) - Backup configuration, restore wizard, full disaster recovery - πŸ”Œ [**API Reference**](https://docs.picpeak.app/api) - REST endpoints, OpenAPI spec, webhooks - πŸͺ [**Webhooks**](https://docs.picpeak.app/features/webhooks) - Event payloads, signing, filters, templates @@ -185,6 +187,7 @@ Perfect for: - πŸ“Έ **Portrait Studios** - Client galleries with download limits - 🏒 **Corporate Events** - Internal photo sharing with branding - πŸŽ“ **School Photography** - Secure parent access with expiration +- πŸ“½οΈ **Live Events** - Put a [Live Slideshow](docs/live-slideshow.md) on the venue projector that updates as you shoot ## πŸ—οΈ Tech Stack diff --git a/docs/live-slideshow.md b/docs/live-slideshow.md new file mode 100644 index 00000000..c34cce09 --- /dev/null +++ b/docs/live-slideshow.md @@ -0,0 +1,79 @@ +--- +title: Live Slideshow +description: A separate fullscreen "Diashow" link per event that auto-picks-up new uploads while it runs β€” built for projectors at live events. +sidebar_position: 5 +--- + +# Live Slideshow ("Diashow") + +The Live Slideshow is a dedicated, token-only, **fullscreen** URL for an event that **auto-picks-up newly uploaded photos while it runs** β€” designed for a projector or screen at a live event (weddings, concerts, parties). Guests at the venue watch the photos appear in near real time; the photographer keeps culling and uploading from the back of the room. + +It is separate from the normal guest gallery: its own link, no gallery password, no chrome β€” just the photos. + +## Table of contents + +- [Enable the feature](#enable-the-feature) +- [Create a slideshow link](#create-a-slideshow-link) +- [Run it on a projector](#run-it-on-a-projector) +- [Global defaults (Settings β†’ Slideshow)](#global-defaults-settings--slideshow) +- [Per-event options](#per-event-options) +- [How live updates work](#how-live-updates-work) +- [Good to know](#good-to-know) + +## Enable the feature + +Live Slideshow is **off by default**. Turn it on under **Settings β†’ Features β†’ Live Slideshow**. While it's off, no slideshow UI appears and any existing slideshow link returns "not active". + +## Create a slideshow link + +1. Open the event, find the **Live Slideshow** card. +2. Click **Generate slideshow link**. This mints a unique link of the form: + + ``` + https://your-host/gallery//show/ + ``` + +3. **Copy** it (or **Regenerate** to rotate the token and kill the old link, or **Disable** to remove it). The link is a secret β€” the token *is* the access; there is no separate password. + +The link only shows **published, non-hidden** photos β€” the same set guests see. + +## Run it on a projector + +Open the link on the machine driving the projector. You'll see a **β–Ά Start slideshow** splash. Click it once β€” browsers only allow fullscreen in response to a click β€” and it goes fullscreen and starts cycling. From then on it runs unattended: cursor hides, it loops at the end, and shows a "Waiting for photos…" screen if the event has none yet. + +## Global defaults (Settings β†’ Slideshow) + +The picpeak-wide look and feel lives in one place: **Settings β†’ Slideshow**. These apply to every slideshow. + +- **Default style for new slideshows** β€” the transition, display time, transition speed and color filter that **new events inherit**. Each event can still override these. + - Transitions: **Crossfade, Cut, Slide, Ken Burns, Dip to white, Dip to black**. + - Color filters: None, Black & White, Sepia, Warm, Cool, Vignette. +- **Image fit** β€” **Fill screen (crop)** or **Black bars (no crop)**. Use black bars if your set is portrait-heavy and you don't want faces cropped. *(Live β€” applies to running slideshows immediately.)* +- **Watermark** β€” overlay a logo in a corner, TV-station-ident style. + - **Logo**: your light logo, dark-mode logo, favicon, or the event's own logo (shown with a live preview). + - **Style**: **White** (recolors a dark/transparent logo white) or **Original colours** (for a logo that already has its own colours/box). + - **Position**, **opacity**, and **size**. + *(Live β€” applies immediately.)* + +## Per-event options + +On the event's Live Slideshow card you can: + +- Generate / copy / regenerate / disable the link. +- Override the **display style** (transition, timing, color filter) for this event. +- Override the **watermark**: **Use global default**, **On**, or **Off** β€” e.g. turn the watermark off for one sensitive event without changing your global setting. + +## How live updates work + +While a slideshow is running it polls a lightweight endpoint every few seconds: + +- **New uploads are appended quietly** at the end β€” the current slide is never interrupted or skipped. +- **Settings changes apply live** β€” change the display time, transition, image fit or watermark and the running projector picks it up within a few seconds. No need to regenerate the link or restart. +- **Disabling the feature (or the link) kills it** β€” turning off the **Live Slideshow** feature flag, or disabling/regenerating the link, makes the projector stop on its next poll. + +## Good to know + +- **The token is the secret.** Anyone with the link can view the slideshow (published photos only). Rotate it with **Regenerate** if it leaks; **Disable** removes it entirely. +- **Fullscreen needs the first click.** The β–Ά splash exists because browsers require a user gesture to enter fullscreen β€” unavoidable, and harmless for a projector. +- **Slideshow views don't pollute analytics.** The projector is excluded from your event's visitor view/download counts. +- **Turning the feature off suspends, doesn't destroy.** Existing links stop working while the flag is off and resume when you turn it back on β€” the token isn't deleted.