[Bug 453244] REST API and service for MPC Recommendations
Bugzilla Link | 453244 |
Status | NEW |
Importance | P4 enhancement |
Reported | Nov 25, 2014 16:13 EDT |
Modified | Jul 03, 2019 17:19 EDT |
Blocks | 453243 |
Description
In bug 453243, we are planning to add a Recommendations Tab to MPC to show entries related to what the user already has installed or selected. To support that, we'll need two server-side additions to the REST API:
- A REST API and service implementation to calculate related entries based on a list of given marketplace node ids. In a first shot, the related solutions could simply be solutions by the same providers as those on the source list. Later, more criteria could be included, like common tags, or "x is usually installed together with y".
I would suggest a GET request like this:
http://marketplace.eclipse.org/related/api/p?nodes=12345+23456+34567\
that should return related entries to the space-separated list of nodes with id 12345, 23456 and 34567 (I would have preferred to do a POST in case the id list gets longer, but the framework used by the MPC doesn't support that currently). If it makes any difference on the server to use path parameters instead of a query, we could also use http://marketplace.eclipse.org/related/12345,23456,34567/api/p as query url [1]. The result should be returned in the same way as for the "featured" and "recent" queries, i.e.
<node id="293" ...>
...
<node id="5432" ...>
...
...
-
A flag indicating if a marketplace supports the optional recommendations api needs to be added to the discovery data returned by http://marketplace.eclipse.org/catalogs/api/p. It should be an entry Recommendations like this:
Eclipse Marketplace (MP) is a place to find and keep track of Eclipse-based solutions.
http://marketplace.eclipse.org/sites/default/files/default_1.png
Search
Popular
Recent
Recommendations
https://www.eclipse.org/community/eclipse_newsletter/2014/october/
Of course the new element itself should be considered optional and will be interpreted as enabled='0' in MPC if absent.
--
[1] for reference, we currently use both forms in different places of the existing rest api: \
- api/p/search/apachesolr_search/WikiText?filters=tid:38%20tid:31 is used for a search with keywords, market and category\
- taxonomy/term/38,31/api/p is used for a search by market and category but without keywords