Clients looking to assist users by showing the contents of a URL will often rely on the server to generate a preview to avoid exposing the user's IP to the service. The media repo can have URL previews disabled (usually resulting in previews not being shown to users), though it is recommended to have them enabled for the best user experience.
The media repo uses OpenGraph and its own built-in page scraping to generate previews, though other methods can be enabled (see later documentation).
The configuration for URL previews is as follows:
urlPreviews: enabled: true numWorkers: 10 maxPageSizeBytes: 10485760 # 10MB default, 0 to disable filePreviewTypes: - "image/*" defaultLanguage: "en-US,en" numWords: 50 maxLength: 200 numTitleWords: 30 maxTitleLength: 150 expireAfterDays: 0
Like downloads and thumbnails, URL previews have a worker system to process multiple concurrent
requests for previews. The number of active workers can be controlled with
numWorkers. By default
this is 10, though larger deployments may wish to consider setting this to a number in the hundreds
to ensure there is enough availability to process previews quickly.
Also like thumbnails, URL previews can have a significant drain on resources. To help minimize the
maxPageSizeBytes to limit how much of a page the media repo will try and preview.
filePreviewTypes are the mimetypes the media repo will try to thumbnail if it encounters them
during the preview generation process. This is usually thumbnailed and shown alongside the other
information in the preview.
defaultLanguage can be used as teh default language to send to the remote server when the client
doesn't send an
Accept-Language header to the media repo.
Previews are limited by a number of words first, then limited to a number of characters (which may
involve taking a few words off the end). This is to try and give a sensible preview of what the
page describes without generating previews with a large amount of text. The title for the preview
can be controlled with
maxTitleLength whereas the description (body) can be
URL previews are often not used after a couple days and can be safely purged with
If a client re-requests a preview, it will be regenerated.