Drupal

InternetDevels: Supercharge your Drupal 8 website with special powers of Views

Planet Drupal - 27 October 2017 - 4:25am

The Views module lets even non-developers organize and present the website's content in the desired ways. Website administrators love it, Drupal newbies start with it, and Drupal ninjas perform miracles with it. No wonder it used to be the most downloadable contributed module. Well, it still is — in Drupal 7.

Read more
Categories: Drupal

Commerce Zarinpal

New Drupal Modules - 27 October 2017 - 3:28am

Provides an integration between Drupal commerce 2 and Zarinpal Gateway.

درگاه پرداخت زرین پال برای کامرس دروپال ۸

Zarinpal is one of the most famous FinTechs in Iran which provides payment services.

Categories: Drupal

Metatag Path

New Drupal Modules - 27 October 2017 - 2:40am

Extending functionality of the Meta tag module. With this module you can create meta tags for custom path.

Categories: Drupal

Commerce GoCardless Payment

New Drupal Modules - 27 October 2017 - 2:00am

Integration with the UK Direct Debit payment gateway GoCardless

https://gocardless.com/

Payment methods done:

Categories: Drupal

Colan Schwartz: Representing Drupal at the GSoC 2017 Mentor Summit

Planet Drupal - 26 October 2017 - 6:25pm
Topics:  I've been mentoring students as part of Drupal's Google Summer of Code (GSoC) program for the last two years, where we guide students in working on Drupal projects over the summer. (For the projects I've been involved in, see User-friendly encryption now in Drupal 8! and Client-side encryption options now available in Drupal.) This year, our organization administrator, Matthew Lechleider, invited my to the Mentor Summit.

The Google-provided summit creates a forum for members of free/libre and open-source software (FLOSS) organizations to come together to discuss GSoC, mentoring and FLOSS in an unconference format. I met attendees from all over the world, who flew in from far-reaching places to interact as part of a wider community. Generally, two mentors are invited from each organization, but some had more and some had less.

I arrived late Friday night, having missed that day's introductory sessions due to some trouble at the US border. Historically, in my experience, we Canadians haven't had too much trouble getting across the border for technology conferences. This has recently changed so it's now necessary to provide proof of intent for being in the country (a signed invitation from the organizers) as well as proof of business activities (corporate and tax documents). Needless to say, all of this took a significant amount of time to prepare. Eventually though, I was allowed through and made my way to Sunnyvale, California.

On Saturday morning, the day started with Lightning Talks, where attendees gave presentations on their student projects having only a few minutes each to speak. There were so many presentations that it was necessary to split the session into two, continuing after dinner that same evening. While there were several interesting projects highlighted, the most interesting to me was Jitsi's speech-to-text service. Besides making video conferences accessible through textual media, it also allows for automated note-taking. This was one of the truly amazing projects completed by a student over the summer.

In talking about Drupal with other folks, I was surprised to hear that many other delegates do not have paying day jobs associated with their organizations. They work on these projects on the side, and generally don't get paid for them. For example, nobody in the Kodi contributor community gets paid; it's all volunteer work. While there are volunteer contributions to Drupal, many of those contributors eventually turn that knowledge into paid work. I suppose we're a lucky bunch, being able to work on an open-source project and get paid for it. And speaking of Kodi, I'm happy to report that they're using Drupal for their Web site!

There were quite a few conversations about messaging applications, with a large XMPP delegation. There were also folks from the Zulip and Rocket.Chat communities. It was interesting to hear from a former XMPP developer who's shifted completely to Matrix with the Riot client, exactly as I've done. I use that client and the federated protocol to bridge with other communications networks such as proprietary closed-source Slack and classic Internet Relay Chat (IRC) whenever possible. Matrix already integrates with these two protocols, and has built-in support. The goal is to eventually use only one messaging client, instead of the many applications we all have installed on all of our devices. Rocket.Chat has already started working on Matrix integration, while Zulip hasn't. They're open to it, and may move in this direction eventually, but for now they're focused on user-experience innovations. In the Drupal community, we've had a very long discussion about using Matrix for our communications alongside IRC, and have finally put a plan into place to make this happen. For those eager to jump in, it's now possible to use Matrix as an always-on IRC bouncer client to connect to Drupal's IRC channels for communication within the community. To sum up, it looks as though everything is moving towards Matrix.

Alongside Drupal, representatives from other content management systems (CMSes) also attended. There were folks from both the Joomla and Plone communities. It would have been great to connect with them, but I didn't get a chance. I was hoping that Airship would have representation as that crew has been doing a lot of excellent security work with PHP projects (including helping us).

All in all, it was an excellent conference. In my humble opinion, it's really important to stay in touch with this greater community, cross-pollinate with folks doing similar work in the public interest, and keep contributing!

This article, Representing Drupal at the GSoC 2017 Mentor Summit, appeared first on the Colan Schwartz Consulting Services blog.

Categories: Drupal

Zeeto Monetization Placements

New Drupal Modules - 26 October 2017 - 3:36pm

Zeeto placements helps websites, apps and publishers monetize their traffic. It allows Publishers to create an additional revenue source that works by taking visitor traffic on a website or app, asking them questions and using their answers to uncover high value data points that brands bid on in the Zeeto Ad Network.

Interested in trying out Zeeto placements?

To get started, contact us here to create your account.

Categories: Drupal

Purge Queuer Redirect

New Drupal Modules - 26 October 2017 - 3:33pm

Integrate purge with redirect module to do purge task for the edge case.

Here is the scenario:

  1. Publish node/123
  2. Unpublish node/123
  3. Visit node/123 as an anonymous user, get access denied
  4. Add a redirect link from node/123 to node/321
  5. Logged in users can go the node/123 and they will be redirected to node/321
  6. Anonmous users will still see node/123 as access denied untill the external cache is cleared

This module provides queuer for redirect module to purge the source link when a new redirect link is created.

Categories: Drupal

PreviousNext: Sending Drupal entities to dialogflow with Chatbot API module

Planet Drupal - 26 October 2017 - 3:16pm
Share:

Services like dialogflow (formerly api.ai) do a much better job of natural language parsing (NLP) if they're aware of your entity names in advance.

For example, it can recognize that show me the weather in Bundaberg is a request for weather in Bundaberg, if you've told it ahead of time that Bundaberg is a valid value for the City entity.

Having the entity values automatically update in your service of choice when they're created and changed in Drupal makes this much more efficient.

This article will show you how to achieve that.

by Lee Rowlands / 27 October 2017

This is where the chatbot_api_entities sub-module comes in.

When you enable this module you can browse to Admin -> Config -> Web Services -> Entity Collections to create a collection.

The UI looks something like this:

Adding an entity collection to send to dialogflow in Drupal

Each collection comprises an entity-type and bundle as well as a push handler and a query handler.

By default Chatbot API Entities comes with a query handler for each entity-type and a specific one for Users to exclude blocked users.

The api_ai_webhook module comes with a push handler for pushing entities to your dialogflow/api.ai account.

By default, these plugins query based on available entities and the push handler pushes the entity labels.

Writing your own query handler

If for example, you don't want to extract entities from entity labels, e.g. you might wish to collect unique values from a particular field. In this case you can write your own query handler.

Here's an example that will query speaker names from a session content type. The collection handed to the push handler will contain all published sessions.

namespace Drupal\your_module\Plugin\ChatbotApiEntities\QueryHandler; use Drupal\chatbot_api_entities\Entity\EntityCollectionInterface; use Drupal\chatbot_api_entities\Plugin\QueryHandlerBase; use Drupal\Core\Entity\EntityTypeManagerInterface; /** * Defines a query handler that just uses entity query to limit as appropriate. * * @QueryHandler( * id = "speakers", * label = @Translation("Query speakers from sessions"), * ) */ class SpeakerQuery extends QueryHandlerBase { /** * {@inheritdoc} */ public function query(EntityTypeManagerInterface $entityTypeManager, array $existing = [], EntityCollectionInterface $collection) { $storage = $entityTypeManager->getStorage('node'); return $storage->loadMultiple($storage->getQuery() ->condition('type', 'session') ->exists('field_speaker_name') ->condition('status', 1) ->execute()); } /** * {@inheritdoc} */ public function applies($entity_type_id) { return $entity_type_id === 'node'; } }Writing your own push handler

Whilst we've written our own query handler to load entities that we wish to extract values from, we need to write our own push handler to handle sending anything other than the label.

Here's an example push handler that will push field values as entities to Api.ai/dialogflow

<?php namespace Drupal\your_module\Plugin\ChatbotApiEntities\PushHandler; use Drupal\api_ai_webhook\Plugin\ChatbotApiEntities\PushHandler\ApiAiPushHandler; use Drupal\chatbot_api_entities\Entity\EntityCollection; use Drupal\Core\Entity\EntityInterface; /** * Defines a handler for pushing entities to api.ai. * * @PushHandler( * id = "api_ai_webhook_speakers", * label = @Translation("API AI entities endpoint (speakers)") * ) */ class SpeakerPush extends ApiAiPushHandler { /** * {@inheritdoc} */ protected function formatEntries(array $entities, EntityCollection $entityCollection) { // Format for API.ai/dialogflow. return array_map(function ($item) { return [ 'value' => $item, 'synonyms' => [], ]; }, // Key by name to remove duplicates. array_reduce($entities, function (array $carry, EntityInterface $entity) { $value = $entity->field_speaker_name->value; $carry[$value] = $value; return $carry; }, [])); } } Learn more

If you're interested in learning more about Chatbots and conversational UI with Drupal, I'm presenting a session on these topics at Drupal South 2017, the Southern Hemisphere's biggest Drupal Camp. October 31st is the deadline for getting your tickets at standard prices, so if you plan to attend, be sure to get yours this week to avoid the price hike.

I hope to see you there.

Tagged AI, Natural Language Parsing, Chatbot, Drupal 8

Posted by Lee Rowlands
Senior Drupal Developer

Dated 27 October 2017

Add new comment
Categories: Drupal

Shopping with augmented reality

Dries Buytaert - 26 October 2017 - 10:34am

Last spring, Acquia Labs built a chatbot prototype that helps customers choose recipes and plan shopping lists with dietary restrictions and preferences in mind. The ability to interact with a chatbot assistant rather than having to research and plan everything on your own can make grocery shopping much easier. We wanted to take this a step further and explore how augmented reality could also improve the shopping experience.


The demo video above features how a shopper named Alex can interact with an augmented reality application to remove friction from her shopping experience at Freshland Market (a fictional grocery store). The Freshland Market mobile application not only guides Alex through her shopping list but also helps her to make more informed shopping decisions through augmented reality overlays. It superimposes useful information such as price, user ratings and recommended recipes, over shopping items detected by a smartphone camera. The application can personalize Alex's shopping experience by highlighting products that fit her dietary restrictions or preferences.

What is exciting about this demo is that the Acquia Labs team built the Freshland Market application with Drupal 8 and augmented reality technology that is commercially available today.

The first step in developing the application was to use an augmented reality library, Vuforia, which identifies pre-configured targets. In our demo, these targets are images of product labels, such as the tomato sauce and cereal labels shown in the video. Each target is given a unique ID. This ID is used to query the Freshland Market Drupal site for content related to that target.

The Freshland Market site stores all of the product information in Drupal, including price, dietary concerns, and reviews. Thanks to Drupal's web services support and the JSON API module, Drupal 8 can serve content to the Freshland Market application. This means that if the Drupal content for Rosemary & Olive Oil chips is edited to mark the item on sale, this will automatically be reflected in the content superimposed through the mobile application.

In addition to information on price and nutrition, the Freshland Market site also stores the location of each product. This makes it possible to guide a shopper to the product's location in the store, evolving the shopping list into a shopping route. This makes finding grocery items easy.

Augmented reality is building momentum because it moves beyond the limits of a traditional user interface, or in our case, the traditional website. It superimposes a digital layer onto a user's actual world. This technology is still emerging, and is not as established as virtual assistants and wearables, but it continues to gain traction. In 2016, the augmented reality market was valued at $2.39 billion and it is expected to reach $61.39 billion by 2023.

What is exciting is that these new technology trends require content management solutions. In the featured demo, there is a large volume of product data and content that needs to be managed in order to serve the augmented reality capabilities of the Freshland Market mobile application. The Drupal community's emphasis on making Drupal API-first in addition to supporting distributions like Reservoir means that Drupal 8 is prepared to support emerging channels.

If you are ready to start reimagining how your organization interacts with its users, or how to take advantage of new technology trends, Acquia Labs is here to help.

Special thanks to Chris Hamper and Preston So for building the Freshland Market augmented reality application, and thank you to Ash Heath and Drew Robertson for producing the demo video.

Categories: Drupal

Dries Buytaert: Shopping with augmented reality

Planet Drupal - 26 October 2017 - 10:34am

Last spring, Acquia Labs built a chatbot prototype that helps customers choose recipes and plan shopping lists with dietary restrictions and preferences in mind. The ability to interact with a chatbot assistant rather than having to research and plan everything on your own can make grocery shopping much easier. We wanted to take this a step further and explore how augmented reality could also improve the shopping experience.


The demo video above features how a shopper named Alex can interact with an augmented reality application to remove friction from her shopping experience at Freshland Market (a fictional grocery store). The Freshland Market mobile application not only guides Alex through her shopping list but also helps her to make more informed shopping decisions through augmented reality overlays. It superimposes useful information such as price, user ratings and recommended recipes, over shopping items detected by a smartphone camera. The application can personalize Alex's shopping experience by highlighting products that fit her dietary restrictions or preferences.

What is exciting about this demo is that the Acquia Labs team built the Freshland Market application with Drupal 8 and augmented reality technology that is commercially available today.

The first step in developing the application was to use an augmented reality library, Vuforia, which identifies pre-configured targets. In our demo, these targets are images of product labels, such as the tomato sauce and cereal labels shown in the video. Each target is given a unique ID. This ID is used to query the Freshland Market Drupal site for content related to that target.

The Freshland Market site stores all of the product information in Drupal, including price, dietary concerns, and reviews. Thanks to Drupal's web services support and the JSON API module, Drupal 8 can serve content to the Freshland Market application. This means that if the Drupal content for Rosemary & Olive Oil chips is edited to mark the item on sale, this will automatically be reflected in the content superimposed through the mobile application.

In addition to information on price and nutrition, the Freshland Market site also stores the location of each product. This makes it possible to guide a shopper to the product's location in the store, evolving the shopping list into a shopping route. This makes finding grocery items easy.

Augmented reality is building momentum because it moves beyond the limits of a traditional user interface, or in our case, the traditional website. It superimposes a digital layer onto a user's actual world. This technology is still emerging, and is not as established as virtual assistants and wearables, but it continues to gain traction. In 2016, the augmented reality market was valued at $2.39 billion and it is expected to reach $61.39 billion by 2023.

What is exciting is that these new technology trends require content management solutions. In the featured demo, there is a large volume of product data and content that needs to be managed in order to serve the augmented reality capabilities of the Freshland Market mobile application. The Drupal community's emphasis on making Drupal API-first in addition to supporting distributions like Reservoir means that Drupal 8 is prepared to support emerging channels.

If you are ready to start reimagining how your organization interacts with its users, or how to take advantage of new technology trends, Acquia Labs is here to help.

Special thanks to Chris Hamper and Preston So for building the Freshland Market augmented reality application, and thank you to Ash Heath and Drew Robertson for producing the demo video.

Categories: Drupal

Acro Media: Video: Reporting in Drupal Commerce 2.x is Going to be Great!

Planet Drupal - 26 October 2017 - 8:08am


The good news is that Commerce 2.x has the potential to handle tons of different reports and display the data any way you want. The dashboard is complete and the framework is impressive. The catch is that many of the reports don’t technically exist yet, so you need to do a little configuring to make sure you’re looking at the data that’s most important to you.

What kind of reports are we talking about?

You could have a whole suite of point-of-sale reports, for instance (in Commerce 1, they were their own set of reports; in Commerce 2, they just build on Commerce reporting). If you need reports for checkout, or cart, or analytics, you can have them all in the Commerce reporting suite, even if they are vastly different types of reports. So you can have reports for different people who manage different metrics, but you can build them all using the same framework.

Categories: Drupal

FileField Sources JSON API

New Drupal Modules - 26 October 2017 - 7:20am

The module defines 'JSON API remote URL' file field source. You can setup JSON API host URL, query params to get remote (image) URLs in the modal browser. There is option to set up sorting and searching configuring via JSON API filters and define default alt, title attributes for image fields.

Requirements

FileField Sources module.

Categories: Drupal

Most influential OOPSLA 2007 paper award

Dries Buytaert - 26 October 2017 - 6:08am

I was in for a nice surprise this week. Andy George, Lieven Eeckhout and I received an ACM SIGPLAN award for the most influential OOPSLA 2007 paper. Our paper was called "Statistically rigorous Java performance evaluation" and was published 10 years ago at the OOPSLA conference. It helped set a standard for benchmarking the performance of Java applications. A quick look on the ACM website shows that our paper has been cited 156 times. The award was totally unexpected, but much appreciated. As much as I love my current job, thinking back to some of my PhD research makes me miss my academic work. Congratulations Andy and Lieven!

Categories: Drupal

Metatags Path

New Drupal Modules - 26 October 2017 - 6:01am

Extending functionality of the Metatags module. With this module you can create meta tags for custom path.

Categories: Drupal

Car Specification

New Drupal Modules - 26 October 2017 - 5:39am
What is Car Specification module ?

Car Specifications intends to improve adding car specification content by providing:

1. A select field from which you can pre-select a vehicle by
passing year / make / model / trim.
2. Taxonomy Vocabulary .
3. Autocomplete taxonomy fields.
4. --Show-- button prepopulates taxonomy fields with car data.

Purpose of this module is to easy add and save general technical specification about cars.

Categories: Drupal

ChartJS API

New Drupal Modules - 26 October 2017 - 5:20am

Integration API with the ChartJS library that provides a "render element" for generating graphs.

In addition to the standard graphs of GraphJS, a new type called "halfdonut" is added. With this, from a doughnut type graph, "half doughnut" type graphs can be generated.

Installation and configuration

ChartJS API Plugin can be installed like any other Drupal module. Place it in the modules directory for your site and enable it on the `admin/modules` page.

This module use lastest version of ChartJS.js library from CDN.

Categories: Drupal

Appnovation Technologies: Meet the Appnovation Fall 2017 Co-ops

Planet Drupal - 26 October 2017 - 12:00am
Meet the Appnovation Fall 2017 Co-ops Get to know Appnovation's Fall 2017 cohort of post-secondary co-op students. This September 2017 has been both busy and exciting here at Appnovation! We've relocated to a brand new office in the Railtown area of Vancouver, BC, we've hopped into a brand new fiscal year, and we've hired a super cool group of co-op students to help break in the n...
Categories: Drupal

PreviousNext: Lightning talk: Database Deadlocks & Render caching - A case study

Planet Drupal - 25 October 2017 - 7:46pm
Share:

In this week's Lightning talk, I go through a case study on an investigation into Deadlocks and Render caching and why cache contexts are so important to get right. Check out the video below to find out how we were able to withstand 10x the throughput with smarter caching.

by Adam Bramley / 26 October 2017 Tagged Cache Contexts, Drupal 8

Posted by Adam Bramley
Senior Drupal Developer

Dated 26 October 2017

Add new comment
Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal