- Issue created by @fkelly
- 🇺🇸United States fkelly
Picking up from " https://www.drupal.org/project/vvjs/issues/3476868 💬 Demo suggestions Active "
... 1. You modify the default view of "VVJS Example" naming the modified copy "vvjs2" to avoid unintentionally corrupting the base view that is installed with the module
2. You have a content type of article with a few images
3. For fields I limited the display to images
4. for filter criteria I used published = yes and content type = articleSince in my local demo site I just have one article, only one displays on the results. It shows the images and works properly as a slideshow. Good start.
I use a page display with a path of Path: /vvjs2
That page displays properly. Formatting refinements can wait.
My question is "what if I have 100 slideshows? " I might be able to filter the article type results by title or something. But that would be Hardcoded in the view. And I might need 100 views to display 100 different slideshows. I probably would have a content type of "gallery" to avoid mucking up the article content type, but I still have a problem. I don't want 100 different views for 100 different slideshows.
In my current Juicebox based gallery set up, I have links to the galleries embedded in vertical menus throughout the site. Each link points to a url alias which in turn points to a specific instance of a Juicebox gallery content type. That instance is a node.
I'm struggling to figure out how I'd translate this to the vvjs based approach. Suggestions welcome.
- 🇺🇸United States fkelly
Continuing onwards! It appears that I can use contextual filters. If I have two instances of an article content type (one with the title Irongate and the other with the title "Bound") and then I use a contextual filter I can select either using the filter for title ... say mysite/web/Irongate or mysite/web/Bound) and get the slideshow with images that belong to the Irongate or Bound galleries.
In rushing to get a local site up to test this feature with I have disabled all vertical menus but next up I will enable them and see if I can put a link in them for /vvjs/Bound or /vvjs/Irongate .... where vvjs is my copy of the VVSJ view example.
I love the fact that the JS for all this is in the Drupal code because, with the Juicebox module I've been working with for more than 5 years, the Javascript belongs to a third party and hasn't been updated in more than 5 years and the code that's used for generating XML files that contains the images and options for the slideshow is maintained by a fourth party (and is partly dependent on code from a fifth party). It makes for a very extended and fragile supply chain.
- 🇺🇸United States flashwebcenter Austin TX
Hello,
All the VVJ Suite modules come with a view example, demonstrating how view plugins can be applied to various elements, such as content, content blocks, paragraphs, etc., not limited to content types. These examples are not intended for direct use but to illustrate how the plugins function. Creating a dedicated content type for each module would add unnecessary configuration overhead to your site.
For your website, each Juicebox gallery content includes a slideshow feature, similar to what is provided by the ImageField Slideshow module → . This allows you to create a slideshow from multiple images within a single field. With VVJ Suite, the modules filter across different types of content, paragraphs, and blocks, enabling each node, block, or paragraph to contain its own image. One view can be used across unlimited content, as long as the content architecture is flexible and structured for easy manipulation.
In Views, you can leverage contextual filters to dynamically filter content. Alternatively, if your content is tagged, you can expose filters and allow users to interactively filter the displayed data. For example, in the demo site’s color schemes page (https://unitedstarsofamerica.com/color-schemes), the page itself is a view where any view plugin can modify the display (e.g., 3D carousel, slideshow). Here, I’ve also added exposed filters so users can refine the content display themselves.
It’s important to differentiate between data storage and data presentation. When storing data (content, images), I ensure everything is tagged with all potential criteria the client may later want to use to filter or display the data. The more time you spend architecting the data upfront, the more flexible your options will be for displaying it later.
Best wishes,
Alaa - 🇺🇸United States fkelly
Even though I've been working on galleries in Drupal for years, I wasn't aware of the ImageField slideshow module. Looks very capable and well maintained. I have to do some work on my local sites to test the VVJ suite modules further. In total the VVJ Suite gives an extensive set of capabilities ... my problem is that I just need a very simple set of capabilities but I have to make it work with an extensive set of images.
I know this seems like a very basic question but if you indulge me: but when you say "if your content is tagged, you can expose filters" I'm not sure what "content is tagged" means. What would be an example? In very basic testing I've done it does appear that exposed filters are working: if I have two content items with different titles it looks like I can filter on the titles and then just use the images from whichever content item has the title I want for a given slideshow.
- 🇺🇸United States flashwebcenter Austin TX
Hello,
I’m using a content type example from my site at https://unitedstarsofamerica.com/berry-and-fruit-tones/solo-blueberry-sk.... The content type has the following fields: Title, Category, Image, Body, and Links. The Category field is a taxonomy field connected to a vocabulary called "Category" (located at /admin/structure/taxonomy). Whenever I add a new color scheme image, I tag it with relevant taxonomy terms. In this example, I tagged the content with "Ocean and Deep Sea Themes," "Blue," and "Light and Dark."
I also created a view at https://unitedstarsofamerica.com/color-schemes, where the Category field is exposed twice—once as "Category" and again as "Colors."
Here’s how you can achieve something similar on your own site:
Organize Your Images: If you have a large set of images (e.g., 10,000), you can organize them in folders by criteria such as year, event, or place.
Install PB Import: Install the PB Import module and use it to create nodes for each image. Each node will have its own title, associated image, and relevant taxonomies.
Prepare CSV Files: The next critical step is creating CSV files to batch upload the data. Each image should have its own entry, including the URL, title, and taxonomy tags. For example:
csv_image_url, csv_node_title, csv_image_alt, csv_image_title, csv_node_tag, csv_node_body paragraphs-bundles-import.jpg, The Image Title, Optional image alt, optional image title, Paris | First Day | Cluny and Notre Dame, optional body text
Import the CSV Data: After creating the nodes, you can display the data using a view, choosing the appropriate plugin for your display needs (e.g., Slideshow, Tabs, 3D Carousel).
Create a Filterable Page: You can then expose taxonomy terms in your views to allow users to filter the slideshow or create menu links to pre-filtered views.
This method allows you to efficiently categorize, import, and display thousands of images in an organized way, providing flexibility in how users can view and filter the content.
- 🇺🇸United States fkelly
Thanks for the response. I've had to rebuild my local (Wampserver) sites resulting in a delay. That's done.
So, where I left off, I had added some images to an article content type. I used IMCE (I have always used IMCE for editing and adding images to content types). Then used a copy of the view you provided with module. My initial attempts to use contextual filters seemed to work but I had some additional steps needed to confirm this.
It appears from other discussions that IMCE does much the same thing as PB Import does in terms of making image files work properly with Drupal core.
Next step for me, which will take a few days to get to: use a specialized (separate) content type: not article and add images to it using IMCE. Test out how they work with the vvjs module. If IMCE does the same "magic" to the images that PB Import does then I have no need for a separate PB Import conversion step. All my 2000 or so images are already nicely organized into two "gallery" directories in the /files directory on my sites. Each individual gallery has a separate xml file that lists all the images (full size and thumbnails) within that gallery. So creating the "gallery" content types should be fairly straightforward.
The overall views javascript module has some amazing capabilities. Someday I may have time to take advantage of them but right now I have to focus on just getting a couple hundred existing galleries converted from Juicebox to software that will be supported over time.
- 🇺🇸United States fkelly
Have a "primitive" local site working. For galleries alone I have approximately 11 thousand image files, though half are thumbnails. About 400 galleries that those files are distributed in.
I can create my custom content type named gallery with an image field. Save galleries with multiple image fields each. The views (vvjs) that you provide as a sample in the module works to display those multiple image fields. If I customize the title field to be equal to the old gallery name I can use it as a contextual filter.
The image files were just copied over from an old version of the site. They are NOT media files. I do use IMCE and I believe that's responsible for putting them into the sample galleries I've created so far. I have not run PB Import on this site and I'd like to avoid using media or files managed or any of the other helpful stuff Drupal has added since I started with Juicebox galleries and ftp'ng files nearly 10 years ago.
Next I want to see if I can stick a link into a vertical menu item that will point towards a single "album" that is an instance of a gallery content type that's inside a view. Seems like views contextual filters should support that.