User accessable-uploads slideshows in Drupal 7?

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
opegasus's picture

A year + ago I ran across a slideshow module that allowed users (with permissions) to upload photos to any slideshow on a Drupal site.

I do not recall which one it is. Does anybody know of that module's name? I am pretty sure it was/is for D7.

Comments

Pretty broad

scottrouse's picture

That's a pretty broad question.

Perhaps you were looking at Slideshow Creator?

Typically there's not a "single module" to do something like a slideshow. These are typically built using specifically designed content types and fields along with a module like Field Slideshow or by adding in the power of Views with Views Slideshow.

With those solutions, the decision of who gets to upload what to where is up to you, the site architect/administrator.

Out of the above options, Views Slideshow is probably the most flexible/extensible.

True...

opegasus's picture

..it was a broad question. I think that is what I had attempted to convey because the action of allowing people with the set permissions to upload to specific, or any, slideshows would be a rather broad sweeping ( based on roles) action?

Sadly I didn't recall which one of the modules had that type of action built in. It was over a year ago that I saw a tutorial that showed the Admin could set it up where a user could be on a particular slideshow and if that person (role) had permissions, they could upload directly to that slideshow for inclusion.

So I though if I posted the question, it might trigger someone's memory to say 'Yeah, I use that module and it's... 'X'..'

Had to make the attempt. I will say I did go through the more popular modules looking for that function before I posted the leading question. I was just stumped.

Thanks Scott for the pointers!

The (new) "Drupal" Way

scottrouse's picture

I think this has probably been discussed in previous meetups and/or threads, but now may be a good time to re-address.

One of those little idiosyncrasies of building with Drupal is that we rarely use a single module to build what I'll call a "feature". (Note this is "feature" in the lower-case, common meaning of the word rather than "Feature" as in the Drupal Features module.)

For example, let's say we wanted to build a Press Release feature for our site. The goal may be to have a list of articles, or "Press Releases", at a certain path (URL) sorted by posted date. Clicking on a Press Release would take you to the full text of that article.

That sounds easy enough to accomplish, right? Though someone could relatively easily construct a Drupal module that handled all of that functionality in one, easy-to-enable package, it's doubtful you'd find that in the list of contributed modules. The main reason for this is that the tools to accomplish this task are readily available to us in Drupal core and in a few, very popular contributed modules (Views, Chaos Tools, Pathauto, Token, etc.)

Also, someone could construct a module which encompasses the "Press Release" feature, but, no sooner than the module would be posted to Drupal.org, a user would, inevitably, come up with a special use case for which the module would need to be adapted (maybe they don't call their Press Releases "Press Releases" but rather "News Releases", they may not want their articles sorted by date but rather by title, they may need to categorize Press Releases, etc).

Instead of relying on a catch-all module to implement a "Press Release" feature on our site, we know we should instead just do something like:

  1. Create a content type called "Press Release".
  2. Create a View that displays content of this type at a desired URL.

In those steps, we can customize things to meet our exact needs.

The same holds true for your question about a "Slideshow". The slideshow-related modules available at Drupal.org by and large don't create entire slideshow features but rather allow some items (field(s), nodes, results of Views, etc, etc) to be displayed in a slideshow-type format.

From your description of what you were looking for, this is (roughly) the way I'd go about accomplishing it:

  1. Create a content type to act as a slideshow. Let's call it "Slideshow".
  2. The Slideshow doesn't need any specific fields other than a Title, but you may want a description.
  3. Create a content type to act as a slide in a slideshow. Let's call it "Photo" (assuming you're creating a photo slideshow).
  4. The fields for this content type would be, at a bare minimum, Title (of course), Photo (an Image field), and Slideshow (a node-reference field). For the Slideshow field, you'll need the References module and, optionally, the Node Reference URL Widget module. The Slideshow field will reference content of type "Slideshow".
  5. Create a View that will display on Slideshow nodes showing "Photos" which reference that node. (You can get some hints about this from http://www.drupalove.com/drupal-video/photo-galleries-views-attach)
  6. Finally, set permissions such that users with desired role(s) can create Photos (and Slideshows, if you wish).

Best,
Scott