PHPackages                             nrel/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. [Utility &amp; Helpers](/categories/utility)
4. /
5. nrel/dam

ActiveDrupal-profile[Utility &amp; Helpers](/categories/utility)

nrel/dam
========

Dam profile is the de-facto Drupal swiss army knife for Digital Asset Management.

1.0.47(8y ago)2875[1 PRs](https://github.com/NREL/dam/pulls)1GPL-2.0+PHP

Since Jul 21Pushed 8y ago6 watchersCompare

[ Source](https://github.com/NREL/dam)[ Packagist](https://packagist.org/packages/nrel/dam)[ Docs](https://github.com/NREL/dam)[ RSS](/packages/nrel-dam/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (11)Versions (44)Used By (1)

[![Build Status](https://camo.githubusercontent.com/19616a51349da087a54e62a2fe3f586dbe3b1c4e1e1802821214e20e912eb8b6/68747470733a2f2f7472617669732d63692e6f72672f6163717569612f6c696768746e696e672e7376673f6272616e63683d382e782d312e78)](https://travis-ci.org/acquia/lightning)

Drupal Dam
==========

[](#drupal-dam)

Dam's mission is to enable developers to create great authoring experiences and empower editorial teams.

You'll notice that Dam appears very sparse out of the box. This is by design. We want to empower editorial teams and enable developers to jump-start their site builds. That means that a developer should never have to undo something that Dam has done. So we started with a blank slate and justified each addition from there.

Installing Dam
--------------

[](#installing-dam)

The preferred way to install Dam is using our [Composer-based project template](https://github.com/acquia/lightning-project "Composer-based project template"). It's easy!

```
$ composer create-project nrel/communications-project MY_PROJECT

```

If you don't want to use Composer, you can install Dam the traditional way by downloading a tarball from our [drupal.org project page](https://www.drupal.org/project/lightning). (Please note that the tarball does not contain any experimental features.)

You can customize your installation by creating a [sub-profile which uses Lightning as its base profile](https://github.com/acquia/lightning/wiki/Lightning-as-a-Base-Profile "Lightning sub-profile documentation"). Lightning includes a Drupal Console command (`lightning:subprofile`) which will generate a sub-profile for you.

What Dam Does
-------------

[](#what-dam-does)

Through custom modules and configuration, Lightning aims to target four functional areas:

### Media

[](#media)

The current version of media includes the following functionality:

- A preconfigured Text Format (Rich Text) with CKEditor WYSIWYG.
- A media button (indicated by a star -- for now) within the WYSIWYG that launches a custom media widget.
- The ability to place media into the text area and have it fully embedded as it will appear in the live entity. The following media types are currently supported:
    - Tweets
    - Instagram posts
    - Videos (YouTube and Vimeo supported out of the box)
    - Images
- Drag-and-drop image uploads
- Ability to create new media through the media library (/media/add)
- Ability to embed tweets, Instagrams, and YouTube/Vimeo videos directly into CKEditor by pasting the video URL

#### Extending Dam Media (Contributed Modules)

[](#extending-dam-media-contributed-modules)

Drupal community members have contributed several modules which integrate Dam Media with additional third-party media services. These modules are not packaged with Dam or maintained by Acquia, but they are stable and you can use them in your Dam site:

- [Facebook](https://www.drupal.org/project/lightning_media_facebook)
- [Imgur](https://www.drupal.org/project/lightning_media_imgur)
- [Flickr](https://www.drupal.org/project/lightning_media_flickr)
- [500px](https://www.drupal.org/project/lightning_media_d500px)
- [SoundCloud](https://www.drupal.org/project/lightning_media_soundcloud)
- [Tumblr](https://www.drupal.org/project/lightning_media_tumblr)
- [Spotify](https://www.drupal.org/project/lightning_media_spotify)
- [Pinterest](https://www.drupal.org/project/lightning_media_pinterest)

### Layout

[](#layout)

Lightning includes the Panelizer module, which allows you to configure the layout of any content type using a drag-and-drop interface (Panels IPE). Lightning also includes a Landing Page content type for you to create landing pages with their own one-off layouts and content.

Any content type that uses Panelizer will allow you to set up default layouts for each view mode of that content type, which you can choose from (or override on a one-off basis) for individual pieces of content.

Eight layouts are provided out of the box by Panels. You can create your own layouts (see the [Layout Plugin](https://www.drupal.org/project/layout_plugin)module) or install a contributed library of layouts like [Radix Layouts](https://www.drupal.org/project/radix_layouts).

### Workflow

[](#workflow)

Lightning includes tools for building organization-specific content workflows. Out of the box, Lightning gives you the ability to manage content in one of four workflow states (draft, needs review, published, and archived). You can create as many additional states as you like and define transitions between them. It's also possible to schedule content (either a single node or many at once) to be transitioned between states at a specific future date and time.

### Preview (Experimental)

[](#preview-experimental)

The Workspace Preview System (WPS) gives site builders, editors, authors, and reviews the ability to send collections of content through an editorial workflow and preview that content within the context of the current live site. WPS is a collection of contributed Drupal modules with additional configuration UX improvements that all just works out of the box.

Note that **the Workspace Preview System is experimental** and is not currently included in stable releases of Lightning. If you would like to use it, see "Experimental Features" below.

Project Roadmap
---------------

[](#project-roadmap)

We publish sprint plans for each patch release. You can find a link to the current one in \[this meta-issue\]\[meta\_releases\] on Drupal.org.

Experimental Features
---------------------

[](#experimental-features)

Some components of Lightning (such as the Workspace Preview System) are currently experimental until they stabilize. Experimental features should be considered bleeding-edge and are **not safe for production environments.**

Experimental features are kept in Lightning's `8.x-2.x-experimental`development branch. To use experimental features, you will need to create your Lightning code base from this branch. This can be done only with the Composer- based [project template](https://github.com/acquia/lightning-project "Composer-based project template") -- check there for more information on how to use experimental features.

Resources
---------

[](#resources)

You can find general best practices documentation inside the `help` directory of each Lightning "base" module. Integration with the [Advanced Help](https://www.drupal.org/project/advanced_help) module is planned.

Demonstration videos for each of our user stories can be found [here](http://lightning.acquia.com/blog/lightning-user-stories-demonstrations "Lightning user story demonstration videos").

Please use the [Drupal.org issue queue](https://www.drupal.org/project/issues/lightning "Lightning Issue Queue") for latest information and to request features or bug fixes.

Running Tests
-------------

[](#running-tests)

These instructions assume you have used Composer to install Lightning. Once you have it up and running, follow these steps to execute all of Lightning's Behat tests:

### Behat

[](#behat)

```
$ cd MYPROJECT
$ ./bin/drupal behat:init http://YOUR.LIGHTNING.SITE --merge=../tests/behat.yml
$ ./bin/drupal behat:include ../tests/features --with-subcontexts=../tests/features/bootstrap --with-subcontexts=../src/LightningExtension/Context
$ ./bin/behat --config ./docroot/sites/default/files/behat.yml

```

If necessary, you can edit `docroot/sites/default/files/behat.yml` to match your environment, but generally you will not need to do this.

Known Issues
------------

[](#known-issues)

### Media

[](#media-1)

- If you upload an image into an image field using the new image browser, you can set the image's alt text at upload time, but that text will not be replicated to the image field. This is due to a limitation of Entity Browser's API.

### Workflow

[](#workflow-1)

- Lightning Workflow is based on Workbench Moderation, which is incompatible with the experimental Content Moderation module included with Drupal core 8.3.0 and later and serves the same purpose as Workbench Moderation. We plan to seamlessly migrate Lightning Workflow to Content Moderation once it is stable, most likely in Drupal 8.4.0. But for now, installing Content Moderation alongside Lightning Workflow may have unpredictable and dangerous effects, and is best avoided.

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 66.7% of commits — single point of failure

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

Every ~2 days

Total

42

Last Release

3144d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/399d67b5f044fadc29d052caa6cf1e0d43250dac95c1d0167dcecadb90698ba7?d=identicon)[nomad](/maintainers/nomad)

---

Top Contributors

[![drubage](https://avatars.githubusercontent.com/u/2574144?v=4)](https://github.com/drubage "drubage (2 commits)")[![dhaley](https://avatars.githubusercontent.com/u/746864?v=4)](https://github.com/dhaley "dhaley (1 commits)")

### Embed Badge

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

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

###  Alternatives

[drupalwxt/wxt

Project template for Drupal 10 sites built with the WxT distribution.

29159.8k8](/packages/drupalwxt-wxt)[linnovate/openideal

OpenideaL - open source ideas and innovation management system

1262.8k2](/packages/linnovate-openideal)[voidagency/vactory_starter_kit

Vactory is a custom Drupal profile which is developed and released by VOID Agency.

1019.7k](/packages/voidagency-vactory-starter-kit)

PHPackages © 2026

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