How to Improve User Experience with Sitecore Backend

For sure any Sitecore developer has been (or will) looking at a situation similar to this:

Sitecore UX improve references
or worse, with the ‘Droplist’ field where we don’t see any tree structure:

Sitecore UX improve references droplist
and thinking - “where the hell these topics are located and how to edit them?!”.

In order to figure it out we need to go to the template and look at the field’s source (and there we find out that it is base template’s field) or switch the ‘Raw values’ on and try to detect item by ID (and it’s exceptionally challenging with the Droplist field).

At some point I came to the idea that we really need simple way to navigate to a target item of reference fields (or referenced item? Haven’t decided yet - sorry for inconsistency in terms). The idea is very simple and straightforward - add a navigation link next to the field and open appropriate item in content editor on click. Implementation

The implementation is quite simple. It covers majority of cases and helps our team to save tons of time to do cool stuff. First, we need a JavaScript which will scan for appropriate inputs and add a link. The easiest way is just a timer and jQuery selectors (someone will find such approach ugly and outdated and hopefully will improve the JavaScript).
ContentEditor GoToTargetItem.js on GitHub

Second, thing is a controller to handle the AJAX call and to provide target ID to the front-end:
FieldDataController.cs on GitHub

Third we need to add our JavaScript to the Content Editor page and we have a nice pipeline for that called ‘renderContentEditor’, where we can add the JavaScript to the header with a few lines of code:
InjectScript.cs on GitHub

and finally, a config file to run it:
Sitecore.UxExtensions.GotoReference.config on GitHub

Sitecore UX references solution

For your convenience here's the package link: Complete package of Sitecore UxExtensions GotoReference.zip

Please let me know if you find it useful and feel free to contribute!