Task #67986
closedAdjust DependencyOrderService to set elements without dependencies last
100%
Description
In case you have a long list of items, where only a few have a dependency definition, those items may currently be far apart in the final ordered list.
While this is not a problem in general, it seems useful to have items, which have a relation, close to each other in the list.
A usecase is ordering of UI elements. See #65550.
Moreover the service generally uses an alphabetical order of items for building the dependency matrix and for working on the initial set of "root nodes" when creating the final list.
We now slightly adjust the algorithm to preserve the alphabetical order for items with the same "level" in the dependency graph. (Those are items, which can be put in any order, since their order does not matter according to dependency specification.)
This change of course also affects the PackageStates.php file, which holds the extension loading order. While the content of this file might change, the functionality does of course not change.