DADI

Looking for a cloud based content platform?

On demand

Need help integrating or customising our platform?

Solutions
DADI API

Just-in-time asset manipulation and delivery layer designed as a modern, global content distribution solution

The perfect marriage of control, flexibility, and speed.

You can consider a full installation of DADI CDN as being analogous to a traditional CDN (Content Distribution Network) such as Akamai and Limelight. It is designed to carry the processing and delivery load associated with image manipulation and asset delivery (CSS/JS/fonts) and acts autonomously as a layer on top of your core product.

CDN has full support for caching, header control, image manipulation, image compression and image format conversion. An authenticated API allows for fine grained cache control in the form of content invalidation on an individual file or collective path basis.

  • Built in support for oAuth2
  • Provides native document versioning at collection level
  • Supports static endpoints
  • Includes automatic indexing
  • Local and networked caching layer
  • Can be run in a clustered configuration
  • Search, filter and sort your data with ease
  • Collection-level access control
  • Automatic input validation
  • Support multiple databases connectivity
  • Automatic database indexing
  • Cache data responses using a shared Redis layer or the filesystem
Contact us

Recipes

Delivery Recipes enable a predefined set of image manipulation parameters to be mapped to a URL.

Find out more

Example recipe.json

{
  "recipe": "example-recipe-name",
  "settings": {
    "format": "jpg",
    "quality": "80",
    "width": "100",
    "height": "100",
    "resizeStyle": "entropy"
  }
}

Corresponding URL:

http://youdomain.com
  /example-recipe-name
  /image-filename.png

Routes

Routes allow DADI CDN to make a decision about which Delivery Recipe to use for the current request, based on a set of configurable conditions.

Conditions can include the type of device being used, the network type, user location and language.

Branching enables a set of conditional routing rules to be applied to a request.

Find out more

Example route.json

{
  "route": "sample-route",
  "branches": [
    {
      "recipe": "thumbnail",
      "condition": {
        "device": "desktop",
        "language": "en",
        "country": [
          "GB",
          "US"
        ],
        "network": "cable"
      }
    },
    {
      "recipe": "thumbnail-lo-res",
      "condition": {
        "device": [
          "mobile",
          "tablet"
        ],
        "language": [
          "en",
          "pt"
        ],
        "country": "GB",
        "network": [
          "cable",
          "dsl"
        ]
      }
    },
    {
      "recipe": "default-recipe"
    }
  ]
}