PHPackages                             unopim/dam - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. unopim/dam

ActiveLibrary[File &amp; Storage](/categories/file-storage)

unopim/dam
==========

Unopim Digital Asset Management (DAM) is a flexible solution for managing digital assets in the Unopim PIM ecosystem. Key features include file and directory management, asset upload, preview, and deletion, advanced metadata tagging, collaboration tools, and CSV/XLSX export/import for asset assignment.

v1.0.0(1y ago)18872↑50%22[1 issues](https://github.com/unopim/unopim-digital-asset-management/issues)[1 PRs](https://github.com/unopim/unopim-digital-asset-management/pulls)MITPHP

Since Dec 2Pushed 2mo ago3 watchersCompare

[ Source](https://github.com/unopim/unopim-digital-asset-management)[ Packagist](https://packagist.org/packages/unopim/dam)[ RSS](/packages/unopim-dam/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

UnoPim Digital Asset Management (DAM)
=====================================

[](#unopim-digital-asset-management-dam)

UnoPim DAM is a flexible, open-source Digital Asset Management (DAM) system built on Laravel. It enables businesses to store, organize, and manage digital assets such as images, videos, documents, and more. The system is designed for seamless cross-team asset management. Key features include:

Requirements
------------

[](#requirements)

- **UnoPim**: v1.0.0

✨ Features
----------

[](#-features)

- **Asset Gallery Grid View**
    Browse and manage assets through a visual gallery grid, featuring filters and a search box for quick file access. Supports efficient organization with options for mass actions, including bulk delete.
- **Resource Editing**
    Add tags to assets for enhanced filtering in the gallery view, and apply custom properties such as copyright, source, author, and more. Users can also add comments and view linked resources associated with assets.
- **Linked Resources**
    Directly link related resources from the asset edit page, allowing for easier navigation and improved resource relevance.
- **Directory (Folder) Structure**
    Organize assets in a clear directory tree structure. Right-click to upload files, add directories, rename, delete, copy, and download folders as ZIP files. Files can be dragged and dropped between directories, with support for unlimited subdirectory creation.

[![Comprehensive File & Directory Management](https://github.com/unopim/temp-media/raw/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/directory-management.png)](https://github.com/unopim/temp-media/blob/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/directory-management.png)

- **Comprehensive Asset Operations**
    Perform key asset actions such as uploading, previewing, renaming, deleting, re-uploading, and downloading to meet team needs. Supports a wide range of file types, including images, CSV, XLSX, PDF, audio, and video files.

[![Advanced Asset Operations](https://github.com/unopim/temp-media/raw/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/asset-operations.png)](https://github.com/unopim/temp-media/blob/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/asset-operations.png)

- **Metadata and Tagging**
    Enhance asset searchability and organization by adding tags, custom properties, and embedded metadata.

[![Metadata and Tagging](https://github.com/unopim/temp-media/raw/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/metadata-tagging.png)](https://github.com/unopim/temp-media/blob/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/metadata-tagging.png)

- **History Tracking**Maintain a complete history of changes made to assets, ensuring transparency and easy tracking of modifications over time [![History Tracking](https://github.com/unopim/temp-media/raw/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/history.png)](https://github.com/unopim/temp-media/blob/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/history.png)
- **Collaboration and Resource Linking**
    Enable multi-user comments and resource linking for effective team collaboration on assets.

[![Collaboration and Resource Linking](https://github.com/unopim/temp-media/raw/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/collaboration.png)](https://github.com/unopim/temp-media/blob/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/collaboration.png)

- **Asset Detail Export in Product CSV**
    Export asset details as part of the product CSV export job, enabling smooth data transfer and management by including asset information directly in product CSV files.

[![Asset Assignment via Export / Import](https://github.com/unopim/temp-media/raw/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/asset-assignment.png)](https://github.com/unopim/temp-media/blob/92aa1fc9e1164339fa3f601eac71d15b7d08a9f8/UnoPim-DAM/asset-assignment.png)

Installation with Composer
--------------------------

[](#installation-with-composer)

- Run the following command:

    ```
    composer require unopim/dam
    ```
- Run the command to execute migrations and clear the cache:

    ```
    php artisan dam-package:install;
    php artisan optimize:clear;
    ```
- Start the queue to execute actions, such as job operations, by running the following command:

    ```
      php artisan queue:work
    ```
- If the queue:work command is managed by a process manager like Supervisor, restart the relevant service after installing the module to apply the changes. Replace unopim-worker with your actual worker name, if different:

    ```
    sudo supervisorctl restart unopim-worker
    ```

Installation without Composer
-----------------------------

[](#installation-without-composer)

To manually install UnoPim DAM:

1. **Download and Setup the Extension**

    - Download and unzip the extension.
    - Rename the folder to `DAM` and place it in the `packages/Webkul` directory within the project's root.
2. **Register the Package Provider**

    - Add the following provider class to `config/app.php` under the `providers` key: ```
        Webkul\DAM\Providers\DAMServiceProvider::class,
        ```
3. **Update Autoload Configuration**

    - Register the DAM directory in `composer.json` under `autoload` `psr-4`: ```
        "Webkul\\DAM\\": "packages/Webkul/DAM/src"
        ```
4. **Run Installation Commands**

    - Execute these commands to complete the installation: ```
        composer dump-autoload
        php artisan optimize:clear
        php artisan migrate
        php artisan vendor:publish --provider=Webkul\\DAM\\Providers\\DAMServiceProvider
        php artisan db:seed --class=Webkul\\DAM\\Database\\Seeders\\DirectoryTableSeeder
        ```
5. **Enable Queue Operations**

    - Start the queue to execute actions, such as job operations, by running the following command: ```
          php artisan queue:work
        ```
    - If the queue:work command is managed by a process manager like Supervisor, restart the relevant service after installing the module to apply the changes. Replace unopim-worker with your actual worker name, if different: ```
        sudo supervisorctl restart unopim-worker
        ```

📦 DAM Asset Migration to AWS S3
-------------------------------

[](#-dam-asset-migration-to-aws-s3)

This Laravel Artisan command is used to **migrate DAM asset files** from the **local private disk** to **AWS S3 storage**. It supports migrating all files or only newly uploaded ones, and optionally deleting local files after successful migration.

### 🛠 Command Signature

[](#-command-signature)

```
php artisan unopim:dam:move-asset-to-s3
```

### 🔐 Authentication

[](#-authentication)

To execute this command, valid admin credentials are required:

- You'll be prompted to enter your **email** and **password**.
- Access is granted only if the credentials match an admin user.

### 🧭 Options Prompts

[](#-options-prompts)

During execution, the command will prompt you to choose:

- **Migrate only new files?**If `yes`, only assets not already present on S3 will be migrated.
- **Delete files from local disk after uploading?**If `yes`, local files will be deleted after successful transfer to S3.

### 📋 Example Workflow

[](#-example-workflow)

```
php artisan unopim:dam:move-asset-to-s3
```

📬 Postman API Collection
------------------------

[](#-postman-api-collection)

To interact with UnoPim DAM's API, you can use our official Postman collection:

[UnoPim DAM APIs Documentation](https://documenter.getpostman.com/view/4385199/2sBXVhEWjQ)

[UnoPim DAM APIs on Postman](https://www.postman.com/unopim/unopim-apis/collection/4385199-086948c4-9e81-4271-abb7-6d6995a67304?ctx=info)

This collection provides ready-to-use API requests for various UnoPim DAM API features. You can import it directly into your Postman workspace and start testing the APIs.

### API Support

[](#api-support)

- **Directories Management Endpoints:**

    - **Create Directory:** `POST /api/v1/rest/directories`
    - **Update Directory:** `PUT /api/v1/rest/directories/{directory_id}`
    - **Delete Directory:** `DELETE /api/v1/rest/directories/{directory_id}`
    - **List Directories:** `GET /api/v1/rest/directories`
- **Assets Management Endpoints:**

    - **Upload Asset:** `POST /api/v1/rest/assets`
    - **Update Asset Metadata:** `PUT /api/v1/rest/assets/{asset_id}`
    - **Delete Asset:** `DELETE /api/v1/rest/assets/{asset_id}`
    - **Download Asset:** `GET /api/v1/rest/assets/download/{asset_id}`
    - **List Assets:** `GET /api/v1/rest/assets?limit=100&page=1`

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance63

Regular maintenance activity

Popularity31

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

532d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3b9d5e6ca8ad62c7fe95aa906a664678ba8d79fe83f455f27a344a435bfcfed9?d=identicon)[navneetbhardwaj](/maintainers/navneetbhardwaj)

---

Top Contributors

[![navneetkumar-pim-webkul](https://avatars.githubusercontent.com/u/26001046?v=4)](https://github.com/navneetkumar-pim-webkul "navneetkumar-pim-webkul (18 commits)")[![mrprince-webkul](https://avatars.githubusercontent.com/u/210351267?v=4)](https://github.com/mrprince-webkul "mrprince-webkul (10 commits)")[![devraj-jaiswal](https://avatars.githubusercontent.com/u/252315967?v=4)](https://github.com/devraj-jaiswal "devraj-jaiswal (9 commits)")[![devansh-pal-webkul](https://avatars.githubusercontent.com/u/153480042?v=4)](https://github.com/devansh-pal-webkul "devansh-pal-webkul (8 commits)")[![vipin-yadav-webkul](https://avatars.githubusercontent.com/u/153269757?v=4)](https://github.com/vipin-yadav-webkul "vipin-yadav-webkul (3 commits)")[![abhishekverma-webkul](https://avatars.githubusercontent.com/u/194934707?v=4)](https://github.com/abhishekverma-webkul "abhishekverma-webkul (2 commits)")[![utkarshumrao-webkul](https://avatars.githubusercontent.com/u/175584804?v=4)](https://github.com/utkarshumrao-webkul "utkarshumrao-webkul (1 commits)")

---

Tags

asset-managementasset-taggingdamdigital-asset-managementdigital-assetsfile-managementlaravelmedia-managementmetadata-managementopen-sourcephp

### Embed Badge

![Health badge](/badges/unopim-dam/health.svg)

```
[![Health](https://phpackages.com/badges/unopim-dam/health.svg)](https://phpackages.com/packages/unopim-dam)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M125](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
