Drupal

Out & About On The Third Rock: What makes a great product owner?

Planet Drupal - 17 February 2019 - 11:36am
There are books, podcasts, talks, conferences and careers built on this topic! When it comes to succinct guides there is what is prescribed by frameworks and then there is what is advocated based on experience! This post is my musing on the latter. Continue reading →
Categories: Drupal

Tugboat QA API

New Drupal Modules - 17 February 2019 - 10:35am

A module to enable API-based integration to Tugboat QA.

Categories: Drupal

Translation Extractor

New Drupal Modules - 17 February 2019 - 10:05am

Create translation files of your new Drupal module on the fly!

This module scans a given module directory for the use of Drupal's translation methods. It then converts the translation strings found into a .po file format ready to use.

Installation Requirements

This module only utilizes Drupal core features and has no other dependencies.

Categories: Drupal

MarkJS Search

New Drupal Modules - 17 February 2019 - 8:58am
Introduction

The MarkJS search module allows a site administer to create a block that exposes a way for the site user to search for keywords within the page context. Similar to how the Find (Ctr+F) feature works in the browser.

Developers

Check out the MarkJS documentation for instructions/examples on the available API.

Categories: Drupal

OpenSense Labs: Going ultra-minimalist: Metalsmith with Drupal

Planet Drupal - 17 February 2019 - 8:52am
Going ultra-minimalist: Metalsmith with Drupal Shankar Sun, 02/17/2019 - 22:22

A metalsmith sees potential where others might see trash. In his vision, a plastic bag can become a ring, the zipper can turn into a bracelet and brass platters can be metamorphosed into a striking hollow vessel. In the digital spectrum, there’s another Metalsmith which can shape a great web presence for your organisation with its amazing web development capabilities.


A combination of Metalsmith and Drupal even more fruitful with Drupal’s spectacular backend that can be used to feed data to all sorts of clients and Metalsmith’s exceptional capabilities as a static site generator.

Forging an understanding Source: Werner Glinka | Twin Cities Drupal Camp 2018

Metalsmith is not aimed at particular project types such as blogs. It supports a wide array of templates and data format options. It offers a simple plug-in architecture and is easy to get started. It uses a modular structure. Its lightweight nature and fewer dependencies make its a magnificent solution.

Metalsmith is an extremely simple, pluggable static site generator - Metalsmith.io

Static site generators create HTML code locally on the developer’s computer and all the required components are stored in a well-structured directory characterised by the strict separation of layout and content. That means a static site generator produces static build files for their deployment to a web server wherein the files are developed from source files. This is exactly the reasoning on which Metalsmith was built. Metalsmith is more than just a static site generator as everything is a plugin and Metalsmith core is an abstraction for manipulation of the file directory. It can be used for building a plethora of use cases like a project scaffolder, or an ebook generator, or even the technical docs.
 
Its working principle is simple. It takes the information from the source files of a source directory and it, then, writes the manipulated information to the files into a destination directory. The manipulations can be the translation of templates, replacement of variables, grouping files, moving files among others.
 
All the manipulations are done by plugins. Only thing Metalsmith has to take care of in its core is to offer an underlying logic of how the manipulations are confronted with and for a defined interface for the plugins. Moreover, source files are, in the nascent stage itself, converted into JavaScript objects so that plugins only do the modifications to the JavaScript objects. Moreover, Metalsmith is divided into a core and several plugins that minimises the intricacy by giving the user complete authority to use only those plugins that are needed and disseminating the task of maintaining the Metalsmith core to the Metalsmith community. Being programmed in Javascript, the need for another language like Python or Ruby is eliminated and it also has a simple plugin-interface thereby offering a simple workflow.

Metalsmith with Drupal

Twin Cities Drupal Camp 2018 had a session that demonstrated how a headless Drupal 8 installation serves content to a local Metalsmith-based static website build process. Drupal 8 turned out to be a fantastic backend CMS for serving data to all kinds of clients. Here, simply put, the local environment is the Metalsmith process uploading anything onto the Github. Once uploaded, Netlify loads it into its own process and publishes it.

Source: Werner Glinka | Twin Cities Drupal Camp 2018

Server data are leveraged for building pages dynamically at build time with the assistance of Metalsmith as the static site generator and the Nunjucks template engine. As a result, the merits of a static website as well as the magnificent backend data governance of Drupal is obtained. Drupal is only utilised for governing content in the backend and is then used to serve the content to the build process through an API.

Conclusion

Metalsmith, along with Drupal's great prowess in content governance, can be a great solution for building static sites.
 
We believe in empowering the digital firms and making their digital transformation dreams come true with our suite of services.
 
Let us know how do you want us to help you build an astounding web presence at hello@opensenselabs.com

blog banner blog image Metalsmith Drupal 8 Headless Drupal Decoupled Drupal Blog Type Articles Is it a good read ? On
Categories: Drupal

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

Planet Drupal - 17 February 2019 - 4:47am
Firas Ghunaim February 17, 2019

"Content is king! SEO is so 2017." Sure, why not.

Where is that king's throne? Where do you find content?

Content is found on web and mobile pages across the internet, amongst millions of millions of pages. Search Engine Optimization is about the process of being found by your content consumers and readers.

What Search Engine Optimization is not is that it's all about keywords; a common and prevalent misconception. You still need to create content that is of relevance to someone searching for it.

and of course, follow Google's rules and learn their ranking factors.

Basic stuff really.

"SEO? Gotta follow the Google machine's rules bro"

 

A critical consideration that usually escapes the decision-making process of what to use to publish that content: Which CMS suits my needs the most? 

A CMS (Content Management System) is the beating heart of your digital platform, website or experience. It is where you develop, manage and publish your content. Most websites look like Ferraris' but drive like an Austin Allegro.

Long story short, the CMS you built your site on will play a key role in your SEO efforts.

 

4 Ways Drupal CMS Enhances Your SEO

I am not here to shamelessly promote Drupal CMS (I really am though), but if you are looking to create the best digital experience for your users without bothering about on-site SEO then look no further than Drupal.

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. 

 

1. Implementing Meta tags

 

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.

 

Read More: 6 Reliable SEO Tools To Make Your Life Easier   2. 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.

 

3. 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

 

4. 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.

Read More: Top 5 Drupal Modules For Marketers

Drupal is inherently optimized for search engines after all the whole idea behind Drupal was to enable the creation of digital experiences that are user-centric. That user includes the development team who are always aided by the open-source community of experts that provide us with awesome SEO tools such as the SEO Checklist.

You see, friend... SEO is not dead. Content's prominence just made SEO eternal.

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

Recurring Date Field Modular Widgets

New Drupal Modules - 16 February 2019 - 11:04pm

Provides a framework for developing widgets for Recurring Dates Field, and a few bundled widgets.

Mirror repo: https://github.com/dpi/date_recur_modular

Bundled widgets

The project comes with 3 widgets:

Categories: Drupal

Deploy key

New Drupal Modules - 16 February 2019 - 1:39pm

Makes it possible to generate private/public keys for any entity.

For example, if you want to generate a key pair and display the public key information per project node. Or per user.

This is what powers the ssh keys part of Violinist.io

Categories: Drupal

Signature pad widget

New Drupal Modules - 16 February 2019 - 7:02am

Signature pad an electronic-signing script, this Image Widget allows you to sign with HTML5 canvas based on field image.
your signature will save as a image.
This module requires the following module: file, libraries,
when you create new image field you can select widget "Signature field"

Categories: Drupal

Commerce Replace Order

New Drupal Modules - 16 February 2019 - 4:16am

Commerce Replace Order allows end user to either replace the previous order
completely or a line item from the previous order.

This module allows to Replace customer order just by creating an simple link or
button.

i.e.
1. Link can be created as "/user/{user_id}/orders/{order_id}/replace-order"
for replacing the previous order completely where
{user_id} - the current logged in user id.
{order_id} - the order id which has to be replaced again.

Categories: Drupal

Typed Text

New Drupal Modules - 16 February 2019 - 1:05am

This project integrates https://github.com/mattboldt/typed.js library in Drupal CMS. typed.js is a A JavaScript Typing Animation Library and original JS library development credits stay with Matt Boldt

Categories: Drupal

MailMe

New Drupal Modules - 15 February 2019 - 7:28pm

Once enabled within the theme it will allow for the placement of a simple block with a field for a 'Name', 'Email', 'Subject', and Message'. Once these fields are filled out and submitted it will send an email to the user who installed the module or a user can enter in an email in the administration panel.

In my application of the block it is hidden until a button is clicked. It will then appear over the content of the page. That explains the size and structure of the block. Anyone is free to modify this module completely.

To Install:

Categories: Drupal

Smart Content Data Layer

New Drupal Modules - 15 February 2019 - 3:32pm

Smart Content Data Layer is a helper module to be used in conjunction with Smart Content. It collects data from smart content displayed on a page and provides it to analytics platforms like Google Tag Manager via the dataLayer object.

Categories: Drupal

Light SAML Identity Provider

New Drupal Modules - 15 February 2019 - 11:36am
Categories: Drupal

Domain Role

New Drupal Modules - 15 February 2019 - 10:27am

This module provides per-domain role functionality on Domain Access sites, for Drupal 8.

It leverages the domain_config submodule, providing a different configuration for user roles for each domain, and provides a UI to manage them.

Categories: Drupal

EP

New Drupal Modules - 15 February 2019 - 6:39am
Categories: Drupal

Aten Design Group: Flexible Authoring with Structured Content

Planet Drupal - 15 February 2019 - 5:53am

As a writer or editor for your organization’s website, you should be able to quickly write articles or build pages that are collections of smaller elements. You should be able to write some text, add a slideshow, write some more text, perhaps list a few tweets, and finish things off with a list of related content. Or maybe you paste in a pull quote, add a couple full-width images with captions, or even put together an interactive timeline. Your content management system should let you do all that, easily. But chances are, it won’t be with the WYSIWYG you’re used to right now.

What You See Isn’t What You Get

WYSIWYG editors still fall short when it comes to doing much more than simple formatting and embedding a few images. Anything beyond that, and the underlying technology has to leverage some kind of proprietary “smart code” or “token” and do some find-and-replace magic that makes slideshows, media players, or other more complex blocks of content show up right to the editor. These tokens aren’t typically based on any adopted standard. It’s just this custom, arbitrary formatting shortcut that programmers decided to use that tells the CMS, “Replace this snippet with that other piece of content.”

If it sounds complicated, that’s because it is. It’s hard to get right. It’s hard to build in a sustainable way. It’s hard – impossible, really – to make it look right and work well for authors. It’s REALLY hard to migrate.

Here’s an example: In earlier versions of Drupal, Node Embed was a way to embed one piece of content (say, an image) inside the body of another (like an article). The “smart code” [[nid: 123]] tells Drupal, “replace this with the piece of content that has an ID of 123.” It worked, but the authoring experience was janky. And it really wasn’t structured content, since your markup would end up littered with these proprietary snippets referencing objects in the CMS. Somewhere down the line, someone would inevitably have to migrate all of that and write regular expressions and processors to parse it back into a sane structure for the new system. That gets expensive.

Fieldable Entities and Structured Content

The thing that lets you, the web editor, write content that is both manageable and flexible is breaking your content into discrete, single-purpose fields. In Drupal it’s called “fieldable entities.” You don’t dump everything into the WYSIWYG (which would be hard to do anyway). Instead, there’s a field to add the author’s name, a field for attaching images, and a field for the text (that last part gets the WYSIWYG). More generally, this serves an important concept called “structured content.” Content is stored in sensible chunks. It adapts to a variety of contexts, like a mobile app or a news aggregator or (of course) your website. In the case of your website, your CMS pushes all those fields through a template, and voila, the page is published beautifully and your readers eat it up.

What If My Fields Have Fields?

Here’s where it gets interesting. Back to our earlier example: let’s say your article has a couple slideshows. Each slideshow has a few images, captions, and links. Suddenly your discrete, single-purpose field (slideshow) has its own fields (images, captions, links). And, you may want to add a slideshow virtually anywhere in the flow of the page. Perhaps the page goes text, slideshow, text. Or maybe it’s text, slideshow, text, some tweets, another slideshow. And now you want to swap some things around. Again, you should be able to do all that, easily.

Drupal Paragraphs

Enter the Drupal Paragraphs module. Paragraphs takes the approach of creating content bundles, or collections of fields, that can be mixed and matched on a given page in virtually countless configurations. They’re called “Paragraphs” because they are flexible, structured building blocks for pages. The name is a little misleading; in fact, they are 100% configurable groups of fields that can be added, edited, and rearranged however you want on a given article. You can have paragraph types for slideshows, pull quotes, tweets, lists of related content, or virtually anything else. Paragraphs are building blocks: smaller elements that can be combined to build a page. And like I said earlier, you should be able to easily make pages from collections of smaller elements.

Drupal Paragraphs is Sort of Easy

We use Drupal Paragraphs whenever a particular type of content (a news article, blog post, etc.) is really built up of smaller, interchangeable collections of other fields (text, slideshows, videos, etc.). Drupal Paragraphs are flexible and organized. They let authors create whatever kinds of pages they want, while storing content in a way that is structured and adaptable. Migrations with Paragraphs are generally easier than migrations with special, proprietary embed codes. Breaking content types into Paragraphs gives authors the flexibility they need, without sacrificing structure. You don’t end up with a bunch of garbage pasted into an open WYSIWYG field.

So what’s the catch? Well, the interface isn’t awesome. Using Drupal Paragraphs can add a lot of complexity to the authoring experience. Forms will have nested forms. It can be overwhelming.

Alternatives to Drupal Paragraphs

As I’m writing this, another approach to page building is gathering momentum in the Drupal universe. Layout Builder is currently an experimental module in core, and slated to ship as a stable release with Drupal 8.7. Layout Builder provides a slick drag-and-drop interface for editors to build pages from blocks and fields. We’re excited to see how Layout Builder develops, and to see how well it performs for large editorial websites. For websites with hundreds or thousands of articles, managing pages with Layout Builder may be difficult. As Drupal’s founder, Dries Buytaert, pointed out in a post late last year, “On large sites, the free-form page creation is almost certainly going to be a scalability, maintenance and governance challenge.”

Other open source CMS communities are seeing a similar rise in the demand to provide authors with flexible page-building tools. WordPress released Gutenberg, a powerful drag-and-drop editing experience that lets authors quickly build incredibly flexible pages from a massive library of components. It’s worth noting Gutenberg is not without challenges. It poses accessibility issues. Antithetical to the themes in this post, it does not necessarily produce structured content. It relies on proprietary tokens for referencing embedded blocks of content. But it is very flexible, and offers an expressive interface for authors. For Drupal users, there’s a Drupal port for Gutenberg.

For us at Aten, the balance comes back to making sure content is stored in a way that is structured, can be adaptive, is reusable, and is relatively easy to migrate. And that you, the writer, can easily build flexible web pages.

Structured and Adaptable: Drupal Paragraphs with Layout Control

We’ve been working on an approach that keeps Paragraphs in place as the primary way content is managed and stored, but also gives authors the ability to easily control layout. Using Drupal’s core Layout Discovery system, Entity Reference with Layout is a custom field type that combines layouts and Paragraphs. It’s still in very early experimental development, but we’re excited about the impact this approach might have on making it even easier to create flexible pages. And it uses Paragraphs for content storage, with the benefits we’ve already touched on: content is well-structured and relatively easy to migrate. It’s not as flexible or robust as Layout Builder, but might be a great option for authoring flexible pages with Paragraphs. (More on this in a future post.)

Reusable and Flexible: Advanced Paragraphs

Since Drupal Paragraphs are themselves collections of flexible fields, there are all kinds of interesting ways they can be applied to building complex publishing features. We’re working with a client in publishing who needs the ability to completely customize the way content appears on their home page. They would like to promote existing content to the homepage, but they may want to override article titles, images, and summaries. Since the article authors aren’t the same people editing the home page and other key listing pages, they didn’t want authors to have to think about all of those variations. The way content is presented on an article page isn’t always the best-suited for the homepage and other contexts. We used paragraphs to give home page editors the ability to drop articles onto the page, with fields for overriding everything they need to.

Where to Go From Here

Your CMS should make it easy to write content and build pages. If you’re interested in seeing a demo of Drupal Paragraphs, Layout Builder, or Gutenberg, drop us a line. We’d love to help.

Categories: Drupal

Accordion Menus

New Drupal Modules - 15 February 2019 - 4:03am

Accordion Menus module will display a Drupal menu using a jQuery UI accordion effect. The top-level menu items are referred to as header items. The accordion effect is invoked when the triggering event occurs on a header item. The triggering event is a mouse click. The submenu expands to display the menu items beneath the header. A subsequent triggering event on the same header item collapses the menu beneath it.

The idea of this module came from accordion_menu module which is Drupal 7 module.

Categories: Drupal

Request cleanup

New Drupal Modules - 15 February 2019 - 1:33am

Increase internal page cache efficiency by removing URL query parameters coming from Facebook (fbclick), Google (utm_source, utm_medium,
utm_campaign), and any other parameter that can be ignored by Drupal.

This allows internal page cache to store less items, and avoid generating responses for different requests
that internally are handled by the same page controller and parameters.

Examples:

Categories: Drupal

Adblock Detector

New Drupal Modules - 15 February 2019 - 1:22am

Adblock Detector/Remover

Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal