Skip to content

Technical Plugin Bookmark

Daniel Neto edited this page Oct 29, 2026 · 1 revision

Technical: Bookmark plugin

Adds timed bookmarks, chapter markup, structured data and VTT chapter tracks.

Audience: developers, advanced administrators and AI-assisted diagnosis. Plugin catalog.

Source baseline

  • Review date: 2026-10-29. Method: static source analysis; runtime/provider behavior was not exercised.
  • Code ownership: AVideo Streamer repository.
  • Reported version: 1.0 (inherited; verify package).
  • Source revision: 7d48f2dfc0289236718a3f9fba7c5ffecff4a37f.
  • Entry class file: Bookmark.php.

Confirm the installed plugin version independently of the Streamer version. Configuration defaults below are not a dump of this installation's saved settings.

Dependencies

No literal dependency declaration was extracted. This does not prove the plugin is standalone.

Hook integration

Override Implementation
getPluginMenu() Bookmark.php:27
getFooterCode() Bookmark.php:34
getVideosManagerListButton() Bookmark.php:47

Configuration assignments

These are direct assignments inside getEmptyDataObject(), not evaluated effective defaults. Stored plugins.object_data, globals, structured values and conditional branches may alter runtime behavior. Private/default credential values are omitted.

No direct $obj->field assignments were extracted. Inspect inherited defaults, getCustomizeAdvancedOptions() and the plugin-specific settings page.

Files and request surface

This inventory distinguishes implementation files from an API specification. Includes, templates, callbacks and CLI workers are not interchangeable HTTP endpoints. Request-field names below are direct source references, not a complete schema or permission declaration.

File Source role Direct request fields observed
Bookmark.php plugin entry class —
Objects/BookmarkTable.php class/helper implementation —
editorVideo.php PHP page/include/worker; inspect caller videos_id
footer.php PHP page/include/worker; inspect caller —
getBookmarks.json.php JSON entry point; inspect caller and guard videos_id
install/install.sql schema/migration SQL —
page/bookmarkDelete.json.php JSON entry point; inspect caller and guard id
page/bookmarkSave.json.php JSON entry point; inspect caller and guard id, name, timeInSeconds, videoAutocomplete, videos_id
page/bookmarks.json.php JSON entry point; inspect caller and guard draw
page/editor.php PHP page/include/worker; inspect caller —
page/editorForm.php PHP page/include/worker; inspect caller —
page/editorTable.php PHP page/include/worker; inspect caller —
script.js browser/worker JavaScript; verify loader —

Data and migrations

Tables named in available CREATE TABLE statements: bookmarks. Apply installation/update behavior through the owning plugin; this reference is not a script for running historical migrations manually.

Main-file named symbols

Visibility and implementation semantics must be checked in source. Nonempty string defaults are represented as . This is a symbol reference, not a stable public API promise.

Function or method Source
getDescription() 10
getName() 17
getUUID() 22
getPluginMenu() 27
getFooterCode() 34
getVideosManagerListButton() 47
parseTimeString($str) 56
generateChaptersHTML($videos_id) 83
generateChaptersJSONLD($videos_id) 101
videoToVtt($videos_id) 134
getChaptersFilenameFromFilename($fileName, $lang = '<string>') 157
getChaptersFilename($videos_id, $lang = '<string>') 164
getVTTChapterTracks($fileName, $returnArray = false) 179
getVTTChapterCache($fileName) 215
createVTTChapterCache($fileName, $data) 226
deleteVTTChapterCache($fileName) 236

Supporting PHP declarations

These symbols are grouped by source file; inspect the class declaration and visibility before calling them.

Objects/BookmarkTable.php

Declared classes: BookmarkTable.

Named symbol Source
getSearchFieldsNames() 11
getTableName() 15
getTimeInSeconds() 19
getName() 23
getVideos_id() 27
setTimeInSeconds($timeInSeconds) 31
setName($name) 35
setVideos_id($videos_id) 40
deleteAllFromVideo($videos_id) 44
getAllFromVideo($videos_id) 57
getAll() 74
save() 91
delete() 104
getFromTime($videos_id, $timeInSeconds) 115

Diagnostics and validation

  1. Check the installed/enabled version and the dependencies/settings above.
  2. Identify the actual failing page, request, callback or worker and correlate its timestamp with the AVideo log.
  3. Follow the linked method and caller. Check business-state changes and output artifacts as well as HTTP status.
  4. Reproduce the relevant workflow in a test environment. External provider, Encoder, live-server, storage, payment and authenticated flows require their real integrations.

Shared diagnostic workflow. This page is not a security audit or a claim of end-to-end validation.

Clone this wiki locally