-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updates to the "design" group, in order to accommodate vessels with a variable keel or centerboard and some other changes #65
Conversation
I find it hard to reason about schemas with just the schema def. Do you have a sample for a boat that would give meaning to this all and serve as a validation test at the same time? Label & name for the same thing, and name is unique? How about id and label? |
I don't see a aplace for current draft? |
@tkurki what do you mean? It's referenced in |
@tkurki, I also find it difficult to reason about JSON schema files, so here is a list of the paths for each value defined in design.json. The ~ is shorthand for the path to your boat's info in the schema.
|
@timmathews thanks. What's your view on the changes, and my question regarding state? |
I have a few concerns:
|
@timmathews 3 & 4 relate to my concern regarding "state". I think it should be in a different group altogether - called state - where we store "volatile" information. I agree with your points regarding static information. canoedraft: same here, but it was in there so I kept it. To be honest, the original version of So, todo: a new group for state information and some changes to design? |
But isn't most of the model "state"? I think we need a better name for the grouping of "current physical vessel configuration." However, I agree in principle that we need a separate location for it. Other things that might end up in there are position of trim tabs for power boats, up/down state of stabilizers, etc. |
That was my main concern as well. And if the design part is fixed, why does it need a source and timestamp? |
@canboat that would make this specific group quite different from the rest/our conventions... Don't you think that might introduce confusion? Otherwise I'm all for reducing boilerplate. |
How about
~/sails/$byId/$sailRef defs/sail/brand | type | material | inUse (true/false) | area | name | label | minimumWind | maximumWind Under design a URI might be useful to identify designs, say http://www.signalk.org/boatdesigns/melges24. |
Suggestion: future schema updates should include a test/sample that covers the proposed change. Like the stuff under https://github.com/SignalK/specification/tree/master/samples. That way we can accumulate a test suite and with future changes some easy indication of how it affects stuff done previously - you have to either modify the accumulated samples to be in line with the proposed change or make the change backwards compatible. |
@tkurki +1 for sails at the top-level |
Imho navigation state should be under navigation... |
sure, but it was just an example |
It was really about seconding Tim's point that there is no separate |
There is a key already for vessel 'state', eg underway, etc
|
@tkurki @canboat @timmathews @rob42 this PR was a bit stale, sorry for that. I've committed some more changes according to our discussion up here; the only thing I have not done yet is change anything on the |
I removed the group |
Same as #67, merge as experimental and review later |
Updates to the "design" group, in order to accommodate vessels with a variable keel or centerboard and some other changes
Hi all,
I've made various changes to the group
design
. Initially, I needed a way to store information regarding a variable keel height and info about sails. Whilst doing so, I made some other changes as the group looked very unfinished.Changes:
minimum
andmaximum
properties)overall
,hull
andwaterline
properties)Whilst doing the changes, some questions popped up regarding keel and sails. In the PR, I've added state to both keel and sails (
sails/active
andkeel/state
); this seemed wrong. Would it be an idea to add a group calledstate
to each vessel, which can then be used to store variable information?