Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Jun 03 2020
Jun 03

Most websites, even ones that have a perfect URL structure from the beginning, may need URL redirects sooner or later. URL redirects are small tasks that carry a big value. Since one of our fields of expertise is Drupal website support & maintenance, we often face website redirect tasks.

Today, our team shares their thoughts on what redirects are, in what situations they are needed, how they can help you, and how to redirect a website URL on a Drupal website with the help of the Redirect module. This will also include the simplest answer to the popular question “How to create a 301 redirect?”

What is a website redirect?

URL redirection, also known as URL forwarding, is a technique used on the World Wide Web that takes one website URL and points it to another. When someone visits the original address, they are taken to a new one. A URL redirect tells a user’s browser where to find the content they are looking for.

Temporary and permanent redirects

Web page redirects can be temporary or permanent. They are used to inform search engines whether the page has changed its address forever or this is just a temporary measure. They are associated with the corresponding HTTP status codes — 301 and 302 (the most widely used ones on the whole list of statuses from 301 to 307):

  • 301 – The page has moved permanently.
  • 302 – The page has moved temporarily.

Why redirect a website URL: common scenarios

If a page is no longer available at its old address, a redirect will prevent your visitors from getting a 404 “Not found” error when they visit it (from saved bookmarks, shared links, and so on). Keeping your website clean from broken links helps you reduce the bounce rate and improve session duration, which is very important for SEO.

Redirects are also a great way to inform the search engines that the new address is now official and should “inherit” all the SEO achievements of the old page. According to Moz (the creators of the famous SEO toolset), 301 redirects pass between 90-99% of link equity (ranking power) to the new URL. This means you are not losing any of your previous SEO efforts.

Here are the situations when it may be necessary to redirect a website to another URL. Depending on the situation, this can apply to the entire website or single pages:

  • Moving your site to a new domain (if you have purchased the domain of your dream, if you have to change domains due to intellectual property issues, or in other situations).
  • Forwarding multiple domains to a single one (if you have purchased multiple domains, if users regularly misspell your domain in some common way, or in other situations).
  • Forwarding subdomains to your main domain (for example, if you initially had “blog.mywebsite.com” and now you want to make it “mywebsite.com/blog”).
  • Directing all traffic to a single (“canonical”) URL (if a website uses both a WWW and a non-WWW version).
  • Changing a URL structure due to website redesign.
  • Redirecting duplicate content to the original page to avoid the confusion of search engines and users.
  • Fixing a mistake or a typo in a URL (web addresses need to be both human-readable and SEO-friendly, so sometimes fixing an important issue in them is worth a redirect).
  • Saving a situation, like when a wrong URL has been mistakenly shared with many people (e.g. via a newsletter to thousands of customers).
  • Creating a simple, brief, and catchy URL for print advertising campaigns.

How to redirect a URL with the help of the Redirect Drupal module

Sites built on content management systems (aka CMSs) offer hassle-free ways to redirect a website URL. Drupal is no exception. Of course, this can be done by a developer in the .htaccess file on the server, but there are much more user-friendly tools that offer intuitive interfaces. One of these for Drupal sites is the Redirect module. It has been recently updated by its creators.

The module allows you to easily create manual redirects from one URL to another and maintain a canonical URL for all content. This contributed module comes as a package of three submodules:

  • Redirect. It allows you to redirect a website URL to another one.
  • Redirect 404. It logs 404 errors and allows you to create a redirect for these pages.
  • Redirect domain. It allows you to perform a redirect between different domains.

Redirect Drupal module

By just enabling the main module, you get a simple interface that makes it immediately clear to non-tech savvy users how to do 301 redirect and more. We have also recorded a video tutorial that is waiting for you at the end of the page.

On the Configuration — Search and metadata — Redirect page, we see the page where all your redirects will be stored. You will be able to easily find the necessary ones through filtering (by source, destination, status code, and original language). It’s possible to edit or delete them from this page.

Redirect module page on a Drupal website

We need to hit the “Add redirect” button and then enter the details:

  • the source URL
  • the destination URL
  • the status (from 301 to 307)

The default status is 301, which is recommended, but you can change it on the Settings tab if needed.

Add a URL redirect on a Drupal website

The module has plenty of capabilities that developers love it for (Views API integration, integration with Drupal's page cache for performance optimization, redirect counter, automatic cleanup of inactive redirects, and much more). An important point is the module can team up with the Pathauto module to automatically generate path redirects and make sure the URL changes do not break the existing links.

Need help with your URLs?

Send tasks to experts! We have shared a basic guide on how to redirect a URL to another URL in Drupal. Our Drupal team is always there for you if you need:

  • assistance in installing and configuring the module
  • recommendations from our SEO team on your URL structure
  • more consultations on how to forward or redirect a URL
  • help with website redirects of any complexity
  • and much more

Drop us a line today and let’s make sure your customers and search engines find your pages at the right addresses! We will also be glad to hear from you about any ideas on site optimization, design, or development.

[embedded content]

May 20 2020
May 20

For every website, irrespective of the industry, a blog is a powerful magnet that attracts both visitors and search engines. In order to keep your website fresh, you need to regularly treat your audience to new and tasty content.

Among the ways to increase blog engagement is to notify users about new posts. Let’s see how to set up content email notifications on a Drupal website.

Of course, you can always rely on our Drupal development team for setting up notifications on your website according to your requirements at very affordable prices.

A few tips about how to engage readers on a blog

So you have a blog that helps you bring your message across to your prospective customers. How can you increase content engagement? How do you connect with readers better? The tips include (but are not limited to) the following:

  • Regularly share your blog on social media and add sharing buttons for your readers to do the same.
  • Make sure your website has a comment section so your readers can share their thoughts or ask questions (and get your answers!)
  • Insert encouraging questions into your blog content that directly ask your readers’ opinion.
  • Never underestimate the power of interesting video content.
  • Share your blog on forums, communities, and specialized platforms in various engaging formats like polls, podcasts, contests, slideshows, and so on.
  • Don’t forget to increase your website loading speed so your users don’t lose patience while waiting to read your content.
  • Be sure to improve your website’s mobile UX so it’s easy and enjoyable to read your blog from any device.
  • Email users when a new post is published, or an old one is updated or commented on. This is the subject of the rest of this post.

The role of email notifications in your user engagement

Let’s see more details about the benefits of notifying users about new posts on a website. This increases the chance that they:

  • come and read your content
  • share it on social media
  • register on your website
  • subscribe to your newsletter
  • become loyal readers
  • get involved in a discussion in the comments
  • or, most desirably, click your important CTA button

That’s why email notifications, as an important engagement technique, are beneficial for your blog views, popularity, SEO, and conversions. Considering the high open rates of emails, the impact can be very significant.

Opportunities to notify users about new posts on a Drupal website

If your website is built with Drupal, your options for email notifications are very extensive:

  • Recipients. You can send new post notifications to subscribers, users, authors, admins, etc. These can be users of specific roles, users from a specific list, or users who have performed specific actions (e.g. commented on a blog post).
  • Events. Notify users when content is created, updated, someone posted a comment or replied to it, there are new posts to moderate, etc.
  • Form. Send notification messages, full content items, content teasers, full comment threads or just personal replies.
  • Time. Send your emails immediately, schedule them to be sent in the future, or unquee them to be processed by Drupal Cron (time-based task scheduler).
  • Amount. Notify users about every single event or collect the events into regular newsletters.

Drupal modules for email notifications

Let’s now see how to notify users about a new Drupal blog and other events described above. As usual with Drupal, this can be implemented through a wide array of contributed Drupal modules.

Which is the best Drupal module to send new post notifications to subscribers? Each of them is great in its own way and performs particular functions. Of course, anything that is not covered by them can be added as custom functionality by Drupal development experts.

Comment Notify

Comment Notify is a lightweight module that notifies users by email about replies to their comments and other comment-related events. It is available both in Drupal 7 and Drupal 8. The module has been freshly updated.

One of its important features is the ability to send emails both to authenticated and anonymous users. Anonymous users are a very promising audience in building a blog community. Other features of the module include the option for users to unsubscribe, notifications for admins that they need to moderate a comment, emails for authors about new comments to their blog posts, and much more.

Comment Notify Drupal module

Admin Content Notification

The Admin Content Notification module allows you to notify users by email when new content has been created or updated. It is also available in Drupal 7 and 8.

You can notify website administrators or users of any other roles, as well as users of a specific list. It’s possible to select specific content types, events (whether the content is created or updated), send content nodes via tokens, and much more. 

Admin Content Notification Drupal module

Workbench Email

The Workbench Email module enables you to send email notifications based on content status changes. You can send emails from the admin dashboard about the transitions of content from state to state, for example, when the content moves from “draft” to “needs review.” Its work is based on configurable email templates. The module supports tokens and allows you to select users and content types.

Workbench Email Drupal module

Message Stack

The Message Stack is a complex but very powerful and flexible module that consists of the Message, Message Notify, Message Subscribe, Message Digest, and Message UI submodules. The package has capabilities that will impress any developer because it can do literally anything if used properly. For example:

  • defining message types and generating messages
  • export of message types
  • subscription to events related to content
  • plugins for email and SMS notifications
  • multilingual support
  • Token support
  • Rules support
  • example modules included

Message Stack Drupal module

Let us help you notify your users about new posts on your site!

If you are still asking yourself “How can I increase my blog traffic?” try these effective email notification techniques and boost user engagement with the help of our Drupal development company.

We understand the situation is difficult today for many businesses. So we have adopted a cost-effective development approach and now do the work twice as fast. A wealth of contributed modules in Drupal, for email notifications and other purposes, allows us to use minimum customization where it is possible in order to meet the customer requirements. Give it a try!

Contact us to discuss how we can use our development expertise to help your website and business.

May 13 2020
May 13

Keeping a castle secure requires you to keep watch in every direction. The same applies to websites — protecting your “digital castle” involves many different aspects.

Luckily, Drupal website security is on a pretty high level, so you just need to follow its best practices. You can always count on our Drupal support & maintenance team for the task of improving website security and implementing the best website security measures like:

  • switching to HTTPS
  • applying Drupal security updates
  • bringing order to roles and permissions
  • blocking access to important files
  • installing security modules
  • and many more.

Our team can not only protect your website but also your budget from extra expenses thanks to our reasonable pricing and quick problem solving.

Today, we are taking a closer look at one of the practices to improve website security that is rarely described — website session timeout. Let’s see how this is done by the Automated Logout Drupal module.

How to improve website security with automated logout

You might have noticed that online banking applications show a countdown of your session time. This session time is usually very, very short.

Of course, not all apps or websites deal with this level of sensitive operations. So their session expiration time may vary. Still, if you want to improve website security, your site needs an automated logout.

The explanation is simple: this feature prevents hackers from intercepting a user’s session ID and intruding into your site. This makes it one of the website security basics that are used to improve the protection level.

  • According to OWASP (Open Web Application Security Project), insufficient session expiration increases session-based attacks. The shorter your website session is, the fewer opportunities you leave open to attackers. So you should keep a good balance between security and usability depending on the purpose of your website.

Website security features of the Automated Logout Drupal module

As part of the security measures for a website, the Automated Logout contributed module in Drupal allows site admins to specify the time of inactivity, so users are automatically logged out when it expires.

The module is very flexible in its settings. Among its features to improve website security are:

  • different session timeouts for different user roles
  • individual website session timeouts on a per-user basis
  • customized notifications about the upcoming logout
  • JS mechanisms to keep users logged-in when they have multiple tabs open or are working on a form
  • and more

How to work with the Automated Logout Drupal module to improve security

Let’s see the module in action. With the module installed and enabled, go to Configuration — People — Automated logout settings. Here are the key details to configure:

1) The main time settings

  • Set the timeout value in seconds (60 or longer). If role-based timeout is activated, this setting will not be used.
  • Set the maximum timeout in seconds. This is the maximum time that can be set by users who are allowed to set their own timeout.

2) Time for a response

  • Set the timeout padding in seconds. This is the time a user has for responding to the dialog before the logout (whether they want to resume the session or not).

Automated Logout Drupal module - settings for time

3) Where to redirect users

  • You need to set the redirect URL to which a user is redirected after the session is over.

Automated Logout Drupal module - settings for redirect URL

4) User-specific and role-specific timeouts

  • You can disable user-specific logout thresholds if you want to forbid everyone from setting their own individual maximum logout time. If this is allowed, this can be configured in individual user profiles in the People section of the admin dashboard. However, it never exceeds the sitewide maximum timeout you have set in Point 1.

Automated Logout Drupal module - settings for user-specific and role-specific timeouts

  • You can enable role timeout if you want to allow specific user roles to set their per-role maximum timeouts and redirect URLs. The permissions for specific roles can be set in the People — Permissions section of the admin dashboard.

Automated Logout Drupal module - roles and permissions

5) The logout dialog settings

When the logout is approaching, it’s a good practice to show a dialog window to users that informs them about this and gives them a chance to respond “yes” or “no” to the option to reset their session. Here are the things you can customize:

  • The dialog title
  • The message to display in the logout dialog
  • The message to display after the logout
  • The type of message (status or warning)
  • The time for a user’s response (see Point 2).

6) The response buttons

It’s also possible to customize the “confirm” and “decline” button text in the dialog window or totally disable the response buttons.

If you need to improve the standard look of the buttons to meet your brand’s identity or customize the above-described process in any other way, just contact a Drupal team.

Automated Logout Drupal module - response buttons

Improve website security with our support experts!

It’s easy to stay safe when you take the best security measures for your website. Our Drupal development company knows how to improve website security, so let us help you make your site a protected place.

As support and maintenance experts, we strive to improve sites in every aspect, so you can ask us to improve not only your site’s security, but also its performance, SEO, etc.

You can reach out to us with tasks of any scope — from installing and configuring specific security modules to performing a comprehensive security audit at a good price. Drop us a line to improve website security today!

Apr 29 2020
Apr 29

CRMs are helpful assistants for businesses in their communication with current and prospective customers. No wonder that many business owners want to integrate CRM software with their sites.

Luckily, the enhanced third-party integration opportunities in Drupal 8 pave the way to any integrations you need, which is one of the significant Drupal 8 benefits for a business.

The InternetDevels web development team has extensive experience integrating Drupal sites with various CRMs, so you can ask us for help with a task like this at any time.

The focus of our today’s post is specifically on Drupal integration with Salesforce. We will review the opportunities in this area, as well as share one of the recent Drupal case studies of building a Drupal 8 website with Salesforce integration.

What is Salesforce? A glimpse of the famous CRM solution

Salesforce is an industry-leading cloud-based CRM (customer relationship management) solution that brings businesses and customers together. The word “sales” in its name clearly shows one of its key missions — it helps companies effectively manage their sales, customer service, marketing automation, collaboration, and analytics. The platform gives the sales, marketing, commerce, and other departments a shared view of every customer.

Salesforce Suite

Benefits of integrating Drupal and Salesforce

If you have a Drupal website, your sales and marketing team can enjoy all the power of Salesforce described above through a smooth integration between the two systems. Here are at least a few benefits you will get:

  • your sales and marketing workflows become much more efficient
  • you save time and money thanks to a completely integrated system
  • you never miss a prospective customer thanks to instant email notifications
  • you have a chance to track your competitors
  • both one-way and two-way data sharing between Drupal and Salesforce is possible
  • it’s easy to create and update the data thanks to smooth synchronization
  • authorization features improve the data protection

Drupal integration with Salesforce: how it works

The essence of any integration is a perfect data exchange — Drupal websites need to both push the data to and pull it from Salesforce. As stated above, any integrations have become a breeze in Drupal 8 thanks to its API-first approach.

Drupal also boasts a wealth of ready made contributed modules that facilitate specific integrations. So, of course, there is a useful Salesforce module for Drupal 8 (and Drupal 7 as well). It’s called the Salesforce Suite and takes care of the seamless integration. The suite includes a bunch of submodules, so let’s take a tour on them.

A glimpse at the modules for setting up Salesforce on Drupal websites

The Drupal 8 Salesforce Suite module

The Salesforce Suite is the main module for the integration. It synchronizes Drupal website’s entities (content nodes, users, etc.) with Salesforce objects (contacts, organizations, etc.) The exact relationship between these is provided by field mapping.

The module supports the import and export of data, which can be both in real time or asynchronously, based on the Cron runs. The Drupal 8 Salesforce module version has been updated in 2020.

The Salesforce Suite submodules

Here is how the particular tasks are performed by the efficient team of the submodules in the suite’s Drupal 8.4 version:

  • Salesforce Integration. This submodule is responsible for the Drupal and Salesforce integration.
  • Salesforce JWT Auth Provider. This tool in the suite takes care of the key-based Salesforce authentication.
  • Salesforce Mapping. To better synchronize the exchanged data, field mapping is used. This submodule maps Drupal entities to Salesforce objects.
  • Salesforce Mapping UI. This submodule provides a handy user interface that allows you to manage the mapping settings.
  • Salesforce Logger. This member of the suite provides for the consolidated logging of the Salesforce Log events.
  • Salesforce Push. This tool is particularly responsible for pushing the Drupal data to Salesforce when updates are made on Drupal.
  • Salesforce Pull. The opposite job is performed here — the Salesforce objects are imported based on the mapping.
  • Salesforce Soap. This submodule exposes a SoapClient service to communicate with the Salesforce SOAP API.
  • Salesforce Webform. This submodule adds support for webforms fields in the mapping process to provide Drupal Salesforce webform integration.

Salesforce Suite module for Drupal and Salesforce integration

How to integrate Salesforce with Drupal: case study

For the Drupal 8 case study we are sharing now, our customer recently reached out to us with a request to build a simple website. The site didn’t have to include anything special — just a few content types to match the InDesign template, Google Analytics tracking, and, at the most complex part, Drupal integration with Salesforce.

When we are asked for “simple website development,” we understand the customer’s budget is limited. So we try to help them and make even the seemingly complex parts simple. If you are also interested in development services based on this approach, you can drop us a line.

One of the ways to achieve this is to use the Drupal core and contributed solutions. That’s exactly what happened in our case — we used the Salesforce Suite to implement this integration.

To relate the Drupal data to the Salesforce data, we relied on the built-in field mapping types of the Mapping module in the Suite without writing custom ones. The built-in field mapping types include properties, related IDs, constants, tokens, and more, so they cover plenty of simple cases. This is exactly what was needed for our customer’s case — simple user properties.

Steps of Drupal integration with Salesforce

Here are the standard steps to integrate Salesforce with Drupal that we performed and that may come in handy to anyone.

1. The Salesforce part

  • Our customer signed up for a Salesforce Developer Edition account.
  • We advised them on how to create a new Salesforce Connected App (at Setup — Create — Apps — Connected Apps — New), including the enabling of the OAuth settings and specifying the callback URL to their domain.
  • After that, they received their consumer keys that needed to be saved for the next step.

2. The Drupal part

  • On the customer’s Drupal website, we installed the Salesforce Suite and enabled its key submodules.
  • On the Administration — Configuration — Salesforce — Authorization page of our customer’s Drupal admin dashboard, we entered the credentials received from the Salesforce in the previous part.

3. Mapping Drupal to Salesforce

  • Next, we went to the Administration — Structure — Salesforce — Mappings page on the Drupal dashboard.
  • We created a mapping instance labelled “Customers” and specified the Drupal entity type “User” should be mapped to the Salesforce object “Contact.”
  • Next, we mapped all the necessary Drupal user properties (first name, last name, email, etc.) to the corresponding Salesforce fields.

Finally, how to test Salesforce and Drupal Integration?

Here are the steps to test whether the integration works:

  • We created a new test user on the Drupal website to see if it would be automatically pushed to Salesforce.
  • Next, we ran Cron at Administration — Configuration — System — Cron to refresh the Salesforce contacts.

Integrate your Drupal website with Salesforce or another CRM!

If you’ve been thinking about integrating your website with Salesforce or any other CRM of your choice, or building an entire website for your business, the time is now. Our special priority today is to provide our customers with reasonably-priced solutions. Our Drupal development team will find ways to resolve your tasks quickly and efficiently, while saving where it is possible. Let’s discuss!

Apr 23 2020
Apr 23

Everyone is looking for positive news, and we have some for you. Drupal web development in times of Covid-19 continues — severe crises are even opening new perspectives! One of the characteristics of a good web development company is that it only becomes stronger in hard times.

Read on to discover why the idea to hire remote software developers for your Drupal project is an especially good one during the Corona crisis. We also describe how we provide Drupal web development services now, under quarantine.

Remote work is our team’s natural environment

Due to the quarantine restrictions, we, like most IT companies, transferred our team to remote work mode. However, nothing has changed for anyone who wants to find software developers for hire. Some things have even become better.

In our case, remote work is not new — this is something we had mastered already because we had a chance to. Outsourcing web development overseas has always been a popular approach among businesses. Ukraine is always on the list of the best countries to outsource web development to, we have always seen Ukraine — indeed, there are particular good reasons to work with a Ukrainian outsourcing company. Multiplied by our skills and reputation, this has always provided the InternetDevels Drupal web development company with overseas customers.

That said, everyone who is looking to hire developers should know that the Covid-19 quarantine has had no impact on the quality of our web development services:

  • First, we established high-level remote communication and smooth workflows with the overseas customers long ago.
  • Second, we have always been flexible with allowing our own developers to do their work from home and this is not a problem.

As always, we invite you to hire remote developers from the InternetDevels team and promise to provide as efficient workflows as ever! We firmly believe that efficient Drupal development services should be available from any location.

Key components of our remote development services

The staff

Drupal developers, just like most other IT experts, value a quiet environment that is not always available in the office. They need inspiration and concentration in order to be productive. So the quality of their work may even improve from their home isolation. 

While working remotely, our team members are able to make themselves comfortable on their personal couch when they want to and deliver their genius ideas. In addition, they are never stuck in traffic jams and have more time for their families.

Of course, working from home takes self-discipline and responsibility. But we only keep people on the team who have proved responsible and reliable. They keep to the deadlines and regularly meet with the whole team and the customer via video calls according to the best Scrum practices.

Remote work requires establishing a good work-life balance, and our Drupal team tries to stick to the best recommendations here. These include having strict working hours, changing clothes from pyjamas to something more official, informing the family about their video conference time, and more. However, these are just recommendations, because it’s not the clothes that matter —- it’s the skills.

The equipment

Drupal development is in a very lucky industry that can continue through the lockdown. The only necessary equipment being computer hardware. It’s very easy — an office can be at home if it is properly equipped with the right PCs! For many IT specialists, the capacities of their PCs and the characteristics (and the number) of their monitors are indispensable for their productive work.

InternetDevels remote home office in times of quarantine

So we have provided our development team with all the hardware they need and have also helped with the deliveries to their homes. There was even a case when one member of our development team suddenly had their laptop fail, and we quickly delivered another one so this person did not lose a precious working day.

That said, if you hire remote developers from the InternetDevels web development agency, you can be sure they have everything they need to do the work as efficiently as ever.

The tools

As always, we use the best tools to provide for smooth remote communication and efficient workflows. They eliminate repetitive tasks, increase the development speed, take care of the shared work, and do much more. These include messengers, video conferencing tools, project management software, version control tools for developers, etc.

Among the tools are Zoom, Slack, Google Hangouts, Jira, Skype, Github, Bitbucket, Google Docs, Google Drive, and many more.They are crisis-proof and work at any distance. We have been using them with our overseas web development customers for a long time, so there is nothing new in them.

The new perspectives of your digital presence

Here is what we meant when we promised to tell you about your new perspectives. As you know, the world has moved online due to the lockdown. People browse the web instead of travelling, hiking, or doing other outdoor activities. They are online, and are you there for them?

Businesses that are represented online have a clear advantage. There is an increased need for online shopping, delivery services, online educational and entertainment activities, blogs and news, and much more.

The lockdown will end someday and Covid will be happily defeated — there is no doubt about it! People will travel again, walk around their beautiful cities, and see their loved ones.

However, the trends of online activities will remain ever after — the world has understood their convenience. For example, someone who once enjoyed shopping in your Drupal online store with a user-friendly shopping cart will continue to do it just because it’s quick and easy — so don’t miss a chance to hire the best e-commerce developers.

Loyalty to customers and affordability of services in times of crisis

We strive to help our customers in difficult times, so we are offering very reasonable pricing if you would like to hire remote developers. We want to take part in providing your business sustainability now.

We know that Drupal websites can absolutely give businesses a big boost by attracting customers, promoting their brand, and driving conversions.

We can always find more affordable Drupal development solutions — for example, the use of the core and contributed modules where it is relevant. The efficiency also matters — our devs are able to do much more work per hour in order to deliver the results to you quickly and without extra costs. We started a strategy to immediately divide the scope of work into the standard and custom parts and advising our customers on a faster and more affordable option. So drop us a line to discuss this for your site.

The benefits of outsourcing web development

In our big world full of Drupal talents and having a great level of remote workflows, there is no more need to look for “software developers near me.” Finding a software developer that meets your needs can be a much more successful task if you expand your search across the globe and hire overseas. Here are just a few reasons why outsource web development:

  • Considerable cost savings. Costs can be saved thanks to the big choice to hire developers at more affordable prices outside of your country. Another big advantage of outsourcing vs hiring in-house is the savings it gives you on the recruitment process, permanent monthly wages, work equipment, and so on. By outsourcing web design overseas, you only get your services when you need them.
  • Broader skills. Outsourcing web development is a chance to find top talents in the industry. If you hire an in-house developer, they will find it hard to compete with a team of experts who have worked on many projects, faced a variety of issues, and can combine their specific skills in ever-changing technologies on your project. In addition, UX design, QA, SEO, and other specialists are also part of Drupal web development teams and play their valuable role.
  • Focus on your business. When you hire an outsourcing team, you entrust it to experts without having to worry about or dedicate your precious time to it. You can focus on your own key business processes instead. Still, you are fully able to control the project — your input is welcome in the Agile practices and we are fully available through remote communication and transparent task tracking.
  • Stable workflows. What to do if a developer “falls out” of the process due to an illness or other unforeseeable circumstances, or a particular one cannot fully meet your needs? To cover these cases, outsourcing web agencies have other devs to substitute them. By signing a contract, they take the responsibility to provide stable workflows throughout your project. This is a significant advantage over hiring an in-house developer.
  • Flexibility on your project. Every stage of your project needs a specific amount of work from particular experts: developers, designers, QA engineers, etc. You don’t permanently need all this staff in-house. You are free to vary your requirements according to your business situation — for example, first create an MVP (minimum viable product) and then add features and scale your project. This is not a problem with Agile agencies.

Hire our remote web development team

If you are ready to join the customers who outsource development projects and enjoy the resulting efficiency, our Drupal team is here. Hire remote developers from InternetDevels to outsource web development at affordable prices today. Stand strong against the crisis and more forward thanks to your digital presentation! Contact us to discover more details.

Apr 15 2020
Apr 15

Every moment, myriads of products hurry to every corner of the globe. Convenient e-commerce shipping is one of the things that makes online shopping so irresistibly popular.

Online store owners can greatly benefit from the right shipping strategy. Their e-commerce websites should be able to help them implement this strategy perfectly.

This is all possible with Drupal! We are sure Drupal is the best solution for e-commerce with its powerful platform for online stores — Drupal Commerce. Read on to discover more about Drupal Commerce shipping solutions and opportunities.

Options for product shipping in e-commerce

You are free to shape your e-commerce shipping strategies based on your business model. Here are just a few popular options:

- You can choose the shipping carriers to integrate your store with who will provide the most reliable delivery.
- Your store can offer free shipping to your customers.
- You can charge a flat shipping fee (the same rate irrespective of the product).
- There can be different rates in your e-commerce store based on:

  • product weight
  • size
  • amount
  • packaging
  • country
  • city
  • address
  • distance
  • urgency
  • total order
  • and more

A closer look at e-commerce shipping solutions in Drupal Commerce

E-commerce shipping operations are available thanks to the Drupal Commerce core and a special contributed module — Commerce Shipping. Commerce Shipping works as a framework meant to be used in combination with other modules like Commerce FedEx, Commerce Canada Post, Commerce UPS, etc.

For simple options like the flat shipping rate, the Commerce Shipping contributed module is enough. In Drupal 7, the Commerce Flat Rate module is also needed, however, it became obsolete in Drupal 8 with Commerce 2.

To integrate with a shipper of your choice (FedEx, UPS, etc.) and have their rates calculated for your customers, you will need additional Drupal modules. We are listing some of them below. If here is no existing module for the desired shipping provider, you can order a custom module for e-commerce shipping from our website support team at an affordable price.

Popular Drupal Commerce modules for shipping solutions

Commerce UPS

The Commerce UPS module provides integration with the popular UPS (United Parcel Service). It requires an active ups.com account to get the estimated rates. The module is available for Drupal 7 and Drupal 8 (currently the alpha version).

Commerce UPS Drupal module for ecommerce shipping

Commerce FedEx

The FedEx courier and shipping services can be offered on your online store thanks to the Commerce FedEx module for Drupal 8 (currently in beta). With its help, you can provide dynamic FedEx rate calculations.

Commerce Kiala

The Commerce Kiala module provides integration with the Kiala courier services and allows the customer to select their desired Kiala Point during the checkout. The module is for Drupal 7 online stores only.

Commerce Kiala Drupal module for ecommerce shipping

Commerce USPS

USPS (United States Postal Service) can easily be added as a shipping provider to your store with the Commerce USPS module. It currently has stable releases both for Drupal 7 and Drupal 8 e-commerce websites.

Commerce USPS Drupal module for ecommerce shipping

Commerce Canada Post

The Commerce Canada Post module connects your Drupal online store to the notable Canadian postal delivery service. Its Drupal 8 version is in the release candidate state.

Commerce Canada Post Drupal module for ecommerce shipping

Commerce Australia Post

For many online stores, the Australia Post shipping is important, which can be provided with the help of the Commerce Australia Post module. The module is a release candidate in Drupal 7 and beta in Drupal 8. It works on the basis of an API key with Australia Post.

Commerce NZPost

The Commerce NZPost module provides estimated costs of the New Zealand’s postal delivery provider — NZ Post. The module has a stable release both for Drupal 7 and Drupal 8 e-commerce stores.

Commerce NZPost Drupal module for ecommerce shipping

More shipping modules (Drupal 7 mostly)

Other shipping integration modules include Shipwire Commerce, Commerce bpost, Commerce Shipping DHL, Commerce Colissimo, and more. Remember to contact our website support team if you are interested in a particular provider, for which there is no module yet or it needs improvement.

Notes on Drupal Commerce shipping setup

Adding a shipping method

The shipping methods are available at Admin — Commerce — Configuration — Shipping methods. There is a plugin system used. You need to:

  • give your shipping method a name for the admins to see
  • choose the plugin to use (the “flat rate,” “flat rate per item,” or other based on additional plugins used)
  • add the rate label for the customers to see
  • optionally add the rate description
  • specify the shipping rate amount

The settings will differ with different integration plugins, but still be similar in essence.

Adding a shipping method in Drupal Commerce

Specific shipping conditions

You can set up shipping rates based on particular conditions. Drupal Commerce 2.x and the Commerce Shipping Drupal module provide a number of built-in conditions available in the Shipping Method configuration form. They are based on the following:

  • customer role, customer email, billing address
  • order total, order type, currency, store
  • product weight

Shipping conditions in Drupal Commerce

However, any others can be created for your Drupal store with the help of Drupal Rules so you have enough flexibility.

Making products shippable

An important note is that shipping also needs to be enabled for a particular product variation type at Admin— Commerce — Configuration — Product variation types, in other words, you need to make them shippable.

Affordable services for online store setup or creation

The above described options were very simple, but Drupal Commerce shipping opportunities are unlimited. You can have any custom Drupal Commerce shipping rules, rates, and so on. In the hands of expert developers everything can be customized to exactly meet your needs. That said, here is useful information for both current or prospective store owners:

  • if you already have a store and need e-commerce shipping solutions or other features set up
  • or if you are just thinking about a new e-commerce business and want to hire best e-commerce developers

our Drupal team is here for you. We offer affordable website support and Drupal e-commerce development services — talk to us to discuss more details!

Feb 13 2019
Feb 13

Various forms are the heart of website’s interaction with the user. They are vital for usability, conversions, marketing analytics, and more. So form building tools are in demand — the Drupal Webform module ranks 7th on the 42,000+ list of contributed modules. The Webform module has recently received its stable version for Drupal 8. We will give it an overview and show an example of creating a simple form with the Webform module.

Webform module in Drupal 8: finally stable

The Webform module lets us create any kind of forms from simple to complicated multi-page ones. It also adds settings and features to them like statistics collection, email notifications, confirmations, data export in various formats, fine-tuned access, conditional logic, filtering and sorting, pushing results to CRM, downloading results as CSV, and more.

The stable version for Drupal 8 finally arrived on December 25, 2018. Drupal creator Dries Buytaert congratulated the Webform module creator Jacob Rockowitz via Twitter and called the release a big milestone.

The release was soon followed by Webform 8.x-5.1 on January 1 and Webform 8.x-5.2-beta1 on January 25.

Defining forms in a YAML file or admin interface

One of the most remarkable new features of Webform module in Drupal 8 is the ability to define a form in a YAML file. Webform module creator Jacob Rockowitz also built the YAML Form module specifically for Drupal 8. As of Webform 8.x-5.x, the YAML Form merged into Webform. So developers now can go to the YAML file by clicking the “Source” tab.

But there is also a user interface for form creation that is intuitively understandable even for website administrators. The admin dashboard contains examples and videos, as well as a built-in contact form.

The Webform ecosystem of modules in Drupal 8

The Webform module for Drupal 8 is a complex module with 20 submodules that demonstrate its varied capabilities. The minimum ones to enable are Webform and Webform UI modules.

There is a also number of contributed modules that work together with Webform and extend the its capabilities still further: Webform Views, Webform REST, Webform Analysis, Webform Encrypt, Webform Composite Tools, Webform Invitation, CAPTCHA, Honeypot, MailSystem, SMTP, and more.

Creating a simple webform with the Webform 8.x-5.1 module

We will create a feedback form for customers from scratch. With the Webform and Webform UI modules enabled, we go to Structure — Webforms, click “Add webform," name “Let us know your thoughts," and save it.

The form then needs to be completed with fields that are called “elements” in Webform. The “Add element” button leads us to the list of 60+ available fields, both simple and complex.

We will need a field for the customer’s name. For this purpose, there is a complex “name” element with sub-elements (First name, Last name etc.) that can be checked or unchecked to be included in the form or not.

If no complex name structure is needed, we can use a simple “Text field” element for the name. Let’s call it “Your name (optional)” in the “Title.”

For the email field, we select an “Email” element and add a placeholder for email addresses

An element of “Checkboxes” type will let customers check some options. For our feedback form, we list the company’s services as “option values”.

To let customers give their votes, we will us an element of the “Rating” type and set the value range from 1 to 10.

A “Text area” element will host customers’ comments.

On the list of all fields for our form, we can drag and drop the fields to change their order, or check them to quickly make them required/optional.

Let’s choose where the submitted forms will go. On the form’s dashboard, we select Settings — Emails/Handlers and click “Add email.” There, we configure the “sent to” email address (in our case, it’s the default [site:mail] is OK). We also add a custom subject “You received a new form submission.”

The “View” tab takes us to our form on the website. If we submit something and check the admin email, we see new messages about form submissions.

Let’s create the forms your Drupal website needs

This was just a very simple form example where we have not even touched advanced options — conditional logic, access, submission handling, JS effects, and so on. The Webform module in Drupal 8 has unlimited capabilities, and our Drupal team can create you the forms that will work in accordance with all your requirements.

Jan 09 2019
Jan 09

Everyone loves attractive layouts for web pages. Luckily, Drupal has plenty of awesome page building tools. You will hear tool names like Panels, Panelizer, Paragraphs, Display Suite, Page Manager, Twig, and more. Our Drupal team loves to take the best of them from our arsenal, combine them when needed, to achieve amazing results for our customers. But today we would like to focus on a wonderful new tool, Layout Builder, that appeared in Drupal 8.5. We will take a closer look at creating layouts in Drupal 8 with its help.

Layout Builder in Drupal 8: let’s get acquainted

The Layout Builder module has already been compared to the Panelizer, Panels, or Display Suite modules in its capacities. This makes sense, because according to the Layout Initiative, it is meant to become the number one tool for creating layouts in Drupal 8 core. The module is currently experimental but is expected to reach stability in Drupal 8.7 in the spring of 2019.

The Layout Builder lets you define the layout of any fieldable entity type (content type, user, and so on), or its individual entity. You just select from the predefined sections and add blocks and fields to them as you wish.

The module’s UI is simple and intuitively understandable for administrators, as well as equipped with the drag-and-drop feature to swap the blocks and shape your page. Developers, in their turn, will appreciate that layouts can be defined in a module or theme and have Twig templates.

Creating layouts in Drupal 8 with the Layout Builder

Let’s take a look at Layout Builder in action. We will see how it works on this example of creating a layout for articles. We will begin with enabling the Layout Builder module in core.

Creating a layout for a content type

We go to our Article content type in Structure and select “Manage Display.” Instead of the traditional fields, we see “Manage Layout” button. We also make sure the “Use Layout Builder” option is checked in the “Layout Options.”

The “Manage Layout” button takes us to the page where we configure the article content type layout.

By clicking “Add Section”, we can select from the ready layouts with a different number of columns. The unnecessary sections can be removed.

By clicking “Add Block,” we can add standard Drupal blocks and content type fields (like “Authored by,” “Body,” “Image” etc.) from the list on the right, as well as create custom blocks. The blocks can be dragged anywhere you wish throughout the layout.

Every block has a “Configure” and “Remove” tabs in the right-hand corner next to it. Blocks can also be configured when clicked on the list to the right of the page. For example, we have just configured the article image by attaching a custom image style of 500x500 to it.

So here goes our simple two-column layout with the image and the author on the left and body on the right.

When everything is ready, we click “Save Layout.” After that, all articles will be created according to this pattern.

Creating a layout for an individual node

In many cases, you do not need the same layout for all content type items. Layout Builder lets you make every content item layout customizable by checking the appropriate option on the “Manage Display” tab.

The Layout Builder offers the handy “Layout” button near each node that leads you to its individual layout customization page. The procedure is the same as in creating a layout for a content type.

Creating different layouts within the same content type

We see how Layout Builder can build articles pages, but let’s now complicate things a little and review a special case. What if you are using the same content type for several actual types of content, and want your website to generate different layouts for them?

That was exactly the case with one of our customers. They wanted different layouts to be generated for every content type on the homepage and on the content listing page. A select list menu was used to switch between the actual types of content within the same content type, which was based on the “list” field. According to this field value, specific types of content were filtered out in Views for homepage and content listing page.

The Layout Builder could be helpful here. If the Views is based on ‘Content,” it can choose a specific view mode. And it is awesome that the Layout Builder module can create layouts for particular view modes within the same content type!

View modes can be registered in the “Manage Display” tab of the content type, and each of them needs to have the “Use Layout Builder” option enabled, and each will have its own “Manage Layout” button.

When we worked with this customer, the Layout Builder was in alpha and we successfully used a different solution, which involved Display Suite and Twig templates. Every case is unique, and deserves a special approach.

Let’s build the perfect layout for your website pages!

We have made a little overview of creating layouts in Drupal 8 with the Layout Builder. Let your website have beautiful and properly arranged layouts that work exactly according to your wishes. Just contact our Drupal development team, and we will select the optimal tools from Drupal’s “treasury,” as well as apply customization when needed, to build you the layouts that you will love!

Dec 12 2018
Dec 12

Your future awesome e-commerce website may be closer than you imagined. Drupal makes site creation quick and easy thanks to distributions. Ready distributions in the sphere of commerce are among the numerous reasons why Drupal is the best solution for e-commerce websites. They allow to quickly create an online store and spend much less on it.

You can always rely on our Drupal team for any help in selecting the optimal distribution for you and brushing it up to meet your needs. So now let’s review top e-commerce Drupal distributions.

For a start, what are Drupal distributions?

Distributions are Drupal packages that contain the core, particular modules and theme, predefined configuration, useful libraries, and so on. Drupal has 1200+ distributions, usually tailored for websites of a certain type or industry. When nothing extraordinary is needed, distributions let you avoid reinventing the wheel and get your desired website sooner.

Great e-commerce Drupal distributions

Commerce Kickstart

Commerce Kickstart is more than number one among Drupal e-commerce distributions — it is also the most popular Drupal distribution of all. It has been downloaded more than a million times. Why? Commerce Kickstart lets you quickly create an online store based on Drupal Commerce, the famous e-commerce platform for Drupal.

In addition to Drupal core, Drupal Commerce, and a set of helpful modules, Commerce Kickstart offers an attractive theme, preconfigured catalog of products, shopping cart, user login feature, search feature including filters for refined searches, product category page, social media integration, payment gateway integration, hero banner, and more.

Commerce Kickstart comes in 3 versions:

  • Commerce Kickstart 1.x for Drupal 7: The version with the minimum modules and configuration.
  • Commerce Kickstart 2.x for Drupal 7: The improved package for creating a full-featured store
  • CommerceKickstart.com for Drupal 8: Instead of the Drupal 8 version for the distribution, there is a browser-based tool to build a Composer file for your future online store.

Easy Booking

This distribution is primarily designed for hotel, hostel, or inn websites. However, it can be refurbished to fit many other kinds of websites that need a good booking system.

Easy Booking is available for Drupal 7 website and has not yet been ported to Drupal 8. The distribution is powered by Drupal Commerce and Drupal Rooms, two famous solutions for websites. Among the interesting and useful features of this distribution are:

  • an online booking system with a checkout
  • email notifications to the the administrator
  • a flexible system for managing rooms and their properties
  • an easy-to-manage room availability calendar
  • a front-page slideshow
  • “Our services,” “News,” and “About” sections
  • a colorized Google Map
  • responsive design

and more.

Presto! — Drupal 8 Starter Kit with Commerce Integration

“Presto!” is a distribution for Drupal 8 that contains optimally pre-configured e-commerce features based on Drupal Commerce. However, its maintainers only recommend installation via Composer to make the e-commerce functionality work.

The distribution also has plenty of general configuration that will be very helpful for online stores. This includes Google Analytics integration, XML sitemap generation, automated human-readable URL creation via Pathauto, social sharing options, pre-configured Paragraph types (Promo bar, Carousel, Block etc.), and more.

Opigno LMS

The next on our list of Drupal e-commerce distributions is Opigno LMS, which is primarily associated with education thanks to the famous e-learning platform at its base —.Opigno LMS. However, online learning is a blend of education and e-commerce.

So the Opigno LMS distribution has strong features for online selling of of learning courses that could also be useful to many other websites. It also offers quizzes, awards for successful students, certificates, forums, chats, and much more.

The distribution has a stable version for Drupal 7 and a release candidate version for Drupal 8, which means its full-fledged Drupal 8 version is underway.

RedHen Raiser

Here is an interesting distribution designed for Drupal 7 websites with fundraising campaigns. The RedHen Raiser distribution is based on the RedHen CRM with its useful RedHen Donation and RedHen Campaign modules.

This distribution is commerce-ready and allows for the easy adding of payment methods. It offers single-page donation forms, progress widgets, mini blog, automated start and end dates, and much more.

Let’s quickly create an online store for you with a distribution!

E-commerce Drupal distributions are definitely a huge time and cost saver, so there are no more excuses for you in not getting your desired website today ;) Drupal e-commerce development is one of our areas of expertise, so contact our Drupal team — and we will help you select the optimal distribution and customize it to meet your ideas!

Nov 21 2018
Nov 21

What is the first thing that grabs your attention when you visit an E-commerce website? No doubt it is the website’s design and appearance.

But before deciding on a theme to get you the look and arrangement for your business, it makes sense to choose an appropriate content management system (CMS) for your website development. One of the most popular is Drupal 8 CMS. It's a robust, open-source platform with trusted security features. Drupal powers the pages of over a million URL’s.

Don’t let the time and effort you put into creating the back-end go to waste. Put equal attention into the selection of your E-commerce Drupal 8 website’s theme.

Which E-commerce themes are the best? Don’t worry. InternetDevels has an answer! Check out our choice of top E-commerce themes for Drupal 8.

What are the Top E-commerce Themes for Drupal 8?

SShop

SShop

SShop is an open-source theme provided with in-built support for the Drupal Commerce. It is a responsive and intuitive Drupal theme. With Sshop users can add as many fields as needed for a Default Product type.

Key features:

  • Based on Bootstrap fully responsive theme.
  • Operates well with the Font Awesome Icons module.
  • Views Slideshow module provides the slideshow on the homepage.
  • There are content types included into configurations. You will have Blog and Slider content types +
  • User can add fields to the Default Product type.
  • Homepage constructed with the Page Manager module, with the help of the custom Layout.

eStore

eStore

EStore is a full-featured, Bootstrap-based theme developed from scratch by OPTASY.com. Built with ‘must have’ features of an online store, it is designed to meet any E-commerce website project's needs. EStore is a fully responsive Drupal 8 theme which adjusts automatically to any screen size.

Key features:

  • Fully responsive Bootstrap based theme.
  • Operates well with the Font Awesome Icons module.
  • Included content types into configurations. You will have Blog and Slider content types +
  • Users can add fields to the Default Product type.
  • Homepage created with the Page Manager module, using the custom Layout.
  • It has several different layouts of the product.

Belgrade

Belgrade

Belgrade is Drupal Commerce out-of-the-box template which is designed specifically for the purpose of creating E-commerce websites. This particular theme for Drupal 8 is still experimental. It is also opinionated around the commerce_demo module.

Key features:

  • Fully responsive Bootstrap based theme.
  • Flexible Layout.
  • SEO Ready.
  • Custom Widgets and smart admin panel for customizations are available.
  • Custom Build Theme & Page Options are available.

Commerce Bootstrap Base Theme

Commerce Bootstrap Base Theme

Commerce Bootstrap base theme is a sub-theme for the Bootstrap. It overrides Drupal Commerce templates to match Bootstrap and other helpers. Commerce Bootstrap is intended to be used as a base theme and speed up the theming of your Drupal Commerce store.

Key Features:

  • Lets the users easily customize the components.
  • The user can either change themes using the Advanced Theme Settings or do these custom on the project itself. There are many parts of Bootstrap that the user can easily reuse and restyle for the projects requirements.
  • They are parts like the grid, breakpoints, messaging and modals.
  • The users can easily customize the way that Bootstrap classes are applied.

Startup Growth Lite

Startup Growth Lite

Startup Growth Lite is an open source Bootstrap-based Drupal theme. It is designed to help users create good-looking E-commerce websites. Startup Growth Lite theme is a combination of modern and classic touch including a little taste of minimalism. It is created based on the best SEO practices.

Key Features:

  • Fully responsive Bootstrap-based framework.
  • It supports 1, 2 and 3-column layout with HTML5 and CSS3 languages.
  • Operates well with the Font Awesome Icons module.
  • 12 awesome Color Schemes to choose from: Blue, Green, Orange, Red, Pink and Purple each of which in two different versions. Users pick the one that fits their brand with a single click through the theme-settings.

Choose Your Drupal E-commerce Theme Today

These are top E-commerce themes for Drupal 8 you can use. If you decided to launch your website on Drupal CMS, the first choice you’ll have to make is how you want your website to look. Good theme leads to website’s performance improvement together with an attractive layout. Therefore, having the best E-commerce theme is not only important for a website, but crucial too.

Web designers at InternetDevels can easily create your own unique design according to your taste and needs. Now, when you can easily choose the best theme for your Drupal 8 website, or want to create a new one, it is high time to hire the best E-commerce developers. InternetDevels is the company that has years of experience in developing business platforms. Contact us today to start your E-commerce website development or get assistance and support.

Nov 07 2018
Nov 07

Every big Drupal release opens fantastic opportunities for websites. Three years ago, the eighth Drupal version came to this world — and the world fell in love with top-notch Drupal 8 improvements. Drupal 8 has been getting more and more awesome on its way from Drupal 8.1 to Drupal 8.5, and the latest version, Drupal 8.6, is cooler still. Drupal 8 is on its peak, but the cycles of development never stop. That’s why the Drupal community has already announced the expected release of Drupal 9 and end-of-life for Drupal 8 and 7. Let’s see what it means for Drupal 8 and 7 website owners and what action is needed from them. And, of course, our Drupal team is ready to help them take this action.

The planned release of Drupal 9 and end-of-life for Drupal 8 and 7

A little while after D8 was released, the most impatient and curious users began to ask questions about the future Drupal 9. When will it be released? What will it offer? Will websites need another upgrade?

Despite the fact that the development branch for Drupal 9 was started years ago, no one could know its release year for sure. There were even suggestions that Drupal 9 would never come at all — raised by a totally new approach to updates in Drupal 8 and the regular innovation mode.

However, the situation changed in September 2018, at the world-wide meetup for drupalers — Drupal Europe in Darmstadt. The “phantom” of Drupal 9 finally took shape. D9 will come, and the year is set! Drupal founder Dries Buytaert announced the Drupal community plans on it, as well as illustrated it  with images:

  • Drupal 9 release: 2020
  • Drupal 8 end-of-life: 2021
  • Drupal 7 end-of-life: 2021

What the future release of Drupal 9 means for Drupal 8 and 7

End-of-life for Drupal versions: hey, what does it mean?

End-of-life, or EOL, is the moment when official support for a particular Drupal version drops. The Drupal team stops watching over it and creates no more updates and patches for it, including those in the security area. This means more vulnerabilities to hacker attacks and, of course, no new features.

For example, February 24, 2016, was the EOL for Drupal 6. The service of upgrades from Drupal 6 to Drupal 7 or 8 became a very popular one with our Drupal team, because many customers applied for that. By the way, if you are still using Drupal 6, it’s high time to upgrade — better late than never!

Usually the two latest Drupal versions are supported: the newly released and the previous one. However, in the case with D9, the EOL for D7 comes a little bit later and for D8 a little bit earlier than usual — in 2021 for both.

Although the end-of-life sounds a little scary, there is no need to worry. See the next chapters for more information.

What Drupal 9 release means for Drupal 8 websites

What the future release of Drupal 9 means for Drupal 8 and 7

Drupal 8 is in the center of community’s ideas and is getting lucrative technological innovations all the time. Despite the EOL in 2021, the future looks particularly bright for D8 website owners. And here’s why.

Compared to Drupal 7, Drupal 8 is a technological breakthrough. That’s why upgrades from D7 to D8 are often lengthy (depending on the site complexity). But if you have moved to D8 from D7, that was your LAST cumbersome upgrade. No more of that from now on!

Drupal 8 websites will move to D9 quickly and smoothly. Lightning-fast upgrades will be provided for those that are using the latest Drupal 8 minor version and no deprecated APIs. This golden rule of keeping up-to-date and avoiding deprecated APIs helps even contributed and custom Drupal 8 modules be instantly compatible with Drupal 9! Our Drupal web studio is always ready to take care of this for you.

So an upgrade from D8 to D9 will be something you will barely notice. The secret is, according to the principle of continuous innovation, Drupal 8 releases backwards-compatible minor versions every half a year. Drupal 9 promises to be almost identical to the latest minor version of Drupal 8 with deprecated code removed, as stated in the article by Dries Buytaert “Making Drupal upgrades easy forever”.

What Drupal 9 release means for Drupal 7 websites

What the future release of Drupal 9 means for Drupal 8 and 7

We wrote that the future looks bright for Drupal 8 website owners, but it also looks good for Drupal 7 website owners! They only need to take more decisive action. So what should they do considering the dropping of support in 2021?

  • They might hope for a commercial support program for Drupal 7 that the community is thinking to implement, but relying on it looks like staying with the past.
  • They might also wait for Drupal 9 and jump directly to it. But they will need a big upgrade someday anyway — to Drupal 8 or 9, which are very close relatives. The time passes, and all this time they could be enjoying Drupal 8 without putting their success on the shelf.
  • The best option is to move to Drupal 8 in the nearest future. Just one upgrade will be their ticket to the future hassle-free upgrades (to Drupal 9, 10, and beyond). And, of course, they will be in line with the times and have all the Drupal 8 innovations. Our migration experts are ready to smoothly move you to Drupal 8.

So there’s no need for a fortune-teller to predict your future in relation to the release of Drupal 9 ;) The future looks bright for you in any case! The only condition is that have good drupalers on hand.

Drupal updates and upgrades, as well as Drupal support are among our areas of expertise.

Contact our Drupal team, and let’s choose the best action for your website!

Oct 31 2018
Oct 31

Have you thought of expanding your online business overseas? Or having identical platforms available to visitors in Spanish, French and German? There is one certain way to increase your business globally — create a multilingual website!

One might think that it is easy to translate any platform into any languages. However, there are a number of factors to consider when creating multilingual sites.

Our web development team prefers Drupal 8 content management system (CMS) for multilingual websites. Now find out what features make Drupal 8 the perfect choice for a multilingual website development

Benefits of Building a Multilingual Website

First things first. Why should you make your platform multilingual? The benefits of building a multilingual website are numerous. We point out some of the most important ones for your business:

  • to explore new markets.

Providing multilingual content is a necessity in a modern global marketplace. It’s all about reaching and building strong relationships with new customers and visitors. If your content is presented in the customer’s native language, consumption is easy and loyalty grows. If the visitor likes the platform, he might recommend it to his friends. This will rightly earn your place in new markets.

The Number of Internet Users by Language - April, 2018

  • to get more visitors.

It’s obvious that the more languages your website is presented in, the more visitors you can reach. A multilingual platform is a great opportunity to appeal to people from other countries and to increase website traffic.

  • to sell more products and services.

Increased website traffic creates more product and service selling potentials. It’s a simple, by-the-numbers way to instantly expand your business.

  • to improve SEO.

In addition to Google, some countries have their own search engines. Enabling a multilingual search of your website will improve its SEO.

Why Build a Multilingual Site in Drupal 8?

The content of your website is built and stored in your CMS. Choosing the right CMS at the start makes development and further maintenance of a multilingual website much easier.

Why you should opt for Drupal 8?

Powerful built-in multilingual features in Drupal 8.

The Drupal CMS offers powerful multilingual features. What’s more, Drupal 8 provides built-in multilingual modules that make the process even simpler. They are Language, Interface Translation, Content Translation and Configuration Translation modules.

Drupal offers 90+ languages and has a built-in translational core.Drupal translates both your content as well as all the fields, forms and error messages. Everything from configuration settings to menus and views can be translated with the help of out-of-the-box modules in Drupal 8.

Drupal 8 is scalable for multilingual websites.

Drupal is scalable for all your needs. No matter how many languages you choose, it will deliver all your multilingual content.

Transliteration support in Drupal 8.

One really handy addition to Drupal 8 is the Transliteration module added to Drupal core. This module automatically converts special characters such as "ç" and "ü" to "c" and "u" for machine names, file uploads and search results.

And some more! What can you get by building a multilingual website in Drupal 8?

  • Get automatic software translation updates from the Drupal community.
  • Choose what content not to translate.
  • Add a language selector to your site.
  • Overview screen for translators, contextual translation tabs for site builders.
  • Protected local, custom translations which are exportable.

These impressive multilingual capacities are among Drupal 8’s top benefits and it is no wonder that more and more website owners are choosing to migrate to Drupal 8.

Core Modules for Building a Multilingual Website in Drupal 8

Drupal 8 comes with four build-in modules for a multilingual feature.

1. Language Module.

The Language module lets you choose out from 94 languages as of now. With this module you can assign a language to everything: nodes, users, views, blocks and menus. Browser language detection can be easily configured with external language codes. Each user is able to select his own language for the admin interface. Besides, there is built-in transliteration for the machine names.

2. Interface Translation Module.

The Interface Translation module translates the built-in user interface, your added modules and themes. It has built-in translation UI for easier editing. By allowing automatic downloads and updates, this module lets use any translation interface available in the Drupal community in any language supported by Drupal 8. English language is now customizable and removable. There is no more need to use English as your default language.

3. Content Translation Module.

The Content Translation module allows users to translate content entities. It also allows to translate site content, including pages, taxonomy terms and blocks into different languages. The same as in Interface Translation module, the default language of the content can be easily configured. Users can even hide or display the position of language selector.

4. Configuration Translation Module.

The configuration translation module provides a translation interface for configuration. It allows to translate text that is part of the configuration, such as field labels, the text used in Views, etc.

Moreover, there is a provision of an overview screen to help you in the process.

Contributed Modules for Building a Multilingual Website in Drupal 8

Now, let’s proceed with the list of contributed modules that will help you build your Drupal 8 multilingual website.

1. Language Cookie Module.

Language Cookie module identifies visitors' mother languages. How? It simply adds an extra “cookie” field to the Language Negotiation settings. Therefore, the language on your website will instantly be set in accordance with this extra cookie.

2. IP Language Negotiation Module.

IP Language Negotiation is a key module for your Drupal 8 multilingual website. By detecting the countries that your visitors access your website from it instantly displays the content on your website in their native languages.

3. Language Fallback Module.

Language Fallback module allows to specify a language fallback for each defined language, so translation can fallback to another language. If a certain translation can't be delivered to your visitors in your custom language, they will always get the requested content in another familiar language or dialect.

4. Language Selection Page Module.

Instead of trying to identify your website visitors' mother languages, let them choose the languages they'd like to see the content translated to. Language Selection Page module allows visitors of your website to select the language on landing page/splash page, based on the languages that have been enabled on your Drupal platform.

It’s Time to Build a Multilingual Website in Drupal 8

Content on your website determines traffic, positive user experience and conversion rates. Choosing the right CMS from the start is vital to managing the content of any proposed multilingual site.

As soon as Drupal 8 delivers multilingual platforms straight out-of-the-box, it is a perfect solution for building a multilingual website.

Our Drupal development team at InternetDevels has years of experience in developing multilingual websites in Drupal CMS. Don’t hesitate to contact us if you have any questions regarding your multilingual platform or need our services on its development or support.

Oct 03 2018
Oct 03

Hopefully, content editors and website owners are ready to gasp in admiration — because we know they will when they discover Gutenberg editor in Drupal 8. The eighth version of Drupal already boasts with easy content publishing, custom layout creating, and, as of Drupal 8.6.0, improved media handling and remote video embedding. However, there is no limit to perfection! Gutenberg editor is bringing unprecedented content creation features to Drupal 8.

Gutenberg editor in Drupal 8

Where the Gutenberg name comes from

In the XV century, Johannes Gutenberg of Germany invented the printing press, which revolutionized book creation forever. The Gutenberg editor was named after him, and is expected to bring revolutionary web content creation experiences. Well, every epoch needs its own Gutenberg!

The essence of Gutenberg editor’s work

Gutenberg is a modern, open-source user interface for creating rich pages. It is an app built in JavaScript — more precisely, React.js.

Content editors can play with Gutenberg UI to shape the exact look of their pages. They can achieve theming effects otherwise available only to CSS and HTML experts — but easy for anyone with this editor.

Any page elements can be added as blocks and formatted to your heart’s content. These can be image galleries, texts, tables, lists, shortcodes, buttons, columns, social media embeds, paragraphs, quotes, verses, files, and so much more.

Bringing Gutenberg editor to Drupal 8

Gutenberg.js was created with WordPress in mind. WordPress has already adopted the editor, which is promised to be fully ready with the release of WordPress 5. However, this JavaScript app was so lucrative that the Drupal community also decided to get it.

Drupal developers Per Andre Rønsen and Marco Fernandes introduced Gutenberg to everyone at Drupal Europe in Darmstadt and created the Gutenberg Drupal module to connect the editor to Drupal 8 websites.

This Drupal 8 module is in alpha state for the moment of writing, so it is not completely ready for use. The module has a number of issues, and the same applies to Gutenberg editor itself.

Considering the extensive works being performed for both the app and the module, this situation can change very quickly.

How the Gutenberg module in Drupal 8 works

With the Gutenberg Drupal 8 module installed and enabled, the Gutenberg editor needs to be switched on for the desired content types. The “Gutenberg experience” option needs to be selected and checked.

Enable Gutenberg editor for content type in Drupal 8

The module requires a field of “long text” type with the Gutenberg text format selected.

Select Gutenberg text format for content type in Drupal 8

When it’s done, every node opens for editing in the Gutenberg UI. As we see, its interface is pretty much white space, with the menu options hidden until you need them.

By clicking a plus icon in the left-hand corner, you are offered the list of page elements that can be added as blocks. For your convenience, blocks are searchable via the search box.

They fall into six main categories:

  • Drupal blocks

Content body, title, image, user ID, picture, email, comments, and many more.

  • Common blocks

Paragraph, image, heading, gallery, list, quote, audio, cover image, file, video.

  • Formatting

Coding, preformatted, pullquote, table, verse.

  • Layout elements

Button, columns, “more,” page break, separator, spacer.

Shortcode, archives, categories, latest comments, latest posts.

Over 30 social networks and media providers to embed content from.

List of blocks in Drupal 8's Gutenberg editor interface

Once a block is added, you can open its detailed settings in the right hand corner. For example, you can choose the background and text color, the size of the letters, the number of columns, and so on, depending on the block. Many blocks have an advanced option to add CSS styles.

Configuring a block in Drupal 8's Gutenberg editor

You can move the blocks up and down, align them as you wish, switch their block type, duplicate or remove them. In addition to the visual editor, Gutenberg also has the code editor.

To recap

Drupal itself works like the best of Legos. And now it is getting another interesting Lego box inside it — Gutenberg editor.

The time has come for exclusive content creation opportunities! If you wish to migrate to Drupal 8 to enjoy them, or if you need help with installing and configuring any modules like Gutenberg editor in Drupal 8 or other, contact our Drupal web development company.

Sep 06 2018
Sep 06

Congrats to everyone on the release of Drupal 8.6.0! ;) The new minor version of Drupal promises to be especially attractive for website users, owners, editors, and developers alike. Six months ago, when Drupal 8.5 was released, we approached it from a historic point of view, and described the exciting road from Drupal 8.1 to Drupal 8.5. However, the new Drupal 8.6.0 has already been called the greatest update in history! So let’s now take a tour of the awesome Drupal 8.6.0 opportunities for websites.

Drupal 8.6.0 release: so what’s new?

Reusable media thanks to the Media Library

The first two Drupal 8.6.0 novelties go hand in hand, so their descriptions will be closely connected. Let’s start with the Media Library — an experimental but incredibly useful module. Editors now can save various media for further reuse on websites.

The Media Library module only works with the Media module enabled as well. All media is available for managing and deleting on the Media subtab of Content. 

Media Library - Drupal 8-6-0

You can also grab the media from the library during your content creation by using the “Browse” button. For this, the “Media” field needs to be added to a particular content type. As with all other fields, media can be positioned in your content to your liking.

Media Library - Drupal 8-6-0

Remote videos in your content with oEmbed

In the previous description, we purposely chose to add media from the new built-in media type — “Remote video.” It appeared in Drupal 8.6.0 in addition to the existing “Audio,” “File,”“Image,” and “Video.”

This shows another awesome Drupal 8.6.0 feature in action — oEmbed. It is meant for embedding remote YouTube and Vimeo videos into your site’s content just with a simple URL.

OEmbed offers a lightweight and modern way of adding videos to content that is supported by many video content providers. Your users and editors will be delighted!

remote videos - Drupal 8-6-0

The “Media” field for the desired content type just needs to be specified as “Remote video,” and off you go with adding videos to content from your Media Library!

oEmbed - Drupal 8-6-0

A colorful demo site showing Drupal’s capabilities

Everyone will be able to know from the start how tasty Drupal’s features are! Thanks to Drupal Out of the box Initiative, users now get a ready-to-use demo food site.

All they need to do is, during the Drupal installation, to select “Umami Food Magazine” installation profile. It is not intended for use on live sites — just a test drive… or, let’s say, tasting session!

Drupal demo Umami Food Magazine - Drupal 8-6-0

The Umami Food Magazine is already filled with tasty content, and the “Recipe” content type has appropriate fields. The fictional site also demonstrates views, image styles, view modes, menus, and much more.

This experience is absolutely different from getting an empty Drupal website. It shows Drupal in action in a very informative and inspiring way.

Drupal demo Umami Food Magazine - Drupal 8-6-0

Drupal demo Umami Food Magazine - Drupal 8-6-0

The Workspaces module for switching between environments

A new and interesting experimental module Workspaces arrived in Drupal 8.6.0. In the right top corner of your website, the green “Live” button appears, inviting you to manage your workspaces. You immediately have the option to enable the “Stage” workspace.

So the module lets you switch between workspaces — “Stage” and “Live,” or custom ones that can be created. You can deploy your content changes to live as long as it is ready for it, which is very handy when working with multiple content items.

Workspaces - Drupal 8-6-0

Workspaces - Drupal 8-6-0

Stable migration modules and multilingual migrations

Drupal website migration is going to be smoother than before. In the friendly family of migration modules — Migrate, Migrate Drupal, and Migrate Drupal UI — another two reached the stable status in Drupal 8.6.0.

In addition, we welcome a newcomer — Migrate Drupal Multilingual, which is meant to handle “polyglot” websites migrations. It is still experimental, but we know that Drupal 8 experiments are usually lucky!

Drupal 8.5.6:

/home/user/Desktop/Drupal 8.6.0/Migration modules - Drupal 8-6-0.png

Drupal 8.6.0:

/home/user/Desktop/Drupal 8.6.0/Migration modules - Drupal 8-6-0.png

More options for the Layout Builder

Nice surprises continue to arrive from Drupal 8.5’s sensation — the Layout Builder module. Now, on the Manage Display tab of your content, media, taxonomy, comments, and more, you can see the options for using Layout Builder and for allowing individually customizable layouts for every content item. 

If you check the second option, each node will have the "Layout" button next to the traditional "View," "Edit," and "Delete."

The “Manage layout” button, just as before, takes you to the page where you can add layouts with different amount of columns, add blocks to them, and otherwise format it to your liking.

Layout Builder - Drupal 8-6-0

Final thoughts

This is just a brief rundown of all Drupal 8.6.0 improvements. And you could start enjoying them all right now! To update your website to Drupal 8.6.0, configure its new modules for your benefit, or finally migrate to Drupal 8, you are always welcome to contact our Drupal company.

Aug 29 2018
Aug 29

Modules in Drupal are an integral part. They serve as a tool for extending site functionality and including more features. The main benefit of using modules in Drupal is that you are able to design your site on your own as you wish. They provide great search opportunities, personalize content and are useful for e-commerce sites. Whether you need to group any sets of requests or create interactive menus – Drupal modules make it possible.

Drupal modules are of 3 types: those that are included in the core (core modules), downloadable from Drupal.org but not a part of core (contributed modules), and written specifically for the project (custom modules). Drupal offers more than 24,000 modules to use, but let’s dwell on those that are the most frequently installed.

The most popular Drupal modules by installation frequency

#1. Chaos tool suite (ctools)

Chaos tool suite (ctools) is the most popular module installed and is ranked in the top position. Mostly it is used by developers to make code more readily available. However, it is essential to install to make other modules work.

#2. Views

Views Drupal module serves for content organization and representation on website. It allows you to manage tables, calendars, comments, contact forms, photo galleries and carousels, blog posts and much more. You can also read more about some special ways to use Views on your Drupal 8 website.

#3. Token

The Token module is perfect for small placeholders usage to complete tasks automatically and is the third the most installed module. This means that this module creates tokens that are replaced before the output for any information, depending on the context.

#4. Pathauto

The Pathauto Drupal module generates user friendly URL aliases automatically. It works with both new and old URLs and is available for many languages. Nevertheless, the PathAuto won’t function if you don’t install Token and Chaos Tool.

#5. Libraries API

The purpose of Libraries API Drupal module is to manage libraries. With this module, libraries can be shared by more than one module or site, classified or controlled by whether they are available. It also prevents incompatibilities through having the same library installed more than once.

#6. Entity API

The Entity API module, in short, simplifies the creation of new entity types. It also enables you to manage entities and their properties in unified way. This module allows you to create, save, delete, view or to determine access for any entity.

#7. jQuery Update

jQuery Update is vital for core javascript code and its changes. It is the simplest way to keep your code updated. It automatically upgrades the version of jQuery in Drupal core to a newer version.

#8. Administration menu

Administration menu is not only about administrative themes. This module simplifies navigation through the page and provides much quicker access to any administrative task than the default toolbar. Used mostly by site administrators, developers and builders, it helps them to save their time.

#9. Webform

Webform Drupal module creates miscellaneous forms and surveys on your site. Apart from it, the module enables you to export data into spreadsheet applications for further processing. Moreover, some statistics algorithms are also included.

#10. Date

Date offers flexible field type for date and time. What is more, Date field and a Date API may be used by other modules. By the way, in Drupal 8, the Date module is in its core unlike in previous versions.

#11. IMCE

IMCE allows to you to upload files and images and browse them. The functions of the module includes basic file operations like upload and delete, image resize and creation, file system support and much more.

This was a list of the most installed, and thus the most popular, Drupal modules. Without a doubt, installing and using Drupal modules boosts your site functional, which is why you can’t miss an opportunity to apply them!

Our team of developers will be happy to help you with installation and settings. If none of the modules fit your needs, we will develop a module that perfectly meets your requirements. Do not hesitate to contact us for further cooperation!

Aug 15 2018
Aug 15

Everyone can enjoy the advantages of working with Drupal CMF in terms of filling a website due to content improvements. Easy content publishing in Drupal 8 is a great advantage and explains its popularity. That is why, Drupal is a perfect choice to power content heavy websites.

While content is considered to be the most important part of the resource, Drupal runs a content workflow initiative that simplifies working with website filling. As Drupal is constantly developing, there is no limit to what the CMF may offer us! The essence of it is the improvement of working with content that may be reached through the implementation of various modules. Here is an overview of one of them – the Content Moderation Drupal 8 module.

The essence of Content Moderation module

The Content moderation module is a part of a content workflow initiative and is in the Drupal 8 core. The module serves to provide easy editing and managing the filling of the site. It is especially useful while working in a team.

The principle of work is based on so-called staging. If you need multiple people to edit a node but not change the vision of it immediately then the Content Moderation module is a way out. It enables anyone to perform any changes, but to make it publicly viewed, it has to be approved.

The activity is logged in a history. Each step is recorded so that you can track who made a change and when they made it. Moreover, it is possible to know who reviewed and approved the revision and when was it done.

What does The Content Moderation module do

  • Enables you to review content by selected groups before being published.
  • Allows you to edit nodes and create new revisions to be approved.
  • The groups are empowered to approve changes. Makes a log history.
  • Permits to have own workflow.
  • Let you create your own ToDo list for what is to be approved of or reviewed.
  • Monitors code quality.
  • Controls security and usability.

Why to use Content Moderation module

The Content Moderation module is aimed at providing a high quality product

The main goal of the Content Moderation Drupal 8 module is quality. It works in nearly all environments. It is safe and thus does not allow you to misuse or bypass the revision moderating. The main point of the Content moderation module is to be stable and provide a handy workflow.

The Content Moderation module is simple

Apart from the fact that the module simplifies content moderation, it is easy to use. Moreover, it uses the Drupal API in its best practice.

The Content Moderation module is extendable

Despite its simplicity, the Content moderation module provides API that extends it. Due to its flexibility, most of the workflows can be changed painlessly.

The Content Moderation module is perfect for publishing

Working with drafts has never been as easy as with the Content Moderation Drupal 8 module. The advantage is that firstly, drafts are visible for the author only. After finishing editing, the author can send it to be approved. After approval, it may be published.

The Content Moderation Drupal 8 module has numerous reasons to employuse it. If you need any help considering module installation or upgrade, do not hesitate to contact us and we will provide any service you need. In case the module does not meet your requirements, we as Drupal web development company are ready to develop a Drupal module for you and implement any wish.

Aug 08 2018
Aug 08

The dream of many website owners is to have email sending opportunities on their websites. Of course, it’s possible with Drupal 8, because it has infinite powers. We’ve already discussed how your Drupal 8 website can “speak” multiple languages, cooperate with any third-party systems, connect to all imaginable social media, make your images perfect on any device, engage your users with super interactive menus, win their hearts with high loading speed, let them publish content on the fly, and what not! It’s now time for a closer look at the options for a perfect mail sending setup.

Drupal 8’s mail sending opportunities

The default mail system in Drupal 8

Drupal 8 has a built-in mail system — MailManager, which also serves as a plugin manager. In addition to basic core mail plugins, developers can also declare their own plugins that implement two main methods — the format() and the send(). There are important hooks to use when working with the MailManager. The main ones are the hook_mail() for sending emails and the hook_mail_alter() for editing the existing setup.

In addition to the default mail system, there also are contributed Drupal modules that add in some important things missing in core, or connect various third-party email sending services to your Drupal website.

Some great contributed Drupal 8 modules for mail sending

The Mail System module

Definitely, here is the most important one among contributed Drupal 8 module in this area — the Mail System module. It fills in the most noticeable gap of Drupal default mail system — namely, provides an administrative interface and an API for working with Drupal mail. This module is also successfully used in combination with other modules.

The Mail System module lets you configure the default mail system by selecting:

  • the standard plugin for email formatting before sending it
  • the standard plugin for sending an email after formatting it
  • the theme that will render the emails

In addition, you can make module-specific settings by selecting:

  • the module
  • the key for identifying specific mails
  • the formatter plugin
  • the sender plugin

the Mail System module in Drupal 8

Integration modules with the example of SendGrid

You could also rely on some popular third-party email service. For instance, consider connecting your Drupal 8 website to a service for transactional and marketing emails — SendGrid, which is trusted by Uber, Spotify, Glassdoor, Airbnb, Yelp and other large companies.

The SendGrid module for Drupal will help you with the integration, after which you will be able to send emails from your Drupal 8 website quickly, reliably and with flexible options. Your emails will be sent via SendGrid cloud-based delivery system with the help of their strong RESTful API.

We have chosen this service as an example, because the Drupal module for it has had a fresh stable version in June. Others include Mailgun, Mandrill, Elastic Email, Sparkpost, PeytzMail, as well as tools like the Swift Mailer library, and so on. All these Drupal third-party integration modules are now in different levels of stability.

The Views Send module

Meet the module that lets you send emails using the power of Views, which is now part of Drupal 8 core. It allows for personalized mass mailing from a View, where each row generates one email.

Using tokens with the Views fields, you can fully personalize your emails. They will have a subject, a body, a recipient's name, email address, and more taken from the View.

The Contact Emails module

Here is another module that adds advanced features to Drupal 8 core — namely, to the core module Contact, which allows users to send email to other users or site administrators via contact forms.

The Contact Emails module brings in such options as sending emails to multiple recipients, using text formats, tokens, and more. You can send as many emails as you wish with different messages.

The Simple Mail module

As the name suggests, the Simple Mail Drupal module makes mail delivery extremely simple, which is great for simple use cases.

With it, you can also queue your emails and manage the queues with the help of another useful module — the Queue UI, which provides a handy user interface for that.

The Reroute Email module

In many cases — for example, when you do some testing — you do not want the users of the site to receive your emails. So it is useful to be able to reroute all outgoing emails to another address. The Reroute email Drupal 8 module will take care of these scenarios.

The HTML Mail module

The HTML Mail module for Drupal 8 adds some theming to your emails. Namely, it lets you theme your email messages in the same way as you theme your website.

To recap

These is just a glimpse at useful modules and opportunities for mail sending in Drupal 8. In addition, there is a very simple way of providing a perfect mail sending system on your website in accordance with all your wishes. Send a short message here to just one recipient — our Drupal 8 team! The rest of the magic will be in our hands.

Jul 18 2018
Jul 18

Each Drupal release makes it more refined and up-to-date. The latest one offers better architecture, fresh functionality, improved security and other benefits of Drupal 8. It is considered to be innovative and progressive due to new functions such as multilingual applications, advanced mobile-friendly options or HTML5 for better site management.

Drupal 8 modules are an integral part of website development. We constantly monitor newly released modules and describe their particulars, how they work and why they are useful. Previously we spoke about modules that will help you to architect your site, boost its functionality, personalize content and even run e-commerce. Now we’ve made a list of best Drupal 8 modules you should have on your Drupal site.

The most useful Drupal 8 Modules you should have

PathAuto

This module will automatically generate SEO optimized and user friendly URL aliases. It is applicable for both new and old URLs and suitable for many languages with transliteration available. However, the PathAuto Drupal 8 module won’t work without Token and Chaos Tool installation.

Admin Toolbar

The Admin toolbar Drupal 8 module provides the user with a drop-down admin menu that gives quick access to all administration pages. This makes navigation simple and less time-consuming.

Metatag

It is not only about creating meta description or keywords tags. The Metatag Drupal 8 module makes it possible for you to monitor what your content looks like when sharing on Facebook or Twitter. It provides support for Open Graph Protocol (for Facebook) and Twitter Cards (for Twitter) while sharing content via social media. This allows you to merge any webpage with social media and control its appearance.

Paragraphs

Paragraphs module is the most popular Drupal 8 module you should have for managing content. It is targeted at simplifying end-users’ performance while editing. It breaks content into components to structure it in a clean way and gives options for design or grouping.

Redirect

If you have your URL changed, this tool is for you. Redirect module will take the user to the necessary page if it has moved or the site was restructured or renamed.

Linkit

Linkit Drupal 8 module provides an automatic way to insert internal or external links in the text. No more copy-pasting or typing URLs, you can just search them via the interface.

Honeypot

The best and maybe the most popular Drupal 8 module you should have to prevent spam. It finds out bots and protects your forms from being autocompleted. Honeypot Drupal 8 module sets the minimum time required before form should be considered to have been entered by a human instead of a bot. If the form is submitted faster, it will be discarded.

Add to Any

One of the most popular social media integration modules in Drupal. Give your readers an opportunity to share your content via social media. The simple Add to Any Drupal 8 module enables you to attach share buttons to Facebook, Twitter, Google+, Pinterest, WhatsApp and more. You may choose the size and shape of buttons.

Superfish

Probably the most popular tool for creating sophisticated interactive menus on your website. Among its advantages are screen adaptability and compatibility. Superfish menus are both keyboard and touchscreen accessible and available for screen readers.

Scheduler

Thanks to Scheduler Drupal 8 module it is possible to postpone content publication. You are able to schedule publishing or unpublishing nodes. Just set a specific date that you want the action done.

Rabbit Hole

Don’t want your node to be viewed directly but have it displayed somewhere else? Rabbit Hole Drupal 8 module will do that for you. You’ll get the ability to control what is to be shown when content is being viewed on its own page. It makes it possible to display an access denied page or a page not found page. You may also redirect a page or as a regular behavior display the entity. Restricting access to the publication, it hides nodes from search engines too.

LoginRadius Customer Identity and Access Management

Simplify the registration form for your Drupal website. LoginRadius Customer Identity and Access Management module allows your users to register via e-mail or social login. There is no need to overload visitors with filling in numerous form fields, no need to create one more username and password. Apart from user registration and social login, the module performs data collection and Sign-On authentification system letting user navigate websites with a single account.

Google analytics

Google analytics module is a must-have on your Drupal website. It is a great technique to track your site attendance. This module is perfect to monitor user statistics and understand user behaviour to make some marketing improvements.

These are only a small part of the Drupal 8 modules you should have on your Drupal website to extend its capability! Our team of developers will be happy to help you with installation and settings. If none of the modules fit your needs, we will develop a module that perfectly meet your requirements.

Jul 05 2018
Jul 05

Convenient searching is a keystone of good website navigation and usability. Help your website users always find what they want, and they will lose all the addresses of your competitors, completely forgetting their names. It’s great that Drupal 8 has excellent search opportunities that are fulfilled by a host of helpful modules. You don’t have to to go far to seek them — we are going to give a little overview of them right now.

Drupal 8’s awesome search opportunities and modules

Core search in Drupal 8

Drupal’s core search has greatly improved in the 8th version. With nothing extra to install, the core Search module in Drupal 8 now lets you create custom search pages. These pages allow for searching for full words in any content nodes, as well as for users.

You can also decide on indexing settings and define the factors that influence the rankings (for example, the time of content creation, number of comments, keyword relevance, and more).

The core search in Drupal 8 works pretty well and is a nice choice for smaller websites that do not have much traffic or complex search needs. If this description fits you, you could order the creation of search features from a good Drupal team right now.

For more advanced search features, let’s move on to the next options.

Search API

Almost unlimited opportunities for searches in Drupal 8 are provided by the contributed Search API module. This flexible and extensible toolset is loved by Drupal developers, because it lets them to create even the most complex search interfaces.

In Drupal 8, Search API unites the functions that used to be scattered around many Drupal 7 modules. For example, it allows you to provide multiple search indexes, which you used to need a separate Search API multi-index searches module. If you are also interested in Search API’s work in Drupal 7, here is a detailed overview by our developers.

If Search API is used, the core Search module should be uninstalled to avoid conflicts like duplicate indexing.

Search API now includes Database Search submodule that provides a search backend. However, Database Search is the best fit for smaller sites, and larger ones would be better relying on more powerful and fast backends like Apache Solr or Elasticsearch.

Search API also comes packed with the Database Search Defaults module that helps with the default setup for Database Search. In addition, there is the Search API Taxonomy Term Handlers submodule that works with taxonomy.

It is awesome that Search API can index absolutely any imaginable entities in Drupal 8 from any desired data sources like content, custom blocks, comments, taxonomy, users, files, and more.

Search API lets you use highlighted search results, use stop words, apply transliteration, ignore the case, stem words for finding single-rooted words, split text into individual words — and that’s just the beginning of the out-of-box possibilities.

Combinations with other modules greatly enhance the powers of Search API. For example:

Finally, one of the greatest features of Search API is the ability to connect your site to famous search platforms like Apache Solr, Elasticsearch etc. Details are below.

Search API Solr Search

Apache Solr is a lightning-fast and powerful open-source search engine, based on Lucene and written in Java. Even websites with extremely high traffic or complex search queries are not a problem for it — Solr easily takes the load off their database.

Search features include faceted search, alternate spellings, content recommendations, highlighted results, attachment search, multisite search, and so much more.

For integrating Solr with Drupal websites, there is the Search API Solr Search module that provides a Solr backend. It work togethers with the Search API, and also needs an Apache Solr server.

By the way, we want to say congratulations on the fresh release of Search API Solr Search — on June 1, it got a stable 8.x-2.0 version!

Another great piece of news is that, as of version 8.x-2.x, the Search API Multilingual Solr Search module has merged into Search API Solr Search. It has a high level of support for non-English languages, cross-language information retrieval (CLIR) and a handy administrative interface.

We also shared with you a detailed review of Search API and Apache Solr in Drupal 7, so check that out if you are interested.

Facets

Amazon, Zappos, Walmart, eBay, and many other famous e-commerce websites have faceted searches. Basically, this means searching by multiple categories and parameters, which allows users to quickly sift out the unnecessary items and narrow down their results.

The Facets module, created purely for Drupal 8, lets site builders create interesting faceted search interfaces. It works both with the core search and the Search API. Especially popular and powerful are faceted Solr search solutions, created in combination with Apache Solr and Search API.

Elasticsearch Connector

When it comes to search platforms, Elasticsearch is a great alternative to to Solr. It is also very scalable, powerful, and flexible, based on Lucene, and written in Java. Elasticsearch can quickly index even large volumes of data. It is API-oriented and can be used with various programming languages.

Just like Solr, Elasticsearch has impressive and extensive search features. The nuances of differences between the two are worth a separate blog post. In any case, we can always help you choose what suits you best.

Of course, Drupal 8 has modules for Elasticsearch integration — for example, Elasticsearch Connector to be used together with Search API.

To recap

There are many other modules for searching in Drupal 8, and they combine with each to offer exactly what your website needs. Additional customization by developers can do miracles in fulfilling your wishes.

For choosing the suitable tools and applying them correctly, you can always rely on our Drupal development team.

We have plenty of experience with Drupal search, including the creation of a large international multi-domain online store with custom facets and Solr.

It is easy to find us without special search features — we are always here for you! ;)

Jun 27 2018
Jun 27

Dear reader, we would like to invite you to follow us. Where? On an exciting virtual journey to DrupalCamp Kyiv 2018! The 10th anniversary of the drupalers’ meetup was amazing, and unusual moments added some spicy flavor to it. A mysterious bearded man in a pilot’s helmet, bikes on the speakers’ stage, the phantom of Drupal 9, and much more lies ahead. Ready? Follow us! ;)

The creators of the future

Just like at DrupalCamp Kyiv 2017, DrupalCamp Kyiv 2016, and before, InternetDevels was a sponsor and attendee of DrupalCamp Kyiv 2018. So we happily arrived in Kyiv wearing our red T-shirts, which were noticeable from anywhere. “Follow us” read the phrase on the T-shirt’s back.

By following us, anyone could find their way through the huge, loft-styled IZONE Creative Community building.

But following us means more than that! Anyone can follow us in being active members of Drupal Ukraine Community, contributing to the development of Drupal, teaching new talents, doing everything with passion, and reaching new heights. These are one of the ways we are all creating the future! That’s why our banner said: “We are more than developers — we are the creators of the future.”

The mysterious bearded man

The future and the new heights were shown on our banner. It featured an energetic man with a pilot’s helmet and an amazing beard, which caused a lot of interest. Who was he?

The “original” was also present at DrupalCamp Kyiv 2018. This was Butmax from InternetDevels. Look at the photo and find 10 differences!

DrupalCamp Kyiv and its air

Oh, that unique atmosphere at Drupal Camps! The organizers may be busy, the participants may be tired after their trip to Kyiv, but everyone is so enthusiastic, happy to see each other, and ready for complete drupalization!

Great speeches: the 3 dimensions of Drupal

Drupal unites people of various professions. At DrupalCamp, you can see Drupal developers, QA engineers, HR managers, project managers, marketing specialists, and many others.

So the speeches at DrupalCamp Kyiv were divided into 3 main areas: development, business, and project management.

The complexity level of all speeches was also graded from 1 to 3. So, looking at the schedule, everyone could decide what suited them better.

But even with that, it was hard to choose among the speeches. They came in 4 streams at the same time. Brilliant speakers and the freshest Drupal topics gave you a real torment of choice!

We all immersed ourselves into the intricacies of Vue.js integration with Drupal 8, the novelties in Drupal 8 core, the ins and outs of GDPR, the use of the Lazy Builder, Drupal 8 caching, custom entities, Robo and BLT, and so much more.

We also heard the expected release date for Drupal 9, whose phantom is already in the air, attracting everyone’s interest. It may arrive two years from now. It may, or it may not — only time will tell! ;)

And, of course, InternetDevels representatives were active at the speeches!

InternetDevels speaker at DrupalCamp Kyiv 2018

Contribution makes the world go round! Our senior Drupal developer Andrew Zahura, aka Ahiles, gave a truly useful speech about how to contribute to Drupal.

Drupal is an open-source CMF that everyone can use for free. But it’s great to share something back! Any drupaler can contribute their modules to Drupal, create patches, make translations, update the documentation, and much more.

However, many think they are too busy for that, and many do not know what steps to take exactly. But, after the speech by Ahiles, drupal.org will hopefully be bursting with new contributions!

Certificates of appreciation

All sponsors received their certificates of appreciation. Noticeably, this year’s DrupalCamp had many individual sponsors who wanted to develop Drupal.

Here is our certificate of appreciation. InternetDevels are happy to support DrupalCamp Kyiv 2018 and Drupal itself!

Prizes: from toy RC cars to full-sized bikes

A very nice part of the event was dealing with prizes from the sponsors and the organizers. Here are some of them.

Even when drupalers grow up, they cannot resist playing with toy RC cars. One of the sponsors arranged a car race whose winner got a car! We are not sure he was able to drive home on it, but nothing is impossible for drupalers!

Another “vehicle” prize was a full-sized bike whose winner was chosen in a draw — and it turned out she had a birthday on the same day as the DrupalCamp 10th anniversary!

The organizers also held a drawing with PhpStorm licenses by JetBrains. As is known, PhpStorm is every Drupal developer’s best assistant.

Afterparty: time to have fun!

All the guests from other cities and from abroad could feel the might of the Dnieper river, because the afterparty was held at River Port Pub. And, of course, everyone enjoyed the communication with old and newly-made friends.

Code sprint: time to code!

A code sprint the next day after a party? Challenge accepted, as real drupalers would say! Saturday was a very productive day for great Drupal minds at Port Creative Hub.

Wrap-up

Congrats on the 10th anniversary to DrupalCamp Kyiv 2018, and many thanks to its organisers, sponsors, and participants!

We would like to note what one of the sponsors said in their speech. DrupalCamp Kyiv gathers 400 people, while DrupalCon gathers 2,000. So the difference is only 5 times, which is very little, considering it’s Ukraine vs. the whole world. DrupalCamp Kyiv is 1/5 of the global DrupalCon!

So let’s continue bringing DrupalCon Ukraine closer — with events like DrupalCamp Kyiv, DrupalCamp Lutsk, and more. We know we can make it!

Let’s create the future together!

May 02 2018
May 02

Sites have truly unlimited opportunities in Drupal 8 — they are not even limited by the “website” concept! They can go far beyond it, and easily exchange data with all imaginable applications. Special opportunities for that have appeared thanks to built-in web services, which are listed among Drupal 8’s main improvements. Let’s see what web services can give you, how they work, and what extra special options are added by other Drupal 8 modules.

Web services: benefits and principles of work

The main web services role is that of a “communicator” between a Drupal website and an external application. This may mean pulling data from a Drupal website, or, vice versa, pushing it there.

Could you imagine the possible gains from outputting your website content, say, to an iOS or Android app? In addition, payment gateways, CRMs, inventory management systems, smart watches and any other apps are ready to work with your Drupal 8 website. And that’s just the beginning of what is possible in the hands of good Drupal developers!

Web services help websites and apps find “common language” — Drupal’s HTML data is magically transformed into the formats that are easily understandable for apps (JSON, XML, HAL+JSON, and so on).

Thanks to web services, you can create an API on your site that other apps can ask to connect to, and you can grant permissions to them. Drupal nodes, taxonomy, collections of content (views) or other information can be fetched from your site.

A glimpse at headless Drupal

The icing on top of the cake is a headless, or decoupled Drupal approach. More and more websites are adopting it nowadays. Drupal backend, as a source of data, is combined with a front-end based on some JavaScript framework (React, Vue, Angular, Node, Ember, etc.).

In this way, JavaScript frameworks can share their best with your Drupal website! You can engage users to the maximum with dynamic features. Interactive dashboards, fast chats, push notifications are just the beginning of the list. And the speed can be fantastic!

Web services in Drupal 8

Drupal 7 and even Drupal 6 had some support for web services, but that was in the form of contributed modules.

Thanks to Web Services and Context Core Initiative (WSCCI), Drupal 8 has web services built into core, and it has been greatly enhanced.

Core Drupal 8 modules for web services

So the big integration story begins with enabling the four core Drupal 8 modules responsible for web services.

  • The Serialization module serializes and deserializes your Drupal website data to and from formats like JSON, XML, or HAL+JSON by normalizing and encoding it.
  • The HAL module adds data normalization by means of the Hypertext Application Language.
  • The RESTful Web Services module exposes your site’s entities or other data in particular API endpoints.
  • The HTTP Basic Authentication (Basic Auth) module authenticates the username and password from a request.

Some contributed Drupal 8 modules for web services

In addition, there are extra opportunities brought by very helpful contributed Drupal modules.

REST UI

This contributed module offers a handy user interface for using core web services. When it is installed and enabled, this interface appears in Configuration — Web services — REST.

GraphQL

Here is a module that lets API builders use GraphQL — a modern query language. This is a nice alternative to the REST architecture traditionally used for APIs. Queries are shaped by the client side precisely to get all they want immediately. Obtaining structured data (including that with a complex hierarchy) is based on the schema.

JSON API

The JSON API contributed module also offers an alternative to REST. It generates an API server with the JSON API specification. According to Drupal founder Dries Buytaert, both JSON API and GraphQL couuld be promising modules in Drupal core some day.

Services

The most popular module for web services in Drupal 7, the Services module has changed greatly for its 8th version. Its benefits include great API customization options, support for configuration entities, multiple response formats, etc.

RELAXed Web Services

While providing a RESTful API, this module offers advanced support for translations, file attachments, revisions, UUID references, opportunity for clients to subscribe to real-time change notifications, etc.

Subrequests

The Subrequests module we once described is a new and interesting module for Drupal 8. It groups any sets of requests together to improve performance. The JSON document named “blueprint” contains all the necessary information.

Final thoughts

All these core modules, as well as these and other contributed modules, do an awesome job! However, unlike simple cases of setting up an API, more complex ones usually require some custom code writing.

Whatever your ideas about third-party integration are, you can contact our Drupal developers. They will handle even the most complicated projects with web services.

Let your website go beyond the boundaries and give you more!

Apr 18 2018
Apr 18

Let us invite you to an exciting masquerade! Its mission is to check what each user can see or do on your website. Drupal has an awesomely flexible system of user roles and permissions, as well as opportunities for fine-grained user access. These are the keystones of Drupal security, smooth user experiences, and cool features. You can make the most out of them, and then test the result for different users with the help of the Masquerade module. Interested? Let the masquerade begin!

How the Masquerade module works

The essence of Drupal Masquerade

To check new features or settings related to user access or permissions, site builders and administrators usually create test user accounts.

Without the Masquerade module, they have to log in and out of these test accounts, which is not always convenient. The Masquerade module lets them switch accounts with no login procedures and surf the site as a particular user. They can easily try on the “mask” of any user and then take it off by clicking “Unmasquerade.”

Who can masquerade as who: user permissions

Usually, it’s only the administrator that’s allowed to do the masquerading. However, permissions to use masquerade can be fine-tuned in People — Roles — Permissions.

As you see, there is no option to masquerade as anonymous user, since it is considered a little buggy.

How to masquerade as a user

The module works a little differently in Drupal 6, 7, and 8. In today’s example, we will look at Drupal 8.

So, with the Masquerade module  installed and enabled, the “Masquerade as” option will become available next to each user in the dropdown list of “operations.” We can also see it on each user’s page.

In addition, there is a handy form for quick user switching that can be placed anywhere on the website, like any other block. In Structure — Block layout, we click on the site’s region where we want to see it, click “Place block”, find “Masquerade — Forms” on the list, click “Place block” again, and finally save the blocks.

It is very handy to have the “Masquerade as” form in the left sidebar. The “Unmasquerade” link is at the top of the page.

An example of Masquerade module’s use

It’s now time to invite a couple of our masquerade participants! Our authenticated users will be Colombina and Arlecchino.

In our example, authenticated users can post their content, and each user should have a “My masquerade photos” page where only they see the photos they authored.

For this experiment, let’s make sure that at least some pieces of content for this content type are authored by Colombina and Arlecchino. We can change this in the “Authored by” option of each piece of content.

Let’s now create a simple views with all photos. It now shows all of them yet with no filtering according to user.

To achieve this, we will go to views advanced settings. There, let’s add a relationship to author, as well as create a contextual filter that only displays the content if its author matches the current user ID. And the Masquerade module will then help us check if each user really sees their own photos only.

So our roleplay begins — we are going to the “Masquerade as” form in the left sidebar and masquerading as Colombina. That’s right, we can only see her content. Awesome!

Since only the administrator can use masquerade and we are now “Colombina,” the “Masquerade as” form disappeared from the sidebar.

Let’s click “Unmasquerade” at the top of the page to return to admin’s account, and then masquerade as Arlecchino. We only see Arlecchino’s content. Wonderful!

We should never forget to unmasquerade back. The masquerade has been successful and it is now over.

Final thoughts

That’s been a brief overview of what the Masquerade module can do for testing purposes. Drupal hides many more secrets, and its possibilities are unlimited.

Contact our team if you want to create amazing access-based features for your users, set up an order to all roles and permissions, get help with testing, and so much more!

Mar 29 2018
Mar 29

Audience boosters, sales increasers, brand builders… All this and more applies to social networks! Drupal lets you easily integrate these unmatched promotion tools with your website. We have shared a great collection of Drupal social media integration modules in part 1 and 2. Time flies, and we would now like to make an overview of social media integration modules that are specific for the latest Drupal version — Drupal 8.

Drupal 8 social media integration modules

So here are some modules that will be very useful in your business promotion via Facebook, Twitter, LinkedIn, Pinterest, Instagram, Flickr, Tumblr, YouTube, Google+, Delicious, and lots of other social networks. Some of them are general, or cross-network modules, while others are made for particular social networks.

Some general Drupal 8 social media integration modules

Easy Social

As the name suggests, this Drupal 8 module is meant for those who want to quickly set up simple social sharing buttons. It includes default widgets for Twitter, Facebook, LinkedIn, and Google+.

AddToAny Share Buttons

This social media integration module has vector buttons with AddToAny icons in SVG format, as well as a universal sharing button. Its pros include displaying well on Retina devices, Ajax support, loading optimization and more.

Social media share

Here is a tool that also makes it easy to share your site’s content to various social networks. It offers a special social media field type. The flexibility of the module makes absolutely all kinds of pages shareable.

Social Media Links Block and Field

The module offers an easily configurable “Follow us” block, various icon sets of all sizes, support for Panels, and more. As of Drupal version 8.x-2.4, it also has a Social Media Links Field submodule.

Social Timeline

Share various social network content on your site’s timeline! Here is a social media integration module that offers a wide choice of networks by default, supports keywords, hashtags, social filters, multiple custom feeds, and more.

Social Counters

This module will count your likes/subscribers in various social networks and save this information in the Drupal cache. The Drupal 8 version has the ntegration with the Views and Plugin API.

Shortcode Social

The Shortcode module lets your website’s users easily embed social media content into WYSIWYG editor with the help of shortcodes. No traditional iframes or embed codes are needed.

OneAll Social Login

Your users will be able to register and login to your Drupal 8 site from their accounts in over 35 social networks. This makes registration easy, as well as giving you their social data based on permissions.

Sharethis block

Encourage your users to “share this” by showing the appropriate block of buttons thanks to this social media integration module. You can put it wherever on your website you want it and enjoy flexible block configuration options.

Social SimpleSharer

Here is a module that creates two social sharing blocks on your Drupal 8 site: for a full-sized icon and for a smaller one, too. It offers nice styling options and is unique for not using JavaScript.

Some network-specific Drupal 8 social media integration modules

Facebook Instant Articles

Here is a fresh module whose stable Drupal 8 version has been released on March 15. It allows posting Drupal content to Facebook as Instant Articles, which load lightning-fast on mobile devices.

Facebook Page Plugin

The module offers a block about your Facebook page for your site. It shows how many people liked your page, and which of them are users’ friends. It also lists recent posts and encourages readers to like your page in one click.

Facebook Album

You can display public albums from Facebook pages as galleries or Colorbox pop-ups. The module offers options like configuring album and photo height and width, including or excluding albums from display, and more.

Twitter_Feed

Your Drupal 8 site will have a nice Twitter feed of latest posts. The module uses Twitter REST API and the jQuery Timeago plugin, has a user-friendly way of showing dates (for example, “3 hours ago”), and is highly configurable.

Pinterest Hover button

The Pinterest “Pin it” hover button will appear on your Drupal 8 site’s images. You can configure its size, color, shape, and more. The Drupal 8 version of this module supports responsive images.

YoutubeChannel

Thanks to this module, your Drupal 8 site will show videos from a particular YouTube channel. The first video will come as iFrame, others as thumbnails, and there will be a handy vertical scroll bar.

Video Embed Instagram

This is a special module for Instagram that works with the general Video Embed Field module. It allows for posting Instagram videos on your Drupal 8 site by adding the video URL in the video embed field.

Wrap-up

Let your website be sociable! And great Drupal 8 social media integration modules will let it socialize to the maximum.

For help with the perfect social media integration — from configuring Drupal 8 modules to creating custom solutions — always contact our Drupal team!

Mar 21 2018
Mar 21

What should a dream theme for a Drupal 8 website be like? Responsive, modern-looking, highly customizable, rich in powerful features, and intuitively understandable, perhaps? Many developers would say a theme based on the Bootstrap framework includes all these things. It is a good practice to create Drupal 8 Bootstrap subthemes for websites from the Drupal Bootstrap theme. In addition, there are many free Bootstrap-based Drupal 8 themes ready to be installed on your site right away.

So Drupal offers options for everyone! If you wish, use the popular Drupal Bootstrap theme that has 160,000 overall installs and recently had its fresh release — 8.x-3.11. You can create a subtheme from it or make your own theme from scratch — theming in Drupal 8 is very convenient thanks to novelties, like the use of Twig engine and YAML files.

Or you can choose one of nice, free, ready-made Bootstrap-based themes for Drupal 8. They can also be further customized to your liking — by yourself or with the help of our Drupal developers. Let’s start enjoying our little collection!

Some nice free Bootstrap-based Drupal 8 themes

Startup Growth Lite

The Startup Growth Lite theme is based on the latest Bootstrap 4. It features 12 excellent color schemes with 2 versions of each, layouts for 1, 2, and 3 columns, mobile menus, and more. It is also meant to work great with Drupal Commerce.

Bootstrap Mint

Thanks to the mobile-first Bootstrap Mint theme, Drupal 8 sites can enjoy a responsive slideshow (Bootstrap carousel), dynamic columns, a responsive multi-level dropdown menu, layout choice from 1 to 4 columns, Retina-ready icons, 25 regions etc.

BusinessGroup Zymphonies Theme

This free Bootstrap-based theme is created in a business style. Its attractions are multi-level responsive menus, a custom Bootstrap slider, a sidebar that can be positioned left, right, or to full width, Font Awesome icons, flexible social media link options, and so on.

Aegan

Aegan is a lightweight and modern-looking theme that is available in 8 colors, supports multi-level menus and Font Awesome, features a customizable slideshow, offers flexible options to configure social media icons, and more.

Paxton

Here is a multipurpose, easy-to-use, and responsive theme for corporate, business, and portfolio websites. It has 17 regions, Font Awesome support, 1, 2, and 3 column layouts, and other features.

Bootstrap Business

Drupal 8 business and corporate sites may enjoy another free responsive Bootstrap-based theme. It offers 20 regions, HTML5 and CSS3, supports the Superfish module for great menus and the Color module for color adjustments, and more.

BonVoyage

All travel agencies can say “Bon Voyage” to their customers in a beautiful way! Perfect cross-browser compatibility, easy navigation, the “back to top” button, animation, CSS3, HTML5, JQuery, and other features make this theme a good choice.

Showcase Lite

The Showcase Lite is a mobile-first Drupal 8 theme for companies that want to showcase their products or services. It features 34 regions, Superfish menus, HTML5 and CSS3, a layout for 1, 2, or 3 columns, and so on.

Magazine Lite

Here is a free mobile-first theme from the same creators and with very similar features (Superfish menus, HTML5 and CSS3, a 1, 2, or 3-column layout, and 34 regions to present your content). However, it is specially designed for news and magazine sites.

Ice Magic

Ice Magic is a free responsive Drupal 8 theme that has unmatched color adjustment opportunities thanks to the Color module and Google Material Design Colors. It also offers great integration with Bootstrap CSS and JS components, Font Awesome, and more.

Wrap-up

Inspired by these free Bootstrap-based Drupal 8 themes? These are just a couple of nice examples. If you wish to choose one and install it on your Drupal 8 website, customize it to your liking, or maybe create a new theme, free free to contact our developers.

Let your dream theme present your content in the best way, capture your users’ attention, and easily guide them through your website.

Mar 07 2018
Mar 07

To honor the Drupal 8.5.0 release on March 7, we will not just describe what’s new in it. Drupal 8 has already had 5 awesome minor releases: Drupal 8.1.0, Drupal 8.2.0, Drupal 8.3.0, Drupal 8.4.0, and now Drupal 8.5.0. Each of these versions gives us great novelties that make Drupal 8 easier to use for editors, faster, more innovative, and more.

So let’s now flashback and look at 5 great features in each of the 5 great releases. Drupal 8.5.0 will receive the most of our attention. And, for dessert, we will sum it up with a colorful infographic.

Drupal 8.5.0 release: how we have arrived to it

The road to Drupal 8.5.0: step 1 — Drupal 8.1.0

The BigPipe module

Drupal 8.1 gives us a new awesome experimental module for performance optimization. The BigPipe module lets site users immediately see the static page elements and receive the dynamic ones next.

Modules for migration

We get a “family” of experimental modules for smoother upgrades and migration from Drupal 6 or 7 to Drupal 8. They are the Migrate, Migrate Drupal, and Migrate Drupal UI modules.

CKEditor improvements

As of Drupal 8.1, CKEditor begins to support native browser spell-checking. It also gets a language button in its toolbar for adding language attributes to parts of multilingual text.

Easier help tours

Drupal help tutorials, aka “tours,” throughout a website’s administrative interface, becomes easier to find and use. Everyone can better understand how Drupal works.

Better Composer support

Composer, the greatest assistant of all times to PHP-based CMSs, can be used for managing all third-party packages needed by websites as of Drupal 8.1.0 .

The road to Drupal 8.5.0: step 2 — Drupal 8.2.0

The Place Block module

It is now easy to place and configure blocks with the experimental Place Block module. It offers a “Place block” link in the admin toolbar, which opens the theme regions with quick block adding and editing options.

The Settings Tray module

Another experimental module for configuring blocks emerges in Drupal 8.2. The blue “Edit” button initiates the block editing mode with a handy block configuration tray popping up in the sidebar.

The Content Moderation module

This experimental module lets site administrators define content moderation states. They also can decide which user roles are allowed to change these states.

The Datetime Range module

Drupal 8.2 gets a new experimental Datetime Range module. It offers a new field type for defining not just simple dates but date ranges (the beginning and end dates).

Content revisions enabled

For new content types, content revisions will be enabled by default. This makes it easy to roll back to the needed content versions and never lose any important content.

The road to Drupal 8.5.0: step 3 — Drupal 8.3.0

New CKEditor 4.6

We get a fresh version of CKEditor with an updated UI, a new feature for pasting from Word, drag-and-drop options, the AutoGrow plugin for working with large screen sizes, and more.

The Workflows module

This new experimental module gives us a handy UI for creating workflows with certain states. It can pair well with the Content Moderation module, but can also be used for non-content workflows.

Field Layout and Layout Discovery

We enjoy a new pair of experimental modules for layouts, the Field Layout and the Layout Discovery. They make it handy to arrange fields and allow modules or themes to register their layouts.

BigPipe stable & improved

One of Drupal 8’s hottest novelties, the BigPipe module, reaches stability in Drupal 8.3.0. It has also received some improvements, for example, better usability on mobile devices.

More support for web services

Drupal cooperates with external applications better and better! The REST API allows for user registration, 403 responses coming with explanations, anonymous REST API performance rises, and more.

The road to Drupal 8.5.0: step 4 — Drupal 8.4.0

Multiple modules reach stability

In Drupal 8.4.0, a bunch of modules become stable (Layout Discovery, Workflows, Datetime Range, Inline Form Errors, and Media). Next come more details about the latter two.

The Media API

Here is a remarkable novelty for media handling (e.g. creating media types, saving media to your library, and reusing them). In Drupal 8.4.0, the Media API is ready, but the module is currently hidden from the dashboard.

The Inline Form Errors module

A great usability and accessibility improvement arrives with Drupal 8.4.0 with the Inline Form Errors module. It lists form validation errors both next to the form and in the summary above.

Even more support for web services

In Drupal 8.4.0, web services receive still more attention, which results in a 15% performance boost for authenticated REST requests, REST features enhancement, and more.

New Symfony, jQuery, Drush, and more

In Drupal 8.4.0, we see updates of Symfony to 3.2, jQuery to 3, and jQuery UI to 1.12. Drush 8.1.12 becomes required. The support for Internet Explorer 9 and 10 discontinues.

Drupal 8.5.0 and its new great features

The Layout Builder module

Drupal 8.5.0’s long-expected sensation is the experimental Layout Builder module. Editors can now easily create layouts by selecting from the predefined ones, adding sections and blocks, and arranging them in various ways.

After enabling the module, you see that the “Manage display” tab in a particular content type’s configuration page no longer shows the list of fields. Instead, it has a “Manage layout” button. The button leads you to the incredibly handy layout management page for this content type items. Before you press it, you can also allow each content item to have a special layout by checking the appropriate option in “Layout options”.

The Media module stable and improved

Compared to Drupal 8.4, where the Media module is hidden by default and needs contributed modules, Drupal 8.5 makes it stable and available on the dashboard, as well as improves its user experience.

In Structure — Media Types, you can see four default types (Audio, File, Image, and Video) and can add your own. In the list of fields, there is now a Media field available, for which you can define media types. Editors are able to create their media or reuse existing ones by starting to type their name.

The Settings Tray module stable

Here is another famous module that has moved from experimental to stable in Drupal 8.5.0. Its magic blue “Editing” button and handy tray for block editing is ready to work reliably on production websites.

After enabling the module, just click on the “Edit” button in the left upper corner of your site, with no need to go to the admin dashboard. You will see the block configuration page. To call the helpful tray in the sidebar, click “Quick edit” next to any block of your interest.

The Content Moderation module stable

One more popular module is ready for production sites. It works together with the Workflows module and lets you choose Content Moderation workflow type, which is ideal for editorial processes.

You can use the default “Editorial” workflow or create your own. In the workflow, create states (like Draft, Published, Archived etc.) and transitions (like from Draft to Published etc.). It is also possible to define which items this workflow applies to (which content types, media types, and custom block types).

The Migrate API stable

Great news for all who want to safely migrate their content from Drupal 6 or Drupal 7 to Drupal 8! The Migrate API is stable and works in a tandem with its experimental “collegues”: Migrate Drupal and Migrate Drupal UI.

We almost have the whole “company” stable in Drupal core. This is very important, because more and more websites want to move to Drupal 8.

And more!

In addition, Drupal 8.5.0 has the BigPipe module enabled from the start, thus offering an out-of-box feature that allows you to deliver content to website users much faster. BigPipe is an example of a module that has travelled its path from experimental in Drupal 8.1.0 to a member of the “main squad” in Drupal 8.5.0 core!

Drupal 8.5.0 also brings in API-first improvements, which make Drupal third-party integration capabilities even stronger. They include better serialization for getting Drupal data via REST API, enhanced documentation, translation support, handier file uploads via REST API, JSON API, and GraphQL, more flexible permissions, better test coverage, optimized performance, and more.

Drupal 8.5.0 is awesome, and it’s been great to look back at how “the great eight” evolved from 8.1.0. And sky’s the limit for further Drupal 8’s innovations!

If you wish to get an awesome Drupal 8 website, upgrade your existing site to Drupal 8 or update it to Drupal 8.5.0, feel free to contact our team.

And now please enjoy the infographic!

Feb 07 2018
Feb 07

In the world of business and finance, a website should as reliable as a Swiss watch, unbreakable like an armored safe, irresistibly attractive like George Washington’s portrait on a banknote, fast like a business-class car — the list could go on. And Drupal fits all these and other requirements! The ability to easily integrate the site with third-party systems, output data to any application and “lock and seal” the site in terms of security — these advantages alone put Drupal at the head of the pack. But this is just the beginning of the list, because everything is possible with Drupal. So it is no wonder that business & finance companies choose Drupal for their websites, just like they do for e-commerce, healthcare, educational, and other businesses. Here’s a couple of examples.

Examples of great business & finance websites built with Drupal

Mint

This is a website for a popular money management tool, which offers a unified interface for customers to track their financial activities (credit card, banking, and other operations), create budgets, get alerts, etc. This website wasn’t originally on Drupal, but moved to it to satisfy its high requirements.

NCR

Here is another example of a business website for a company that found Drupal’s benefits irresistible and migrated to Drupal. The website for the NCR corporation features an extensive catalog of business solutions per industry, powerful data analysis, interactive tools, internationalization, and more.

Voya Financial

A global provider of financial, retirement, investment and insurance services got a powerful Drupal site to present them all. It includes online savings and expense calculators, financial planners for various purposes, comparison tools, and much more.

Societe Generale

Here is a Drupal website for a multinational company specializing in banking and finance services. It uses Drupal’s awesome multilingual features and includes a collection of sites (for private banking, corporate and investment banking, careers, and more). It also has versions for customers from different countries.

Webster Bank

Drupal was a great solution for this famous commercial bank’s website. It presents all of the bank’s services and offers a user cabinet, as well as online banking with features like online bill payment, mobile deposit, account alerts, mobile banking, chats with bank staff, and more.

The Carlyle Group

Drupal 8, with its unprecedented multilingual improvements and easy content editing, became the best fit for this famous investment firm with staff working on 6 continents. Their website with over 20 thousand pieces of content was migrated from Drupal 6 to Drupal 8. It has English, Japanese and Chinese language versions, a media room, analytics, and much more.

Principal

This global investment management company chose Drupal as well. The site offers handy and interactive ways to present all the company’s financial products and services related to retirement, asset management, insurance, etc. It also has two languages, an online payment feature, and more.

Swift

On the multilingual website of this global messaging service provider, you will read that they are trusted by 11,000 financial organizations in over 200 countries. And who does this provider trust? Drupal, of course! The site has everything users need to discover Swift services, as well as offering a user cabinet for tracking orders and invoices, receiving online support, and more.

Final thoughts

Let’s get down to business ;) If you would like to have a feature-rich, powerful, and attractive website in the business & finance industry or any other, contact our team of developers with 10 years of experience!

Jan 31 2018
Jan 31

This was a blog post written by guest author Martin Postma (lolandese).
He usually writes directly on Drupal.org as an author of documentation.
Documentation is however not included on Drupal Planet so he asked us
to publish it on our blog to give it more exposure to stimulate the kick-off of this new initiative.

Handing over ownership of a module you authored isn't always easy. You invested probably a substantial amount of time in it. It might feel like giving "your baby" away. Sometimes, however, it is the way to "keep it alive" if for one reason or the other you lack the time to solve major issues or port it to Drupal 8. Even if you intend to stay active as a maintainer it might be good to get more people involved when the complexity of your project grows. Many hands make light work. Besides, passing the baton makes part of the Open Source spirit that makes the community prosper.

To attract others changing the maintenance status of a project to "Seeking new maintainer" is the first thing to do. If you want to say, "Hey, you can become a maintainer, but solve some active issues first", then the Open Ownership Pledge might be a good addition. It gives some guarantees to those deciding to write a patch for your module. On the other hand, it assures you that the project will receive a development boost before passing it on. In short, being a win-win for both sides, it provides some basic rules by which to "play the game" to become a co-maintainer or take over ownership.

Recently the initiative of the Open Ownership Pledge was kicked off by InternetDevels and me (lolandese) with a series of modules on which it was applied. InternetDevels is a Ukrainian based company that worked on both Symfony and Drupal projects long before the release of Drupal 8. Along with excellent Drupal developers, they found themselves with some Symfony developers that were relatively new to Drupal but experienced with Symfony. That gave them a headstart for Drupal 8. The way InternetDevels choose to make those developers "get their hands dirty" with Drupal 8 is by letting them work on contrib modules more than writing custom code.

The first module, UpTime Widget, passed ownership only five days after starting the initiative and resulted in a bunch of issues being fixed and a reinvigorated working Drupal 8 version of the module.

The long-term aim of the Open Ownership Pledge is to have more projects involved that grow and receive continued maintenance by a chain of developers that pass on ownership when needed. That makes part of the spirit of Open Source that makes our community thrive. Please, consider passing the baton of any project you currently maintain on Drupal.org.

Dec 06 2017
Dec 06

Hearing the words “migration from Drupal to WordPress,” some Drupal developers would shrug their shoulders and WordPress developers would applaud. However, there is no place for rivalry, even for such life-long competition as that between Drupal and WordPress, where the most important result is an absolutely happy customer. For every case, there is a platform that fits a website like a glove. And if a customer for whatever reason feels the “glove” is not perfectly comfortable, maybe it’s time to go ahead and change it. Though, it will take, of course, a little longer than a change of outfit :)

When it comes to choosing between Drupal and WordPress, migrations from WordPress to Drupal are more frequent. This is due to Drupal’s unlimited opportunities for various powerful features, fortress-level security, ability to handle more content and users, and so on.

Still, some customers wish to jump from Drupal to WordPress, seduced by the unmatched simplicity of the interface, a gentle learning curve to start working straight away, many beautiful free themes, and more — they just do not need what Drupal has to offer.

For those who are determined to move from Drupal to WordPress, we describe the opportunity to do so.

Drupal-to-WordPress migration via the FG Drupal to WordPress plugin

You can use the handy FG Drupal to WordPress plugin, which is ready for all Drupal and WordPress versions including the latest ones (8 and 4.9, respectively).

It migrates Drupal’s articles, basic pages, categories, tags, images, and more. It also resizes images according to WordPress settings, modifies URLs, preserves the ALT attributes for images, and does lots of other useful things.

The premium version promises to go even further and migrate custom taxonomies, fields, content types, users, comments, node relationships, as well as redirect URLs from Drupal to WordPress, accept user’s Drupal passwords, and so on.

To do a Drupal-to-WordPress migration with the FG, you will basically need to:

  • Install and enable the FG Drupal to WordPress plugin on the WP site.
  • Find the “import” option and enter your Drupal database parameters there.
  • Configure the FG’s content import options and perform the import.

Before the migration, stay safe and do not forget to backup your Drupal website, as well as your WordPress website (if you are migrating to an existing one, not a blank new WP installation).

Drupal to WordPress migrations from our experience

The CMSs are different, so custom content migration needs great care. For many cases, ready tools are not enough and you will need custom migration scripts for Drupal-to-WordPress migration. That’s what we faced when performing migrations from Drupal to WordPress for our customers.

Let’s look at a little example — a website with Books and Quizz content types. We created the appropriate post types in WordPress with extra customization.

  • Books. In Drupal, relationships are provided by the Books module where every book page has its weight. In WordPress, we created a custom type of post and expressed relationships via additional fields.
  • Quizzes. We customized the look of quizzes in the WP Pro Quizz plugin by providing an XML file generation to import all test categories, test topics and issues. This included answers of two types: true-false and multichoice.

Final thoughts

To insure that all your content moves safely and accurately to a new place, contact our WordPress team. We have both Drupal and WordPress developers in our company, so the process is bound to be smooth, with the smallest details, specific to both CMSs, taken into account. Enjoy your Drupal-to-WordPress migration!

Dec 01 2017
Dec 01

What a busy and interesting life an online store has! The Black Friday excitement is replaced with the holiday season rush, and so it goes on and on. But, no matter the season or occasion, your products will be always be ready to attract customers. Great product customization opportunities are among the numerous great features of Drupal Commerce 2.0, the new version of the famous module for building Drupal 8 online stores. So let’s take a glimpse at how product customization works in Drupal Commerce 2.0.

Product customization in Drupal Commerce 2.0

The new version of Drupal Commerce offers a better user experience as well as a new product architecture. In Drupal 7, all products had to be created in their own UI. In the eighth Drupal version, you can easily and quickly create product variations of the same product right away and customize them to your liking.

Unique product variations

Everyone loves a broad range of choices. Your products may (as products usually do) come in various colors, sizes, etc. In Drupal Commerce, these are called product attributes. Each attribute has values (for example, S, M, L for size or red, green, blue for color).

A combination of these attribute values makes a unique product variation. For example, a red, S-size sweater is a product variation that has the “red” value for the “color” attribute and the “S” value for the “size” attribute.

Each product variation is assigned its own SKU (machine-readable ID). Among other benefits, SKU lets you easily track how many products of each variation has been purchased and how many remain in stock.

Product creation and customization: a little step-by-step “crib”

  • Creating product attributes. First, in admin/commerce/product-attributes, create product attributes and define their values. You can configure the options display for the buyers in the cart, drag to reorder the values, make them translatable and more. For extra customization, use fields.
  • Creating product variation types. Next, in admin/commerce/config/product-variation-types, create product variation types and add attributes to them. You can also add fields, like an image field.
  • Creating product types. In admin/commerce/config/product-types, you can create product types and select the newly created variation types.
  • Creating products and their variations. Finally, in admin/commerce/products, create new products by filling in all the required information (description, price, SKU, and more). Use the “Add new variation” button for multiple variations.

The Commerce Fancy Attributes built-in module

Let’s return to our attributes for a second. Thanks to the Fancy Attributes module now built into Drupal Commerce 2.0, you can display creative selectors for product attributes. For example, you can show a color swatch to your customers instead of just a color list.

The Commerce Customizable Products built-in module

Here is another interesting novelty among built-in Commerce 2.0 modules. It’s not just you and your website’s editors who can product customization. Buyers can do it, too (for example, visiting cards require a contact information and a logo). Here is a module that lets your buyers customise products during the checkout process.

The automatic SKU generation option

There is also a contributed module called Commerce AutoSKU that will generate SKUs for you automatically based on the product field values. You can configure the SKU generation pattern for each product type. The Token module will be additional help in this process.

Final thoughts

This has been a short glimpse at product customization opportunities in Drupal 8 online stores, which are truly endless. To organize this process exactly in accordance with your preferences, or get a fresh new online store, contact our Drupal developers who know Drupal 8 well and love Commerce!

Nov 28 2017
Nov 28

In every corner of the world, your potential customers are waiting for your website to start “speaking” their language. And it’s easy to provide that with Drupal 8, a true polyglot among CMSs. Unmatched multilingual capacities are among Drupal 8’s most lucrative features that inspire website owners to choose “the great eight” — either to get a website or to upgrade their existing one. Well, it’s really hard to resist! Just as we cannot help giving these multilingual improvements a little overview.

The multilingual sensation of Drupal 8

In Drupal’s previous version, Drupal 7, multilingual features required installing dozens of contributed modules and making plenty of complicated configurations.

Changing this was the dream of the Drupal community, which started the Multilingual Initiative (D8MI), led by Gábor Hojtsy of Acquia and contributed to by over a thousand enthusiastic developers.

The results are stunning! Drupal 8 understands languages at all levels, since it has a language-first approach. And you will immediately understand what this means when you hear the names of the four core modules that contain Drupal 8’s multilingual capacities: Language, Configuration Translation, Content Translation, and Interface Translation. They let you translate anything!

Translating your interface, configuration, and content

You can feel it already the moment you install Drupal 8. It lets you select your language from an impressive list of a hundred languages, and even gives you a hint by looking at your browser language. If you select a language other than English, Drupal automatically downloads the latest available interface translations from https://localize.drupal.org/. You can then go through the installation and setup process in your own language with no need for a dictionary. This includes RTL (right-to-left) languages.

But it’s just the beginning. You can stay with that single language, or you can choose to add more languages to your Drupal 8 website and make it multilingual. The four above-mentioned multilingual core modules are waiting to be enabled by you and set the wheels turning.

Then, in Configuration — Regional and Language — Languages, you can add any languages you wish to your site, and just watch Drupal download the available interface translations!

They will be displayed in percents next to the language, so you can click on this figure and translate the rest manually. But, most likely, you will be lucky, and almost everything will be translated:

You will also be able to set the default language, provide language switching on your website, set up language detection and selection, and more.

Then, of course, everyone is interested in translating the content. In Drupal 8, it’s possible to make any content translatable — nodes, user profiles, menu items, comments, contact messages, taxonomy terms, and much more. You can set up in every detail, field by field, what should be translatable and what should not, in Configuration — Regional and Language — Content Translation.

In addition, Drupal will let you translate the configuration, like image styles, content fields, account settings, user roles, comment types, and much more, in Configuration — Regional and Language — Configuration Translation.

And you also get a handy user interface for user interface translations! It enables you use the available translations, correct them to your liking, or add your own.

You are absolutely free to decide in every detail which elements should be multilingual on your website, according to your needs.

Wrap-up

This is just a little drop in the ocean of Drupal 8’s multilingual opportunities. For making your website awesomely multilingual, building a shiny Drupal 8 website, or migrating to “the great eight,” you are welcome to contact InternetDevels developers!

Nov 21 2017
Nov 21

The unmatched capabilities to interact with other systems is listed among Drupal 8’s best improvements (along with the Views and BigPipe in core, easier migrations, handier configuration management, excellent web accessibility, and much more). And there are various ways to provide great performance in this interaction. One of them is the new and fresh module called Subrequests. We will briefly get acquainted with the Subrequests’ principle of work and features for speed enhancement today.

Drupal 8 and third-party integration

Let’s first take a glance at your Drupal 8 site’s ability to share its data to any external systems you need. These can be native mobile applications on Android or iOs, super dynamic JavaScript apps (based on Angular, React, Node, Ember, Backbone, etc.), or any other third-party systems.

Among other things, this lets you use the trending “headless”, or “decoupled” approach, when Drupal serves as a back-end and outputs its data to some front-end system for the sake of exceptional speed, interactivity, real-time features, and more.

The key thing here is to present Drupal’s HTML data in the formats needed by these applications (JSON, XML, or HAL+JSON). Just like good interpreters help people who speak different languages, there are high-class “synchronous interpreters” between Drupal and third-party apps.

These great assistants transform the data into the required formats. The Drupal core now has a “team” of these built-in. These are web services: Serialization, HAL, RESTful Web services, and HTTP Basic Authentication.

In addition, there also are great contributed modules, one of which we will present right now.

Subrequests module and its performance-improving mission

How to help the “synchronous translation” work exceptionally fast? Here is where the Subrequests module comes in.

The Subrequests module groups any sets of requests together, with absolutely no limitations. Thanks to this aggregation, all JSON API requests are sent in just one. The absence of round-trips for fetching Drupal’s data greatly improves performance. Drupal bootstrap is only needed once.

The single request contains all the information that the app needs from Drupal. It’s kept in a JSON document called “blueprint.” The blueprint lists multiple subrequest objects.

The Subrequests module allows for very handy options like sending parallel requests, sending requests that depend on the response to previous request, and more.

Installing the Subrequests Drupal 8 module

This module did not exist in Drupal 7. Subrequests are a true novelty of Drupal 8, with its 8.x-2.0-beta3 released just a month ago.

For efficient work, the module needs some external PHP libraries. So to install the Subrequests module with all these libraries, you could use this Composer command:

composer require drupal/subrequests:^2.0

More technical details along with the code samples can be found in the article of the module’s maintainers, Lullabot, and on the module’s drupal.org page.

Wrap-up

To get the best of the Subrequests Drupal 8 module, create custom solutions for your website’s great performance and handy integration, or migrate to Drupal 8, contact InternetDevels developers. Get more news from our newsletter and on our social media pages!

Nov 17 2017
Nov 17

Even when salt, shells or stones were used instead of money, the most successful sellers were those relying on marketing and analytics! After, it was always important to find ways to persuade people to buy goods, as well as to figure out which goods were most in demand. Today, with modern online stores and platforms such as Drupal that are great for e-commerce, the importance of marketing and analytics remains the same. But the tools for them have become far more advanced! In today’s article, we’ll cover some special Drupal modules of this kind.

Nice marketing & analytics Drupal modules for e-commerce sites

You could bring your online store’s usability sky-high, provide perfect display on mobile phones, and make it impeccable from shopping cart to checkout (as shown by the examples of famous e-commerce websites). But even this is not enough.

It’s the marketing and analytics tools that will be the missing piece in the puzzle of your e-commerce website’s success!

Let’s see at least some of them right now. You will find modules both for online stores built on Ubercart and on Drupal Commerce.

Ubercart Early Bird Discount

Encourage your customers to be early birds that catch good discounts! Here is a module for the Drupal store on Ubercart that lets you easily create discounts with a particular end date, as well as set discount amounts in currency or by percent.

Commerce Wishlist

With the help of this handy tool, you can get a Wishlist on your Drupal Commerce store. It provides an “Add to Wishlist” button for products, builds a customizable list of “wishes,” lets users quickly move products from their Wishlist to their cart, etc.

Ubercart Recommender

We recommend you consider this module for Ubercart that allows you to give purchase recommendations to your customers. There are two types of recommendations: those based on the user’s purchasing history and on what other shoppers “also chose.” It works with the Views and is highly customizable.

Commerce Recommender

Here is a similar module for Drupal Commerce. It also gives recommendations on the basis of purchases. If a user has no purchases, nothing will be displayed in the first type of recommendations. To fix this, you could also consider using the Browsing History Recommender module, which uses viewing history instead of the purchasing history.

Commerce Google Analytics

The Commerce Google Analytics module lets you send your order data to Google Analytics. Using Rules, you can determine when to send this data. GA Push integration is one of its additional useful features.

Who Bought What|Ubercart

Get some priceless information to use in your marketing campaigns by discovering “Who bought what.” This special tool will give it to you as a handy list containing all the shoppers’ name, purchase amount, and all other attributes.

Commerce MailChimp

Here is a handy way to track the statistics on your MailChimp e-mail marketing campaigns. The Commerce MailChimp module that offers integration with the popular MailChimp’s eCommerce360 tool.

Commerce Campaign Monitor

Here is a module that smoothly connects your Drupal Commerce website to Campaign Monitor and lets your customers subscribe to your mailing list after the checkout.

Mailjet

You can effortlessly send triggered marketing emails to your customers about abandoned cart and more via the Mailjet. In addition, it lets you track the sales generated by each of your newsletters.

MailUp Newsletter Module

This is a tool that provides the integration between your Drupal online store and the MailUp email marketing platform. Its great features include multiple newsletter subscriptions, extra subscriptions options, automatic data transfer and synchronization between Drupal and MailUp, and much more.

Commerce Reporting

An advanced reporting system included in one module is at your disposal. It gives you table-based and filterable reports about sales, customers, products, payment methods, and more. You can manage all reports in the same handy dashboard, export them as CSV files, etc.

Commerce Conversion Tracking

You can easily track conversions in your online store with Google Analytics, Clicky, or other system of your choice, if you use the Commerce Conversion Tracking module.

Wrap-up

These are just a couple of cool marketing and analytics Drupal modules in e-commerce. In addition, custom ones can also be created, which will work exactly how you wish. For creating custom modules or building a Drupal online store from scratch, you are welcome to contact our developers. Enjoy the age of e-commerce with its modern tools!

Nov 03 2017
Nov 03

When does “smaller” mean “bigger”? When your images grow smaller to perfectly adjust themselves to various devices, while your user satisfaction, audience coverage, website’s speed, and profits grow bigger. A nice formula, isn’t it? This magic ability of images to adjust themselves to screens is how responsive web design works. And it works especially well in the latest Drupal version, Drupal 8, which has built-in support for responsive images. That’s what we’re going to discuss right now.

Responsive images: impeccable in Drupal 8

What does Drupal 8’s native support for responsive images mean? Using Drupal out-of-the-box, you will see that its built-in themes are already fully responsive and look awesome on all devices.

Any other theme can be configured in the same way, since Drupal 8 offers modern and convenient built-in tools for responsive image setup. Let’s take a look.

Drupal 8’s native tools to configure responsive images

These tools include the Breakpoint and the Responsive image modules that have become part of Drupal 8’s core. The Breakpoint module is even enabled by default. The Responsive image (formerly knows as the Picture element module) needs to be enabled by you, though.

Together, they let you set up the responsive output of images on various devices depending on their screen width. The images can be both resized and elegantly cropped. Forget about a heavy 2000px banner on a mobile screen. Those days are past!

Responsive images of appropriate sizes will be displayed according to the breakpoints that you define. Defining breakpoints means choosing window widths at which your image size should change (for example, min-width: 600px). Let’s briefly look at the process.

A glimpse at responsive image setup process in Drupal 8

  • Defining the breakpoints. You can define breakpoints in the YAML file (yourtheme.breakpoints.yml) in your theme’s folder, and organize your breakpoints into groups.
  • Creating the image styles for breakpoints. For each breakpoint, you will need to create an image style here: Configuration — Media — Image Styles. Use the “crop and scale” effect.
  • Creating your responsive image style. In Configuration — Media — Responsive Image Styles, the "Add responsive image style" button will help you put all these styles together to create your final responsive image style.
  • Selecting the style for your field. The final step is to use your style for your actual image field: go to Manage Display — Format — Responsive image and select your responsive image style. Done!

Retina: when “bigger” means “bigger”!

In some cases, the ability of images to get bigger is as important as their ability to get smaller. A great example are HD/Retina displays that have a very high resolution. Here, it’s a great idea to provide a larger image style that’s twice the size using a 2x multiplier in breakpoints. And, of course, the quality of your original images should be impeccable.

Wrap-up

Responsiveness is among Drupal 8’s numerous improvements, for which our two overviews (1 and 2) were not enough. More interesting stories, news, and examples are waiting for you in our newsletter and on our social media pages.

And if you need help with configuring responsive images in Drupal 8, or are thinking to migrate to the latest Drupal version, feel free to contact our developers. Everything’s gonna be responsive!

Oct 27 2017
Oct 27

The Views module lets even non-developers organize and present the website's content in the desired ways. Website administrators love it, Drupal newbies start with it, and Drupal ninjas perform miracles with it. No wonder it used to be the most downloadable contributed module. Well, it still is — in Drupal 7. But, with the arrival of Drupal 8, it got an even higher position — the Views became part of Drupal 8 core, so it no longer needs to be downloaded separately. The Views “inside Drupal” is listed among Drupal 8’s best improvements. Let’s discover a couple of special capabilities of the Views that will let you enhance your Drupal 8 website.

The Views: a true behind-the-scenes architect for websites

Lists, graphs, maps, tables, blocks, calendars, comments, contact forms, photo galleries and carousels, blog posts… The Views module shapes all this and much more with the data it fetches from the database. It looks attractive!

However, despite the name, the essence of Views lies much deeper than the attractive content presentation. Its behind-the-scene work is priceless. The module lets you not just list your entities, but also filter and sort them in all kinds of ways, change attributes, create relationships, and give or deny user access. The Views caches the data to improve your website’s performance. The list could go on. Here are a few examples of its special capabilities.

Some special ways to use Views on your Drupal 8 website

Views and REST export

Share your content with some other system — for example, a mobile application or one built on the basis of JavaScript. It’s possible to output your views in JSON, XML, HAL+JSON, or other non-HTML formats.

Setting up REST API export with Views is easier in Drupal 8 thanks to built-in web services like Serialization, RESTful Web services, HTTP Basic Authentication, and HAL. They need to be enabled.

The “Provide REST export” field is already included into the Views setting form and just waits for you to check it.

Using Views with a third-party data store

Your Drupal website’s “classic” SQL database is far from being the only possible data store for the Views. There are useful data source plugins ready for Drupal 8 — Views XML Backend, EntityFieldQuery Views Backend, Socrata, Elasticsearch Connector, Google Analytics Reports, and more.

Slideshows and carousels

Make your website even more attractive by creating slideshows and carousels, which can include various kinds of content and be responsive. Add-on modules for the Views like Views Slideshow, Slick Carousel, Slick Views, and Views Bootstrap will help you with it.

Contextual filtering

Among the great filtering and sorting options of the Views there’s an option to set up content-based filtering based on dynamic information. For example, you can display all content created by certain users. Contextual filters are very convenient because the values are fetched programmatically or via an URL.

Adding a relationship to Views

To present related content on your Drupal 8 website, it’s necessary to create a relationship to a view. Then you will receive information that is not contained in the base table selected during the Views creation. In the advanced settings of the “Display” page, you will find the “Add relationship” button and a selection of tables to pull data from.

Embedding Views

Sometimes it’s necessary to embed Views in your pages using PHP code. For this, there is a special views_embed_view() function.

Final thoughts

This has just been a very small collection of the Views module’s special powers. It also has many more to supercharge your Drupal 8 website with. Our Drupal developers are ready to use them to the full for your website’s benefits!

Oct 20 2017
Oct 20

Let’s talk about secret ingredients in menus. Like the right spices, they create special flavours that your guests really enjoy. When it comes to your Drupal website menus, the recipe is simple: just add some jQuery! Using the Superfish Drupal module, which integrates the jQuery Superfish menu plugin, you can create interactive multi-level menus with exceptional usability features. Let’s see how it works on Drupal 8’s example.

The Superfish Drupal module and its special menus

Drupal core provides easy ways to create multi-level drop-down menus with great customization opportunities. However, the Superfish module goes even further and brings menu interactivity to the next level.

The Superfish offers great web accessibility enhancements, which are so important for Drupal 8’s philosophy. Superfish menus are available to screen readers. They are keyboard accessible and touch-screen compatible.

These menus can automatically adapt their width to that of smaller screens. It’s also possible to make multi-column sub-menus, aka megamenus. The Superfish module also supports RTL (right-to-left) writing.

The “easing” effects by the jQuery Easing plugin are designed to make the animation more realistic.

And this is far from being the full list of the module’s benefits. So let’s move on to the practical part and create a menu with the help of the Superfish.

Creating a Drupal 8 menu with the Superfish module

Get the dependencies

First, let’s get the required dependencies for the module’s work.

  • Download the JavaScript library called Superfish library 2.x and place in the libraries directory of your Drupal root folder. Rename the folder to “Superfish”.
  • Optionally, you can also download the jQuery Easing plugin and unzip it to the libraries directory as well. The folder should be named “Easing”.

Get the Superfish module

With the dependencies installed, the way is paved for downloading and enabling the Superfish module on your Drupal 8 website.

Get your menu

You will need a menu to work with. To create one, go to “Structure” — “Menus” and click “Add menu”. Create the menu structure and then fill it with links leading to pieces of content. Check “Show as expanded” if the menu items have children links. Click save after each new change.

When the menu is ready, click “Structure” — “Block layout,” choose the place for your menu on your Drupal website, find your menu marked with the “Superfish” category on the list, and click “Place block”.

Make your Superfish settings

  • The “Configure block” window has plenty of settings to your liking. Here are some of the most interesting ones.
  • Your options for the menu type are horizontal, vertical, or “NavBar”.
  • Black, blue, coffee, white, or none will be your menu style choices.
  • You can also choose to add arrows or drop shadows.
  • Define your animation speed as slow, normal or fast.
  • The mouse delay is how long the menu stays open when the mouse hovers away.
  • You can configure the slide-in effects created by the jQuery Easing plugin.

And there are lots of other options related to touchscreens, smallscreens, multi-column submenus, extra CSS classes, and more.

Final thoughts

There is always a way to implement all your ideas about menus. Our developers will help you configure the Superfish or other Drupal 8 modules, or create custom ones specifically for you. Your guests have no chance to stay indifferent to your website — they will enjoy their navigation due to the attractive and interactive menus!

Oct 13 2017
Oct 13

Here is another recipe for success. You can have a whole team of websites playing for you, and they don’t have to be created from scratch or managed separately. The secret lies in Drupal’s well-developed multisite functionality. Thanks to this, Drupal will not only let you leave your competitors behind, but also multiply this effect by many times. Let’s see how the multisite feature works, when to choose it, and what benefits it brings. In addition, pick up a couple of useful multisite modules and tips.

The essence of Drupal multisite functionality

According to Drupal multisite architecture, you can have several sites running on the same codebase but having separate databases and configuration settings. They will share the same Drupal core, modules, and themes, but at the same time will be customizable to your liking.

For example, you can enable and disable the shared modules as you please. You are also free to decide whether you want to add some site-specific modules and themes. Welcoming the same users with single sign-on or not, sharing content across websites or not, creating a similar or different website’s look and feel — these are all options you have.

Like siblings in real families, multisites can look and behave alike or each have their own original styles. However, they definitely share their family DNA.

Hence the next main principles to stick to when deciding on multisite architecture: it’s best to choose it if your website family is going to have similar functionality, share important Drupal modules or use the same Drupal distribution. In these cases, it will be especially beneficial and easy to implement.

At least some of Drupal multisite benefits

No extra development costs

By setting up multisite, you save on development costs by not creating related sites from scratch.

Quick launch

Just like you don’t have to pay for creating websites from scratch, you don’t have to wait for it.

Brand consistency

With multisite architecture, it’s much easier to stick to brand guidelines on the design across websites.

Less efforts for website management

You will need less time, efforts and costs for your website administration, because you can do certain actions only on one without repeating them on all the others.

This includes:

  • website upgrades 
  • sharing content
  • making changes

and much more.

A couple of useful multisite tools and tips

Drush

Drush command-line interface is very useful for managing multisite deployments and upgrades. According to drupal.org, it lets you cope with 100 to 1000 websites, and this opportunity is widely used by university websites on Drupal. Multisite is a real salvation for them!

Sites.php

Using the sites/sites.php file in Drupal 7 and the sites/sites.example.php file in Drupal 8 to reference sites will help you more easily migrate between development, testing and production environments.

Contributed modules

Consider some Drupal modules that extra helpful. Thanks to the Domain Access module, you will be able to easily share configuration, users, and content between your affiliated sites. Menu Domain Access lets administrators decide which menu items to hide and which to show to users on selected domains. Apache Solr Multisite Search provides Apache Solr Search function across multiple sites. RobotsTxt will dynamically generate a different robots.txt for each member of your website family — and there also lots of others.

Wrap-up

Enjoy the multiple benefits of Drupal multisite! Our team is always ready to consult you and, of course, perform the smooth multisite setup.

Always stay up-to-date by subscribing to our newsletter!

Oct 05 2017
Oct 05

Every six months, there comes a fresh Drupal 8 minor release full of lucrative features — it’s the essence of Drupal 8’s continuous innovation policy. And another big day has come! Drupal 8.4.0 is out on October 4, making this autumn especially rich in gifts. Just two weeks after the appearance of Drupal Commerce 2.0 for Drupal 8 online stores, Drupal 8.4.0 takes its turn in the spotlight. Let’s see why.

The benefits of the newly released Drupal 8.4.0

Drupal 8.4.0 brings us noticeable enhancements in content editing, media handling, workflows, website administration, configuration management, migrations, third-party integration, performance and scalability, developer experiences, automated testing, and more. We go into the details below.

Easy updates and Drupal 8.4’s friendliness to predecessors

The idea of backwards compatibility with previous versions for easy upgrades is receiving a lot of attention in Drupal 8. Of course, Drupal 8.4 is backwards compatible with Drupal 8.3. This includes all public APIs, while internal APIs may require special attention.

Generally, updating between 8.3 and 8.4 should be as easy as updating between, say, 8.3.2 to 8.3.3. Websites should make this update, and enjoy all the improvements that come with!

New modules and Drupal 8.4’s love for experiments

According to Drupal 8’s policy, every minor release has a host of new and interesting core modules, which start out experimental and then reach stability. Drupal 8.4’s experiments have been incredibly lucky!

So let us introduce the team of newcomers to core. Originally experimental, these useful modules have become stable in Drupal 8.4:

Inline Form Errors

Users will easily learn about some entry errors thanks to the module that provides their summary at the top of the form. It also gives individual error messages for form elements. It’s all available to screen readers, which is a great web accessibility improvement.

Media

The Media module greatly assists the whole ecosystem of contributed modules based on Media Entity by offering an API for reusable media entities.

Datetime Range

The Datetime Range module allows you to provide an end date in contributed modules such as Calendar and the like.

Layout Discovery

The Layout Discovery module offers an API that provides compatibility between core and contributed layout solutions. It lets modules and themes register layouts.

Workflows

The Workflows module gives us a system of states that show progress (Draft, Archived, and Published). This is useful both for publishing and non-publishing workflows.

These modules are on the point of becoming stable:

Content Moderation

The Content Moderation module offers efficient ways of applying the Workflows module’s capabilities to content.

Settings Tray

This module improves the theming experiences by letting you configure blocks, menus and other elements from the frontend.

Place Blocks

Thanks to the Place Blocks module, you will be able to place a block on any page and immediately see where it is displayed on your website, without the help of your administration form.

Field Layout

The Field Layout module offers special opportunities in rearranging fields.

Migrate, Migrate Drupal, and Migrate Drupal UI

This “team” is responsible for providing a general migration API, migration support, and a handy user interface for migrations.

Drupal 8.4’s support for everything new

New Symfony, jQuery, and jQuery UI

Let’s take the best from Symfony and jQuery! The Drupal 8.4.x improvements, including the updates of Symfony to version 3.2, jQuery to version 3, and jQuery UI to version 1.12, are very helpful

Updating Drush

For working effectively with Drupal 8.4.x, you will need to update your Drush to 8.1.12 before you start using it.

No old browsers

Beginning with Drupal 8.4.x, there is no support for Internet Explorer 9 and 10. It will still be displayed on them, but no bug fixes will be made. Support will be removed totally in Drupal 8.5.x.

Wrap-up

This is just a glimpse at Drupal 8.4 improvements. If you need help updating your site to 8.4.0, or if you are considering an upgrade to Drupal 8 from Drupal 7 or 6, our developers are always here for you.

Sep 26 2017
Sep 26

We have a confession to make. Frankly, we’re becoming kind of shopaholics ;) After the release of Drupal Commerce 2.0, our passion for discussing and building cool Drupal 8 online stores keeps growing. But, considering the awesome modules for e-commerce in Drupal 8, it makes perfect sense!

The newly released Drupal Commerce 2.x is bursting with great features, and Ubercart for Drupal 8, in its alpha, is getting ready to catch up. These two modules represent whole e-commerce platforms.

In addition to these, however, there is a wealth of other helpful Drupal 8 contributed modules for online stores. While some of them are still in alpha or beta — their development will go quickly — we can take a look at a couple of examples right now!

Some Drupal 8 modules for e-commerce

Commerce Square Connect

It’s hard to imagine a Drupal 8 online store without good third-party integration. Here is a module that allows for online payments with Square payment gateway in Drupal Commerce. Tokenization, fraud monitoring, PCI compliance, and other features enhance payment security.

Commerce Stripe

This module brings Stripe, the famous payment platform, to Drupal Commerce. It has advanced tokenization functionality for safety. Without leaving your online store, users can pay with almost anything — from Visa to BitCoin.

Commerce Paytrail

Another payment gateway, Paytrail, formerly known as Suomen Verkkomaksut, could come to your online store with the help of the module of the same name for Commerce. It supports S1 and E1 payment types.

However, the talks about payment gateway modules for Commerce can be endless, since there also are Authorize.Net, SmartPay, Payeezy, Paytrail, Worldline, Amazon Pay, and many others.

Ubercart QuickPay

What about Ubercart? There is a bunch of online payment modules for it as well. One of them connects the Danish payment gateway, QuickPay, to your online store. It offers two payment options: QuickPay Embedded and QuickPay Form. Its benefits include multiple language support, safety features, payment refund support, and more.

Tawk.to Live Chat

Effective e-commerce is inseparable from real-time customer service. So you will need a handy and powerful live chat application. The special module, created exceptionally for Drupal 8, integrates the Tawk.to chat with your Drupal 8 online store.

VAT Number

The VAT Number module is responsible for providing a new "VAT number" field, checking VAT structure, verifying VAT against EU SOAP server, making sure it matches the shipping country, and other useful things.

Commerce Ajax Add to Cart

This tool allows you to harness the power of Ajax for your shopping cart. When new items are added, the information is updated without a page refresh, and a pop-up message informs you that you have successfully added something.

Commerce Shipping

The Commerce Shipping module provides the calculation of shipping rates for goods. It integrates shipping service selection with your checkout and order edit form. You can make your flexible settings in the user interface.

Ubercart Volume Pricing

Set an unlimited number of discounts for buying products in bulk. You can do it right from the product edit form thanks to the Volume Pricing module for Ubercart. It also lets you notify your customers about how much they could save if they buy more.

Easy CurrencyCON

This is a user-friendly currency converter for Drupal websites, which allows your customer to quickly convert any currency into any other. You can use multiple currencies at a time, as well as swap currencies.

Final thoughts

We promise you that you will never be able to tear your eyes from your magnetic and shiny Drupal 8 online store — soon you, too, will be addicted. Addicted? No, just in love!

Let’s discuss how you want your shop to look!

Sep 20 2017
Sep 20

It’s always been known that Drupal is a great choice for e-commerce websites. The cool online stores built with Drupal are a proof of that. However, in Drupal 8’s younger, shy days, described in our interview with the famous drupaler Andypost, the new e-commerce functionality wasn’t fully ready. At that point, it didn’t make sense to build online shops with “the great eight.” Those days are long since gone! On September 20, the long-expected Drupal Commerce 2.0 for Drupal 8 has been released. However, even before the steady release, over 1,500 websites have begun using it.

Drupal Commerce 2.x has so many cool features that it makes you dizzy, like looking at the window display at a luxury store. The recent release candidate 1, release candidate 2 and release candidate 3, with their fresh updates, have become the final steps towards the stable Drupal Commerce 2.0. Now it’s time to celebrate — Commerce 2.x parties are starting across the globe!

Let’s look through some remarkable features of Drupal Commerce 2x, as well as point out a couple of freshest improvements.

“New arrivals!” or some benefits of Drupal Commerce 2.0

Easier installation: Ludwig as an alternative to Composer

Traditionally, Drupal Commerce 2.0 is installed with Composer, but it is not always easy. Maybe a handy GUI will be built in the near future, but right now, a fresh alternative to Composer has been released by the Commerce creators. Now you can use Ludwig to manually install the required libraries.

Over 30 payment gateways and handy integration

Improved APIs for Drupal Commerce 2.x significantly reduce the development time for integrating payment gateways. In addition, over 30 special modules make it easy for Drupal 8 e-commerce sites to work with the payment gateways, and all of the modules have been freshly updated and are ready to go!

Which payment systems do you prefer? The choice is as broad as an online store’s product range! PayPal, Authorize.Net, Payplug, Braintree, Square, Stripe, Ingenico, Alipay and Worldline are just the beginning of the list. Other payment methods are also possible like cash on delivery, card on delivery, check, bank transfer and more.

Handy user interfaces are provided for managing payments. To ensure better payment security, there is tokenization support (replacing credit card data with so-called tokens that are useless to trespassers and are handled by the payment provider).

Cool checkouts

On your Drupal 8 online store, you can configure multiple checkout processes for different order types. This includes the number of steps required from the user, the information they have to provide, the possibility to buy with no registration and much more. By the way, for a better user experience, addresses can now be reused for your returning customers.

“Smart” taxes

The right taxes will be automatically included in the product prices. This is due to useful plugins with a whole collection of tax rates, third-party services like Avalara, and the ready logic for using it all. Your online store’s home country, its country of registration, the user’s location, the physical or digital product type and other factors can be taken into account. Configuration options are really flexible.

Multiple stores

Handling multiple e-commerce stores is a breeze now. You can define special settings for each online store (contact information, default currency and more). Cross-selling the same products in different e-shops is also possible.

Products and their variations

You can comfortably create and edit product variations, different by such product attributes as color, size, pattern or whatever. Each product variation has its own machine-readable ID, or SKU. There are great opportunities for inline editing.

And more

Other Drupal Commerce 2.x niceties include an improved UI to create discounts and coupons, better currency management, helpful Twig templates, and so much more.

It’s time to see your e-shop cart bursting with orders!

Well, this has been just a brief review of Drupal Commerce 2.x novelties. Believe us, your shiny, modern, easy to use, and powerful Drupal 8 online store will be capable of absolutely anything! For building one from scratch or adding Drupal Commerce 2.x functionality to your existing Drupal 8 site, contact our developers.

PS. Attention for the most tech-savvy readers! Much water has passed under the bridge since 08/2016 (the times of Drupal Commerce 2.х beta 1), but we still cannot help offering you this blog post by our developer with instructions on setting up an online store with Drupal Commerce 2.0. Click on it, and take the best from it.

PPS. To never miss an interesting update by staying with us on Telegram, Facebook, Twitter, Google+, LinkedIn, and receiving our official newsletter.

Sep 15 2017
Sep 15

Drupal 8’s “fruitful fields” of opportunities are endless — so let’s take another walk through them! It lets you optimize your website’s performance with the BigPipe module in the core, boost your SEO with a host of useful modules, improve your website’s upgrade process, bring order to user roles and permissions, enjoy an easier configuration management, get in line with the latest web accessibility standards, and that’s just the beginning of the list. Along with everything else, Drupal 8 also lets you create custom field formatters, so today we’ll take a glimpse at what they are and how you can build them.

Field formatters in Drupal 8 and what they do

In accordance with Drupal 8’s architecture, field formatters are plugins — and pretty useful ones at that. Their main job is to tell Drupal how the field values should be presented to the website users, as well as what options there are to configure this display. This should be useful and engaging for end users and fully reflect your ideas. To have absolute freedom in the implementing this, you can create your custom field formatter plugin in Drupal 8.

A few tips on creating custom field formatters in Drupal 8

Creating your module

Everything starts with a module — this is Drupal, after all! You need first to create a module that will “host” your field formatter code. To implement it, create this folder structure inside your new module’s folder:

MyModule/src/Plugin/Field/FieldFormatter

Creating your field formatter class file

OK, the folder is ready — you can now add a new field formatter class file (one for every formatter you build):

MyModule/src/Plugin/Field/FieldFormatter/MyFormatter.php

The namespace should look like this:

Drupal\MyModule\Plugin\Field\FieldFormatter

Plugins are classes, and so they extend from each other. Your field formatter class should extend the \Drupal\Core\Field\FormatterBase class. MyFormatter class name should reflect what the formatter does, and, most importantly, end with a “Formatter” suffix.

Making an annotation

Annotations are a great OOP practice in Drupal 8 because they contain the class metadata. To help your new plugin get discovered, you need to make the @FieldFormatter annotation. It should contain the most important data about your new field formatter such an ID (machine-name), a label (human-readable name), and the types of fields it is used for.

Using methods

The settingsForm() method will let you define specific options, and the settingsSummary() method is responsible for informing end users about the formatter settings. The viewElements() method deals with rendering the field data.

Walking deeper into the fields

If you are interested in deeper insights into to Drupal field formatting, check out blog posts by our developers about the Field API in Drupal 8 (custom formatters and widgets), as well as the Field Image Tooltips module. The latter has been created by one of our teams, and deals with adding images with tooltips that are available both for Drupal 7 and Drupal 8.

Hopefully, you enjoyed this little walk through the fields (or their formatters) in Drupal 8. Our developers are ready to help you in creating custom field formatters, moving your website to Drupal 8 to let you enjoy the innovation, or building an entirely new site for you. Be ahead of the field with Drupal 8! Let’s discuss it right now.

Pages

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web