Replies: 8 comments
-
Hello, indeed, express should be kept for the "public API":
Regarding authentication: this is required to differentiate some sort of throttling depending if the user is authenticated or not; for example we need to apply a rate throttling for anonymous that is different for authenticated users. Also, if we need do scope throttling where we restrict access on given resources depending on some user roles then authentication is required. In any case, it appears that at least some rate throttling should be applied. And, if the initial purpose of this task is to serve public data then using authentication might not be required at this stage. Note, rate throttling might be applied at proxy level (traefik)... Concerning the name, perhaps that 'public API' isn't the best choice since in the future we might need to serve non-public data?!?... Perhaps we can use simply 'web-service' to differentiate it with the API for the UI; it's just a proposition... |
Beta Was this translation helpful? Give feedback.
-
MapX, draft of an "easy views search tool"A search tool that returns a list of items that summarize matched views. A "view" is simply the name MapX gives to the organised document used to describe how to display information. It could contain the configuration for displaying vector layer on a map, fetching remote raster tiles, communicating with WMS server, store tables, text, or basically, anything, but well organised EXAMPLE of returned values:{
n_rows : 1200,
page : 1,
pages_total : 12,
host : "https://app.mapx.org",
rows : [
{idView:"mx-1213-124",idProject:"MX-123-123",source:{},"title":{"en":"test"},"querystring":"?project=MX-12-12"}.
<...>
]
} EXAMPLE of request: language = "english",
text = "Extractive of coltan",
date = "before:2017",
region = "Africa or Asia" EXAMPLE of Interpretation:
|
Beta Was this translation helpful? Give feedback.
-
Hi @fxi I'm just supplementing your previous post with 2-3 pieces of information that came up in previous discussions: For the
For the
* The input should contain the list of countries according to the UN and "Global/World" to ensure the correct spelling of names and to help users in the process. |
Beta Was this translation helpful? Give feedback.
-
Thanks ! For the keyword, I forgot to add them in my description. Region:
|
Beta Was this translation helpful? Give feedback.
-
Some projects have titles that clearly reflect their content in particular those of WESR (WESR: Climate, WESR: Risk, WESR: Pollution....). I think that parsing the projects title will be especially relevant when a user does a very general search on a topic of interest (risk, climate) or is interested in a group of project (WESR, Chemicals, UNBioLab...). |
Beta Was this translation helpful? Give feedback.
-
Same remark for the geographical location, which is sometimes included in the project's name |
Beta Was this translation helpful? Give feedback.
-
What you describe is more a search tools for projects with an integrated geocoding system for titles. We can imagine the returned data tree having multiple branches. Something like Input : {
"text" : `<text that should match title of views, project or source title or ...>`,
"date": `<matching date of creation, modification, features or source or ...>`,
"location": `<location of features, by geocoding> `
} Output : {
n_rows : 1200,
page : 1,
pages_total : 12,
host : "https://app.mapx.org",
views : [
{idView:"mx-1213-124",idProject:"mx_xpoa_saasd",source:{},"title":{"en":"test"},"querystring":"?project=mx_xpoa_saasd"}.
<...>
],
projects : [
{idProject:"mx-xpoa-saasd", title:"asda",...,?project=mx_xpoa_saasd"},
<...>
],
sources : [
{idSource:"mx-asdad-asdasd",...},
<...>
]
} This could look like this (non-functional mockup ) in our app : |
Beta Was this translation helpful? Give feedback.
-
Sorry not to be clear enough in my previous comment. There is nothing to geocode on the titles of the project or on the titles of the views. The geographical information will be relevant for users of the Search Engine if we expose the titles |
Beta Was this translation helpful? Give feedback.
-
MapX exposes an express API for its own needs. It's not designed to be used from third-party applications, even if it's open and no restriction are applied.
We need to improve this.
Example of possible external usage :
Examples of concrete resources request:
Broad usage
Specific usage
...
Some usages are more resources intensive and/or more prone to security issues, but we can list of fundamental features that are currently missing from our stack :
Some questions are unclear :
For me, we need to:
Related tools: jsdoc, swagger, graphql, express, koa, fastAPI, ...
Beta Was this translation helpful? Give feedback.
All reactions