Hello m-l, Nate, First thanks for the answer, it gives much needed information.
I investigated the code further. What Nate says seems to be right. Discover uses a KNewStuff backend, which in turn uses Attica. Now, the thing is, the sorting order is passed from KNewStuff to Attica. As Attica ends up (REST) calling a provider (if I got that well), the sort is done by that provider... So, although we're interested in the sort order which is visible in Discover, the sort is actually done in the providers, far away from Discover. Now, since Discover aggregates results from several providers, I'd say that the responsibility for the sort order must be in Discover since it has to sort and to prioritize the results from the various provider (that is, it's Discover which has to decide what package/theme/newstuff/... is most relevant to the user who started the search). But still the "relevancy" aspect of it stays beyond my understanding. How is that defined ? Does this make sense ? I ask that for two reasons : 1/ it's an indirect way to validate I understand the way Discover works 2/ I make sure I won't change things that will lead to architectural dead ends... (I love to give some time to KDE, but that time is not exactly plenty :-) ) Thanks ! Stéphane > Le 8 avril 2020 à 18:07, Nate Graham <n...@kde.org> a écrit : > > > See https://bugs.kde.org/show_bug.cgi?id=407588. This was supposed to > have been fixed in AppStream itself, at least for apps. And I can > confirm the fix with the latest version of APpStream--again, at least > for apps. > > However I can see that the problem is still present for non-apps, such > as the "Titanium" GTK2 theme, where I can reproduce the issue, as you > indicate. Looks like the sorting may need to be adjusted in the KNS > backend specifically, or elsein the KNewStuff framework itself. > > Nate > > > > On 4/8/20 3:10 AM, S. Champailler wrote: > > Hello Aleix, hello KDE dev's, <mailto:aleix...@kde.org> > > > > I wanted to modify Discover a bit. Here's the thing : > > > > In KDE Neon, I run Discover. I search for a package named "Titanium". > > The result list has Titanium and some other packages in it (which is > > fine). However, the first item in that list is not named Titanium at all > > (I guess it's a match based, say, on the description). > > > > I'd like to modify the sort order so that if a package has an exact name > > match, then it appears on top of the search results. > > > > I've already looked at the code (and built it !)) and seen that the > > current sort is determined by the m_sortByRelevancy boolean. It seems to > > me that when that boolean is True, then no specific sort happens; not > > 100% sure. > > > > Before going any further, I'd like to make sure my idea doesn't > > contradict some of the initial design of Discover. So, does it ? > > > > Best regards, > > > > Stéphane >