How nextcloud/bookmarks works
Nextcloud Bookmarks lets users create, organize, search, share, import, and export a synchronized bookmark collection. The main path is the web interface or a REST client calling Nextcloud controllers, which enforce permissions and use bookmark/folder services; persistence is represented by the database entities and mappers. Separate registered capabilities provide search, dashboard widgets, references, activity, and context-chat integration. The README documents backups, RSS, and archived-link features; their paths are present, but their wiring is not fully shown in the sampled source.
Main entry points: Application.php App registration · BookmarkController.php Bookmark API · main.js Vue app and state · App.vue Bookmarks UI
Components 22
User interfaces
- Bookmarks UI
src/App.vue - Vue app and state
src/main.js
Request and domain
- Web views
lib/Controller/WebViewController.php - Bookmark API
lib/Controller/BookmarkController.php - Folder and sharing API
lib/Controller/FoldersController.php - Search filters
lib/QueryParameters.php - Bookmark operations
lib/Service/BookmarkService.php - Folder operations
lib/Service/FolderService.php - Import and export
lib/Service/HtmlImporter.php
Collection data
- Bookmark records
lib/Db/BookmarkMapper.php - Folder and tree records
lib/Db/FolderMapper.php - Tree cache
lib/Service/TreeCacheManager.php
Nextcloud capabilities
- Full-text search
lib/Search/Provider.php - Recent and frequent
lib/Dashboard/Recent.php - Bookmark references
lib/Reference/BookmarkReferenceProvider.php - Activity publishing
lib/Activity/ActivityPublisher.php - Context chat
lib/ContextChat/ContextChatProvider.php - App registration
lib/AppInfo/Application.php
Background services
- Collection backups
lib/Service/BackupManager.php - RSS collections
lib/Controller/WebViewController.php
Other components
- Bookmark user
- Sync clients
Connections 19
- Bookmark user → Bookmarks UI: uses
- Sync clients → Bookmark API: REST requests
- Bookmarks UI → Vue app and state: renders
- Vue app and state → Web views: loads views
- Vue app and state → Bookmark API: REST requests
- Vue app and state → Folder and sharing API: REST requests
- Bookmark API → Bookmark operations: operates on
- Bookmark API → Search filters: builds filters
- Bookmark API → Import and export: imports
- Bookmark operations → Bookmark records: persists bookmarks
- Folder and sharing API → Folder operations: operates on
- Folder operations → Folder and tree records: persists folders
- App registration → Full-text search: registers
- App registration → Recent and frequent: registers
- App registration → Bookmark references: registers
- App registration → Activity publishing: registers
- App registration → Context chat: registers
- App registration → Tree cache: registers listeners
- App registration → RSS collections: registers views