PHPackages                             neosidekick/ui-reverse-search - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. neosidekick/ui-reverse-search

ActiveNeos-package[Utility &amp; Helpers](/categories/utility)

neosidekick/ui-reverse-search
=============================

This package extends the Neos UI document node search with a URI search function

1.0.2(1y ago)35.0k↓39.6%[1 issues](https://github.com/NEOSidekick/UiReverseSearch/issues)1GPL-3.0-or-laterPHP

Since May 21Pushed 1y ago1 watchersCompare

[ Source](https://github.com/NEOSidekick/UiReverseSearch)[ Packagist](https://packagist.org/packages/neosidekick/ui-reverse-search)[ RSS](/packages/neosidekick-ui-reverse-search/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (1)

Neos UI Document Reverse Search by URI and Node Path
====================================================

[](#neos-ui-document-reverse-search-by-uri-and-node-path)

Did you ever ask yourself why you can search for the title in the Neos UI document tree, but not by public URI or node path ❓ Well, we got you ❗

This package extends the document tree search with an ability to search by URI or node path. Just copy the URI from your browser or the node path into the search field and the document will be highlighted in the document tree, if found 😍

[![Demo](https://private-user-images.githubusercontent.com/4405087/332212384-6127e7c2-e363-4185-bffa-1f8d9c7c6f80.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ0MDMyNTgsIm5iZiI6MTc3NDQwMjk1OCwicGF0aCI6Ii80NDA1MDg3LzMzMjIxMjM4NC02MTI3ZTdjMi1lMzYzLTQxODUtYmZmYS0xZjhkOWM3YzZmODAuZ2lmP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjVUMDE0MjM4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ODI4MTU5Yzc2OTllODUyOWVlNWI2Mzk4ODU0YWMzZmQyMWE4MGUwOTc4ZWQ1MjRmMGM1Njg2N2QwMzg4NmQzYSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.lBifL8Z-uqX4aOFKM_U0Y8OkiD-heeLagMb16RXdkdE)](https://private-user-images.githubusercontent.com/4405087/332212384-6127e7c2-e363-4185-bffa-1f8d9c7c6f80.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ0MDMyNTgsIm5iZiI6MTc3NDQwMjk1OCwicGF0aCI6Ii80NDA1MDg3LzMzMjIxMjM4NC02MTI3ZTdjMi1lMzYzLTQxODUtYmZmYS0xZjhkOWM3YzZmODAuZ2lmP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjVUMDE0MjM4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ODI4MTU5Yzc2OTllODUyOWVlNWI2Mzk4ODU0YWMzZmQyMWE4MGUwOTc4ZWQ1MjRmMGM1Njg2N2QwMzg4NmQzYSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.lBifL8Z-uqX4aOFKM_U0Y8OkiD-heeLagMb16RXdkdE)

Installation
------------

[](#installation)

`NEOSidekick.UiReverseSearch` is available via Packagist. Add `"neosidekick/ui-reverse-search" : "^1.0"` to the require section of the composer.json or run:

```
composer require neosidekick/ui-reverse-search
```

We use semantic versioning, so every breaking change will increase the major version number.

Configuration
-------------

[](#configuration)

Some Neos installations use a suffix to the routes, like `Neos.Demo` uses `.html`. Our package tries to get this information first from `Neos.Flow.mvc.routes.Neos.Neos.variables.defaultUriSuffix`. If the value in this configuration is not the same as the one configured in your `Routes.yaml`, you can use our setting `NEOSidekick.UiReverseSearch.overrideNodeUriPathSuffix` to override the uri suffix for the resolving in this package.

How does it work?
-----------------

[](#how-does-it-work)

The Neos UI uses FlowQuery and the `Neos\Neos\Ui\FlowQueryOperations\SearchOperation` to filter the document nodes. Our package extends and overrides this implementation by first checking if the search term matches the URI structure. If this is the case, it uses `Neos\Neos\Routing\FrontendNodeRoutePartHandler` to resolve the URI to a node context path. The resolving for the node path works quite similar, except for that we don't have to first resolve the URI to a node context path beforehand but we directly look up the node by the given node path.

Known limitations
-----------------

[](#known-limitations)

When resolving the node by its public URI, we discard the information about the dimensions and only work with the current context of the UI. So if your UI is in the German language dimension, and you paste the public URI of a document in the Englisch language dimension, our package will find its sibling in the German language dimension, if existent.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~45 days

Total

3

Last Release

628d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c898f86932821ebd9add02d4f01864bd4804e1a620083fbc5951af0bb3e9c850?d=identicon)[codeq](/maintainers/codeq)

![](https://www.gravatar.com/avatar/fe5eeba51578510a582bd6acb71680e2b6a4f824b6c3feb5bfb45563946e7b5c?d=identicon)[gradinarufelix](/maintainers/gradinarufelix)

---

Top Contributors

[![gradinarufelix](https://avatars.githubusercontent.com/u/4405087?v=4)](https://github.com/gradinarufelix "gradinarufelix (12 commits)")

### Embed Badge

![Health badge](/badges/neosidekick-ui-reverse-search/health.svg)

```
[![Health](https://phpackages.com/badges/neosidekick-ui-reverse-search/health.svg)](https://phpackages.com/packages/neosidekick-ui-reverse-search)
```

###  Alternatives

[shel/neos-colorpicker

A plugin for Neos CMS which provides a colorpicker editor

1494.4k6](/packages/shel-neos-colorpicker)[yoast/yoast-seo-for-neos

Yoast SEO for Neos CMS

24164.8k](/packages/yoast-yoast-seo-for-neos)[shel/neos-hyphens

A plugin for Neos CMS which provides hyphens for the inline editor

20200.7k1](/packages/shel-neos-hyphens)[techdivision/ckstyles

Neos package which enables you adding your custom style classes for the CkEditor with a simple Yaml configuration

21166.3k](/packages/techdivision-ckstyles)[sitegeist/silhouettes

Preconfigure property-silhuettes that can be applied to various properties of multiple NodeTypes.

16157.5k](/packages/sitegeist-silhouettes)[psmb/flatnav

Custom navigation module for Neos CMS

2541.7k](/packages/psmb-flatnav)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
