Sep 05 2017
Sep 05

Greetings to everyone! It looks like “8” is a lucky number and 8/2017 is a lucky month for drupalers. By taking a little extra energy from the sun (which is pretty environmentally friendly), the Drupal community has made so many awesome things! It feels like yesterday that we offered you the July 2017 Drupal news summary, and now we’re moving on to the wrap-up of the hot and productive August 2017.

What’s new with Drupal in August 2017

New releases of some Drupal modules

  • A hot month with hot releases! It’s a true embarrassment of choices. Let’s have a little “tasting session” and appreciate at least a couple of examples:
  • The new version of Drupal developers’ favorite assistant, Devel 8.x-1.0, has rolled out with plenty of fanfare. It features Drush 8 and Drush 9 support, new Twig extensions for debugging, and much more.
  • Especially those interested in headless (or decoupled) Drupal projects, will be happy to see the GraphQL module in its new and improved 8.x-3.0-alpha5 version.
  • Providing meta tags for your website has become more convenient due to the Metatag 8.x-1.2 version. It features bug fixes and initial JSON support.
  • What about building attractive web forms? It’s a breeze with the entirely new code base of Webform 8.x-5.x. Here goes its beta16 release with lots of updates.
  • Clear external caching systems in accordance with Drupal 8’s new cache architecture. For this purpose, you have a new and improved Purge 8.x-3.0-beta8.
  • The Workbench, a whole suite of modules to make content management processes more convenient, has introduced its new release in August — 8.x-1.0.
  • Websites now “socialize” even better thanks to the Social API’s 8.x-1.1 release. This module is part of the Drupal Social Initiative, and is now compatible with Social Auth 1.x.
  • You will appreciate working with local and external libraries using the Bootstrap Library 8.x-1.9 release that has Bootstrap 4 beta version added in August.
  • Running Cron jobs is now easier both in Drupal 7 (due to the option to disable the execution of scheduled jobs in 7.x-2.5) and in Drupal 8 (due to numerous bug fixes in 8.x-2.0-alpha2).

Drupal security fixes for your good night’s sleep

Drupal is a solid fortress, whose guards are always on the look-out. The Drupal Security Team has “caught” a number of security vulnerabilities (ranging from moderately critical to critical) and made fixes to them.

The long-expected Drupal 8.4: alpha becomes beta

We are steadily moving towards Drupal 8.4. The previous step was Drupal 8.4.0 alpha1, and now August brings us Drupal 8.4.0-beta1. Hopefully, these steps will finally lead us to the stable 8.4 release in October!

Summer, bye till next year! Internet Explorer 9 and 10, bye forever!

August 2017 was time to say goodbye to Internet Explorer 9 and 10. Beginning with version 8.4, Drupal stopped official support for them, so no public bug reports will be received by the security team. Hopefully you’re not upset? ;)

Drupal should know its heroes

To be a Drupal hero, no one needs a Superman cape. There are so many awesome drupalers who help develop Drupal in various ways every day! And the Drupal Association is re-launching a program to highlight these real Drupal heroes. Wanna join the special committee on this? The Association welcomes you!

The wrap-up of the wrap-up

Here is our August 2017 Drupal news summary. Is there anyone regretting the end of summer? If you are, there’s no need to be blue — every drupaler know that the autumn’s gonna be rocking! Take the best from what Drupal offers, enjoy new features or an entirely new website, and know you can always rely on our expert Drupal team.

Aug 15 2017
Aug 15

Creating unique content is a direct way both to Google’s and your customers’ hearts, and Drupal 8 is making the road much smoother and the journey more enjoyable! Creating interactive HTML5 content and content modelling in Drupal 8 are just a couple of examples we’ve already described. So today, let’s take a glimpse at the Entity Browser, one of the modules from Drupal 8’s collection of media management tools.

Well, saying “one” would probably mean diminishing its capabilities, because the Entity Browser has a whole ecosystem around it and serves as the base for creating many cool browsers. It’s like a large box of treasures, and we will now unbox some of them.

How Drupal 8’s Entity Browser makes content editors happy

Great times have come for content editors (and not only for them), since the appearance of Entity Browser, an incredibly flexible tool for handling (browsing, selecting, creating etc.) entities. With it, it’s possible to drag-and-drop multiple images at once, reorder or remove them, reuse them for other articles, upload more images in the process, easily search for related content by various criteria, create and add quotes without opening a new tab, create another piece of content without leaving the original form, embed entities into WYSIWYG, and much more.

Plugins for the Entity Browser

Entity Browser relies on Drupal 8 core plugins to do its work. The heart of Entity Browser is the Widget plugin, which is responsible for selecting and creating entities. The Widget Selector plugin deals with the options for switching between widgets, while the Selection Display plugin works with the ways the selected entities are displayed. Finally, the Display plugin determines how the Entity Browser will look.

Configuring Drupal 8’s Entity Browser

The Entity Browser’s flexibility lets it be literally whatever you want it to be and provide the perfect entity handling workflow for you. With your Entity Browser module installed successfully (as well as the Ctoools module just for this process), go to Configuration — Content authoring — Entity browsers and click the “Add Entity Browser” button. You can give it a name and then shape it to your liking.

1. On the same page, select the general features of the Entity Browser by configuring the necessary plugins.

  • The display type of your entity browser can be: a standalone form, an iFrame container, or a modal window.
  • The available widgets can be presented as: a dropdown menu, a single widget or horizontal tabs.
  • The options to show the entity selection area to the editors are: a preconfigured view, no selection display, or multi-step selection display.

2-3-4. Configure the details of your display type, widget selector type, and entity selection area.

The next three steps involve a more detailed configuration (sizes, styles, auto-opening etc.) of the plugins you have selected above. This will not take long — some of them even require no further configuration.

5. Add the widgets to your browser.

Equip your content editors with as many powers as possible. The available widget plugins are: “View”, “Upload,” “Entity form,” and “Upload images.”

Congrats — your Entity browser is created!

Ready browsers to choose from

You can also pick one of the very nice pre-configured browsers created on the basis of the Entity Browser. They are contributed Drupal modules you also need to download and install: Media Entity Browser, File Entity Browser, Content Browser, Entity Browser Enhance(d|r), and Slick Browser.

Thunder and Lighting

There also are full Drupal distributions using the Entity Browser. They are called Thunder and Lightning and are meant to provide an improved editing experiences.

Entity Browser and Inline Entity Form

The Entity Browser’s incredible “friendliness” lets it interact well with a great number of other tools. Among them, we would like to mention one we already discussed — the Inline Entity Form module in Drupal 8.

Entity Browser and Inline Entity Form are used together for creating new entities and browsing existing ones.

This is just a glimpse at the Entity Browser module, but its capabilities are endless. Moreover, the future looks very bright for the concept of media handling due to Drupal 8’s media initiative. To get help with configuring the Entity Browser module, building custom features, or migrating to Drupal 8 with all its innovations, you are welcome to contact our developers.

Aug 11 2017
Aug 11

Combining different tools to produce fantastic reactions is the true “chemistry” of web development. The special trend of the day is using Drupal with JavaScript tools. We’ve had a chance to look at the benefits of using Drupal with Angular and Drupal with Node. Now, it’s time to describe another chemical reaction — between Drupal and ReactJS, which results in the appearance of websites and apps with cosmic speed and interactivity. Indeed, these qualities are in the DNA of the whole JavaScript family. So what makes one of its youngest members, ReactJS, stand out? Let’s take a closer look at it and find it out.

ReactJS and at least some of its benefits

“You can’t scare me — I handle Facebook’s interface”

Such a quote could easily belong to ReactJS. This JavaScript library for creating user interfaces was built by Facebook engineers. At first it was only used internally and then was released as an open-source project. Considering the scope of Facebook, there’s hardly any project ReactJS can’t cope with when it comes to building large-scale dynamic applications with real-time data change. Nor is it used by Facebook alone — check out lots of other projects using React.

Virtual DOM

One of the awesome features of React is its effective approach to DOM updates. When a page is loaded, the browser generates its DOM (Document Object Model). However, this is traditionally a bit of a weak, or, let’s say, slow point of JavaScript. To significantly speed things up, React JS uses a lightweight, virtual DOM. React discovers which virtual DOM objects have changed and updates the necessary parts of the real DOM, not the whole DOM tree. This provides a great performance boost, as well as makes a developer’s life easier.

Component structure

In ReactJS, it is easy to create self-contained, independent components and put them together in large-scale applications. Parameters are passed to each of the components. One-way data flow Data flows through your application in a single direction after some change. This makes the data flow more predictable, gives you a better control over it, and lets you easily track changes.

Easy to work with

React presents a rather simple programming approach with no complicated concepts. It easily integrates with absolutely any JavaScript library. Born in 2013, React has developed a large ecosystem around itself. Its active community keeps creating new libraries, tutorials, and other helpful stuff.

Drupal and ReactJS

Drupal is great for absolutely any type of website — social, educational, ecommerce, healthcare and so on. It can handle any amount of users and pages, as well as any website scale and complexity. With the special front-end miracles of ReactJS added to this, this can produce absolutely fantastic results.

The combination of Drupal and ReactJS is most beneficial for websites with plenty of dynamic page elements and a giant amount of constantly-changing data that requires smart, real-time updates. Other examples are when you need to provide an automated data exchange or access to data from mobile apps. However any type of website or app will benefit from an ultra-quick and magnetically engaging interface.

The most popular way of combining Drupal and React is using React as a lightweight front-end for the so-called decoupled (or headless Drupal) as a CMF and data source. The one-way data flow of React JS helps shape the web page in accordance with the data sent from Drupal's RESTful API.

Drupal 8 has special opportunities for React integration, thanks to its built-in RESTful services, but using JSON API will make your developer’s life even easier. Another hot trend is combining Drupal 8 with React by means of GraphQL. Drupal 7 has to rely on contributed modules to work with React, but the integration is possible.

If you are interested in using Drupal and ReactJS for your project, contact our developers who love modern technologies, especially in their best combinations!

Aug 04 2017
Aug 04

Hey, everyone! Summer moves on — together with its lovely sunsets, yummy fruit and berries and so much more. This just inspires us to grab a basket and gather some fresh, ripe, and tasty... Drupal news for you! ;) You’ll see that July 2017 has been really very fruitful for Drupal, because the community has been creating great stuff with a special, summer inspiration. So discover the new releases of Drupal modules, take a glimpse at Drupal 8.4 as Drupal 8.3’s successor, and find some other nice surprises. Enjoy your July’s Drupal basket!

What’s been new with Drupal in July 2017

New releases of some Drupal modules

Drupalers have been working like busy bees, so the second summer month of 2017 has given us dozens of new module releases to fit every taste, or, should we say, every website’s needs. These are just a handful of examples:

  • This summer, honey is getting sweeter and spam prevention stronger thanks to the updates in the 8.x-1.27 version of the Honeypot module.
  • Do not miss Commerce 8.x-2.0-Rc1 with lots of enhancements in payment gateways, checkout, taxes and more.
  • PayPal integration has become easier due to PaymentsPro improvements in the Commerce Paypal’s 8.x-1.0-beta1 release.
  • The AdvAgg 8.x-3.0 is now even better at optimizing and compressing JS and CSS, as well as cooperating with other modules.
  • The Social Login module, allowing users to sign up and sign in from social networks, has become stronger now that a PHP syntax error is fixed in 8.x-1.6.
  • A couple of new caching capabilities have come to the CDN 8.x-3.1 bringing it in line with the standards.
  • Creating search functionality has become handier both for Drupal 7 and Drupal 8 websites, since the Search API has two new releases with updates and fixes: 7.x-1.22 and 8.x-1.3.
  • Generating a GraphQL schema for Drupal 8 is a snap with the new and fresh GraphQL 8.x-3.0-Alpha1.
  • You’ll enjoy working with JSON thanks to a bunch of improvements in JSON API 8.x-1.1.

Docker for Drupal 2.3.0

Another great news for those who are using Docker in Drupal development. The new version of the popular stack, Docker for Drupal 2.3.0, is out in July 2017 with lots new Docker images, a handy UI, security updates and bug fixes.

Sessions selected for DrupalCon Vienna

It’s always hard to select the best from the best. But the organizers of DrupalCon Vienna did it! Discover the selected sessions for this international meetup that will gather drupalers from across the globe on September 26-29, 2017.

Drupal 8.4.0 is coming closer

Everyone expects Drupal 8.4 with big impatience. Though the release itself is scheduled for October, “the fruit” is almost “ripe” — this summer’s giving us the alpha and beta versions of Drupal 8.4.

The alpha-1 version of Drupal 8.4 has just come out. And, by the end of summer, we are most likely to see Drupal 8.4 beta.

So what will be improved in Drupal 8.4.0? A handful of awesome modules should move from alpha to beta or reach stability. These are Layout Discovery, Inline Form Errors, DateTime Range, Workflow, Content Moderation, Migrate / Migrate UI, Settings Tray, and Place Block. Great improvements also await media handling in Drupal. And it’s just the beginning!

A little about victories

One of the best Premier League clubs have stricken the best goal in their career — London’s Arsenal have launched their new website in Drupal 8. It features news, history, ticket info, live results, online store and much more. New victories await both Drupal and Arsenal, and we are glad to see the collection of awesome sports websites built with Drupal got another representative with a true winning spirit.


We have told you briefly what’s new with Drupal in July 2017. Hopefully, this has been appetizing inspiring enough for you to get new cool features or an entirely new fabulous site. And our expert Drupal team will help you make it all come true!

Aug 01 2017
Aug 01

The smart drop and the clever whale — there is no doubt that Drupal and Docker are highly compatible! It seems like their element is water, however, their true “element” is efficiency. Flexibility, security, and open-source standards are also worth mentioning. So after sharing a collection of useful links for working with Docker, we would like to take a closer look at this great “couple” and see why it’s worth using Docker to boost your Drupal development.

Docker: where containerization starts

The best shipping service should be able pack your things well, so they do not take up much space and are properly separated from each other. It should then take them quickly and securely to any place, and you should know they will arrive in the same condition you sent them in.

Docker offers more than that. This lightweight, secure, open-source containerization platform is meant for creating, shipping and running your app or website. You can easily pack it – together with all its dependencies, settings and everything else it needs for working – into a Docker image, and then run it anywhere regardless of the environment. When you start your image, you get a container running. Containers, or instances of images, can be multiple for one image.

Docker in Drupal development: use areas and benefits

Docker makes the lives of Drupal developers and system administrators much easier by simplifying and streamlining many processes which include, but are not limited to:

● setting up a new environment

● deploying your new Drupal website’s copy

● continuous integration

● migrating your website to another server

● website upgrades from one Drupal version to another

● building, scaling, testing, and debugging your Drupal website

● configuring an infrastructure

Why exactly is Docker so helpful to Drupal developers and admins in all that and more? Let’s see.

● Consistency is all you need. Docker lets you improve collaboration between developers who work in different environments. It is easy to switch from a project using one PHP version to a project using a different version. Docker also provides good isolation from the host OS.

● Containers are highly configurable, fast and easy to create, configure, scale vertically and horizontally, discard or rebuild.

● Containers do not take up much space on disk — they are very lightweight. There can be many of them on the same host machine.

● The isolation of containers from each other lets the whole system stay uncompromised in case something goes wrong with one container. Usually, one container is responsible for one process or service. Container isolation is not complete (as is the case with classic virtual machines), but it is still beneficial for speed.

● There are plenty of helpful Docker images for Drupal on Docker hub that you can use right away. For example, our company’s repos offer lots of Docker images and containers (1 and 2). You could also check out the popular Docker4Drupal stack by Wodby that will help you speed up your local development on Linux, Mac OS X and Windows. It offers ready-made containers with Nginx, Apache, MariaDB, Drush, Solr, PHP and much more. And a fresh Docker4Drupal 2.3.0 version has been released a week ago with nice updates.

This is a just a drop in the ocean of what Docker can do for your Drupal development. We wish you luck in diving deeper and deeper into its endless capabilities, discover ready-made stacks, or be inspired to create your own. And our team is always ready to help you use Docker with maximum efficiency!

Jul 25 2017
Jul 25

Migration to Drupal 8 will save your time, effort and money in the future. It’s a fact! Discover
the great news about easy upgrades and backwards compatibility.

Technologies rush to the future, and website-building platforms run to keep up with them. Drupal is no exception — indeed, it’s a great example of it. Drupal 8 has had a great leap ahead thanks to its mobile-first nature, multi-language, accessibility, and editing enhancements, modern PHP, handy configuration management and so much more!

That’s Drupal’s essence. Each major release is a real gift box of brand-new features and better usability to make customers and developers happy. However, in this ultimate happiness, there always used to be a little spot of darkness.

A little shadow that used to hang over Drupal new releases

New versions seemed to burn the bridges between themselves and the old ones. It was like starting with a clean slate. Backwards compatibility was never a priority. Moreover, providing it could hamper website performance. So backwards compatibility was sacrificed in the name of progress.

As a result of these abysses between versions, new versions traditionally presented a challenge to developers across the globe who had to learn the fresh release from top to bottom.

Outdated releases used to go “overboard,” just like happened to Drupal 6, which became officially unsupported and stopped getting security or other updates. This left Drupal 6 website owners with the options of upgrade or support.

Depending on the amount of custom functionality, major website upgrades (from Drupal 6 to Drupal 7, from Drupal 7 to Drupal 8, etc.) could often be lengthy and costly. Yes, it’s worth it! But it’s also a little bothersome.

What if it were possible to get smoother upgrades? This was the dream of Drupal’s founder Dries Buytaert and his team, which they have now successfully brought to life.

Easy upgrades and backwards compatibility starting with Drupal 8

Now the shadows are removed and the abysses bridged! Congrats to developers and site owners, because Drupal is finally becoming backwards compatible.

This means that each new update will be compatible with previous releases. Moreover, when Drupal 9 comes out, it is going to be backwards compatible with Drupal 8.

This is a sure path to fast and easy upgrades, both between minor versions and between major versions — provided you are using the latest APIs and avoid the deprecated code. Dries Buytaert made an announcement about easy upgrades that raised a lot of excitement. Let’s look at the details.

The continuous innovation model

Drupal 8 is the first version to adopt the continuous innovation model. You no longer need to wait for years to see a brand-new release. The process will be more gradual. Minor versions will come regularly, about twice a year, and offer lots of lucrative functional niceties, and, as an awesome bonus, a smoother upgrade path from one to the next.

Deprecated code

New functionality and backwards compatible changes will be regularly introduced to Drupal 8. In this process, more and more code will be marked as deprecated. When there is too much deprecated code, Drupal 9 will be released without the deprecated systems. According to Dries, the modules using the freshest Drupal 8 APIs and avoid deprecated code will be fully functional in Drupal 9.

Drupal 9 and beyond

In other words, Drupal 9 will be almost the same as the latest minor release of Drupal 8, but without the deprecated code. Almost the same? Yes, but still different in one very important way. Moving to Drupal 9 will remain a very lucrative decision, because, when it comes out, Drupal 8 will stop getting nitty-gritty features, and the ninth version will become the new focus of the Drupal community’s attention.

And so it goes again and again, with Drupal 10, 11 and more! The progress is never-ending, which is awesome. And this progress is now more available than it has ever been.

A beneficial decision

So there is just one step separating Drupal websites owners from being forever free to make fast and easy upgrades with no hassle, with a considerable saving of time, money and effort. This step is migrating to Drupal 8 now, if you are on an older version.

Come to the bright side, and move to Drupal 8 with us ;) We have expert Drupal 8 developers on the team. Migrate once and enjoy the benefits of backwards compatibility forever!

Jun 06 2017
Jun 06

There is a real “elixir of vivacity” that can help your Drupal website or app come alive in a way it never has. Sound lucrative? You’ll discover the rest from today’s story. After a glimpse at combining Drupal with AngularJS, we are now moving on to another member of the JavaScript family that is rapidly gaining popularity — Node.js. Let’s discover the reasons for its recognition, the benefits of using Node.js with Drupal, and the tool that helps you bring them together.

Node.js: what’s the secret?

Node.js, the famous cross-platform JavaScript runtime, is the dream (and the reality) of more and more web developers, especially when it comes to building real-time and multi-user functionality, as well as web servers. They choose Node.js due to a number of reasons, some of which are as follows.

  • JavaScript everywhere. With Node.js, you can use JavaScript not just for client-side scripting, but also for server-side scripting. This bridges the gap between the front-end and back-end, synchronizes the data, and enhances the productivity. 
  • V8 engine. Node.js uses Google’s V8 JavaScript engine, which lets it gather amazing speed. 
  • Event-driven, non-blocking I/O model. The code execution is not blocked until another process is completed, which significantly improves performance. The event loop detects new events to promptly trigger the callback function. 
  • Open-source. Node.js has a handy Node Package Manager (NPM) with the repository full of modules and ready solutions created by the big developers’ community.

The tandem of Node.js and Drupal

Node.js can share with Drupal some of its real-time functionality magic, as well as awesome speed. This can be added to a solid foundation of a powerful, modern and advanced website or app that Drupal, as a content management platform, can provide. Together, these two can rock more than ever!

Real-time features

With Node.js, your Drupal pages can become especially dynamic, rich and interactive. The information is updated promptly and in real time, without reloading the page. Many users can be involved in shared processes. 

However, it’s much more than user entertainment, engagement and convenience — it’s also essential for monitoring various serious processes, responding to customers’ requests, and so on. 

Just a couple of examples:

  • Dashboards 
  • Games 
  • Chats 
  • Polls 
  • Warning systems 
  • Auction bidding 
  • Push notifications

Third-party APIs working faster

Here is another benefit of using Node.js with Drupal. Third-party API integration is very common with Drupal, but Node.js can make it work much faster. Due to its event-driven, non-blocking nature, there is no need to wait for the API’s response.

Integrating Drupal and Node.js via the special module

It shouldn’t come as a surprise that Drupal has a module for Node.js integration. It’s called the Node.js module and is ready for both Drupal 7 and Drupal 8.

To make the integration, you should install Node.js and the dependencies, make settings in the nodejs.config.js file (for which the module provides a sample), start your server, and test the result.

For every idea there is a tool or a combination of tools that can give additional capacities. Tell our developers about your idea, and they’ll combine Drupal with Node.js or other tools in the way that works best for you.

May 26 2017
May 26

As you may remember from the fairy-tales, knowing the secret words helps you to move even the mountains and open treasure caves. The words “Open, Sesame” from "Ali Baba and the Forty Thieves” work somewhat similarly to modern website passwords. However, making passwords work perfectly is a complex art, and it is one of the touchstones of Drupal website security. Thankfully, Drupal equips you with lots of power for this, thanks both to its out-of-the box features and lots of useful modules.

Passwords: what should they be like?

At first glance, it might seem that setting complicated requirements for users’ passwords is necessary for security. However, this may sometimes work against you.

For example, forcing users to have a strict composition of letters and numbers in passwords may lead to passwords that are hard to remember and have to be saved somewhere. And asking people to change passwords too often may eventually annoy them so they end up creating weaker passwords.

In addition, you should never forget that, first of all, you need to convince people to register, which people are reluctant to do.

So what you need is a good mix of strictness and usability. This proportion largely depends on what kind of “treasures” are kept in a particular “cave” — for example, a website which involves payment processes deserves a more complicated entry control. In addition, there also are other means to enhance password security that do not require anything from users.

Let’s see how Drupal modules let you take into account all these and many more twists and turns in password policy, so you can choose what’s right for your website. The following is a blend of Drupal 7 and Drupal 8 modules, some of which are available for both versions, and some of which are in active development.

Some useful Drupal modules for working with passwords

Drupal password policy

This module lets you impose a set of requirements on passwords created by users. They include: length, digits, case, punctuation and more. You can set what kind of characters, and in what amount, have to be used in a password. The module also offers a password expiration feature. In the Drupal 7 version, there is a basic blacklist functionality, where you can add the most common words from the dictionary to prevent their use and avoid weak passwords. In Drupal 8, this feature is coming soon.

Security Questions

If your website requires it, add an additional lock to the doors by implementing security questions during the login and password reset procedures. This module will help you do it in a flexible way, using a number of configurable options.

Two-factor Authentication (TFA)

What if you need more than one lock? Here is a double lock. The TFA module adds an additional step to the authentication procedure. This may include one-time passwords, codes sent by SMS, or pre-generated codes, as well as integration with third-party services (Authy, Duo etc.). The module encrypts sensitive data with the use of the PHP mcrypt library.

Password Strength Disabler

Do you not need any special locks? If you find it justifiably unnecessary for your website (and if you have thought twice), you can disable the password strength check and let your users feel more at ease when creating passwords. In this case, usability takes the lead.

OneAll Social Login

People appreciate the convenience of using an all-in-one login. Here is a module that lets users sign up and sign in to your site using their accounts on social networks. The list includes Facebook, LinkedIn, Twitter, Amazon, Disqus, Pinterest, Instagram, Foursquare and more — 30+ in total.

Email Verify

If a user makes a typo while providing an email address in the signup form it can cause problems, because are not going to get confirmation or other emails. Luckily, there is a module that checks whether the address really exists, first on the domain level, and then on the actual username level.

Secure Login

Be protected by the power of HTTPS. If your website is available via both HTTP and HTTPS, the Secure Login module makes sure your user logination forms (or other pages) are transmitted via HTTPS, so their passwords are hidden from prying eyes.

Flood control

You can limit the number of login attempts using a convenient admin interface provided by the Flood control module.

Fail2ban Firewall Integration

Enhance the login attempt limitation by blocking out the sources of suspicious requests. This module, which provides an automated firewall tool, is ready to help you.

Username Enumeration Prevention

When hackers know the usernames of website’s users, they can attempt brute-force attacks. The Username Enumeration Prevention module makes it more difficult for them to find these usernames.

These are just some of the great modules dealing with passwords in Drupal. Good luck in using them in the best way for your website!

And we can enhance your luck, or transform it into a 100% positive outcome — all you need is to contact our cool drupalers who are ready to help in any website optimization issue.

May 16 2017
May 16

With Drupal, there is no need to reinvent the wheel — the wheels are already in full motion! The vigorous community has created tons of ready made elements that make development easier, quicker and cheaper. What’s not covered by them can be custom made to fulfill whatever your heart desires. A great example are the contributed modules that Drupal has for all purposes, with custom ones being built for special features (see ready-made vs. custom-made modules). Today, we’ll consider one more example — Drupal distributions, and particularly OpenFed. So let’s set the wheels turning and look at some more details!

Drupal distributions and their mission

Distributions are pre-configured Drupal versions that include the core, specific modules, themes, libraries, etc. They can serve as awesome starter kits for site builders and developers. Distributions help them quickly set up even complex websites in specific fields (business, non-profit, government, corporate, blogging, social, and more), since many of them are specifically tailored to these uses. They can also be very suitable for website migrations from older versions.

After installing a distribution, you can continue configuration and customization and reduce the overall development time and costs.

In addition, these “kits” allow you to compare various options and present demos to customers. When it comes to newbie drupalers, they are also a great help to let people practice site building.

A great example: OpenFed distribution

Examples are worth a thousand words, so we will now focus our attention on OpenFed, a Belgium-made multi-purpose and multilingual distribution. It is very well suited for sites for public administrations, campaigns, events, and more. In Belgium, its motherland, OpenFed has become a kind of a standard for government websites.

Let’s take a look at the contents of OpenFed. It includes:

● A set of content types for meetings, job postings, photo galleries, etc.

● CKEditor

● Support for cool search tools

● A set of layout customization modules

● A set of security modules

OpenFed for Drupal 7 and Drupal 8

OpenFed is available for both Drupal 7 and Drupal 8. If you are using Drupal 7, you need to be equipped with PHP 5.3.5 or higher, set your PHP memory limit to 192-320M, and never forget to enable HTTPS on your web server. As far as Drupal 8 is concerned, there is a major recommendation to use Composer for installing OpenFed as well as maintaining your project.

OpenFed: development or migration

Our experience shows that building new websites and migrating old ones on the basis of OpenFed can be a very neat, convenient, time and cost-efficient decision, and strongly appreciated by customers.

Distribution or not?

In any case, the choice of whether to rely on a Drupal distribution like OpenFed or another distribution, as opposed to working with a clean slate, depends on several factors. They include: how relevant or similar your project is to the distribution “sample,” how much customization you need, what the distribution can give you, etc. You also need to choose the distributions actively maintained by the community so you will always have smooth update processes.

Our experienced drupalers are here to advise you on this issue. Just tell us about your website’s needs, and we will offer you an ideally proportioned cocktail of ready elements and customization, of rational costs and unique functionality. Luckily, Drupal allows us to make such a mix. Get it now! ;)

Apr 21 2017
Apr 21

Drupal 8 promised to make website management a piece of cake, and it is fulfilling its promise! Indeed, it has plenty of useful modules to do this, like the Inline Entity Form to work with entities, the Group to manage group permissions, the Rules and the Workbench Moderation to optimize a website’s workflow, the Webform to build online forms, and many more. Today, we’ll discuss one of them that brings order to handling user roles and permissions — the User Personas module in Drupal 8, which is under active development right now.

The User Personas Drupal 8 module and its essence

Each of us has many roles in life, which may change with time. However, we are personalities above all, and we are unique. Although real life and Drupal websites are different things, this is close to the philosophy of the User Personas module in Drupal 8.

Drupal has user roles, which define who can do what on a certain site. The practice shows that the most frequently used Drupal website roles, assigned to almost anyone in any team, are Content Administrator and Content Editor. The difference is checking or unchecking certain permissions that are duplicated for every role.

The author of the User Personas Drupal 8 module, Gabe Sullice, decided to move beyond that approach. So his innovative module offers creating so-called User Personas and putting them above roles.

What is this for? This allows you to create more accurate sets of responsibilities that meet unique job descriptions for any team member. It also lets you avoid the muddle with duplicated permissions and enhances security. Let’s discover more details.

User personas: what they are and what they do

User personas are a level higher than roles — they are actually sets, or bundles, of roles. Each role, in its turn, comes equipped with its own set of permissions.

You can create personas and assign specific roles to them. Personas can refer to single users or their groups. In addition, different personas can share roles.

More accuracy due to treating roles as responsibilities

One of the most important points in the User Personas ideology is to stop treating roles as people’s jobs and start treating them as responsibilities instead. Roles should not describe who people are but rather what people do, i.e., they should be more specific and single-purpose.

OK, let’s imagine a persona called “Reader” and what they should be able to do. Logically, they should be allowed to read and probably comment on the content. So it’s worth giving them the “Viewer” and “Commentator” roles, which, in their turn, should include the permissions for viewing the comments, editing their own comments and posting their own comments. A very clean approach! This is an example Gabe Sullice gave in his article about the User Personas module (which he continued describing in the new version of the article). He also suggested another helpful module to assign roles to new users called Auto Assign Role.

Putting an end to endless permission checkboxes

Working with traditional Drupal roles, a website administrator has the tedious task of managing checkboxes with permissions that have to be duplicated again and again. This involves security risks, makes bugs harder to find, and makes human error more likely to occur.

The User Personas module for Drupal 8 solves this issue and frees you from these endless checkboxes with permission duplicates. Permissions will be simply shared when sharing roles.

Better not try this on live websites ;)

User personas do not interfere with anything on your website: when a set of roles is assigned to a user entity, everything else can work as usual. However, you should not install user personas directly on a live website because the roles are reset then. Be careful with it.

That’s how the User Personas module in Drupal 8 works. Indeed, user personas are unique, and so is your Drupal website! Whatever you wish can be implemented there, with no limits and no exception. So don’t hesitate to contact us for help with installing and configuring some module, or creating a unique one from scratch. And, of course, you can have a new Drupal 8 website developed for you, or migrate your existing one to Drupal 8. Drop us a line! ;)

Apr 11 2017
Apr 11

Drupal 8.3.0 is here — congrats, drupalers and customers!

Undoubtedly, the biggest days in the Drupal world are the days of major releases. Everyone had been waiting for the release of Drupal 8 like kids at Christmas, then “unwrapped” their present with impatience. They were impressed with its brand-new features! Each feature deserved to be described, which resulted in our collection of Drupal 8 articles to mark its birthday. However, you do not have to wait for so long anymore — the Drupal community now also prepares big gifts in small packages twice a year. They are minor releases, and the latest of them, Drupal 8.3.0, has come out on April 5. In this article, we will take a glance at this new approach to Drupal releases, and, of course, see what makes Drupal 8.3.0 so cool.

The new Drupal philosophy: minor releases offer a lot of innovations

Beginning with Drupal 8, the Drupal community decided to switch to the approach of making regular minor releases (8.1.0, 8.2.0, 8.3.0 and so on), meant to make everyone’s adoption of the next new big product more seamless. Minor releases offer significant innovations with backwards compatibility, API enhancements, better usability, an easy upgrade path, and more. Each of the releases is scheduled for a certain month and preceded with a beta and an RC version, so you always know when to expect it and what to expect from it. So let’s delve into the newest of them, Drupal 8.3.0.

Drupal 8.3.0 and what’s new in it

Better content editing with CKEditor 4.6 and more

Convenience of content editing is among Drupal 8’s main policies. Drupal 8.3.0 features a new version of CKEditor (4.6) which has an updated UI, a new and modern-looking default Moono-Lisa skin, the Copy Formatting plugin, the completely rewritten feature for pasting from Word, keyboard shortcut hints, new Upload File and Balloon Panel plugins, and more. Drupal 8.3.0 also offers the AutoGrow plugin for that makes it work better with larger screen sizes. In addition, you can now enjoy the drag-and-drop image editing feature.

The Big Pipe module now stable and improved

Here is a module that has become known as one of the most interesting novelties of “the great eight.” The Big Pipe greatly improves a website’s performance by delivering the unchanging part of the page to users immediately and then serving the rest of the content. Coming to Drupal 8 as an experimental module, the Big Pipe has finally reached the stable stage in 8.3.0, as well as undergone some enhancements, including those for usability on mobile devices.

The experimental Workflow module

This innovation will be especially handy for companies with lots of content authors and complicated content approval processes. One of the experimental Drupal 8.3.0 modules — the Workflow — will now add its power to the Content Moderation module, introduced yet in Drupal 8.2. Using it, you can easily configure the content publishing states and give certain users the permissions to change these states. You will also see your workflows on the screen and enjoy a simple and intuitively understandable UI.

Improvements in the APIs

The new features and bug fixes to the APIs are impressive in Drupal 8.3.0. Here are just some of them:

  • The REST API now allows user registration
  • The anonymous performance of REST API has grown by 60%
  • 403 responses now come with a reason for access denial
  • The Migrate API has reached its beta stage.

Drupal 8.3.0 has also become better in terms of website administration, content type layouts, etc. You can see more details in the great Drupal 8.3.0 review by Gábor Hojtsy.

As you see from the serious work around 8.3.0, Drupal 8 is in the centre of attention from the Drupal community. It will be getting the best, the newest, and the most relevant features. Maybe it’s time to come to the Drupal 8 side? ;) Get a new shiny website or upgrade your current one with the help of our skilled drupalers. It’s worth discussing right now!

Mar 21 2017
Mar 21

We once offered you a selection of free responsive Drupal themes,
as well as advanced tutorials on creating themes and subthemes.
Today, our focus will be very specific: we will discuss
Drupal themes for construction websites.

The construction industry and Drupal web development have a lot in common. Drupal websites, like good buildings, can be very solid, beautifully designed, and convenient in every way. For them, architecture also matters! And they can also be built brick by brick — using Drupal modules and themes.

There are special Drupal themes perfectly suited for construction businesses — so feel free to check out their collection. We have included Drupal 7 and Drupal 8 themes with plenty of useful features. They help construction companies easily and elegantly showcase their offers by providing ready page templates, customizable to anyone’s liking.

These themes are based on the modern, fast and lightweight Bootstrap framework, and have Drupal Commerce or Ubercart support for online shopping.

The themes that we have gathered are all responsive, so their design will neatly adapt to absolutely any device screen. Many of them are also Retina-ready — this latest trend basically means that the designs look great on high-definition phones or tablets with no pixelation even when zooming-in.

Well, examples are worth a thousand words, so let’s see what has been built by drupalers for builders!

Some great responsive Drupal themes for builder and construction websites

Yellow Hats

Yellow hats are something you are likely to see on the demo of every theme in the building category. So we choose  a modern theme of the same name to be the first on our list! It is extremely flexible and customizable, responsive, Retina-ready, built on Bootstrap 3.x, and offers an impressive list of features like Parallax effect, HTML and CSS3 validation, Google Maps, +11 homepages, +250 HTML pages, an online shop due to Ubercart support, a wealth of headers, footers, blocks and more.

Great Drupal themes for construction websites


You could also try Housebuild, a responsive and Retina-supportive Drupal theme, good for construction, renovation, electric works, and other business websites. This theme is clean and professional, easy to use and to customize. It features CSS3 animations, Google Maps integration, Bootstrap 3.x support, sliders, unlimited colors, and more.

Great Drupal themes for construction websites


The Builder Drupal theme is close to the above described Housebuild theme. It is also responsive, supports Retina displays, and offers a similar set of useful features, as well as Instagram integration and an online shop thanks to Drupal Commerce support.

Great Drupal themes for construction websites


Here is an easily customizable Drupal theme, great for websites of construction and related companies. It has a responsive layout, a special drag-and-drop tool to create layouts (Superhero framework), and a wealth of customization opportunities. The “Who we are”, services, shop (Drupal Commerce), news and other blocks are at your disposal.

Great Drupal themes for construction websites


The Darna Drupal 8 theme is meant for construction, architecture, plumbing and renovation companies, as well as other businesses. It is responsive and ready to work with Retina displays. Being easy to use, Darna can boast an impressive list of features like reusable code, W3C validation, Pixel perfect, Google maps, Bootstrap 3x, multiple header and homepage options, shop pages (Ubercart), and more.

Great Drupal themes for construction websites


You could give a try to this multipurpose responsive Drupal 8 theme with a support for Retina displays, used for construction and other types of websites. It lets you present a portfolio, a shop due to Ubercart support, news, services etc. The Gates theme is based on Bootstrap 3.3.5, has over 1000 icons, plenty of layout options, unlimited color schemes and much more.

Great Drupal themes for construction websites


The Habitus theme for Drupal 8 means 14 clean and modern responsive HTML pages. It is based on a 12-column Bootstrap grid, has variations for homepage and “coming soon” page, a portfolio, a blog, a gallery, a 404 page and much more to meet the needs of your construction company or other business.

Great Drupal themes for construction websites


Here is another cool example for construction, renovation, electricity, isolation, maintenance and business companies. It is a responsive, Retina-ready and SEO optimized Drupal 7 theme on the basis of Bootstrap 3. The Construct theme has 11 custom blocks, valid HTML5 & CSS3, Twitter Feed, Google maps, etc.

Great Drupal themes for construction websites

Constractor One

Meet another nice responsive theme for Drupal 8 which will be very useful for construction and renovation industry companies with its limitless customization options. The Constractor One offers drag-and-drop layouts, more than 580 icons, Parallax effect, HTML5 and CSS3, support for video, RTL (right-to-left text direction) and more.

Great Drupal themes for construction websites


You could also take a look at the modern responsive and Retina-supportive Drupal theme called Structure. Structure is definitely its strong point, because it offers +15 homepage and +3 header styles, Mega Slider, all pages required for building companies (about, prices, services, etc.), Drupal Commerce support and so on.

Great Drupal themes for construction websites

These are just some examples of excellent Drupal themes for construction websites. If these or other ready themes do not fully cover your needs, our developers will build a unique one for you. Builders will always understand each other, no matter whether they create houses or websites and themes. Let’s build awesome things together!

Mar 10 2017
Mar 10

This phrase has long been a famous Internet meme: in any situation, keep calm and clear your cache! And the power of Drupal cache is really strong, because it can be helpful even in the case of so-called White Screen of Death or WSOD.

WSOD (White Screen of Death): oops, what is it?

From time to time, every Drupal user or developer encounters WSOD. One of the most common scenarios is it happens after some module or core updates, as well as during custom module development.

The page goes totally blank with no content, warnings or errors — just the big white “nothing”. It is whiter than the endless Arctic snow, and you just do not know how to find your way through it.

But, as stated above, keep calm! Of course there are ways to debug White Screen of Death. They include: enabling error reporting, checking error log files or Watchdog tables, disabling the modules that might have caused the problems, increasing your PHP memory limits if your site might have run out of it, restarting your web server, rebuilding your permissions and many more. You can try various methods one by one until some of them actually work.

In some cases, however, a perfect way to fix WSO is clearing the cache tables, which we will examine more closely.

Drupal cache clearing to resolve WSOD

Drupal caching is a great solution to improve a site’s performance. It helps avoid tons of calls to the database and save your server’s resources and time. When a page is loaded for the first time, Drupal saves its content, scripts, menu links and much more to the cache table and uses it again during the next page loads. Some modules, like the Big Pipe in Drupal 8, offer exceptional opportunities to get the best out of caching.

The caching tables have a multitude of things to handle. They can sometimes run into a problem due to various reasons. Often this happens when you are moving your site to another server. And then you have the scary WSOD!

But there is no need to worry — just empty the cache table. Though the task does not look easy with White Screen of Death, there are a couple of ways to do it without coding.

Clear the cache using the database

You can use PHPMyAdmin or other database administrative tool to get to your Drupal website database. Empty (truncate) the tables with the "cache_" prefix , without deleting them. Manipulations with the database should be done carefully.

Clear the cache using Drush

An alternative to this is using Drush command-line interface, which seems to often offer quick solutions when other things do not work. Even though Drush may be helpless sometimes as well, you could try to these Drush commands for emptying the cache table:

Drupal 7:

drush cache-clear all or drush cc all — to clear all at once

drush cache-clear or drush cc — to choose which cache to clear

Drupal 8:

drush cache-rebuild or drush cr — to rebuild the website in addition to clearing the cache

Clear the cache using the Performance page

Another option to try is to get to admin/config/development/performance and use the "Clear all caches" button.

To wrap up

Clearing your cache might be enough to bring your website “back to life” again and help you resolve the White Screen of Death (WSOD) error. However, you can always rely on professional error-fixers and problem-resolvers like our affiliated Drudesk support service. Looking too pale is not good for your website’s health ;) The Drudesk guys will establish the reason for the WSOD or any other condition and will quickly make your website feel fine!

Feb 07 2017
Feb 07

To do: improve your Drupal website’s SEO. This sounds like a pretty big task on your list! ;) Big tasks are easier to cope with when they are divided into clear, smaller steps. Great news! You can have a smart adviser, named SEO Checklist module, who can give you this list of steps and prompt you how to fulfill them. The module has been ported to Drupal 8 with some improvements, so we are happy to include its review into our collection — along with the Views, the Inline Entity Form, the Fast 404, the Workbench Moderation, the BigPipe, and the Rules Drupal 8 module stories.

Discover Drupal’s SEO capabilities with the SEO Checklist module

This module is a treasure for many marketers, website administrators, and developers who would like to leverage Drupal’s huge SEO potential but need some assistance with it. And this potential is incredible — we have previously written reviews of the powerful Drupal 7 SEO modules in part 1 and part 2. Many of these have reached stability in Drupal 8 as well.

The SEO Checklist module tells you what modules to install and what actions to perform so you can use the best SEO practices with Drupal. It does it in a user-friendly and popular way that most people appreciate — as a checklist, along with lots of hints to speed up your work.

You do not necessarily have to follow all the steps, your smart adviser just gives you good ideas. To work with it, you will need some basic understanding of SEO. The module is also not a replacement for an experienced SEO expert who can provide a good SEO strategy, build links or do keyword research.

The module’s “father” Ben Finklea, CEO at Volacci Drupal SEO agency, created it with the best search engine optimization “secrets” in mind. He also wrote a book called Drupal 8 SEO explaining in detail how to make the best use of what the module recommends to you.

How the SEO Checklist module works

After downloading and enabling the SEO Checklist module, on the left sidebar, you will see all these tasks grouped into functional categories. They embrace various SEO aspects (clean URLs, meta tags, search engines, analytics, security, performance and many more). Each category has its own checklist. To make tasks fulfillment easier and faster, it includes the links to download and enable the modules, as well as to make proper settings in your admin screen.

When a task from the checklist is done, it is checked off. After you click the Save button, the progress bar at the top of the page shows you how much is accomplished. The checklist shows you which task has been completed, when and by which user, and which still remain to be done.

Thanks to the date and time marked for each action, you can also have handy reports about your SEO optimization efforts.

Your wise SEO assistant is always up-to-date and informs you whenever there is something fresh and new to be recommended.

The SEO Checklist module in Drupal 8: porting and improvements

Created back in 2007 for Drupal 6, this useful SEO module is now supported for Drupal 7 and Drupal 8. Travis Carden, the creator of the Checklist API module, deserves special thanks for porting it to Drupal 8. He has also been helping Ben Finklea with this project all the way from the beginning and is its co-maintainer.

In Drupal 8, the module has become still more helpful. The major change it has undergone in “the great 8” is that it now includes CLI commands that you can run via Composer, Drush or Drupal console. You can find them right on your checklist next to each of the tasks and paste them in your command line. “Now that Drupal's Composer endpoints are out of Beta, the developer community is using more CLI tools than ever," says Ben Finklea.

It’s time to be at the top of the search results. With Drupal, it’s possible!

You can download the SEO Checklist module, as well as get absolutely any custom functionality created for you or have a fresh and new Drupal 8 website built for you by our Drupal gurus. So here is a useful step for your checklist — contact InternetDevels right away! ;)

Jan 20 2017
Jan 20

Drupal 8 is so irresistible in its innovations that it just makes you wanna… pack your things and migrate! ;) To “pack” your website’s content and configuration carefully and move them to Drupal 8, there is a cool tool called Migrate API. As with any relocation, it's easier to “pack your things” when they fit into “standard boxes.” The same applies to websites: the less custom functionality they have, the quicker the upgrade process will go. We will touch upon this and many other interesting issues while discussing Migrate API, its benefits, the modules it includes and the migration process it provides.

Migrate API: best things come to Drupal 8 core!

Not only do the best things come to Drupal core, but the greatest ideas are born at DrupalCons. At one of these, DrupalCon Prague, there was a discussion of building an improved and powerful migration system for “the great 8” that would inherit the best concepts from Drupal 7’s Migrate module but make the upgrade process way easier and much more enhanced.

Mission completed! Drupal 8 core got Migrate API that was added as a set of experimental modules, but has been improving and gaining trust, and has now (beginning with subversion 8.2.5) reached beta stability.

Migrate API can offer you:

  • robust, smooth and repeatable (if necessary) migrations from Drupal 7 or 6 to Drupal 8
  • direct upgrades from Drupal 6 to Drupal 8
  • migrations to Drupal from other sources
  • no need for PHP updates (like there used to be)
  • a handy UI and Drush integration (see also some tips of upgrading with Drush)
  • detailed documentation
  • migration templates
  • easy rollback functionality

The modules Migrate API includes

They are now “the great three,” but they used to be “the great two” — up until Drupal 8.1.x subversion was released, which was when the Migrate UI module joined in. So here they go:

  • the Migrate module that provides general API functionality for your upgrades
  • the Migrate Drupal module that offers special configuration for Drupal 6 to Drupal 8 and Drupal 7 to Drupal 8 migrations
  • the Migrate Drupal UI module that has a convenient UI to use instead of Drush

Some extra modules to use with Migrate API

However, that’s not all, so you can improve your migration process with Migrate API even more by downloading some additional contributed modules.

The Migrate Tools module offers a basic UI to list migrations and show messages, as well as general migration Drush commands:

  • drush migrate-status
  • drush migrate-import
  • drush migrate-rollback
  • drush migrate-stop
  • drush migrate-reset-status
  • drush migrate-messages

The Migrate upgrade used to have a UI that moved to core, so its main destination now is to provide important Drush commands for upgrades between Drupal versions, as well as to do rollback if necessary:

  • drush migrate-upgrade
  • drush migrate-upgrade-rollback

With the help of the Migrate Plus module, you can greatly enhance your custom upgrades. It provides extra functionality, for example, for grouping migrations together, as well as XML and JSon parser plugins to make import from file-based sources.

The Migrate Manifest module will let you run selected migrations defined in a manifest file.

And, finally, if you want to move from Wordpress to Drupal (see the comparison), the Wordpress migrate module is here for you to export your Wordpress files and migrate them to Drupal.

Migration templates

A lot of work has already been done to simplify the upgrade process! Drupal 8 has lots of ready migration templates for the core stored in YAML configuration files. In case with contributed modules, there may also some ready migration files, so it’s worth checking out. But, as far as custom functionality is concerned, get ready to create your own custom migration files for it. However, you can always entrust it to professional developers.

A glimpse at the migration with Migrate API from Drupal 7 or 6 to Drupal 8

  • Before the migration, it’s better to have a fresh Drupal 8 installation, because it will make the process easier.
  • Next, you should tell Drupal how to connect to the source database, for example, in your settings.php file.
  • Enable all the required modules both on the source and the destination website.
  • Run your migrations via Drush or UI, whichever is more convenient for you.
  • Review your migrations to see the result.
  • If necessary, easily roll them back.
  • After that, uninstall the migration modules.
  • Done!

Have a smooth upgrade process with Migrate API and an amazing new life for your website on Drupal 8! Upgrades have become a really popular service, especially since the end-of-life announcement for Drupal 6, so we have sharpened our skills in them to perfection. So, no matter how complex your website is or how much custom code it has, your upgrade will be safe and easy with us. Big migrations begin with a small step like contacting us right now ;)


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