This project is not covered by Drupal’s security advisory policy.

This module allows seamless redirection between viewing content on a public-facing website and editing it on a separate, centralized administrative site. It is designed for use with the Deployment and Universally Unique ID modules, as part of a comprehensive content-staging solution.

The simplest functionality it provides is for an administrator browsing the public-facing site ("Viewing Site") and clicking a standard "edit" link on their content to be automatically transported to the correct page on the administrative site ("Editing Site") at which that content is edited.

It has additional flexibility, however; it can be configured to perform similar redirects for any Drupal entity (e.g., taxonomy terms and users, rather than just node content) and for any path associated with that entity (not just the standard /edit path). It also has support for redirecting only certain "bundles" (e.g., node types); for example, if your use case requires Page nodes to be edited on the Editing Site site but not Article nodes, you can configure the module to only redirect edit links for Page nodes but leave the Article nodes alone.

How to use it

  1. Enable the module on both the Viewing Site (or multiple Viewing Sites) and Editing Site.
  2. On the Editing Site, no special configuration is needed, besides (of course) setting up the Deployment module to deploy content between the sites.
  3. On the Viewing Site, visit admin/config/search/uuid_redirect (Administration » Configuration » Search and metadata » URL redirects using universally unique identifiers) and configure the paths you want to redirect and the site you want to redirect them to.

How it works

Behind the scenes, the module is using universally unique identifiers (UUIDs) provided by the Universally Unique ID module in order to ensure that the redirect goes to the correct entity on the Editing Site.

On the Viewing Site, when a path is being redirected, all standard local IDs (for example, node IDs) are replaced by their corresponding UUIDs, so that a path like http://viewing-site.example.com/node/16/edit is redirected to http://editing-site.example.com/node/[node-UUID]/edit.

On the Editing Site, this URL is transformed back from containing UUIDs to instead contain the new local ID for that site, for example http://editing-site.example.com/node/27/edit. Thus, even though the node had an ID of 16 on the Viewing Site and 27 on the Editing Site, the redirect still works.

Other use cases

The module can also be used on a single site only (the "Editing Site" in the above example), if all you want is the ability to put UUIDs in your site's URLs and have those URLs correctly redirect to and serve the corresponding entities.

Once the module is enabled, any user who visits any entity-related path in which the UUID has been substituted in will automatically be redirected to the correct URL. For example:

user/[UUID]/delete => user/5/delete
node/[UUID]/webform => node/7/webform

In that way it has some things in common with the UUID Resolver module (an older project under development for Drupal 6), as well as this issue for the Universally Unique ID module: #1181982: Add menu hook for linking to UUIDs

Credits

This project was sponsored by Advomatic.

Project information

Releases