emGee Software Solutions Custom Database Applications

Share this

Drupal.org aggregator

Drupal.org - aggregated feeds in category Planet Drupal
Updated: 1 day 1 hour ago

Appnovation Technologies: Simple Website Approach Using a Headless CMS: Part 1

Wed, 02/06/2019 - 00:00
Simple Website Approach Using a Headless CMS: Part 1 I strongly believe that the path for innovation requires a mix of experimentation, sweat, and failure. Without experimenting with new solutions, new technologies, new tools, we are limiting our ability to improve, arresting our potential to be better, to be faster, and sadly ensuring that we stay rooted in systems, processes and...
Categories: Drupal CMS

Agaric Collective: Drupal 8 Content Migrations Training at Drupal Europe

Tue, 08/14/2018 - 09:41

Agaric is facilitating a full day training at Drupal Europe in Darmstadt, Germany to help you understand how to import content into your to Drupal 8 website.

This training is open for attendees with intermediate experience with Drupal- familiarity with installing a Drupal site and installing modules. We will use the Migrate API and related modules, which allows users to migrate content without writing any code.

With two instructors and a small group size we will ensure no one gets left behind. Instead everyone will get the attention they need.

Attendees will learn to:

  • Import data from CSV and JSON files.
  • Transform the data to populate taxonomy, date, image, file, and address fields.
  • Get content into Paragraphs.
  • Debug migration errors.

For a sneak peak of what you will learn, attend our Drupal Migration Q&A on Friday August 17th at 14:00 UTC (10 AM ET) on Zoom at https://zoom.us/j/3307127772

Regular training price is €476, however we are offering an early bird registration price of €276 from now through Sunday, August 19th. Space is limited so we do encourage registering early to take advantage of the price and ensure your spot.

As a web development cooperative that champions free software, we're passionate about migrations. It is a way to better understand Drupal's codebase, tap into the power of new features and build community. We have successfully migrated multiple sites to Drupal 8, including large projects with custom modules and hope to share that experience with you.

*/

Register for Migration Training


Not able to make it to the training? No worries, we offer trainings on a regular basis. Sign up for our low-traffic, announcement only list to stay informed of future trainings. These will not be sent more than a few times a year.

Subscribe to our Training Announcement list * indicates required


Email Address *


First Name


Last Name


Categories: Drupal CMS

Acquia Developer Center Blog: A Dozen Reasons Why You Should Attend DrupalEurope in Darmstadt, Germany this September

Tue, 08/14/2018 - 06:59

DrupalEurope, which will be happening from September 10 through 14, 2018 in Darmstadt, Germany, describes itself as "both a technology conference and a family reunion for the Drupal community." 1600+ attendees are expected.

The buzz around this event has been unusually high, especially in the greater Acquia metaverse, for 12 reasons. Here they are.

Tags: acquia drupal planet
Categories: Drupal CMS

OpenSense Labs: Interactive Screens: Drupal for Building Digital Signage Solution

Tue, 08/14/2018 - 06:47
Interactive Screens: Drupal for Building Digital Signage Solution Shankar Tue, 08/14/2018 - 19:17

Possibly the greatest ever digital signage advertising was created for British Airways which had it all. The advert, connecting to live flight information, displayed a child pointing up to the sky as an aeroplane flew above him. This was so cleverly done that the advert showed the flight number and its destination as well.

What a great blend of entertainment and education using the latest technologies! Source: British Airways

The digital signage system is scalable and its usefulness can be extracted to a great extent like digital menu boards for restaurants or the interactive digital movie posters for movie theatres. Drupal has the power to be a remarkably scalable digital signage solution for different sorts of organisations thereby reducing costs, speeding up time to market, and building engaging experiences for the people.

Digging Deeper Into The Terminology: Digital Signage

Digital signage refers to a centralised content dissemination platform for serving digital content on screens. It can be leveraged to display information through television programming, menus, advertising and other messages.

It can be seen in the form of digital signboards, billboards, and other such display devices for displaying visual information. It is connected by a content management system like Drupal that sends the digital content to be displayed. The information displayed can be anything ranging from static data and charts and graphs to images and video streaming.

Digital signage is a centralised content dissemination platform for serving digital content through television programming, menus or advertising on screens.

It can be commonly seen in outdoor marketing campaigns to display promotional content. Moreover, industries that rely on real-time information delivery to its employers or customer such as stock exchanges, airports, and sports stadiums can use digital signs to a great extent.

Digital Signage Can Be Used In Awesome Ways

Its uses can be seen through the eyes of organisations to understand the different ways it can be implemented. Some of the biggest brands have harnessed its immense potential.

Netflix, one of the largest over-the-top media service providers, carried a promotional campaign that relied on the humbled animated GIF. Instead of using a long video clip, they opted for reaction-based clips which were just a few seconds long. These videos were tied into the events that were actually happening around the globe.


Swedish pharmacy Apotek Hjärtat developed a controversial billboard using a built-in smoke detector. Every time a smoker passed by, the billboard would cough loudly at them before displaying a series of products to help people stop smoking. Although it turned heads, questions were raised whether such an overt messaging is effective or not.


Coca Cola’s Small World Machines Initiative had a grand ambition and offered a live link between India and Pakistan. Coke machines were placed in both the nations where people could interact with one another through the screen like touching hands, drawing peace, love, and happiness symbols together.

A Trio Of Major Merits Through Digital Signs

Enormous possibilities of digital signs are pretty evident with so many big brands using them to a great effect. Using digital signs can prove beneficial in many ways.

  • Enhances customer engagement: People love colourful and moving images rather than static images which help in enhancing user engagement.
  • Makes a good impression: Content can be updated remotely within seconds. For instance, such quick updates can help retailers to form a good impression and adjust to customer demands without having to deploy employees or new signs printed.
  • Revs up revenue: Digital signs can help increase your sales and revenue. In 2014. Taco John deployed digital menu boards and witnessed a 12% increase in sales.
How Can Drupal Be The Perfect CMS For Digital Signage Solutions?

Well, it all boils down to the CMS that would be relaying digital content on to the screen to attract people. Drupal is one of the big players in the content management systems that can be the perfect fit for creating digital signs.

Content Creation

Your CMS should allow the content creation to be done intuitively and support all the common file types. Drupal comes with intuitive tools for content creation, workflow and publishing for streamlining content authoring.

Remote Access

With Drupal, on-the-go team members can assess, edit and approve content from mobile devices to keep content and promotional campaigns flowing on to the screens regardless of where they are and what device they are working on.

Content Revision

Drupal helps in enabling a swift and simple way to track all the alterations and revisions which is a must-have if you have multiple editors and need to handle a history of content changes.

Content Workflow

Drupal allows you to administer custom, editorial workflows for all the processes involved in the content production. It lets you view the stage your content is in - from creation to assessment to publication.

User Controls

Authentication and user permissions in Drupal helps in handling editorial workflows efficaciously and previews show how the content will look on screen before the content editors would finally approve and relay them on to the screens.

Content Scheduling

Drupal has the provisions for scheduling the content at your own convenience. It is possible to schedule a campaign to be published at a certain time. In case, a campaign is no longer required or outmoded, it can be unpublished as well.

Security

Drupal is one of the most secure CMS platforms among the leading players like Wordpress, Joomla and Magento. In a report published by Sucuri called Hacked Website Report, Drupal turned out to be the least vulnerable to security attacks in comparison to Wordpress.

Scalability

Your CMS should be able to grow with you and accommodate more screens. Drupal is a highly scalable solution with high traffic sites like Grammy, NBC Olympics, University of Oxford and many other renowned names performing astoundingly well even during the busiest of times.

Support And Maintenance

Drupal is an open source solution and you can rest assured that the Drupal community comprises of numerous vendors who are adept at providing round the clock support and maintenance.

At Opensense Labs, we have designed the Bucket and on-the-go models of support and maintenance services. We offer support in the day-to-day operations. Our support hours run parallelly with business hours but are extendable as per your needs.

Use Cases

The University of Iowa, which is powered by Drupal, kicked off a Drupal Digital Signage Service to offer new digital capabilities inside the campus.

Drupal’s flexibility in content management and delivery in combination with Intel Compute Sticks, mini-computers that serve each screen or sign, proved rewarding. This helped in offering wireless connectivity to the Drupal-based content as it is relayed on to the screens in real-time.

Source: University of Iowa

The digital signs provided key information for students like the time at which a bus would arrive or leave, emergency alerts, advertisements for student groups, computer lab availability, university news, and events etc.

The University reported rapid adoption of the service as many colleges and divisions within the University used the free and user-friendly solution on several screens. Stakeholders used templates and drag and drop tools and widgets for customising and governing the screen content.

The University’s move to expand the use of Drupal to digital signs proved beneficial in many ways. An IOWA NOW news story stated that “the backend is incredibly user-friendly. It’s the same system our websites run on, and so very intuitive. The web-based platform allows us to update information and slides from anywhere and anytime”.

Being an open source software, Drupal incurred no licensing fees. Hardware costs were lower too. Thanks to the project team’s discovery that the digital signs could be run on small, energy-efficient compute sticks. Moreover, wireless connectivity eliminated the expense of data ports and cabling.

Source: University of Iowa

The Drupal Digital Signage system, rather than using a webpage, used a specialised software application. This made the displaying of content as simple as plugging the URL of a sign into a browser. Users were granted access permissions for specific signs and by utilising templates and a drag-and-drop interface, they could display the content or widgets in numerous regions of the screens. That content, displayed on the screen, could also be shared with other units.

Furthermore, the digital signs, being accessible to all screen-reading technologies, saved staff time. Being easy to learn, training time got reduced.

Content editors only needed to enter news or events into a familiar interface. The content would go to both their websites and digital signs simultaneously without having to perform double entry.

Another use case can be seen through Open Y Drupal distribution which was developed by the YMCA of Greater Twin Cities. The objective was to build a platform that would enable all YMCAs to operate as a unified brand through a common technology. Open Y, built on top of Drupal 8, helps in delivering a multi-channel experience for websites, mobile applications, digital signage and fitness screens.


The website of Open Y allows customers to schedule personal training appointments, make online donations to their local YMCA, or look up for monthly promotions. Leveraging the merits of Drupal 8’s API, Open Y integrates all of their systems with Drupal. This comprises its integration with Open Y’s Customer Relationship Management (CRM) and eCommerce partners but also stretches to fitness screens and wearables like Fitbit.

So, Open Y can use Drupal as a data repository to relay content such as alerts or promotional campaigns to digital signage screens, connected fitness consoles and fitness tracking applications. It, thus, puts Drupal at the core of its digital platform to offer seamless and personalised experiences to its members.


The web-integrated digital signage system for displaying content was demonstrated in a session in DrupalCon Vienna 2017. In this system, the  Open Y Drupal distribution was used to serve as a proxy between resources that would provide information about the scheduled activities. In addition to this, it was leveraged to govern the content and to supplement it with both the marketing content and time and location sensitive messaging.

Future Of Digital Signage

According to the statistics given by the Statista, the statistics portal, the digital signage market worldwide was valued at 19.61 billion U.S. dollars in 2016 and the display market was estimated at 6.07 billion U.S. dollar in 2015.

Future of digital signage is bright as is for Drupal and together they can work wonders. Source: Statista

This number is going to see a significant rise by 2023 as the market value is poised to reach 32.84 billion in 2023. Digital signage technology is not just here to stay but grow multifold.

Conclusion

Digital content distribution can surely be taken to next level by making it engaging through digital signage solutions. Drupal can be the perfect choice of CMS for relaying content on screens.

We provide Drupal services with top-of-the-line expertise. Contact us at hello@opensenselabs.com to explore Drupal as a superb platform for building digital signage solutions thereby providing a whole new level of customer experience.

blog banner blog image Blog Type Articles Is it a good read ? On
Categories: Drupal CMS

ComputerMinds.co.uk: Localising dates in twig templates

Tue, 08/14/2018 - 03:14

A client noticed the dates on their news articles were not being translated into the correct language. The name of the month would always appear in English, even though all the month names had themselves been translated and showed correctly elsewhere. The problem turned out to be down to the twig filter being used in the template to format the date. This is what we did have:

{% set newsDate = node.getCreatedTime|date('j F Y') %} {% trans %} {{ newsDate }}{% endtrans %}

So this would produce something like '1 March 2018' instead of '1 März 2018' when in German. This was because twig's core date() filter simply isn't aware of Drupal's idea of language.

I switched out the date() filter and used Drupal core's own format_date() filter instead, which uses Drupal's own date.formatter service, which is aware of language. It ensures the month name is passed through t() to translate it, separately to the rest of the numbers in the date. So it now looks like this:

{% set newsDate = node.getCreatedTime|format_date('custom', 'j F Y') %} {% trans %} {{ newsDate }}{% endtrans %}

Having done that, I realise the original code was the equivalent of doing this:

t('1 March 2018');

(I'm less of a front-end coder, so putting it in PHP makes it more obvious to me than twig code!)

So the date actually was translatable, but only as the whole string -- so unless the translators had gone through translating every single individual date, the German month name was never going to show!

What I needed was the twig equivalent of using placeholders like this PHP example:

t('My name is @name, hello!', ['@name' => $name]);

When you use variables between twig's trans and endtrans tags, they really are treated by Drupal as if they were placeholders, so this is the twig version:

{% trans %} My name is {{ name }}, hello! {% endtrans %}

This helped me understand twig that little bit more, and appreciate how to use it better! Regardless of formatting dates, I now know better how to set up translatable text within templates, hopefully you do too :-)

Categories: Drupal CMS

Drupal Europe: How Publiq is using blockchain to tackle urgent challenges for publishers

Tue, 08/14/2018 - 02:40
Drupal Europe: Publishing + Media Special Focus

What industries come to mind when you hear blockchain? Banking? Trading? Healthcare? How about publishing? At Drupal Europe publishers will gain insights into the potential blockchain technology offers and learn how they can benefit. Meet Gagik Yeghiazarian, founder of the nonprofit foundation Publiq, and learn how he wants to fight fake news and build a censorship-resistant platform — using blockchain.

The publishing world is changing. Publishers no longer solely control media distribution. Big players like Facebook and Google are middlemen between the publishers and their readers, and technology built to entice publishers — Google’s AMP (Accelerated Mobile Pages) and Facebook Instant Articles — has strengthened social platforms as distribution channels. Additionally, publishers have lost money making classifieds business as employment and real estate markets create their own platforms and portals to reach the audience.

Photo by Ian Schneider on Unsplash

As a result of these developments, publishers are losing direct relationships with their readers as well as critical advertising which traditionally supported the editorial and operational costs. The platforms act as middlemen, using the content of the publishers for collecting data and selling them to advertisers. The publishers are left out in the cold.

Critically, publishers are also facing a crisis of confidence. As social platforms are used to spread fake news and poor content, mistrust in journalism grows.

The nonprofit foundation Publiq wants to face these challenges with a blockchain-powered infrastructure. It aims at removing unnecessary intermediaries from the equation and helping to create an independent, censorship-free environment. Gagik Yeghiazarian, CEO and Co-Founder of Publiq, is convinced: “Blockchain infrastructure allows content creators, readers and other participants to build a trusted relationship.”

You can learn more about Publiq and its blockchain infrastructure at Drupal Europe in Darmstadt: Gagik Yeghiazarian’s session “Blockchain Distributed Media — A Future for good publishing” will give you a glimpse into this new technology and a real-world application of it.

While you’re at Drupal Europe, be sure to check out the exciting blockchain panel discussion where Gagik, Ingo Rübe of Botlabs, and Taco Potze of Open Social, will share insights and use cases for blockchain technology. Don’t miss this!

Drupal Europe
Publishing & Media — Track Chairs

Categories: Drupal CMS

PreviousNext: Testing Drupal with WebDriver browser mode vs Headless browser mode

Mon, 08/13/2018 - 20:49

There is not a lot of documentation available about what's the difference between running a browser in WebDriver mode vs Headless so I did some digging...

by Jibran Ijaz / 14 August 2018

Apparently, there are two ways to run Chrome for testing:

  • As WebDriver
  • As Headless
WebDriver:

There are two ways to run Chrome as WebDriver:

Using Selenium:

Run Selenium standalone server in WebDriver mode and pass the path of ChromeDriver bin along with the config e.g. Selenium Dockerfile

This works fine with Nightwatch standard setup, \Drupal\FunctionalJavascriptTests\JavascriptTestBase and also with Drupal core's new \Drupal\FunctionalJavascriptTests\WebDriverTestBase.

Using ChromeDriver:

Run ChromeDriver in WebDriver mode e.g. chromedriver Dockerfile

This works fine with Nightwatch, JTB, and WTB.

Headless: Using Chrome

Run Chrome browser binary in headless mode. e.g. Chrome headless Dockerfile

Nightwatch is not working with this set up, at least I was unable to configure it. See https://github.com/nightwatchjs/nightwatch/issues/1390 and https://github.com/nightwatchjs/nightwatch/issues/1439 for more info. \DMore\ChromeDriver can be used to run the javascript tests.

Using ChromeDriver

Using Selenium ChromeDriver can be run in headless mode something like this:

const fs = require('fs'); const webdriver = require('selenium-webdriver'); const chromedriver = require('chromedriver'); const chromeCapabilities = webdriver.Capabilities.chrome(); chromeCapabilities.set('chromeOptions', {args: ['--headless']}); const driver = new webdriver.Builder() .forBrowser('chrome') .withCapabilities(chromeCapabilities) .build();

DrupalCI is running ChromeDriver without Selenium and testing Nightwatch and WTB on it.

Conclusion

The question is which is the best solution to run Nightwatch and JTB/WTB tests using the same setup?

  • We had seen some memory issues with Selenium containers in the past but we haven't run into any issue recently so I prefer this and you can swap Selenium container to use different browsers for testing.
  • We have also seen some issues while running ChromeDriver in WebDriver mode. It just stops working mid-test runs.
  • I was unable to get Headless Chrome working with Nightwatch but it needs more investigation.
  • Headless ChromeDriver setup on DrupalCI is quite stable. For JTB this would mean that we could use anyone from \Drupal\FunctionalJavascriptTests\DrupalSelenium2Driver and DMore\ChromeDriver.

Please share your ideas and thoughts, thanks!

For more info:

Tagged Testing, nightwatchjs, Functional Testing
Categories: Drupal CMS

Agiledrop.com Blog: AGILEDROP: Drupal is Easy with Michael Anello

Mon, 08/13/2018 - 19:11
Agiledrop is highlighting active Drupal community members through a series of interviews. Learn who are the people behind Drupal projects.  This week we talked with Michael Anello. Learn about his volunteering, how successful DCO is and on what contributors he is most proud of.   1. Please tell us a little about yourself. How do you participate in the Drupal community and what do you do professionally? I am an active Drupal community member, volunteering for the Drupal Association's Community Cultivation Grants committee, the Drupal Community Working Group, and the Florida Drupal Users'… READ MORE
Categories: Drupal CMS

Palantir: Drupal Chicago: The Decoupled Ouroboros

Mon, 08/13/2018 - 16:36
Drupal Chicago: The Decoupled Ouroboros July 11, 2018 brandt Mon, 08/13/2018 - 18:36 Caxy Interactive, Chicago, Illinois Drupal Chicago (official meetup site) Federated Search with Drupal, SOLR, and React (AKA the Decoupled Ouroboros)

Join Palantir's Avi Schwab for a discussion at the Drupal Chicago Meetup. He'll be going over a recent Palantir project and how we bring content from disparate sites (D7, D8, Wordpress) into a single index and then serve results out in a consistent manner, allowing users to search across all included properties. Avi will discuss how we got started with React, our process for hooking up to SOLR, and how we used Drupal to tie the whole thing together.

  • Date: Wednesday, July 11, 2018
  • Time: 5:30 - 7:30pm
  • Location: Caxy Interactive, 212 West Van Buren Street, Chicago, IL
Mon, 06/25/2018 - 12:00
Categories: Drupal CMS

Palantir: Decoupled Days 2018

Mon, 08/13/2018 - 15:36
Decoupled Days 2018 August 17 - 19, 2018 brandt Mon, 08/13/2018 - 17:36 John Jay College of Criminal Justice, New York, New York Decoupled Days (Official Site)

Decoupled Drupal was a hot topic at DrupalCon Nashville, and Palantir is very excited to be Silver Sponsors of this year's Decoupled Drupal Days. Keep an eye out for Jes ConstantinePatrick Weston and Avi Schwab; they'll be attending the event and would love to hear about your recent decoupled projects. 

Federated Search with Drupal, SOLR, and React (AKA the Decoupled Ouroboros)

Avi and Jes will be presenting on Friday and giving an overview of a recent Palantir project. He'll explain how we bring content from disparate sites (D7, D8, Wordpress) into a single index and then serve results out in a consistent manner, allowing users to search across all included properties. He'll also go over how we got started with React, our process for hooking up to SOLR, and how we used Drupal to tie the whole thing together. More details can be found on the official site

  • Date: Friday, August 17, 2018
  • Time: 2:45 PM
  • Room: Aten Design Group Lecture Hall

 

Mon, 08/13/2018 - 12:00
Categories: Drupal CMS

Gbyte blog: Get image URL from media field in twig

Mon, 08/13/2018 - 12:23

Apparently there are still pretty common Drupal 8 theming tasks that cannot be accomplished with the great twig_tweak module. This by the way was me giving a plug to a great little module, which makes half of all your theme preprocess hooks unnecessary.

If you would like to get the URL from an image that is trapped inside of a media entity however, you can either extract it using the aforementioned preprocess function like so:

Categories: Drupal CMS

Drupal Europe: Drupal Europe: Publishing + Media Special Focus

Mon, 08/13/2018 - 08:48
Digital Assets Management in multi-channel publishing environments

Drupal Europe offers up a plethora of cases and solutions to help you with your DAM integration.

Multichannel publishing by Oleksiy Mark on Shutterstock

With so much to organize and store, publishers typically use Digital Asset Management Systems (DAM) to manage their assets. Add multiple channels to the mix and you have big operational hurdles. Thanks to the Media Initiative, Drupal now has a well-defined ecosystem for media management and its architecture is designed to play well with all kinds of media, media management systems, and web services that support them. The system is highly adaptable — the media management documentation outlines 15 modules shaping Drupal’s new ecosystem for media assets.

The Drupal Europe program offers several sessions to help you learn more about solutions building on this foundation. Case studies of demanding media management projects around the publishing industry include:

Blockchain — why should publishers care?

How Publiq is using blockchain to tackle urgent challenges for publishers

What industries come to mind when you hear blockchain? Banking? Trading? Healthcare? How about publishing? At Drupal Europe publishers will gain insights into the potential blockchain technology offers and learn how they can benefit. Meet Gagik Yeghiazarian, founder of the nonprofit foundation Publiq, and learn how he wants to fight fake news and build a censorship-resistant platform — using blockchain.

The publishing world is changing. Publishers no longer solely control media distribution. Big players like Facebook and Google are middlemen between the publishers and their readers, and technology built to entice publishers — Google’s AMP (Accelerated Mobile Pages) and Facebook Instant Articles — has strengthened social platforms as distribution channels. Additionally, publishers have lost money making classifieds business as employment and real estate markets create their own platforms and portals to reach the audience.

Photo by Ian Schneider on Unsplash

As a result of these developments, publishers are losing direct relationships with their readers as well as critical advertising which traditionally supported the editorial and operational costs. The platforms act as middlemen, using the content of the publishers for collecting data and selling them to advertisers. The publishers are left out in the cold.

Critically, publishers are also facing a crisis of confidence. As social platforms are used to spread fake news and poor content, mistrust in journalism grows.

The nonprofit foundation Publiq wants to face these challenges with a blockchain-powered infrastructure. It aims at removing unnecessary intermediaries from the equation and helping to create an independent, censorship-free environment. Gagik Yeghiazarian, CEO and Co-Founder of Publiq, is convinced: “Blockchain infrastructure allows content creators, readers and other participants to build a trusted relationship.”

You can learn more about Publiq and its blockchain infrastructure at Drupal Europe in Darmstadt: Gagik Yeghiazarian’s session “Blockchain Distributed Media — A Future for good publishing” will give you a glimpse into this new technology and a real-world application of it.

While you’re at Drupal Europe, be sure to check out the exciting blockchain panel discussion where Gagik, Ingo Rübe of Botlabs, and Taco Potze of Open Social, will share insights and use cases for blockchain technology. Don’t miss this!

Drupal Europe
Publishing & Media — Track Chairs

Categories: Drupal CMS

OPTASY: How to Get Gatsby to Work with Drupal: Building a Gatsby Site with a Decoupled Drupal Back-End

Mon, 08/13/2018 - 06:48
How to Get Gatsby to Work with Drupal: Building a Gatsby Site with a Decoupled Drupal Back-End radu.simileanu Mon, 08/13/2018 - 13:48

Just imagine: putting together the powerful UI creation tools of a static site generator — more of a modern front-end framework rather —  built for high speed, like Gatsby.js, with Drupal 8's content modeling and access system! Putting their powers together into a blazing-fast website! But how to get Gatsby to work with Drupal?

How do you build a plugin that fetches data from API-first Drupal? In short: a static, conveniently simple, yet robust Gatsby site powered by a powerful, decoupled Drupal back-end?

You've got the questions, we've got the answers...

Categories: Drupal CMS

OpenSense Labs: Content Staging With Drupal Deploy Module

Sun, 08/12/2018 - 23:22
Content Staging With Drupal Deploy Module Gaurav Kapoor Mon, 08/13/2018 - 11:52

There might be instances where an editorial team comes across challenges in the process of publishing its content. These include:

  1. Living a number of articles at the same time.
  2. Sending the final copy of approval on a website to different people but not living it. 
  3. Publishing a number of articles on different websites/subdomains. 

Luckily, the Drupal Deploy module allows content staging and publishing without the user requiring to log into the target site. This is very handy when there are a number of people involved or multiple sites, in case of media and publishing websites especially.

What is Content Staging?

Content Staging is an in-house development environment where a team is involved in creating various kinds of content. This includes all the stages a piece of content has to go through before actually going to the production site. 

Exploring Drupal Deploy Module

The Deploy module allows users to easily stage and preview content for a Drupal site in different environments. The module automatically manages dependencies between entities and is designed to have a rich API which can easily be extended to use in a variety of content staging situations.

It allows: 

  • Cross-site content staging

To stage content between different Drupal sites.

  • Single-site content staging

Provide a workspace preview system for single-site content staging.

  • Fully decoupled site

Create a decoupled Drupal site.

The Deploy module is designed to allow users to easily stage content from one Drupal site to another. How To Use Drupal Deploy Module? Installation

Deploy module has various Drupal and PHP dependencies so the best way to install it, is by using composer.

composer require 'drupal/deploy:^1.0' Exploring Deploy Suite

Once we run this command in our Drupal website we get all the modules and PHP libraries required to run the Deploy suite. Let’s have a quick look at all of the modules: 

  • Conflict: It provides resolution for conflicts which merge due to changes in translatable fields in non-edited content entity translations, changes in fields to which the user does not have access, fields with no edit access, fields not part of the entity form display, changes in entity metadata, revision ID, changed timestamp.
     
  • Key-value Extensions: A very important module which helps in speeding up the Deployment process. It extends the core key-value API with a backend for lists and sorted sets that you can do range queries on.
     
  • Multiversion: Multiversion will convert all core content entities on your site to be revisionable. Since Deploy suite is built around the revisionable entities, it is an important module in the process of Deployment.
     
  • Replication: This module provides the functionality and services to assist with replicating content between workspaces on a single site (using the Workspace module) or between workspaces across different sites (using the Relaxed Web Services module).
     
  • Workspace: Provides the ability to have multiple workspaces on a single site to facilitate things like the full-site preview and content staging.
Single-Site Content Staging

The Distributed Management of Content deals with the workflow involved in the content creation with a decentralized approach. The process can be very complicated and requires different levels of managerial checks. Deploy module, in that case, can turn out to be the best solution.

To use the Deploy content staging we have to enable the Deploy module which automatically installs all the required contributed modules, perform database operations and supply required default configurations for the modules.

To use Deploy it is worthwhile to check its out-of-the-box configurations and plan Deployment strategy for your website, accordingly.

  1. Go to Admin Structure Workspace to check the workspaces provided by default. This becomes important later during the content transition stages. We have a Live and stage workspace and also functionality to add more of the workspaces as per our requirement. By default, the Live workspace is active and Stage inactive. It means that all the content added will be available on the Live Workspace.

    We also have an ability to set target workspaces on content updation as well which content entities to replicate.
     
  2. Following settings can also be accessed via admin toolbar on any page of the website. To continue with the deployment process, go ahead and select ‘Stage’ as the active environment from workspace switch option in the admin toolbar.
  3. Now since we are currently on Stage workspace, all the content added will only be visible to those with access to View content in a particular workspace.
     
  4. Go ahead and add 10 articles via Node → Add → Article interface. As soon as all the articles are added they start appearing on Homepage for the user with access to the content. If we check website anonymously we won’t be able to see any of those articles and will get a 'Page Not Found' error. 

    At this particular time, all the content editors and stakeholders can have a look at the content, modify it or even remove it. 
     
  5. To deploy all articles on Live workspace go to Admin → Structure → Deployment Start New Deployment.Provide a Deployment title and a description to keep a track record of all the Deployments.

Once we Deploy to Live, all the articles are available on the Live workspace after the next cron run.

Advantages
  1. Publish multiple articles at the same time, without accessing them individually. 
     
  2. Deploy provides various kinds of permission such as Access content on a particular workspace.
     
  3. It also detects for changes done on the Live workspace directly and provides an interface for conflict resolution and content synchronisation between various workspaces.
     
  4. You can create workspaces as per your requirement, For example, providing workspace for each content editor and then comparing the overall impact. Based on that you can very easily deploy content from various workspaces to the Live Workspace.
Cross-Site Content Staging  

Deploy module can be used with the Relaxed module to extend all the capabilities of Deploy suite for multiple websites. We can configure as many remotes as we want and then Deploy content on various websites.

  • Relax module can also be installed via composer using the following command.
composer require 'drupal/relaxed:^1.0'
  • After enabling the module, the relaxed remote endpoint can be configured from Admin → Config → Relaxed → Settings.This endpoint will be used by the remote websites to interact with the workspaces available in your local.
     
  • To interact with remote endpoints they have to be configured in Admin → Config → Services → Relaxed → Add.
  • Once you have set up the Remote, you can then Deploy content to remote workspaces as well.

Drupal allows Distributed Content Management strategy to be applied to large volumes of content to facilitate efficient workflow. Specifically, the system allows different content and editors to be part of the same system without much replication, and Deploy module just helps build the architecture right.

blog banner blog image Blog Type Tech Is it a good read ? On
Categories: Drupal CMS

Agaric Collective: Daily Business Operations Using Free Software

Sun, 08/12/2018 - 07:08

People often ask about the free software tools Agaric uses to manage our cooperative business. In this article, we share some of the free software tools we use for office tasks and administration as well as communications. These are Agaric's chosen resources -- the tools we use today for our daily business operations.

Agaric uses free software whenever possible. We build websites using Drupal, a free software content management system, and we are long time participating members of the Drupal Community. When we cannot use free software, we actively search for and contribute to groups working towards solutions.

Here is our reasoning behind the choice to use Free Software whenever possible:
The Need for Accountable Technology - Part 1

You may also wonder why we say "Free Software" and not "Open Source" since the code in both instances is essentially the same. We use the term "Free Software" because it includes the ethical principles about respecting user's freedom. Free software ethics say that users deserve control over the code they use, whereas using the term "Open Source" cites only the goal of letting users participate in the development. We support the ideals of software protecting your rights and not leaving you vulnerable.

What is Free Software?

A program is free software if the program's users have the four essential freedoms:

  1. The freedom to run the program as you wish, for any purpose (freedom 0).
  2. The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1).
  3. The freedom to redistribute copies so you can help others (freedom 2).
  4. The freedom to distribute copies of your modified versions to others (freedom 3).

Access to the source code is a precondition for this. To determine whether the source code is free, see what license it carries and then check the GNU project's list of licenses.

We do a few tasks that we do not have free software for. So, we use non-free programs for them. Sometimes we use specific non-free software that a client insists on including in the web site. By using non-free programs we sacrifice some of our freedom; some activists would refuse to do that. We do not like the compromise, so we help develop free replacements for those programs. Whenever possible we use software that reflects our values.

GNU/Linux OS

Free operating System - similar in features to Windows and Mac.
We have chosen to use GNU/Linux as our default system for our local development. When we take on a new student we install a GNU/Linux distribution. We always give the option of installing a different distribution, or if a student wishes to do so, they may. These are the favored GNU/Linux distributions in use by our cooperative team *members:

These are not the best versions of GNU/linux in regards to being completely free, you should consult the list of free distributions on the Free Software Foundation website.
* Currently one team member is using the proprietary but BSD-based Mac OS X, which is compliant with the Unix 03 / POSIX standard which GNU/Linux distributions also meet.

Browsers

Firefox: As developers we have to test client sites in all browsers, but for working and building sites, we use Mozilla FireFox. Although the source code of Firefox is free software, they include some icons, trademarks and logos in the download that make it non-free. You can easily remove these as has been done with IceCat, the GNU version of the Firefox browser. It has great performance, developer tools and community. The plus side of having a community around the software we use is having access to a large pool of people with experience and guidance as we learn and build together.

Tor Browser: As citizens we are not fond of being tracked so we use a free anonymizing web browser that does not allow tracking. It is called Tor.

File Storage and Calendar

Nextcloud: Agaric uses a hosted version of NextCloud on MayFirst.org that is inclusive of:

  • document and file storage
  • image galleries
  • desktop and phone document synchronization
  • calendar
  • contacts
  • document editors
Finance, Accounting and Bookkeeping



 

GNUcash: Accounting software that we use for our bookkeeping.
You can see a review of GNUcash vs Quickbooks and decide if it works for you. We have found a few bookkeeping cooperatives that do accounting!

Communications

As a team we rely on different tools to communicate with each other and with clients about daily activities and long term project goals. We have a distributed team at locations around the world and must maintain contact especially when pair-programming or during a migration which calls for all-hands-on-deck, as well as sharing some long informational text notes and documents that include administrative information.

FreeNode: IRC - Internet Relay Chat - Realtime Text Chat: Yes, we still use IRC and you can find us on irc.freenode.net server in the #devs-r-us channel

Our preferences here are as varied as our team members: some use irssi via a remote, always-on virtual server, many use desktop clients, such as HexChat or Konversation, and still others prefer the web-based solution "The Lounge".

Email

MayFirst.org hosts Agaric.com email

Email Client: Thunderbird: An email client from Mozilla, which also makes Firefox, and is available for your phone. It also has an encryption plugin called EnigMail that works well and is not super tricky to get set up.
Hosted Email: RiseUp: Encrypted services run by anonymous volunteers and you must be invited to have a membership.
Mayfirst offers three web-based email solutions.

  1. Roundcube which has a friendly and simple web interface, making it the easier of the two programs to use.
  2. SquirrelMail is an option that is Javascript-free!
  3. Horde, on the other hand, offers more than just email - you can share calendars, to dos and more with other members of your group.

Hosted Email

Protonmail: An email service that is hosted and encrypted.

Email Lists:

We use email list servers for mailing lists based on groups and topics. It allows group mailing to people that sign up for a specific list.

MayFirst Email Server
RiseUp Email Server

Social Media

Mastadon: Publish anything you want: links, pictures, text, video. All on a platform that is community-owned and ad-free.

Social.coop: A community similar to Twitter, the main difference is that it is owned by the members. For as little as $1 a month you can become an owner/member and take part in shaping the future of the platform. You can find and follow Agaric in social.coop, a coop-run corner of the fediverse, a cooperative and transparent approach to operating a social platform

Live Streaming

MayFirst Live Streaming: MayFirst membership includes live streaming.

Conference Calls and Online Meetings

Some Agaric team members are using Jitsi recognizing that it is a work in progress and there may be technical failures at times - such as we have also found using Google Hangouts - lag time, cut-offs, poor sound quality and issues with screensharing... At times we have found that we need to use a proprietary solution that seems to work reliably as we continue to support development efforts and bug fixes with Jitsi. At the heart of Jitsi are Jitsi Videobridge and Jitsi Meet, which let you have conferences on the internet, while other projects in the community enable other features such as audio, dial-in, recording, and simulcasting.
You can self host an instance of Jitsi or choose a hosted version. You can use http://meet.jit.si or an instance is also available for public use at https://meet.mayfirst.org We do encourage you to become a MayFirst member and have access to all of the free software tools they offer. The Jitsi project needs volunteers to use and test Jitsi so it can get better swiftly!

Currently Agaric is using, and paying for, the proprietary Zoom audio/video conference call service and software. We would love a recommendation to another stable choice that is free software.

Phone Calls and Text Messages

Signal: Agaric uses signal to encrypt SMS Text messages and Phone calls. Encrypted Phone and Instant messaging found to be secure and recommended by Edward Snowden as the only truly encrypted messaging app that is not able to be decrypted by anyone. Note that security is an arms race and this could become false at anytime.

Collaborative Note Taking

Etherpad: When hosting an online meeting we usually open a shared note pad so that everyone may contribute to getting the important bits logged. Etherpad text is synchronized as you type, so that everyone viewing the page sees the same text. This allows you to collaborate on documents with large or small teams seamlessly! We use the hosted version, but you are welcome to host it yourself. We have tried a few online pads and settled on Etherpad as the most reliable.

Collaborative Ongoing Discussion

With some collaborators, particularly people involved with the Drutopia initiative, we use Mattermost rather than IRC. Mattermost can be more useful for ongoing discussions; it is similar to Slack and offers a threaded conversation. The community version is free software.

Notes and ToDo Lists

TomBoy A tiny app that lets you take note while it conveniently makes hyperlinks out of titles and allows synchronization over SSH and more.

Password Management

KeePass A password management system that takes most of the worry, distraction and thinking out of storing and retrieving your login information for multiple projects and sites.

Text Document Editing, Spreadsheets and Presentations

Libre Office: A suite of office tools similar to Microsoft Office, Documents, Spreadsheets, Slides. We use LibreOffice tools that come as core software in the distributions of GNU/Linux we are using. You may have heard of OpenOffice, it is now called LibreOffice. It consists of the basic publishing and calculating software for doing office tasks. These are the ones we use most often:
1. LibreOffice Calc - Similar features and functions of a calculating software to make spreadsheets, such as MicroSoft Excel
2. LibreOffice Writer - Similar features and functions of a word processor such as MicroSoft Word
3. LibreOffice Impress - We use this tool to build slide decks and presentations using text/graphics and videos, it is similar to Microsoft PowerPoint in features.

Project Management and Issue Tracking

*GitLab: This tool is a web-based and self-hosted Git-repository manager with wiki and issue-tracking features. We also use Gitlab for cooperative development on our projects.
*Although GitLab isn't fully free software, it does offer a self-hosted version that is. The Enterprise hosted version has extra features and is proprietary.

Redmine: A free program that you can run locally or on your own server for use as a project management and issue tracking tool. Before finding GitLab we used a self hosted instance of Redmine which is free software.

Resources and Free Software Directories


You can contribute to groups working towards solutions, there are many roles and you do not have to be a developer. As an example, *IndieWeb and Jitsi are projects that we make time to support with development, testing, outreach and feedback.

*With IndieWeb, you can take control of your articles and status messages can go to all services, not just one, allowing you to engage with everyone. Even replies and likes on other services can come back to your site so they’re all in one place.

Tools we love and sometimes use Decision Making and Voting

Loomio: A hosted service available at http://loomio.org
Loomio offers distributed decision making system where you can make groups that can have discussions and make decisions without an in-person meeting. Decide yes or no, or that you need more information.
Note that Loomio also has built a great cooperative resource on at their other URL - http://loomio.coop

Customer Relationship Management

civiCRM: Agaric is working with the developers at MyDropWizard to take a look at civiCRM with Drupal 8.
civiCRM is a free software to manage client relationships and memberships. We have not deployed it yet.

Framasoft: A large collection of free software tools where we use the calendar and polling software most often. We are experimenting with several other FramaSoft tools and may adopt them in the future.

If this has been a helpful read, please pass it on and let us know in the comments how it helped you. A follow-up post will list the tools we use for development purposes. Please be sure to mention any free software you have found and are using now.

>> Get on the mailing list to receive invites, or share this link with a friend Show and Tell Mailing List
-->

Categories: Drupal CMS

ComputerMinds.co.uk: Keeping dynamic HTML classes easy to find

Thu, 08/09/2018 - 08:30
The Problem

I imagine many of us have been there: there’s some CSS class in your markup, and you need to do something with it. Maybe you want to remove it, change it, or perhaps alter its style declarations. “Easy peasy,” you think, “I’m a developer. I got this.” And so you should.

Next, if you’re anything like me, your first instinct is to fire up your search tool of choice and search your codebase for that string. You’d expect that would lead you to where that class is getting added to your markup, along with anywhere CSS rules are applied to it… right?

Except it doesn’t. Phooey. That class string doesn’t appear anywhere except in your browser's dev tools. At this point, you either toss your developer pride overboard and hack a fix in some other way, or you search for assorted variations of your string in ever shorter segments until you find something resembling this:

$classes_array[] = 'some-' . $class;

Aha! It was helpfully obfuscated for you. And of course, you could hardly expect to simply search for that class name and find its CSS rules. That would be too easy! So naturally, they were written in SASS like this:

.some-#{$class} { // Some declarations… }

Now that’s just what it might look like in PHP and SASS, but I’m sure you can imagine what it might look like in your templating language, javascript, or whatever CSS-pre/postprocessor you might abuse.

The point is, you’ve gotta slow down and tread a little more carefully here; this isn’t a simple find-and-replace job anymore. There are a few reasons why such code might have been written:

  • The latter half of that class might originate from a fixed list of options exposed to your content editors.
  • Perhaps there’s some other logic in play, that has intentionally been kept out of the CSS: your element gets a class based on its region or container, for example.
  • Your colleagues are actively trying to make your life difficult.

If you’ve never been in this situation - good for you! Future-you called and asked that you avoid munging together parts of a CSS class like this if you possibly can. Do it for future-you. Don’t let them inadvertently introduce bugs when they fail to spot your class-munging!

The solution

“But what if,” I hear you cry, “I need to generate a class dynamically. How can I keep future-me on side?”

Well, dear reader – I hear you. Sometimes you really don’t want to explicitly list every possible variation of a class. Fair enough. So I have a proposal, one that I’d like a nice name for but, y’know, naming things is hard. Maybe the “Searchability class” pattern. Or “CSS search placeholder classes”. Or “CSS class search flags”. Suggestions on a postcard.

Anyways, returning to our earlier PHP example, it looks like this:

$classes_array[] = 'some-%placeholder' $classes_array[] = 'some-' . $class;

Producing markup like this:

That is: wherever you add a dynamic class into your page source, additionally put a recognisably formatted, static version of that class alongside it. That would also include anywhere you generated classes in JavaScript or any CSS-pre/post-processing madness.

Obviously, you don’t need these placeholder classes in your actual CSS (if you wanted to edit the static CSS, the regular class will already show up in searches) but if you are doing this in some dynamically generated CSS, then you’ll want to drop the static version of the class in as a comment. So our Sass example would become:

// .some-%placeholder .some-#{$class} { // Some declarations… }

Once this becomes an established practice within your team, instead of fumbling around trying to find where a given class may have come from, you’ll be able to spot those placeholder strings and search for those, and relatively quickly find all the relevant bits of code.

So I think this is something we’re going to try to adopt/militantly enforce upon ourselves at ComputerMinds. As a Drupal shop, something like %placeholder makes sense, as that syntax is used elsewhere in core to denote dynamically replaced parts of a string. It also has the advantage of being slightly tricky to actually use in a CSS selector (if you don’t already know, I’m not going to tell you). You really don’t want any styling attached to these.

So there you have it – the “Searchable CSS class placeholder flags for generated class names” pattern. We’ll keep working on the name.

Categories: Drupal CMS

Vardot: How to Rank #1 on Google Using Drupal CMS?

Thu, 08/09/2018 - 04:47
Ahmed Jarrar August 9, 2018

SEO (Search Engine Optimization) is a hot topic when it comes to the discussion of online marketing. In today’s Internet climate, most people usually find websites by typing in a few keywords into their search engine of choice, like Google. Folks trust Google to present only the most relevant sites to their search queries, so it’s only natural the first couple of sites that get thrown up are the ones that get the most clicks and visitors.

As a consequence, those top page rankings are viewed as a prime real estate by those who want to boost traffic to their websites. After all, hardly anyone would bother checking the sixteenth results page when searching for a word or phrase. This is where SEO comes in.

 

What Is SEO? 

 

SEO is the practice of optimizing a website to rank high among search engines. It’s a set of rules for organizing, populating, and presenting your website in such a way that improves its search rankings and puts businesses in a better position to earn.

Perhaps intentionally, having a well-optimized website not only makes search engines happy, it also makes visitors happy. Well-optimized websites are fast and easy to navigate, leaving your visitors with a positive impression and making them want to stick around your site a little more.

If you want to drive all that traffic to your website, it’s important to have the basics of SEO down pat, and have a grasp on what good and bad SEO practices are. It’s also important to have a good engine underneath the hood of your website, and Drupal just might be the CMS for you if that’s the case.

At its core, Drupal was built with SEO in mind. It has the power, flexibility, and tools needed to optimize every facet of your website for search engines, and in its huge kit of modules, there are quite a few that are dedicated to giving you an easier time when it comes to improving the optimization of your website. You really can’t go wrong with Drupal if you have your web page's search ranking in mind, and here are just a couple of things you can do with Drupal to improve your SEO and shoot to the top of Google search results.

 

Implementing Metatags

 

Meta tags are bits of text that are integral when it comes to improving your website’s search ranking, because, in a way, it tells search engines what the content is on each page on your website. This could be the titles of your pages to the little descriptions you see underneath the website links on a Google results page. You and your search engine need these bits of information to properly present and index your site on the search results page.

Usually, you can leave it up to your search engine to generate your page’s metadata for you, but by using the Drupal Metatag module, you can customize the metadata yourself. Set your own information such as page titles and descriptions to more properly and correctly present your site to your search engine and the online world.

 

Cleaning up Your URLs

 

Having bad, messy-looking links is a no-no when it comes to SEO. You want links that are easy to read and not just a jumble of letters and numbers so that they look more attractive to prospective visitors and to your search engine, who may be looking at your URL for keywords when it determines your site’s ranking.

Many web developers never realize the implications of messy URLs and leave their link syntax as-is, but going through each and every page on your website and manually setting the URLs isn’t an attractive option either. Luckily, Drupal generates clean URLs by default, improving the readability of your links and making things a bit easier on you.

If you want your links to be better and even more easy on the eyes, popular Drupal module Pathauto is a configurable system that automatically creates clean and extremely readable links that are perfect for your site’s optimization.

Another thing to keep in mind is making sure that your links actually go somewhere. Nothing sours the user experience more than clicking a link and being presented with a 404 page, and this in turn negatively affects your search rankings.

You can avoid this from happening by using the Redirect module. If you happened to have changed the page’s URL after Google indexed it, or moved the content to a different URL, this module allows you to make 301 redirects from that old link to the new one, quickly and painlessly, without having to go through the headache of cleaning up after yourself and fixing broken links.

 

Improving Page Speed

 

Google has been using the speed your page loads as an influencing factor in search rankings for years at this point. As they point out, sites that load faster have users that stay on for much longer, so it’s not only Google that you’re pleased by speeding up your website.

You might have to spend a little to have your website up to speed, but Drupal comes with several measures to help pages load faster, such as using BigPipe.

However, it’s not only desktop users you have to keep in mind, but mobile users, too. Given the leaps and bounds that technology has undergone in the last couple of years, you now find more and more people browsing the web on their smartphones and tablets. It’s important to make sure that your site experience is just as friendly and accessible on mobile devices as it is on desktop computers. As anyone who has used a desktop site on a mobile device knows, it’s not a pleasant experience.

Drupal’s default theme is responsive by design, which means it will display well on mobile screens of any size without having to do complicated rewrites of code or having to juggle multiple URLs to make sure your site displays correctly. With Google now also looking at the page speed of mobile sites, it’s now more important than ever to focus on delivering a good, well-optimized mobile experience to improve your SEO.

 

Read more: SEO Checklist Before Launching Your Drupal Website

 

Talking to Your Search Engine

 

Optimizing your website can be a little tough when you don’t even know basic things such as where your site traffic is coming from. Installing modules like Google Analytics makes you privy to such information, and for someone with their finger on the pulse of the site’s SEO, it’s perhaps one of the most important tools they can have.

With Google Analytics, you get to know things about your site visitors: Where in the world they come from, which links they followed to get to your site, which pages they visit and how much time they spend on those pages, what keywords they searched to find your page and more. If you’re concerned about SEO, then getting information about your website directly from Google, the most popular search engine in the world is valuable information to have, and can help you make decisions on what to improve on next.

And while you’re pulling information from Google about your website, you can also provide information about your website to Google in the form of an XML sitemap. These are specially formatted, condensed summaries of the pages of content on your website that you can submit to Google to help them find your site and let their bots crawl through your pages. Google can crawl through your site without an XML sitemap, but you take on the risk of them possibly missing pages.

With Drupal, generating an XML sitemap is as easy as installing the XML sitemap module which creates one for you, and modules like Cron can automatically make sure your sitemap is kept up-to-date with the latest information from your website.

 

Conclusion

These are only just a couple of the things you can do with Drupal to improve your SEO. Like all things worth doing, you can’t just press a button and magically have a well-made website ready to dominate the first page of the Google search rankings. It takes a good grasp of the basics, as well as a little effort, to have a perfectly optimized web page.

However, the road to that coveted #1 spot on the search results pages become a lot less bumpy thanks to the ease that Drupal gives you when it comes to optimizing your site.

Want to boost your site’s traffic and rank #1 on Google with Drupal? Message us through our Contact Us page, or via email at sales@vardot.com.

Categories: Drupal CMS

OpenSense Labs: From Conception to Reality: Drupal for Futuristic Websites

Thu, 08/09/2018 - 03:45
From Conception to Reality: Drupal for Futuristic Websites Shankar Thu, 08/09/2018 - 16:15

“Great Scott!”, exclaims the scientist in the renowned science fiction trilogy ‘Back to the Future’ which hit the cinema screens in 1985.  This exclamation by the scientist, who travels 30 years into the future in his flying car, is suggestive of remarkable inventions by the homo sapiens which is a colossal conundrum to solve in the present world set in this motion picture.

 

Drupal has been revolutionising the web application development with its flexibility in integrating with futuristic technologies

Since the first ever website, invented by British Scientist Tim Berners-Lee, went live in 1990, the tech enthusiasts have been looking at the enormous technological advancements in the years that followed. In a similar fashion, Drupal has been revolutionising the web application development with its flexibility in integrating with futuristic technologies.

What is Drupal doing with the futuristic technologies to give you the “Great Scott!” moment?

Futuristic Technologies: Strategic Trends with Broad Industry Impact

As stated by Gartner, an intertwining of people, devices, content, and services is known as an intelligent digital mesh. Digital firms are supported by enabling digital models, business platforms, and a rich, intelligent collection of services.

Intelligent: With AI seeping into virtually every other technology, well-defined focus can allow more dynamic autonomous systems.
Digital: Amalgamating the virtual and real worlds in order to create an immersive environment.
Mesh: The connections between a growing set of people, business, services, devices, and content for delivering digital outcomes.

Top 10 Strategic Technology Trends for 2018  by Gartner Intelligent digital mesh is the intertwining of people, devices, content and services

Immersive experiences, digital twins, Artificial Intelligence, conversational platforms, Blockchain, continuous adaptive security among others, as depicted in the illustration above, form a foundation for the next generation of digital business models and ecosystems.

Beyond Websites: Integration of Future Technologies and Drupal

Drupal is among the front-runners when it comes to content-heavy websites. With new discoveries happening outside of Drupal, it is only better to leverage the benefit of Drupal’s flexibility to incorporate next-generation technologies.

Artificial Intelligence

An area of computer science which stresses on the creation of intelligent machines that can work and act like humans, Artificial Intelligence has been the talk of the town ever since it burst onto the scene. How can it be leveraged for your Drupal websites?

Chatbots

There have been several phases in the way humans interacted with the computers. First was the Terminal Interface which involved the use of command line or DOS prompt. The second phase was the Graphical Interface which used visual representations of programs, files, and actions. The third wave is the Conversational Interface which allows users to interact with the computers using a natural language.

Chatbots, powered by artificial intelligence technologies, are wonderful for your website as they offer conversational UI and can hugely benefit your enterprise. Drupal offers a useful set of modules that can help in the integration of chatbots in the website thereby providing a conversational interface to the users.

Facebook Messenger Bot module, created by The White House, gives you the tool for developing chatbot on a Facebook Messenger Platform.

Chatbot API, another Drupal module, can be used to incorporate a bot in the site. It is an additional layer that falls between your Drupal installation, your Natural Language Processing (NLP) and your various chatbots and personal assistants. It can work with systems like Dialogflow, Alexa, Cisco Spark Microsoft and Twilio.

Digital voice assistants

While chatbots are primarily a text-based medium, digital voice assistants can be more human-like with the ability to talk like a human. For instance, Google Duplex, the latest entrant in the scene of digital voice assistants, can provide lifelike conversation thereby having a human-like chat and booking hotels on your behalf.

Alexa, an integration module for Amazon Echo services, allows Drupal to respond to Alexa Skills Kit requests. The demonstration given below shows that by indulging in a casual interaction with Alexa, the shopper is able to preheat the oven, add the ingredients and cook the food without even looking at the phone or laptop.

When the shopper provides a verbal query, this input is converted into a text-based request which is then sent to the Freshland Market Drupal 8 website (a fictional grocery store). From there, a coupling of custom code and Alexa module respond to the Amazon Echo with the requested information.

Cognitive Search

Forrester, research, and advisory firm, defines cognitive search and knowledge discovery as “the new generation of enterprise search solutions that employ Artificial Intelligence (AI) technologies such as Natural Language Processing (NLP) and Machine Learning to ingest, understand, organize, and query digital content from multiple data sources”.

Azure Cognitive Services API module allows Drupal to leverage the benefits of Microsoft Azure Cognitive Services. It helps in exposing machine learning APIs and allows developers to incorporate intelligent features like detecting emotion and video, understanding speech and language, and recognising face, speech, and vision.

Augmented Reality

Gartner defines Augmented Reality as the real-time use of information in the form of text, graphics, audio and other virtual enhancements integrated with real-world objects. It is this “real world” element that differentiates AR from virtual reality. AR integrates and adds value to the user’s interaction with the real world, versus a simulation.

A Drupal agency developed a chatbot prototype which helped customers to choose recipes based on the health constraints and their preferences. Chatbot provided an interactive experience to the users which helped in avoiding intensive research for the grocery shopping. By integrating AR in Drupal, they tried to take it one notch higher.

The demo in the video displays a shopper interacting with the AR application. Freshland Market’s mobile application (fictional grocery store), which is built on Drupal 8, guides the shopper to make better decisions while shopping through AR overlays.

It superimposed relevant data like product ratings, price and recommendations over the product items detected by the smartphone camera. By showing the products that are best for her diet plan, the mobile application personalised the shopper’s experience.

Drupal’s web services support and JSON API module assisted in providing content to the mobile application. The Drupal 8 site of Freshland Market stored all the product-related information. So, if the Drupal content for any of the product items is edited to display the item being on sale, it automatically reflected in the content that is superimposed through the mobile application. Furthermore, the location of the product was stored on the site which guided the shopper to the product’s location in the store.

Another use case is the Lift HoloDeck prototype which was developed using commercially available technologies - Drupal (content store), Acquia Lift (web personalisation service), Vuforia (AR library) and Unity (3D game engine).

Lift HoloDeck team developed a mobile application that superimposes product data and smart notifications over physical objects that are detected on the smartphone’s screen.

Consider a situation where a user informs about his purchases to a coffee shop through his mobile application. Entering a shop, he would show his phone screen displaying “deal of the day”. The application superimposes diet plan, directions on how to order, and product data on top of the beverage. By glancing at the nutritional information, he would order his preferred choice and would get a notification stating that his order is ready to picked up.

Virtual Reality

Virtual reality is basically computer-generated environments or realities that can be used to simulate a physical world in a specific environment to make it feel real.

Virtual reality can be used to build cross-channel experiences. The demonstration shown in the video below features a student who is eager to explore more about Massachusetts State University (a fictional university). The video depicts that he is able to take a virtual tour directly from the university’s website sitting on his sofa.

Placing his phone in a VR headset, he can go around the university campus, explore buildings, and look at the program resources, photos and videos within the context of the virtual tour.

The Massachusetts State University’s Drupal site stores all of the content and media that is featured in the virtual tour. Drupal backend helps website administrators to upload media and position hotspots directly. Using JSON API, the React frontend pulls in information from Drupal.

Internet of Things

In the broadest sense, the term Internet of Things (IoT) subsumes everything that is connected to the internet but it is increasingly being used to define objects that can talk to each other. The IoT can be anything ranging from simple sensors to smartphones and wearables connected together. Combining these connected devices with automated systems can help in gathering information, review it and create an action plan to assist someone with a particular task or learn from a process.

DrupalCon New Orleans 2016 had a session which delved around bringing Drupal and internet of things together. It exhibited a demonstration that used a barometric pressure sensing, GPS-enabled wearable armband connected to the internet which could, then, display an icon to provide the weather forecast of the current location.

The armband, which was tethered to iPhone, sent latitudinal and longitudinal data to a ThingSpeak channel (an API for the IoT) using mobile data. It, in turn, tracked the location of a ship by sending this data over HTTP to the Drupal 8 website. When the site received this authenticated POST data, new location nodes were created. It updated the map and table that is built with Views and changed a block on the sidebar to display the matching icon of weather in the current location of the ship.

Blockchain

Don & Alex Tapscott, authors of Blockchain Revolution (2016) define the blockchain as “an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value.”

Chainfrog has been working on blockchain technology since its early stages and devised a use case where the user data including communication history, address and the profile data will be available to everyone in a large organisation.

“Blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value.”

To synchronise and securely segregate Drupal user data, big companies map user registration forms with a centralised company API. These big companies usually have more than one Drupal installations for different departments within the enterprise with a central codebase.

Thus, instead of having an expensive API layer, Chainfrog proposed using Drupal 8 custom module via a distributed ledger for the synchronisation of user data. So, instead of making an HTTP call everytime a new user is added, they planned to adopt a peer-to-peer immutable ledger thereby removing the middleman, in this case, API.

Blockbinder, a product of Chainfrog that helps in connecting existing databases instantly, would keep a tab on user records in a data table whenever a new user is added to the Drupal system. Within 30 seconds of any new addition in one of the Drupal installations, all the installations would synchronise the user data.

At DrupalCon Nashville 2018, we propounded possible use cases for the coming together of Drupal and Interplanetary File System (IPFS). IPFS, which has its working principle based on blockchain technology, is a peer-to-peer hypermedia protocol. Centralisation is at the core of Drupal’s workflow in comparison to IPFS’ decentralised nature. We looked for ways to make them work together.

Drupal, which allows content editors to seamlessly produce content, can be entwined with IPFS for an amazing digital experience. From helping archivists to store superabundance of data to helping Service Providers as a global Content Delivery Network (CDN), there are tons of benefits. We presented a use case to make this a reality which can be explored in this video.

Conclusion

These are some of the frontiers that Drupal has crossed. There are lots of emerging technologies whose potential with Drupal can be explored like..?

Future is bright with lots of new inventions happening in the technological fields to make the world a better space. Digital firms can make significant strides in their online presence by integrating future technologies with their website. Drupal gives a great platform for the businesses to look beyond websites and incorporate emerging technologies to build futuristic websites

Want to know how we develop Drupal sites for our clients and also maintain and support them? Ping us at hello@opensenselabs.com to set the ball rolling and make your website exciting with the incorporation of emerging technologies.

blog banner blog image Drupal Futuristic website Future technology Futuristic technology Futuristic web app Artificial Intelligence Chatbot Digital voice assistant Conversational interface Conversational platform Cognitive search Augmented Reality Virtual reality Immersive experience Internet of things Blockchain Interplanetary File System IPFS AI AR VR Drupal module Drupal 8 Blog Type Articles Is it a good read ? On
Categories: Drupal CMS

AddWeb Solution: ReactJS And Drupal - The Competent Combo!

Thu, 08/09/2018 - 03:31

What is ReactJS?

Created to enhance speed, simplicity, and scalability, ReactJS has been doing wonders ever since its initial release in 2013. It was basically created by Jordan Walke, a software engineer at Facebook. And its first deployment on Facebook’s newsfeed turned out to be so successful that it was later on adopted by Instagram too. Amongst all the open-source platforms used today for front-end web-application development, ReactJS is the library which is reaching heights these days. And there are multiple reasons for such a booming popularity in such a short period of time. Each adding to the enhancement of current front-end UI scenario. No wonder it looks like, ReactJS is here to stay!

 

What is Drupal?

Drupal is the big name from the open-source community for web content management. Prominent names from journalism leaders like ‘The Economist’ to ‘The Royal Family’ of Britain. The security and scalability of Drupal are so high that it has made it the most trusted platform for web development.

Even after being a not-too-easy-to-use platform that requires technical expertise for building and maintaining it; Drupal has been chosen by the top-notch players from various industries like Harvard University, Tesla Motors, ABS-CBN News, Warner Bros. Records, et al. In addition, the Decoupled Drupal is the concept where Drupal can be used for building a strong back-end and opening up the doors for upscaling the front-end scenario even more by letting it being build with some other framework. And this is one of the best things ever happened to Drupal.
 

The Marriage of ReactJS & Drupal:

, ,

Now, ReactJS is gaining immense popularity and the marriage of ReactJS and Drupal has become the talk of the town. In fact Dries Buytaert, the founder of Drupal, has also shared he's planning on Drupal adopting React. Though the news has received mixed opinions from the experts of the open-source community, it’s definitely something to be given an ear to.

 

ReactJS and Drupal are supposedly called the marriage made in heaven. ReactJS is one of the most evolved front-end frameworks from the house of JavaScript. But like every other JavaScript framework, this one too needs and a service-based back-end for storing the data and working on the business logic. Drupal being the strongest platform with built-in RESTful services; it serves as an apt companion for this amazing front-end framework that ReactJS is.

 

The uprising need for using a modern framework with a robust back-end platform is also a reason behind the buzz created around the combination of ReactJS and Drupal. In fact, Dries has quoted in his blog that JavaScript wasn’t his first choice. Rather he considered Angular and Ember over JavaScript. But citing the ever-evolving market of JavaScript, he realized that the combination of Drupal and ReactJS was what the modern web needed the most.
 

The community behind ReactJS is also one of the major reasons for taking it into high consideration over other good frameworks. Also, whether it is about ornamenting the current page and few of its elements or it’s about creating a full-fledged single page app (SPA), this very combination is the sure-shot success. Lullabot shares some insightful information about the same, click here to know more.

 

Some hardcore Drupal Monolithic-ians have also publically discarded the official union of ReactJS and Drupal. But since the world is ever changing and the possibilities, endless; the acceptance of the same can be foreseen. Of course, it is a matter of conflict and controversy. But then, only time can tell how things turn and what reigns the open-source community!

 

I hope this blog helps you to expand your ReactJS and Drupal knowledge …Thanks! If you need more assistance regarding Drupal Development Services, feel free to contact us now.

Categories: Drupal CMS

Drupal Association blog: A more sustainable framework for fiscal sponsorship of Drupal camps

Wed, 08/08/2018 - 23:30

Camps are Drupal’s growth engine and they take place all over the world. They attract local developers, connect them with resources to learn how to use Drupal, and most importantly, they provide on-ramps into the community. We are incredibly thankful and amazed at the level of commitment and contribution that organizers invest in their events. This is a very important way to contribute back to the project.

The Drupal Association supports camps as we can. We provide grants to new events through Community Cultivation Grants (check out this GoaCamp story). We also provide fiscal sponsorship to camps. This means we let organizers deposit their camp income into the Drupal Association bank account, taking advantage of our non-profit  status. Then, they work with our operations team to pay bills out of the account.

It’s been an honor to help several camps this way. However, this program has two major challenges. 1) We are not able to support camps globally because we can’t work in every currency, so most of the camps we support are in the U.S. 2) As we became a smaller organization, we have fewer staff to support this program. We haven’t been as fast at processing funds as we would like or our camps need.

Knowing how important camps are to Drupal, how organizers need their work made easier, and that we need to provide global support, we decided that the best way to provide better fiscal sponsorship is by referring community groups to organizations whose business is set up to provide this service. Over the years, we have watched several organizations get very good at providing fiscal sponsorship to open source projects.

We therefore have been looking at best practice models across many open source communities and we are happy to partner with Open Collective, a company specializing in fiscal sponsorships and other open source funding opportunities. They have the ability to scale and offer the level of service to meet a camp’s needs. In the US, Open Collective Foundation has recently obtained their 501(c)(3) status, and will be able to sign for and represent your camp as we have done in the past. Their platform, itself an open source project just like Drupal, gives camp organizers full transparency, and on-demand reporting so they can manage a camp effectively.  Additional details about Open Collective can be found here.

Because of this opportunity, we have made the choice to sunset our internal program as of August 31, 2018.

While we have chosen to partner with Open Collective to assist in this transition, we strongly believe in choice and there are other fiscal sponsorship opportunities that you can choose to roll your funds to, such as Software In The Public Interest and the Software Freedom Conservancy.

We know that each camp is in a different stage of planning, and we are dedicated to making sure that the transition is smooth and will not affect the activities and success of camps. We will be reaching out to camp contacts to schedule time to talk through the transition. From there, we will roll the funds to a legal entity that you have chosen.

We are thankful for all the camps we were able to help get launched, and continue to watch their growth year after year. We hope this transition will help our camps grow and scale with no limitations.

Categories: Drupal CMS

Pages

1 2 3 4 5 6 7 8 9 next › last »