Adapters connect the Anura front-end components to an upstream source, usually a DAM. At least one is required.
![]() |
![]() |
![]() |
All adapters have to extend the anura-adapter in order to inherit some utility functions, namely:
pageX
is translated as Page {page}
, expecting {page: 5}
in the args. So translate('pageX', {page: 5})
results in Page 5
setTranslation({en: {myKey: 'new value'}, de: {myKey: 'neuer Wert'}})
window.location.hash
(so you can copy-paste stateful links). Prefix is an arbitrary prefix to your key in order to support multiple instances of the same component on one page.
When implementing your own adapter, be sure to inform super() in attributeChangedCallback and connectedCallback.
required: no, default: the page's language (or en)
ISO 639-1 code for the language you'd like to use. Defaults to <html lang=...>
if present or en
otherwise. May default to the instance's default locale when not specified.
required: no, live: yes, default: the browser's
prefers-color-scheme
setting
Default theming of fullscreen components (light
or dark
), defaults to the users prefers-color-scheme
setting. Set this to light
in order to suppress dark mode despite users requesting it.
A regular load-event, can be used to set translations, e.g.
<some-adapter locale="de" onload="this.setTranslation({en: {loadMore: 'gimme more'}})"></celum-adapter>
{detail: {name: name, oldValue: oldValue, newValue: newValue}}
Fired when any attribute has been changed, indicating that components hooked up to this adapter may want to reload themselves, e.g. because the locale has changed.
Connects to any Bynder server using their v4-API.
<bynder-adapter url="https://some-instance.bynder.com" token="xxx"></bynder-adapter>
required: yes, default: -
The URL where the back-end endpoint is located, e.g. https://some-sandbox.bynder.com
required: yes, default: -
API-Token to use, see Advanced Settings > Portal Settings > Permanent Tokens. We'd recommend creating a separate user for it, as this will basically be public information for anyone looking at the source.
required: no, default: false
Whether to display video previews instead of showing a large thumbnail.
Note that public video URLs are not available by default -> ask Bynder about "video CDN" first.
required: no, default: zippy.brix.ch
Because Bynder's API provides no mechanism for downloading more than one file at once (as of 2023-04), an external service is used to assemble a ZIP file for basket downloads. By default our own zippy service is used - ask as about zippy if you want to host your own.
Connects Anura to a CELUM DAM, provided that the instance has the backend-plugin installed.
<celum-adapter url="https://my.celum.server/anura/example" locale="en"></celum-adapter>
required: yes, default: -
The URL where the back-end endpoint is located, e.g. https://my.celum.server/anura/example
required: maybe, default: -
API-Token to use, only required when the back-end is protected by one.
required: no, default: true
Whether to display PDF previews instead of showing a large thumbnail (depending on availability/file format).
required: no, default: true
Whether to display video previews instead of showing a large thumbnail.
required: no, default: false
Whether to fetch more asset attributes in list requests (such as file size, see API)
required: no, default: -
A comma-separated list of information field IDs that should be loaded in list requests (see API)
required: no, default: -
An information field ID to use instead of the asset's name (because that can't be localized). The asset's name will be used as a fallback if the information field is empty.
Connects to any Sharedien server using their v6-API.
<sharedien-adapter url="https://some-instance.sharedien.com" token="xxx"></sharedien-adapter>
Sharedien does not support arbitrary pagination, you must operate the paginator in auto-mode
required: yes, default: -
The URL where the back-end endpoint is located, e.g. https://some-instance.sharedien.com
required: yes, default: -
Go to "Admin > Security > Access Token" and create a token (that lasts long enough ^^)
required: no, default: -
Set the browser identifier to use, which is basically an additional search filter defined in the backend of Sharedien (see Administration > Browsers).
required: no, default: -
Which additional metadata properties should be loaded in list requests, useful for additional information or bullets.