DAM System Integration (Digital Asset Management)
DAM system — centralized digital media repository: images, videos, documents, brand materials. Website integration allows using assets from DAM directly — without manual file uploads to CMS, with automatic format optimization and versioning.
Popular DAM Systems
- Bynder — enterprise, good API
- Cloudinary — CDN + real-time image transformations
- Canto — mid-market
- Brandfolder — brand materials
- Widen Collective — enterprise
- ImageKit, Imgix — DAM + image CDN
Cloudinary: Integration with Transformations
Cloudinary is most technically advanced: not just storage, but CDN with on-the-fly transformations.
// composer require cloudinary/cloudinary_php
Cloudinary::config([
'cloud_name' => env('CLOUDINARY_CLOUD'),
'api_key' => env('CLOUDINARY_KEY'),
'api_secret' => env('CLOUDINARY_SECRET'),
'secure' => true
]);
// Upload with tags and folder
$result = (new UploadApi())->upload(
$filePath,
['folder' => 'products', 'tags' => ['catalog', 'summer-2024']]
);
$publicId = $result['public_id'];
// → 'products/tshirt-blue-001'
Cloudinary URL Transformations
Cloudinary power — in URL parameters. No need to store multiple image versions:
// Original
https://res.cloudinary.com/{cloud}/image/upload/products/tshirt.jpg
// Thumb 400×300, WebP, quality auto
https://res.cloudinary.com/{cloud}/image/upload/w_400,h_300,c_fill,f_webp,q_auto/products/tshirt.jpg
// Retina: 2x
https://res.cloudinary.com/{cloud}/image/upload/w_800,h_600,c_fill,f_webp,q_auto/products/tshirt.jpg
In React component generate URL via SDK:
import { CloudinaryImage } from '@cloudinary/react';
import { fill } from '@cloudinary/url-gen/actions/resize';
<CloudinaryImage
publicId="products/tshirt"
transformation={[resize(fill().width(400).height(300))]}
/>
Bynder: API for Asset Selection
$client = new \Bynder\Api\BynderClient(['base_url' => env('BYNDER_DOMAIN')]);
$client->getOauthProvider()->setAccessToken(env('BYNDER_TOKEN'));
// Search assets by tags
$assets = $client->getAssetBankManager()->getMediaList([
'type' => 'image',
'keyword' => 'product',
'tags' => 'summer-2024'
])->wait();
Media Selection Component in CMS
DAM integration in CMS adds "Select from media library" dialog opening media library directly in editor. Bynder and Cloudinary provide ready widgets for embedding:
// Cloudinary Media Library Widget
cloudinary.openMediaLibrary({
cloud_name: CLOUD_NAME,
api_key: API_KEY,
max_files: 10,
multiple: true,
folder: {path: 'products', resource_type: 'image'}
}, {
insertHandler: (data) => {
data.assets.forEach(asset => {
// Insert image URL into editor
});
}
});
Asset Access Rights
DAM systems support access rights at folder and tag level. Editor sees only assets of their brand/division. Export formats (web, print, social) limited for different roles.
Asset Metadata
Can get alt tags, copyright, SEO tags from DAM — automatically filled when selecting image on site.
Development time: 2–4 weeks for Cloudinary or Bynder integration with selection widget in CMS.







