Planet Drupal

Syndicate content - aggregated feeds in category Planet Drupal
Updated: 55 min 59 sec ago

Drupal @ Penn State: Another month of camps!

2 hours 53 min ago

Before I say anything… DRUPAL 8 IS RC1!!! Great work to all the contributors that poured themselves into it to get it “done when it’s ready”. It’s looking like a really solid platform to build on down the road. Now..

Categories: FLOSS Project Planets

Realityloop: Programmatically attach files to a node in Drupal 8

3 hours 12 min ago
8 Oct Stuart Clark

If you're a Drupal developer, there's a good chance that at some point you've done a search for "Programmatically attach files to a node in Drupal 7" or similar. I know I've done the search repeatedly, as while it's a common enough task it involves just a bit too much code to not be retained by my long term memory.

Now that Drupal 8 is upon us adding a file to a node (or any entity) is far easier. I'm not going to do a comparison, however, as I don't want to confuse anyone who stumbles onto this post with the intent of simply copying and pasting the below code snippet, so you'll just have to take my word for it.


So, straight to the point, this is all it takes to programmatically attach a file to a file field on a Node:

  1. use \Drupal\node\Entity\Node;
  3. // Create file object from remote URL.
  4. $data = file_get_contents('');
  5. $file = file_save_data($data, 'public://druplicon.png', FILE_EXISTS_REPLACE);
  7. // Create node object with attached file.
  8. $node = Node::create([
  9. 'type' => 'article',
  10. 'title' => 'Druplicon test',
  11. 'field_image' => [
  12. 'target_id' => $file->id(),
  13. ],
  14. ]);
  15. $node->save();

In the above example we are taking a remote file and saving it locally, which is probably the most commonly used case when programmatically adding a file to a node.


What if the file is already present in your local file system and you want to attach it to an existing node? Here's an example for that too:

  1. use \Drupal\node\Entity\Node;
  2. use \Drupal\file\Entity\File;
  4. // Create file object from a locally copied file.
  5. $uri = file_unmanaged_copy('public://source.jpg', 'public://destination.jpg', FILE_EXISTS_REPLACE);
  6. $file = File::Create([
  7. 'uri' => $uri,
  8. ]);
  9. $file->save();
  11. // Load existing node and attach file.
  12. $node = Node::load(1);
  13. $node->field_image->setValue([
  14. 'target_id' => $file->id(),
  15. ]);
  16. $node->save();


And lastly, what if you want to stick a placeholder file to a node? Thanks to Drupal 8, this is too easy:

  1. use \Drupal\node\Entity\Node;
  3. $node = Node::create([
  4. 'type' => 'article',
  5. 'title' => 'Generated image test',
  6. ]);
  7. $node->field_image->generateSampleItems();
  8. $node->save();


So get to it, programmatically attach files to your nodes and be merry!

drupaldrupal 8drupal planet
Categories: FLOSS Project Planets

VM(doh): 3 Reasons Why Yoast SEO is Great for Drupal

Wed, 2015-10-07 17:58

Yoast SEO, known for its powerful features as a must-have Wordpress plugin, has released a Drupal module. This move has surprised many in the industry, but for Drupal users it is wonderful news.

As observed: "...the Drupal module will be a complete rewrite of the WordPress plugin, molding on the fine edges that make the Drupal CMS so powerful, and will also feature Yoast's Real-time Content Analysis platform."

Here are a few others reasons why this is such good news for Drupal users:

Yoast is Very Good at Simplifying SEO

Yoast earned a reputation for analyzing the tediously complex tasks of SEO and reducing them into simple steps for the website owner. It made life easier for everyone.

The Yoast SEO project page on sums up the new Yoast SEO module this way:

This module checks simple things you're bound to forget. It checks, for instance, whether your posts are long enough, if you've written a meta description and if that meta description contains your focus keyword, if you've used any subheadings within your post, etc. etc.

It ensures you've actually chosen a focus keyword for each article and ensures you're using it.

(Side-note: in the Drupal announcement linked above, it says Yoast makes sure you're "using [your focus keyword] everywhere." That shouldn't mean, however, that you should engage in keyword stuffing. That doesn't work anymore. The new Google algorithm knows when you're trying to stuff keywords and penalizes you for it. Remember, the name of the game is now Search Experience Optimization, not Search Engine Optimization. Write for the experience of the reader, not for the search engine robots. Don't make your posts awkward and hard to read by over-filling them with keywords.)

It's Coming Just in Time for Drupal 8

After the DrupalCon 2015 conference in Barcelona, Spain, the Yoast SEO module became available for Drupal 7.x. Hopefully this means that Yoast is already working on or at least planning its Drupal 8 version. That would be perfect timing for Drupal users: not only would they be getting a new Drupal version soon, but they would have a new world class SEO module to go with it.

It's Also Bringing GoalGorilla Into the Mix

Yoast has found a friend in GoalGorilla, an award-winning Dutch company that uses a variety of powerful design and analytic tools to help you learn more about your users. As their humorous landing page says in its English translation, "you've never been so close to your users." GoalGorilla was a #1 winner at the DIA (Dutch Interactive Awards). Their involvement in Yoast SEO for Drupal is definitely a good thing.

A Few Final Thoughts on the Benefits of Yoast SEO

If Yoast SEO for Drupal turns out as good as its Wordpress version, we can expect it to work similar feats of magic, such as these features:

  • Handles pinging for you by sending up-to-date sitemaps to the search engines. This enables search engines to add your content more quickly.
  • Allows you to write two headlines, one for search engines and one for your visitors, thus ensuring your articles are optimized for the user's search experience while also feeding search engines great keywords in the headline.
  • Reminds you if you need to fix a post url, slug, or other element that's hurting your SEO.
  • Allows you to add page redirects when old posts are getting a ton of traffic but you'd prefer the traffic goes to a newer, updated post.
  • Fixes incorrect links from other sites. If someone mangles the URL for your page, Yoast has a way of fixing it and getting the visitor to clean permalinks.
  • Hopefully the features listed above, and the many other perks of the popular Wordpress plugin, will find its way into Drupal.

Subscribe to our newsletter for more helpful tips about Drupal that can help you achieve your business objectives.

Categories: FLOSS Project Planets

Mediacurrent: Drupal 8 RC1 is here!

Wed, 2015-10-07 17:48

Today, the Drupal community has officially released the first release candidate of Drupal 8, with the final release imminent. This is a historic day for Drupal, the open-source content management system that powers your website as well as millions of other web properties in the world.  This release has been 4+ years in the making, had 3000+ code contributors, and represents a huge opportunity for you. We believe your presence on the web is the single greatest marketing tool that exists within your organization.

Categories: FLOSS Project Planets

Mediacurrent: Drupal 8 RC1 is here!

Wed, 2015-10-07 17:48

Today, the Drupal community has officially released the first release candidate of Drupal 8, with the final release imminent. This is a historic day for Drupal, the open-source content management system that powers your website as well as millions of other web properties in the world.  This release has been 4+ years in the making, had 3000+ code contributors, and represents a huge opportunity for you. We believe your presence on the web is the single greatest marketing tool that exists within your organization.

Categories: FLOSS Project Planets

Dries Buytaert: First Drupal 8 Release Candidate available

Wed, 2015-10-07 17:39

Today, we announce Drupal 8.0.0 RC1, the first Drupal 8 release candidate. It's a very exciting milestone, and one that has taken a lot of hard work, long nights, weekends, and extreme commitment from our community. I appreciate the dedication of everyone involved, and understand what it takes to give up personal time in pursuit of building something greater. So, for that I want to thank you.

In total, Drupal 8 has had more than 3,200 contributors and 15,000 committed patches. The good news is, we've finally reached the day when Drupal 8 has hit zero release-blocking bugs and is ready for takeoff!

Historically, the adoption of Drupal has roughly doubled with each new release. We expect no different from Drupal 8, a release I believe positions Drupal most strongly for the future. We've undergone some big architectural changes to get more people using Drupal, and to prepare ourselves for the future. I can't wait to see what the community does with Drupal 8. It's time to start building!

Categories: FLOSS Project Planets

Drupal Association News: Drupal 8 release candidate: available now

Wed, 2015-10-07 15:52

Drupal 8 is now available as a release candidate (RC). An RC is like a sneak preview you can use. It's not a final release—that’s coming soon, and there may be another release candidate before then. But its code and interface should feel stable now. You can install it, start designing for it, create and build with it, and extend and improve it. That means you can start putting Drupal 8's more than 200 new features and improvements to work today.

Get Drupal 8 RC1

A first look at Drupal 8's features

With Drupal 8, the world's best content management framework just got better. Every built-in theme is responsive. Every single component is translatable out of the box. More elements have configurable fields and there are new field types for better content modeling.

It’s built people-first. The authoring experience is better, with features like in-context editing and enhanced previews. It's easier to add people-friendly meaning via native markup. There's extensive support for accessibility standards.

Drupal 8 also has all the geekery you can Git. All-new configuration management (full exports, easier transitions between environments) means safer, faster site development and maintenance. REST-first native web services enable 3rd-party integrations. And adding Twig is the most complete transformation of Drupal theming in a decade. It allows friendlier syntax, better security, and a separate presentation layer.

Organizations are using Drupal 8 now

There are thousands of Drupal 8 installations already up and running. Goal Gorilla, Amazee Labs, Gravity R&D, and DrupalNorth joined as some of the earliest Drupal 8 adopters. France Télévisions, Memorial Sloan Kettering Cancer Center, and CH2M have chosen Drupal 8 too. The list of sites built with Drupal 8 is growing and growing.

Companies and organizations around the world rely on Drupal 8 right now. Your organization could be next. Have questions before getting started? Check out answers to some frequently asked ones, and read the RC’s release notes.

Feedback welcome

Sharing feedback is important. It's part of the open source spirit. It's what pushes the Drupal community forward. And it's what will get Drupal 8 from RC to a full version release. If you find bugs while using this RC, let the community know.

To join the social conversations about this RC, use #drupal8rc. To mention and find conversations about work already made with Drupal 8, use #madewithd8.

A great big thank you

This RC wouldn't have been possible without our community. Its contributions, its diligence, and its patience created something special. To everyone who’s helped and will help, even if you're not in the Drupal 8 hall of fame, thank you.

Drupal 8: make something amazing, for anyone.

Taxonomy upgrade extras: drupal8rcPersonal blog tags: drupal8rc
Categories: FLOSS Project Planets

Drupal Association News: What's new on - September 2015

Wed, 2015-10-07 13:52

Look for links to our Strategic Roadmap highlighting how this work falls into our priorities set by the Drupal Association Board and Working Groups.

DrupalCon Barcelona Recap

DrupalCon Barcelona was an opportunity for Drupal Association staff to meet with members of the community, attend some critical sessions about upcoming development in Core and Contrib, and to present some sessions of our own.


Being able to speak with the community face to face is a tremendously valuable opportunity for us, and helps us to validate our priorities, and keep on top of the changing needs of the community. Barcelona was a great con on both fronts!

The Roadmap Improved Search on

In August, we upgraded our search infrastructure, identified criteria for evaluating our search improvements, and created a pre-production search environment to allow us to test our changes to search. By September we were ready to begin deploying changes.

We used a script which evaluates the change in position of results for the key search phrases we are using as exemplars. Then we deployed several changes, primarily to our biases for searches matching path aliases and project machine names. These changes have greatly elevated the desired results for our exemplar phrases in search.

We're pleased with these improvements, and may continue to tune search further, especially as community members provide additional search phrases with unexpected results that we can test against.

Documentation Improvements

One of the larger initiatives for September was to work on improvements to Documentation on This is a clear priority from the community, and also an important part of the work we identified as part of our content strategy.

To implement the requirements of the content strategy we introduced a few new modules to, in particular: organic groups, and panels. These and a few supporting modules have allowed us to create the new Section content type one Sections are groups, which can have their own maintainers and governance structure. Content (including child Sections) will be associated to this new higher level Section content. Panels and some preconfigured layouts will allow us to improve the layout of content on and create a more consistent look and feel.

In September we made the initial deployment of these underlying modules and configuration and we are now beginning to configure our first Section - Documentation. At the same time, we reached out to key members of the documentation community during September, both remotely and at DrupalCon Barcelona, to identify more specific user stories that we will build out as features on this framework.


Our focus for DrupalCI in September was identifying any work that needed to be done to allow us to shut off the old PIFT/PIFR testbots on, and any feature improvements and bug fixes as they were identified. We also wanted to ensure that D8 Core and Contrib developers were comfortable relying on the new system.


During September we made progress on a few fronts. Firstly, users who create tests or project maintainers can subscribe to email notifications about their tests. Secondly, we continued fixing issues on the critical path to allowing us to disable the old testbots. Finally, about a week prior to DrupalCon Barcelona we allowed DrupalCI test results to set issues to needs work, letting Core maintainers accelerate their testing in the ramp up to the Con.

In October we anticipate disabling PIFT/PIFR for Drupal 8 testing entirely, and then phasing it out for Drupal 6 and Drupal 7 testing as well, once testing in those environments has been vetted. At that point the old test results will be archived statically. Moving forward DrupalCI development will move more into stable maintenance of the system as a production service, and evaluation of feature requests and contributed community work. needed had only a few key issues to tackle in September - primarily: a server side version fall back system for translations. A related issue allowing us to symlink translations to the ‘latest’ release was completed as well.

The final task for Localize, and one of the infrastructure blockers to an 8.0.0 release, is support for translatables with external dependencies(for contrib). The community has been iterating on patches for this feature, and it should be fixed soon.

Incremental Improvements to Updating the Marketplace

In order to celebrate the organizations that are supporting the development of Drupal 8, we launched some changes to the marketplace. First, we changed the organization listings themselves, highlighting the people at the organization, the projects supported, the case studies, and the issue credits awarded in the last 90 days.

Finally, instead of sorting the listings alphabetically, we now sort by the listings by issue credits. This highlights the organizations who have been working hard to move the project forward and get Drupal 8 released!

We've received a lot of positive feedback about the Marketplace changes, as well as a large amount of community feedback about additional improvements that could be made, particularly to the sorting algorithm. We'll continue to collect that feedback and iterate on this further.

Revenue Related Projects (Funding our Work) DrupalCon Dublin

As is tradition, at DrupalCon Barcelona we also launched our next European DrupalCon - DrupalCon Dublin! For this initial announcement we launched the con splash page, but as the event gets closer the full site will go live. The Drupal Association and the local Drupal community in Dublin are very excited to welcome you to this con! Céad Míle Fáilte!




Sustaining support and maintenance

In addition to the infrastructure team's strong focus on DrupalCI and ensuring that the testing infrastructure was stable through DrupalCon Barcelona, the infrastructure team also made a few other changes. First, we evaluated a PHP version upgrade in our pre-production environments, and will deploy to prod in October. Secondly, we took the Solr infrastructure that had been upgraded in August, and set it up for high availability.

The Drupal Association infrastructure team also gave a presentation on the history of's infrastructure. This session provided a retrospective of the architectural decisions for in the past, as well as an opportunity to showcase where the infrastructure is headed and solicit feedback from the community.


As always, we'd like to say thanks to all volunteers who are working with us and to the Drupal Association Supporters, who made it possible for us to work on these projects.

Follow us on Twitter for regular updates: @drupal_org, @drupal_infra

Personal blog tags: whats new on
Categories: FLOSS Project Planets

Fabian Franz: git rebase --onto - The simple 1 min explanation

Wed, 2015-10-07 11:47

TL;DR the command you want is:

    git rebase --onto [the new HEAD base] [the old head base - check git log] [the-branch-to-rebase-from-one-base-to-another]

And my main motivation to putting it here is to easily find it again in the future as I always forget the syntax.

Mental model


To make all of this simpler think of:   You have:
  • Two red dishes on top of two blue dishes
  • One yellow dish
  You want:
  • Those two red dishes on top of the one yellow dish
  You do:
  • Carefully go with the finger down to the bottom of the two red dishes, which is the first blue dish
  • Take the two red dishes
  • Transfer them over to the one yellow dish
  That is what rebase --onto does:             git rebase --onto [yellow dish] [from: first blue dish] [the two red dishes]   Note: The following is meant for an intermediate audience that is familiar with general rebasing in GIT Longer explanation

It happened! A branch you had been based your work on has diverged upstream, but you still have work in progress you want to preserve.

So it looks like this for you:

   "Your Commit A" - "Your Commit B" - "Upstream Commit: This is the last upstream commit" - "Upstream Commit: This is another upstream commit"

But now the branch you based your work on squashed their work together or removed a file due to privacy concerns and now upstream has:

  "Upstream Commit: This is the last upstream commit and this is another upstream commit together in one."

So all that you want is to move your two commits onto the new base.   The cherry-pick way   Lets assume your branch is called 'work' and you based your work upon 'upstream/develop'.   What you could do is to checkout the develop branch, reset it to the new version and cherry-pick your two commits:  

# Reset the develop branch

git checkout develop git reset --hard upstream/develop   # Checkout a new branch git checkout -b work2   # Now find the two commit IDs git log work   # Cherry-pick those   git cherry-pick 28d3fc5 git cherry-pick a67b2c   # And reset your work branch to the new work git checkout work git reset --hard work2 git branch -d work2 ( And yes I am aware that cherry-pick supports commit ranges now, too. ) The rebase way Usually git knows when you call rebase how to rebase as it has a common history. It gets only problematic if the history diverges as happened above. In that case you will need to tell git to rebase which on what. So when you normally use:

git fetch upstream
git rebase upstream/develop

You would now use with the new base:

git fetch upstream
git rebase --onto upstream/develop [old base] work

and thats it.

To get the old base just use the commit ID of the first commit that does not contain changes you made.

A real contribution example

This is super helpful when having to juggle several branches for e.g. the Drupal 8 core queue that depend on each other.

Lets say you worked on issue-X and issue-Y and issue-Y is build on top of issue-Y.

Now you work mostly on issue-Y, but now you work more on issue-X and for your personal merit decide to make the history a little nicer, so now issue-X has diverted.

But a simple:

git checkout issue-Y
git rebase --onto issue-X [old base of X in issue-Y] issue-Y

can again save the day. The same is sometimes needed when the branches are based of off different core versions.

Tags: drupaldrupal planetgit
Categories: FLOSS Project Planets

Drupal Watchdog: Testing, Testing... One... Two...Three

Wed, 2015-10-07 11:35

Writing tests for a project is a terrific way to learn about its underlying code. In the case of Drupal 8, nearly all the code is a complete overhaul from Drupal 7. For folks familiar with the inner workings of Drupal 7, writing PHPUnit tests for a given part of the codebase is a perfect way to understand what has changed.

As of June 2015, there are 566 active issues in the Drupal 8.0.x queue tagged with Needs tests. There’s lots of room for contribution for folks who can write a test. Since this column is dedicated to testing, let's look at the benefits of pushing Drupal 8 forward through test writing.

There are three different types of tests in Drupal 8:

  • Unit tests (PHPUnit) are used to test that the individual classes function as expected in relative isolation.
  • Integration tests (KernelTestBase) expand from this concept, but still only pull in code needed to test.
  • Functional tests (WebTestBase and BrowserTestBase) bring everything together, perform a full site install, and then assert the expected behavior.

Note that since the functional tests perform a full site install, they are quite slow, and should only be used when integration or unit tests are insufficient.)

To get started, find an issue in the “Needs work” or “Needs review” state that already has a patch and is tagged “Needs tests.” If the issue already has tests, update the issue to remove that tag and move along, or review the issue, give feedback, and then move along.

When a patch that only contains the fix is found, the next step is to backward-engineer the bug. The test must fail without the patch – meaning it shows that this is a bug – and then, with the patch, the test must pass. This pattern makes it easy for overworked core committers to see that the problem has been demonstrated and fixed.

For folks writing their first test, the ideal issue will have clearly defined “steps to reproduce” in the issue summary. The test then is essentially an automated way of reproducing those.

Categories: FLOSS Project Planets

OpenLucius: Secure the data of visitors on your Drupal website better

Wed, 2015-10-07 04:26

Drupal module moment: field encryption

The Field encryption module ensures that the values stored in the Drupal database are encrypted. When the database ends up in the wrong hands, then nobody can read the data since this module has encrypted it. This way, you are prepared for a worse case scenario.

This contrib can come in handy if you are managing a Drupal website in which third party data is stored, such as a Drupal webshop, an online community or Ashley Madison ;-). The module is beta2, but appears to run stable.

Installation and configuration 1) Installation
Categories: FLOSS Project Planets

Drupal core announcements: Drupal 7 core release window for October 7 is delayed

Tue, 2015-10-06 18:08

The monthly Drupal core bug fix/feature release window is scheduled for this Wednesday, October 7. A Drupal 7 core release is planned for this window (since there hasn't been one in a while), but it will not come out on the scheduled date. This is due to various scheduling issues, and also to give more time to get a few more patches committed in time for the release.

The delay will push the release out by a couple days, or possibly into early next week. I will post a new announcement once the code is frozen and a release date has been set.

This release window is for a bug fix/feature release only (no security fixes). Upcoming release windows after this one include:

  • Wednesday, October 21 (security release window)
  • Wednesday, November 4 (bug fix/feature release window)

For more information on Drupal core release windows, see the documentation on release timing and security releases, and the discussion that led to this policy being implemented.

Categories: FLOSS Project Planets

OSTraining: How to Fix Design Issues in Internet Explorer 10 and 11

Tue, 2015-10-06 17:53

One of our members needed to fix an issue for a site in Internet Explorer 11. At the same time, he wanted to avoid changes that might mess up other browsers. The site looks fine in Firefox, Chrome, Safari and Opera.

In this tutorial we will show you how to add custom CSS for just Internet Explorer 10 and 11.

Categories: FLOSS Project Planets

DrupalCon News: Submit your session for DrupalCon Asia

Tue, 2015-10-06 17:50

With the call for papers officially open, we wanted to take a moment to give you all of the details you should know about sessions: what tracks we are offering, how to submit an awesome session submission, and how session selection works.

Categories: FLOSS Project Planets

Web Wash: Build a Blog in Drupal 8: Adding Comments

Tue, 2015-10-06 16:03

If you want to communicate with readers on a blog, the best way to achieve this is by setting up comments. If you're happy to deal with spam and the occasional troll, then comments are great for communicating with readers and fostering a community.

The functionality has changed a lot in Drupal 8. In Drupal 7, the comments system was fairly rigid. You could only use them on content types and only have a single comment type. If you needed to support multiple comment types like review or feedback, you were out of luck.

In Drupal 8, the comments system has been rebuilt. They can be attached to any entity type by adding a "Comments" field. You can also now have different comment types. This allows you to do all sorts of things like having public and private comments on a single content type.

In the last tutorial, we created a Blog content type and added fields to it. Let's continue working on it by adding support for comments. We'll configure the user permissions so that comments can be submitted anonymously, but will need to be approved before they're published.

Categories: FLOSS Project Planets

Appnovation Technologies: Appnovation Helps D8 Accelerate Reach $250,000 Goal

Tue, 2015-10-06 13:25

Appnovation announced an additional $11,500 to support the D8 Accelerate project efforts to help move Drupal 8 from the initial beta to a full release.

Categories: FLOSS Project Planets

Drupalize.Me: Drupal 8, Release Candidate 1

Tue, 2015-10-06 12:21
The first release candidate (RC1) of Drupal 8 just went live! This is a significant milestone in the Drupal 8 development cycle.
Categories: FLOSS Project Planets

InternetDevels: How to Secure Your Social Media Accounts: 5 Tools

Tue, 2015-10-06 11:22

If you find yourself going out of way to keep your accounts secure and care about your website support, you are on the right page, reading information you need. Everyone, who has their own accounts in Facebook, Gmail, Twitter, LinkedIn or any other network, is concerned about protection against social media threats. Here in this article we are going to suggest some effective tips to help to reduce the risk of hacker attacks.

Read more
Categories: FLOSS Project Planets

drunken monkey: Introducing the "Views Save" module

Tue, 2015-10-06 10:15

This past week, a new open database for economic, demographic, and market data was launched called Vizala. Vizala is a Drupal site and at the core of its user experience is a module called Views Save that allows users to personalize the site by saving views of data that are meaningful to them.

Views Save takes all of the functionality and flexibility provided by the Views module and its extensions, and enhances it by allowing users to save/bookmark any view of content. Basically, if Views can display it, then it can be saved with Views Save. It works with any configuration set by administrators or users including exposed filters, sorting, and any options added by extensions. Views Save works with all Views display types, plugins, handlers etc.

When a view is saved, it becomes an entity in Drupal. This allows you to use Views to generate lists of saved views per user. Views Bulk Operations (VBO) can be used to allow users to manage their lists. Saved views being stored as entities also allows you to take take advantage of a lot of other Drupal functionality including Fields and content permissions. Future development may involve Rules integration to allow alerts to be created that are based on saved views.

Example use cases for Views Save include …

  1. Sites that allow users to customize and save maps
  2. Analytics sites that allow you to save any view of the data, and create recurring reports
  3. When notifications are not required for a site, it could also be a replacement for the Search API Saved Searches module
Categories: FLOSS Project Planets

flink: Views Aggregator Plus revisited: new Economics and Market Research Site

Tue, 2015-10-06 00:45

In a previous post, we reflected on how our Drupal module Views Aggregator Plus came about: "….that [government] project was eventually put on ice, but during its course another module baby was born. We called it Views Aggregator Plus and set her free in Drupalland. It seemed a waste not to share it."

Views Aggregator Plus now enjoys thousands of installs across the world. There is a 90 second video about it on YouTube and quite a few mentions on Google etc. To us it’s lovely that our efforts didn’t go to waste.

The three real-live examples described in the previous post highlighted the module’s row aggregation capability. This is where Views result rows are grouped and compressed based on the identical values of one column, while at the same time applying aggregation functions (like sum, average, enumeration) on the other columns -- the project page explains this better with an example.
This type of data summary can provide useful insights on the entire dataset.

But Views Aggregator Plus does straightforward column aggregations easily too.

The following example was mentioned to us the other day. It can be found on, a new online database for economic, demographic, and market research information.

If you look at these examples ....

Industry output by country
Agricultural land by country
Total international trade by country
Imports by industry & country

.... you can see that the grey aggregation row (near the the top) provides totals and averages for any year that is selected.
Also, no matter what configuration of exposed filters is set by the user, VAP automatically updates the totals and averages for that group of countries.

* * *

Image of aggregation taken from Wikipedia, "Pheromone"


File under: Planet Drupal
Categories: FLOSS Project Planets