Content Widgets
Add downloads, audio players, videos in a window, scrolling text boxes and embedded web pages to a panel — for learning, non-fiction and bonus material.
Content widgets are panel layers for material that goes beyond artwork and lettering: a worksheet to download, an interview to listen to, a lecture video, a longer background text, a map or quiz from another website. They were added in format 1.10 for learning and non-fiction works, and they work in every view of the reader, in the preview and in self-hosted packages.
| Widget | What readers get | Needs |
|---|---|---|
| Download | A card with a file-type icon, the file name and its size; clicking downloads the file | A document from the asset library (PDF, Office, OpenDocument, text, ZIP, EPUB) |
| Audio player | Play / pause, a waveform to click or drag through, position and duration | An audio asset |
| Video (modal) | A poster or a button on the panel; the video plays in a window with play, seeking, mute and fullscreen | A video asset |
| Scroll text | A box with longer text that scrolls inside the panel, plain or with simple formatting | Text, in every language of the work |
| Embedded page | Another web page shown inside the panel, with an "Open in new tab" link | An https:// address |
Colours, fonts and corners of all widgets come from the work's widget theme, so they look the same on every panel.
Adding a widget
Open a panel (panel view), right-click the canvas and choose Add Content, then Download, Audio player, Video (modal), Scroll text or Embedded page. The widget appears centred where you clicked with a sensible default size. Pick its file or type its text in the Inspector.
Drag an asset from the Assets tab onto the open panel:
- a document becomes a download,
- an audio file asks Panel sound (plays on arrival) or Audio player (reader presses play),
- a video asks Video layer (plays in the panel) or Video (modal) — opens in a player window.
Dropping a document file from your computer into the open panel uploads it and adds a download in one step.
Press Ctrl+K and type, for example, download or iframe: Add Download, Add Audio player, Add Video (modal), Add Scroll text and Add Embedded page place the widget in the middle of the open panel.
Widgets live inside a panel. In page view, open the panel first (double-click it). An audio file dropped on a panel in page view stays a panel sound effect, as before.
Widgets are normal layers: move, resize, rotate, stack, hide, show conditionally with Visible If, and undo every change. On the canvas they show a preview in the theme colours, in panel view and in page view. Their buttons work there too: the play button of an Audio player plays and pauses the file, the play button of a Video (modal) opens the clip, and the download button of a Download saves the file — click anywhere else on a widget to select it and open its properties. Embedded pages load only in Preview and for readers. When you enter an embedded page's address, the Inspector checks whether the site allows other sites to embed it — many sites refuse (their pages would show readers an empty frame), and the preflight warns about them with IFRAME_EMBED_BLOCKED. A Video (modal) keeps the shape of its poster when you resize it.
Settings per widget
Select the widget and open its section in the Inspector. Texts marked with a language (title, file name, description, scroll text) are edited in the editor's current language; switch the language in the editor header to fill in the others, or translate them in Localization.
Every widget has a Title and an Appearance: Card draws the themed card with border and shadow, Plain shows only the control on top of your artwork. In the PDF decides how it prints: Card with a QR code to the online reader (the default) or Hide — see In exports and print.
Download
| Setting | What it does |
|---|---|
| File | The document readers download |
| Display name | The name on the card and the name the file downloads under (default: the uploaded file name) |
| Description | One line under the name, for example "Print and fill in" |
| File-type icon / File size | Show or hide the icon (PDF, Word, Excel, PowerPoint, archive, text, …) and the size |
Audio player
| Setting | What it does |
|---|---|
| Audio file | The recording to play |
| Waveform (click to seek) | Shows the waveform; without it readers see a progress bar |
| Position / duration | Shows 0:42 / 3:10 |
| Lower music while it plays | Turns the work's music and ambience down while the player runs |
| Start at (seconds) | Where playback starts |
| Keep playing when the reader moves on | Off (default): playback stops when the reader goes to another panel or page. On: it plays to the end — narration or music that runs under the next panels — until the reader pauses it or another player starts |
The audio player never starts on its own. Only one widget plays at a time, and by default playback stops when the reader moves to another panel. While it plays, automatic panel advance waits.
The waveform is computed when the audio is uploaded. Audio uploaded before format 1.10 shows a progress bar until it is processed again.
Video (modal)
| Setting | What it does |
|---|---|
| Video | The video to play |
| On the panel | Poster with play button or Button |
| Start playing when opened | Starts the video as soon as the window opens (with sound — opening it counts as the reader's click) |
| Show the duration | Shows the length on the poster |
Readers close the window with the close button, Esc or a click next to it. Panel sounds and videos pause while it is open.
Scroll text
| Setting | What it does |
|---|---|
| Format | Plain text or Markdown (headings, bold, lists, links) |
| Text | The text, per language |
| Text style | A text style preset of the work (default: the theme's body font) |
The Inspector preview and the editor canvas show the text as readers see it: headings, bold and italic, lists with a hanging indent, and links underlined in the theme's link colour. Markdown supports ## and ### headings, **bold**, *italic*, bullet and numbered lists, `code` and [links](https://…), which open in a new tab. HTML, images and tables are not rendered — anything that looks like HTML is shown as text.
Embedded page
| Setting | What it does |
|---|---|
| Page address | The https:// address of the page; other addresses are refused with an inline hint |
| Title (required) | Shown on the card and announced by screen readers |
| Sandbox | Default (scripts, forms, pop-ups), Strict (scripts only) or None (no restrictions — only for embeds that break otherwise) |
| Allow | Fullscreen, autoplay, protected media, picture-in-picture, copy to clipboard |
| Load only on its panel | Loads the page when the reader reaches the panel |
| "Open in new tab" link | A link on the card — the fallback for sites that refuse to be embedded |
Many sites forbid being shown inside other pages. The player cannot detect this, so such an embed stays empty. Use Test the address ↗ in the Inspector, and keep the "Open in new tab" link switched on.
In exports and print
| Export | Download | Audio player | Video (modal) | Scroll text | Embedded page |
|---|---|---|---|---|---|
| Lettered PDF | Card with icon, name, size, a QR code — and "Printed on page N" when the file is appended | Waveform, title, duration, a QR code ("Scan to listen") | Poster or print still with a QR code ("Scan to watch") | The text, shrunk to fit its box (down to 7 pt); what still does not fit ends with "Continued in the digital edition" and a QR code | Card with title, address and a QR code |
| PDF / PowerPoint (panel text) | "Download: Worksheet.pdf — 1.2 MB" | "Audio: title — 3:10" | "Video: title — 4:00" | The text without Markdown marks | "Embedded page: title — address" |
| Player package (.zip) | The file is included | Included | Included | Included | Loaded from the original site |
In the lettered PDF a widget cannot be played or downloaded, so its card carries a QR code that opens the widget's panel in the published reader (read.panelwave.org/…?panel=…). In the PDF the code is also a link, for readers who open the PDF on screen. Things to know:
- The codes need the published work: export the PDF after publishing. An unpublished work prints the cards without codes, and the export job warns about it.
- A code is only as large as its card on the A4 page. When one prints smaller than 12 mm, the job warns: make that widget larger on the page.
- Set a widget's In the PDF to Hide to leave it out; the export wizard can also print every widget without codes, or leave them all out.
- With Append the PDF files of download widgets, the worksheet PDFs of the printed download widgets follow the work's pages, and each download card says on which page its file starts.
Preflight checks
Validation reports, among others: a widget without its file (WIDGET_MISSING_ASSET), an embedded page without https:// or without a title (IFRAME_INSECURE_URL, IFRAME_MISSING_TITLE), an empty scroll text, downloads over 50 MB and low-contrast theme colours. All codes are on Validation codes.
Analytics
Readers' downloads (download), starts of an audio or video player (widgetPlay) and opened videos or embedded pages (widgetOpen) are counted per layer when the work's tracking allows them.