FFS in April - Redirects and Aliases with Drupal 8

Our monthly "First Friday Sprint" has now been held since October 2013 and every time we have been happy to report huge jumps in Drupal 8 and its environment of contrib modules.

Invitation to the event: https://groups.drupal.org/node/416933

Orientation in the jungle

Each month a participant must first look at what all has changed the last few weeks and test all relevant modules.

Only a few Drupal 8 modules are currently available on drupal.org. But fortunaltely one finds a port of most interesting modules on github.com. During the current phase the collaboration on Github is easier, forks- and pull-requests are better integrated. As soon as the code has reached a certain stability it is published on drupal.org. After that moment we will work strictly with patches in the issue queue.

Start with necessary adjustments

Some core adjustments of the last days (E.g. from the Sprint of the Drupal Developer Days) require updates to contrib modules. These changes must be made so that the module is working again. As a result, much time is usually not lost and the changes often provide improvements in clarity and cleanliness of the code. Well known modules (Node, Comment , etc.) have had these changes applied already. As soon as the remaining 31 beta blocker of Drupal core are successfully resolved, these reiterations should come to an end - and we are happy to report: it goes forward, quickly.

In recent weeks MD systems worked also intensely on the porting of other modules. All these contrib ports are reviewed by Sascha Grossenbacher (Berdir) and Miro Dietiker (miro_dietiker).

This sprint saw the completion of numerous modules and started some new ones:

Redirect Module

The Redirect Module is, with about 90'000 known installations an essential part for Drupal projects. With a site-relaunch, you can send users of old links to the new correct target links. False links (404 errors) are monitored and listed so they can be corrected. But sometimes links change in running systems (E.g. automatically generated links). The redirect module can redirect these links automatically.

This module was ported by Martin Micuch (Blueminds) who is working for MD Systems. The new version has almost completely been rewritten for Drupal 8 and includes extensive automated testing (unit tests and Simpletests). The coherence of this module thus reaches a whole new level.

Global Redirect

With approximately 150'000 Installations Global Redirect is even more populr. How it works: If a URL has an alias, Global Redirect assures, that the internal path to this module is no longer used. This functionality is important for good SEO and good link management.

A first port of the module was already implemented by the maintainer Liran Tal. Again we could finish the module with Martin Micuch (Blueminds). The functionality was completed and, here too, automated tests were improved.

Pending for this module is the open point (since 2010) to integrate this module completely into the redirect module. Realizing this in Drupal 8 is trivial but it is up to the maintainers to decide on this milestone.

Pathauto

With round 570'000 Installations Pathauto is the 5th most used module. It is extremely complex and based on Token.

During this sprint Antonio Sferlazzo (Südostschweiz Medien) was able to bring the port of this module some major steps forwards.

After the initial port it is planned to use modern Drupal 8 patterns (ex: Plugins) to improve the somewhat old-fashioned code structures and improve the architecture of the module.

It will take quite some hours of coding until this module is ready for use in Drupal 8.

Redis

Lorenz Schori (znerol) has started with Porting the caching backend Redis. From the integration with Redis we promise ourselves massive boosts in the performance of large projects because this service supports native cache tags.

Ultimate Cron

Sascha Grossenbacher (Berdir) has started working on the Port of Ultimate Cron. The module provides granular control over the frequency of the running background processes (implementations of hook_cron()) and allows for complex projects much faster and more reliable cron jobs.

Eager to read more? Check related projects!