texxasrulez / rounddav_bookmarks
Plugin for Shared and Private Bookmarks using RoundDAV Server and rounddav_provision plugin
Package info
github.com/texxasrulez/rounddav_bookmarks
Type:roundcube-plugin
pkg:composer/texxasrulez/rounddav_bookmarks
Requires
- php: >=7.3.0
- roundcube/plugin-installer: >=0.1.3
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Rich bookmark management for Roundcube that talks to the RoundDAV backend. It lets users store private links, publish domain-wide bookmark collections, and drag a bookmarklet into their browser for one-click saving – all without leaving Roundcube.
This plugin requires:
RoundDAV Provision Roundcube Plugin
Recommended companion plugin:
RoundDAV Files Roundcube Plugin
Features
- Full CRUD UI under Settings → Bookmarks with filtering, folders, favorites, and recent activity.
- Private and domain/shared scopes so teams can keep a curated list of links.
- Optional fine-grained sharing (specific users or entire domains) when RoundDAV is configured for it.
- Drag-to-toolbar bookmarklet that opens a compact “Quick Add” dialog for the current tab.
- Uses the trusted RoundDAV provisioning API (same token as the
rounddav_provisionplugin), so no extra credentials are stored in Roundcube.
Requirements
- Roundcube 1.6.x (or newer) with the
rounddav_provisionplugin enabled and configured.
rounddav_bookmarksrelies on therounddav_api_credentialshook exposed by that plugin. - RoundDAV Server with the Bookmarks engine enabled (
config/config.php → bookmarks.enabled = true).
Make sureprovision.shared_secret(orbookmarks.shared_secretif you override it) matches the token you configured in Roundcube.
Screenshot
Users Bookmarks:
Installation
- Copy the plugin into Roundcube, e.g.:
roundcube/plugins/rounddav_bookmarks/ - Enable it alongside the rest of the RoundDAV suite (usually
rounddav_provisionandrounddav_files) inconfig/config.inc.php:$config['plugins'][] = 'rounddav_bookmarks';
- Optional plugin settings are provided in
plugins/rounddav_bookmarks/config.inc.php.dist. Copy the values you want intoplugins/rounddav_bookmarks/config.inc.php. - Clear Roundcube’s cache (
bin/cleandb.shorphp bin/console cache:cleardepending on your setup) so the new localization strings and skins are picked up. - Log into Roundcube, open Settings → Bookmarks, and drag the RoundDAV Quick Add link into your browser’s bookmarks bar if you want the bookmarklet.
All API credentials are still pulled from rounddav_provision via the rounddav_api_credentials hook.
Credential/settings source of truth:
rounddav_provision/config.inc.php:rounddav_api_urlrounddav_api_tokenrounddav_api_timeoutrounddav_api_verify_ssl
rounddav_bookmarks/config.inc.php:rounddav_bookmarks_link_menu_enabledrounddav_bookmarks_link_menu_show_copyrounddav_bookmarks_link_menu_show_openrounddav_bookmarks_link_menu_show_privaterounddav_bookmarks_link_menu_show_shared
Usage Tips
- Folders: Click “Create folder” to build a hierarchy. Shared folders show up automatically for users in the same email domain.
- Filters: The sidebar filters let you search, scope to private/shared, limit to a folder, or view favorites only.
- Sharing controls: When you choose “Shared” visibility you can either make the bookmark available to the entire domain or limit it to specific user emails / domains.
- Bookmarklet: Drag the “RoundDAV Quick Add” link to your browser toolbar. When you’re on a page you want to save, click it – a mini Roundcube window appears so you can confirm the details.
Troubleshooting
- Missing credentials / greyed out UI: Ensure
rounddav_provisionis enabled and hasrounddav_api_url+rounddav_api_tokenconfigured. Check Roundcube’slogs/errorsforrounddav_bookmarksmessages. - 403 / Invalid API token: Verify
config/config.php → provision.shared_secret(orbookmarks.shared_secret) matchesrounddav_api_tokenin the Roundcube plugin config. - Shared bookmarks not appearing: Confirm that the email address Roundcube uses matches the RoundDAV principal (
user@domain). Shared entries are keyed by domain. - Bookmarklet blocked by pop-up blocker: Allow pop-ups from your Roundcube origin; the bookmarklet opens a small window to submit the URL.
Logs for this plugin go to the standard Roundcube log channels, so check logs/roundcube and logs/rounddav when debugging.
License
Same license as the rest of the RoundDAV Suite. See the repository root for details.
Versioning
rounddav_bookmarksnow keeps its canonical version inrounddav_bookmarks::PLUGIN_VERSIONinsiderounddav_bookmarks.php.rounddav_bookmarks::info()exposes the plugin metadata array used for self-identification.- Development builds should use a
+devsuffix such as1.0.0+dev. - Release builds should use a clean tagged version such as
1.0.0.
For a release bump:
- Update
rounddav_bookmarks::PLUGIN_VERSIONinrounddav_bookmarks.phpor runsh scripts/bump-version.sh 1.0.0. - Update
CHANGELOG.md. - Create the matching release tag after verification.
