Comments (6)
Two aspects that came to my mind, with service discovery (https://www.w3.org/TR/viss2-core/#scope-list) you might not get the whole tree but only items you are "allowed to see", right? I guess this in some situations is an advantage of alternative 1, the application can adapt to what it has access to. (But then maybe you want to consider if you have read/write-access as well)
For alternative 2 I think we might need to consider the evolving VSS layering concept (see https://github.com/GENIVI/vehicle_signal_specification/wiki/VSS-Layers-Concept). Even if you could read VSS-version correctly, there is a risk that a layer above has added, removed or redefined signals. So in addition to VSS version one might want to get information on applied layers as well.
from automotive.
Wouldn't it make sense to have the VSS schema information somewhere available within the VISS implementation so that a client can make a preflight request to determine the available version of the schema or can download the schema from a specified interface of the VISS?
A solution that mitigates the efficiency problem mentioned in 1. is that the VISSv2 server generates the tree once, and saves it locally. When a client issues a "signal-discovery" request the server responds with the content of the previously generated file. This will however be complicated if the feature https://www.w3.org/TR/viss2-core/#scope-list is used.
However, I think this is an implementation issue, the VISSv2 spec supports signal discovery requests, and VSS specifies VersionVSS.[Major|Minor|Patch|Label], which I see as making them mandatory.
So in addition to VSS version one might want to get information on applied layers as well.
I think this can be solved by using the VersionVSS.Label attribute.
from automotive.
Generating the tree on vehicle start up would be a possibility, which I did not thought about. In my current use case, where I have a backend simulating multiple different vehicles with different schema, this is more difficult but resolvable (maybe I build up the schema if i get a token request for a specific vin).
Nethertheless as mentioned above I could use the VersionVSS.[Major|Minor|Patch|Label] information within the VISS to determine the version below.
To query this information as a preflight request, would it make sense that these information are public and can be requested without an access token?
from automotive.
To query this information as a preflight request, would it make sense that these information are public and can be requested without an access token?
I think that might be a good idea. The Access control selection mechanism described in the spec supports it.
from automotive.
in this case I would add a "validate: write-only" information, within the meta-data of the VersionVSS - Node as described here Access Control Selection; In this case if the meta data is available within the model, the access control server would not block any requests for data without a token against the VersionVSS - Node? correct?
from automotive.
In this case if the meta data is available within the model, the access control server would not block any requests for data without a token against the VersionVSS - Node? correct?
Correct
from automotive.
Related Issues (20)
- Inverse range filtering? HOT 3
- VISS 2 wide review tracking
- Refer to RFC 3987 or URL HOT 2
- Candidate Recommendation endorsement
- Change of key name "value" to "param" HOT 3
- Potential support of structs in VSS HOT 3
- documentation: subscription timestamp HOT 4
- Subscription handling on error or JWT auth issues (timed out) HOT 4
- More architectural description HOT 1
- Add in-line privacy and security considerations to VISS transport HOT 2
- VISS core: what is a pseudo-VIN HOT 3
- VISS Core: why is access control non-normative? HOT 3
- VISS Core: "certified" applications? HOT 2
- Rename notification to event HOT 2
- VISS Core&transport - unclear MAY with enumeration HOT 2
- Proposal to add a “consent hook” HOT 3
- error handling for malformed messages HOT 8
- Bandwidth optimization by using token handle HOT 6
- JSON schema is invalid HOT 4
- Normative references HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from automotive.