FAQ brix:anura

Why does asset x not show up?

  • In CELUM, try logging in as the backend user - if you can't see it there, it's a permission issue.
  • If it's not that, 9 times out of 10 it's the cache. Clear the cache under Administration > System Tasks > Anura > Flush all caches. Don't forget about your browser's cache as well!
  • When it's still not showing up, it may be hidden through a globalFilter, customSearchProvider or a custom search term in the front-end.

My facet count does not reflect the actual number of assets that were found?

  • The facet index is probably out of sync - there's a few events that we don't get told about (such as changed permissions). Use Administration > System Tasks > Anura > Recreate facet search index (and clear the cache ^^)
  • Further common troubleshooting steps can be found in the troubleshooting section.

I needed to do a special integration, so I changed something in jquery.anura.xyz.js file xD

  • DON'T! You won't be able to update to the next release without porting your stuff → ask us to add an event or a callback or a setting, we're more than happy to help.
  • If you want to go deeper, we're also happy to provide you with access to our git repo to create a merge request.

Do I need a separate webserver to run a standalone portal?

  • No. All the front-end does is serve a bit of HTML and some JS-Files - you can put it on anything you got that serves http-requests. Everything else happens on the CELUM server and in the browser. Here's a diagram.

Wow, that's a lot! Where do I even get started? (or: I ain't got time for all that!)

But I'm using $frameworkDuJour, I can't (or don't want to) load these components. What now?

  • You can build your own components and can still use and benefit from the stability, cacheability and all of the features of our API - here's an example.

Can I use this to stream videos?

  • Yes, depending on how much traffic you expect. By default, CELUM's video player is used, but this only scales to a limited extent. When you do a lot with videos, we recommend that you use some sort of videoPlayerProvider. Out of the box we support YouTube, Vimeo and MovingImage through their respective backstage packages.

Wait, so everyone can access the content made available through the endpoints?

  • Yes, this was designed as a public image gallery to put on your website. You can however add authentication through a tokenVerifier, which requires an access token to be sent with every API request. Out of the box we support static tokens (like CORA uses), a status code callback and login through the CELUM login screen (thereby implicitly also LDAP ans SAML). Authenticating a user against a session they might have in your CMS requires a bit of engineering on both ends.
  • But I want to know who downloaded my assets‽
    • low hurdles: Require their e-mail address when downloading through downloadHandler=anuraMailInputDownloader
    • medium hurdles: Require them to place an order for the assets through downloadHandler=anuraAssetOrderDownloader (you can also make them fill out more fields, e.g. usage. Order can either be released automatically or reviewed by one or more humans)
    • hight hurdles: Require them to login to CELUM through downloadHandler=anuraLoginFilterDownloader, which requires an account (which in turn requires them to register first). You can also only require a login for certain formats (e.g. high-res needs login, low-res is available to everyone)
    • custom hurdles: Use a combination of tokenVerifier and the events that the front-end generates to set up custom tracking.

Where do you get all the labels from?

  • We get them from CELUM (here's a list), so you can override any label you don't like in the customMessages_xy.properties as usual. If you only want to override it for anura but not in CELUM, prefix the key with anura., e.g. anura.paging.page=P. leaves the CELUM UIs paging.page=Page untouched.

"since" is newer than the latest version I can find

  • This indicates that this feature has not officially been released yet. So when it says "since 2.9" it might already be available in some very recent dot-release of 2.8, which may additionally depend on which branch as well. When in doubt, ask us.

Can I run multiple instances of the same plugin on one page?

Yes you can, as long as you keep an eye on the following:

  • The containers you load the plugins into should have a unique ID, e.g. <div id="table1"> and <div id="table2">
  • When using deep-links, each "group" must have a unique state setting (preferably something short, e.g. t1 and t2)
  • To connect a navigation component to a main view, overwrite callback in order to talk to the "correct" instance

    var table1 = $('#table1').anuraTable({/*...*/, state: 't1'});
    var search1 = $('#search1').anuraSearch({
      state: 't1',
      callback: function (server, search_query) {
          table1.anuraTable({search: {custom: search_query}, locale: lang});
    var table2 = $('#table2').anuraTable({/*...*/, state: 't2'});
    var search2 = $('#search2').anuraSearch({
      state: 't2',
      callback: function (server, search_query) {
          table2.anuraTable({search: {custom: search_query}, locale: lang});