Keyword Bookmarks for OpenStack Developers
As an OpenStack developer, I spend a lot of time looking at web sites for code review, project status, bug reports, the wiki, and other online collaboration tools. As a productivity boost, I’ve set up “keyword bookmarks” for all of the most commonly accessed tools, turning my browser’s input field into a command-line-like short-cut to jump directly to the page I want, without hunting around in a long list of links.
What are “keyword bookmarks”?
Keyword bookmarks are browser bookmarks set up as templates that can be triggered by typing a word and an argument in the browser input field. For example, I have a keyword bookmark “rev” configured to take the name of an OpenStack project as argument and launch a gerrit query for reviews for the project. So I type “rev openstack/requirements” and am directed to https://review.openstack.org/#/q/project:openstack%2Frequirements+is:open,n,z
There’s more information about how to configure keyword bookmarks in your favorite browser at the end of the post.
Useful Bookmarks
The bookmark I use most often is rev
. Configured to with the
template https://review.openstack.org/#/q/project:%s+is:open,n,z
, it
shows me a list of all of the open reviews for the project given as
the argument. I tend to move between projects frequently, either
looking at different Oslo libraries or helping with cross-project
work. Having a quick way to find open reviews makes this much easier.
I frequently need to send someone a link to a source example, either
to point out where they might find something to answer their question
or where a change we’re discussing would need to be made. For that I
use cgit
with the template http://git.openstack.org/cgit/%s
to
jump directly to the official source repository for the project. There
are copies of the code synced to github, too, but I prefer going
directly to the canonical repository.
As Oslo PTL and now part of the release team, I often end up reviewing
the Launchpad page for a project to ensure the milestones are up to
date. For that I use lp
bound to https://launchpad.net/%s
. Typing
lp oslo.config
takes me to the project page, and lp ~oslo-drivers
takes me to the team page.
To navigate directly to a bug in Launchpad, I bind bug
to
https://bugs.launchpad.net/%s
. Most of the time the openstack
bot on IRC reports titles and links when bugs are mentioned in
official OpenStack channels, but sometimes a bug number is mentioned
in a way that doesn’t trigger the bot.
Most of OpenStack is written in Python, so the Python documentation is
good to have close to hand. For that I configure pydoc
to launch a
page using the template https://docs.python.org/2/library/%s.html
,
so I can provide the name of a standard library module and go directly
to its documentation.
If I need a concrete example of using one of the standard library
modules, pymotw
and the module name converts
http://pymotw.com/2/%s
to a link directly to the Python Module of
the Week page for the module.
When I’m working with an OpenStack package and need its developer
documentation, osdocs
and the project name combined with
http://docs.openstack.org/developer/%s
take me right there.
While reviewing dependency changes for OpenStack (rev openstack/requirements
), I will often want to look up details of new
packages being added to the global requirements list. I have pypi
mapped to https://pypi.python.org/pypi/%s
so I can start with the
Python Package Index home page for the project to find its
documentation, bug tracker, and support details.
Keyword | Template |
---|---|
rev | `https://review.openstack.org/#/q/project:%s+is:open,n,z` |
cgit | `http://git.openstack.org/cgit/%s` |
lp | `https://launchpad.net/%s` |
bug | `https://bugs.launchpad.net/%s` |
pydoc | `https://docs.python.org/2/library/%s.html` |
pymotw | `http://pymotw.com/2/%s` |
osdocs | `http://docs.openstack.org/developer/%s` |
pypi | `https://pypi.python.org/pypi/%s` |
Browser Support
The steps for setting up keyword bookmarks depend on which browser you use.
Firefox has native support for keyword bookmarks through the bookmark
editor. Navigate to a representative page manually, then create a
bookmark. Edit the new bookmark to add a “keyword” to trigger it, and
replace part of the search query with %s
.
Chrome implements keyword bookmarks as search engines instead of
normal bookmarks. Under settings, click “Manage Search
Engines”. Create a new “engine” by giving a name, a keyword to trigger
it, and pasting in a URL. Add %s
somewhere in the URL to insert the
search term.
Safari requires the KeySearch extension, available through the
Extensions tab of the preferences dialog. After it’s installed, click
the magnifying glass icon in the toolbar, click the gear icon, then
select “Edit Keywords”. Unlike the other implementations, KeySearch
uses @@@
for the substitution value in URLs.
See also
- How Cool are Custom Keywords? for details about Firefox support
- How to Set Keyword Bookmarks in Google Chrome for more information about Chrome support
- KeySearch extension for enabling Safari support
- Firefox and the art of keyword bookmarking for other ideas about using keyword bookmarks