|
1 | 1 | # Deploying FrameTrail |
2 | 2 |
|
3 | | -This guide covers the three ways to run FrameTrail, how to build from source, and the release process. |
| 3 | +This guide covers the three ways to run FrameTrail (server, local folder, and in-memory), how to build from source, and the release process. |
4 | 4 |
|
5 | 5 | ## Deployment Options |
6 | 6 |
|
@@ -58,9 +58,23 @@ The `StorageAdapterLocal` class uses the File System Access API (`showDirectoryP |
58 | 58 | - No PHP-based file processing (image optimization, video transcoding) |
59 | 59 | - Browser must support File System Access API (Chrome/Edge only) |
60 | 60 |
|
61 | | -### Save As / Export |
| 61 | +### Option 3: In-Memory Mode (All Browsers) |
| 62 | + |
| 63 | +No server, no file system access required. FrameTrail automatically falls back to this mode when running in Firefox, Safari, or any browser without the File System Access API and no PHP backend. |
| 64 | + |
| 65 | +**Requirements:** |
| 66 | +- Any modern browser (Chrome, Firefox, Edge, Safari) |
| 67 | + |
| 68 | +**How it works:** |
| 69 | + |
| 70 | +The `StorageAdapterDownload` holds all data in memory. Hypervideo data is passed via init options at startup (see [Inline on a Page](#inline-on-a-page) below). Viewing and editing are fully functional. The Save button is disabled (since there is nowhere to persist); use **Save As** to export a JSON snapshot that can be reloaded later. |
62 | 71 |
|
63 | | -The `StorageAdapterDownload` is used as the fallback storage backend when no PHP server and no local folder are available (`storageMode: 'download'`). It stores all data in memory and exposes a Save As dialog that downloads a JSON snapshot of the current state. |
| 72 | +**Limitations:** |
| 73 | +- No persistence — changes are lost on page reload unless exported via Save As |
| 74 | +- No file uploads (media must be referenced by URL) |
| 75 | +- No multi-user collaboration |
| 76 | + |
| 77 | +### Save As / Export |
64 | 78 |
|
65 | 79 | In server and local modes, Save As is also available as a supplemental export tool — useful for archiving or migrating content between instances. |
66 | 80 |
|
@@ -97,7 +111,7 @@ $(document).ready(function() { |
97 | 111 |
|
98 | 112 | ### With Inline Data |
99 | 113 |
|
100 | | -When running in server mode, you can pass all hypervideo and resource data directly via init options, bypassing the `_data/` directory entirely. This is useful for embedding a specific hypervideo on a page without managing the data folder. |
| 114 | +You can pass all hypervideo and resource data directly via init options, bypassing the `_data/` directory entirely. This works in all three storage modes and is the primary approach for in-memory mode (Option 3) — embed FrameTrail on any page without any backend or data folder. |
101 | 115 |
|
102 | 116 | ```javascript |
103 | 117 | FrameTrail.init({ |
|
0 commit comments