I am new to this forum and new to Backdrop. I currently have a website (steampunk-explorer.com) developed in Drupal 7 and I'm looking at Backdrop or other alternatives once Drupal 7 goes EOL. One key Drupal module for me is SimpleAds, which lets me set up ads that can randomly rotate in different blocks (I don't use any third-party ad services - I get the ads from advertisers in my niche and add them myself). I can't find any module in Backdrop that would replicate that capability. Am I missing something or is there a workaround? That would seem to be a key function for any sort of editorial website.

My site also includes regional guides and a calendar that require some fairly complex linking with Views and Views Attach. I have about 5000 listings in a custom content type that are categorized by region and type (history museums, retail, etc.) so each region can have its own guide with categorized listings. So I'm trying to see if there's anything comparable to Views Attach that will allow me to do this.

I fall squarely into the category of "site builder." I'm pretty good at figuring out how to configure Drupal modules to do what I need, but I'm no PHP coder (except for really simple stuff) and don't have any budget to hire one. So whatever alternative I use will have to be within those parameters.

Most helpful answers

In general, this feels like a lot of highly specific functionality for any single piece of contrib. A lot of this can be done using core features and a handful of well supported modules.

I'll leave some notes per each item from the SimpleAds feature list.

  • Customizable groups for different ad types (can be grouped using taxonomy, reference or separate content types)
  • Automatically generates ad blocks for different ad types (you can easily add a block from any view and do a Block Override of the filter criteria to drill down into any grouping options from above)
  • Many configuration options for individual ad blocks including ad size and number of ads to display in a block (also doable in views/css)
  • Convenient dashboard for quick review of active ads (make this a view)
  • User-friendly ad scheduler makes it easy to schedule ad activation and expiration. (Enter Activation or Expiration Date by typing Now, +1 week, +1 year, etc..) (use the Backdrop content scheduling functionality that was a great addition, absent in D7, filter your view to "Published" nodes "default")
  • Capture useful statistics including ad impressions, clicks for 1 hours, one day, one week, one month, 3 months, 6 months, 1 year, and all time. (unsure)
  • Option to count clicks/impressions only for certain user roles ^^
  • Generates live ad statistics report ^^
  • Ad blocks can be themed (add a css class to a view in the "Other" section e.g. ".ad-block .ad-big .ad-red", as much speceficity as needed for various design styles)
  • Dynamic Ad rotation (configurable on block configuration screen) (there are many ways to rotate content in views, e.g. Limit results to 1, filter criteria Global: Random, or cycle them with something like bootstrap carousel)
  • Integration with WYSIWYG module (supports TinyMCE, CKEditor, FCKEditor). Plugin allows to inject Ads into content. (inject a view into content?)
  • Integration with Nodequeue module. Display manually ordered ads in blocks. (draggable_views module makes this slick and easy)
  • Integration with Domain Access module. (unsure)
  • Integration with Views. (built in views)
  • Text Ads allows to advertise any text. If you would like to advertise videos from YouTube, Vimeo, Blip.TV or other sites, simply install Video Filter module and enable WYSIWYG plugin. (you can rotate any field output in bootstrap carousel or similar views format)
  • Support Flash Ads. Upload SWF file and it will automatically show up in your block. (rip flash ;)
  • Campaigns by clicks, by impressions and by number of days. (unsure)

I don't know if this helps. But, you could do the following:

  1. Create a view of your active ads
  2. Create a block that only displays the 1st (or 2nd) ad
  3. Create a random Sort Criteria on the block 

In theory, this would mean that a different ad would display every time the page loads. HOWEVER, it would be random and would not cycle through the list in order - nor necessarily display them the same amount of times (although over time it SHOULD even out). 

I would think that you might be able use a combination of Rules and Views to figure out how to cycle through your list of ads in an orderly way. Or, this could probably be solved with a tiny bit of custom code - unfortunately, I don't know what that code would be. 

If you haven't tried Backdrop CMS yet, you can spin up a demo site pretty quickly here to see what we have in core (which includes views module).
https://backdropcms.org/demo

I've not used views_attach for Drupal https://www.drupal.org/project/views_attach. It seems like this was replaced by EVA in Drupal 7, We do have a Backdrop CMS port for EVA. 

https://backdropcms.org/project/eva

In terms of placing ads, I don't know of any modules specific for this in Backdrop CMS. You could use blocks to place ads pretty easily if you don't need to automate the process. 

It would be nice if we had a more elegant solution. 

Comments

If you haven't tried Backdrop CMS yet, you can spin up a demo site pretty quickly here to see what we have in core (which includes views module).
https://backdropcms.org/demo

I've not used views_attach for Drupal https://www.drupal.org/project/views_attach. It seems like this was replaced by EVA in Drupal 7, We do have a Backdrop CMS port for EVA. 

https://backdropcms.org/project/eva

In terms of placing ads, I don't know of any modules specific for this in Backdrop CMS. You could use blocks to place ads pretty easily if you don't need to automate the process. 

It would be nice if we had a more elegant solution. 

Thanks for the info. Notifications were landing in my spam folder so I missed this until now. It looks like I've been using EVA, not Views Attach, so I'm good on that front. I built the site 3-4 years ago so I don't even remember everything I did.

I tried the sandboxing feature and it looks like Backdrop has most of what I need.

The problem with just using blocks for ads is that I need the ads to automatically rotate. I have two blocks for ads, and each has about six or seven ads that rotate in and out. SimpleAds offers basic features for handling that, so it would be nice if that could be ported over. It's free in Drupal 7, but it looks like the author had to jump through some hoops to port it to Drupal 8/9, because he's charging for those versions.

It looks like my best bet might be the Revive ad server. It's an open-source, self-hosted ad server that can be installed in a subdomain. Drupal has an integration module, but you don't need one to use it, at least according to the website. It looks like you'd just insert some HTML code in a block. That creates an advertising "zone" and the server will automatically feed ads into it.

The downside is that it appears to be more complicated to implement than a simple module that's integrated into the CMS. But I might have to bite the bullet and do it anyway.

https://www.revive-adserver.com/

I don't know if this helps. But, you could do the following:

  1. Create a view of your active ads
  2. Create a block that only displays the 1st (or 2nd) ad
  3. Create a random Sort Criteria on the block 

In theory, this would mean that a different ad would display every time the page loads. HOWEVER, it would be random and would not cycle through the list in order - nor necessarily display them the same amount of times (although over time it SHOULD even out). 

I would think that you might be able use a combination of Rules and Views to figure out how to cycle through your list of ads in an orderly way. Or, this could probably be solved with a tiny bit of custom code - unfortunately, I don't know what that code would be. 

I don't need them to load in any particular order. I just need it to be more-or-less random so the same ad doesn't appear significantly more often than the others. I didn't realize that Views has random sort capability. I can probably try it on the current D7 site out of public view and see if it works.

Olafski's picture

One key Drupal module for me is SimpleAds, which lets me set up ads that can randomly rotate in different blocks

What do you mean by "rotating": a new ad on each page load, or rotating like in a slideshow? Can you post a link to a page of your Drupal site with ads?

New ad on each page load. I have two spots for ads on each page (banner on top and cube on the right). Each has 5-10 ads that randomly appear each time you visit a page. My site has a huge number of pages (>5000) so I get a lot of page views.

https://steampunk-explorer.com/

In general, this feels like a lot of highly specific functionality for any single piece of contrib. A lot of this can be done using core features and a handful of well supported modules.

I'll leave some notes per each item from the SimpleAds feature list.

  • Customizable groups for different ad types (can be grouped using taxonomy, reference or separate content types)
  • Automatically generates ad blocks for different ad types (you can easily add a block from any view and do a Block Override of the filter criteria to drill down into any grouping options from above)
  • Many configuration options for individual ad blocks including ad size and number of ads to display in a block (also doable in views/css)
  • Convenient dashboard for quick review of active ads (make this a view)
  • User-friendly ad scheduler makes it easy to schedule ad activation and expiration. (Enter Activation or Expiration Date by typing Now, +1 week, +1 year, etc..) (use the Backdrop content scheduling functionality that was a great addition, absent in D7, filter your view to "Published" nodes "default")
  • Capture useful statistics including ad impressions, clicks for 1 hours, one day, one week, one month, 3 months, 6 months, 1 year, and all time. (unsure)
  • Option to count clicks/impressions only for certain user roles ^^
  • Generates live ad statistics report ^^
  • Ad blocks can be themed (add a css class to a view in the "Other" section e.g. ".ad-block .ad-big .ad-red", as much speceficity as needed for various design styles)
  • Dynamic Ad rotation (configurable on block configuration screen) (there are many ways to rotate content in views, e.g. Limit results to 1, filter criteria Global: Random, or cycle them with something like bootstrap carousel)
  • Integration with WYSIWYG module (supports TinyMCE, CKEditor, FCKEditor). Plugin allows to inject Ads into content. (inject a view into content?)
  • Integration with Nodequeue module. Display manually ordered ads in blocks. (draggable_views module makes this slick and easy)
  • Integration with Domain Access module. (unsure)
  • Integration with Views. (built in views)
  • Text Ads allows to advertise any text. If you would like to advertise videos from YouTube, Vimeo, Blip.TV or other sites, simply install Video Filter module and enable WYSIWYG plugin. (you can rotate any field output in bootstrap carousel or similar views format)
  • Support Flash Ads. Upload SWF file and it will automatically show up in your block. (rip flash ;)
  • Campaigns by clicks, by impressions and by number of days. (unsure)

This is helpful. The key for me is the ability to randomly rotate ads. But it would be awfully nice to get stats about clicks and impressions. For some publishers that feature would be essential because it helps them determine how much to charge for ads.

Many if not most publishers work with major third-party ad servers that feed in ads externally. A module like SimpleAds is for publishers who sell their own advertising. All of the ads on my site are free, which is why the click-through stats aren't essential. If I ever decide to charge for ads, I'd probably have to use Revive. I see no reason why it couldn't co-exist with Backdrop.