-
-
Notifications
You must be signed in to change notification settings - Fork 4
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
Add data_policy
field in device
#307
Comments
data_policy
field in devicesdata_policy
field in device
Re. the forwarding field, and on the actual implementation of what's needed. The On a previous take, I was considering bridging the In this sense, I think it makes more sense to think of a small service that can subscribe to the In |
Just adding to the conversation. Notice that the suggested approach favours existing solutions and tries to reduce complexity. There might be other, more standard solutions, yet they will imply more significant architectural changes. See #265 Ingestion Flows summaryStorer Class functionsSee source
ProposalsGeneral ForwardingThe
Custom ForwardingAs @oscgonfer described in the previous task, Custom Forwarding involves some kind of message transformation to match each platform's expected standards. Potential Options
|
After talking to @oscgonfer sharing some ideas on a future Forward Class A Forward instance defines how data from each registered device can be forwarded to a specific platform after user consent. An instance should perform the following functionalities:
Notice: That implementation doesn't provide a mechanism to recover data that has not been forwarded in real-time. However, the broker via session can ensure data is delivered once a forwarded platform reconnects. Nevertheless, that makes me think again that looking at Kafka is an option. |
Some additional comments to complete with my notes:
This is the
As said, both these would be very interesting if we implement them with some sort of
We can use (and already do) the
This is key. However, in our A diagram to show the updated design after our conversation (@pral2a please correct if something wrong): Note: with all this, we would remove |
include the auth credentials that we are discussing here |
Notes: Any user can have token/username secrets, but we only forward the devices that have forwarding authorized |
@pral2a @timcowlishaw conclusions from today's session: Short term
Next
Next (1)
Next (2)
Next (3)
Next (4)
|
More on location accuracy and number of digits: https://gis.stackexchange.com/questions/8650/measuring-accuracy-of-latitude-and-longitude |
Notes on "precise_location" policy:
New devices will be registed as "imprecise", existing ones all migrated to "precise" and a note put in the forum about the new option We truncate all existing latlongs to 5dp. |
Rathern than truncating from 5dp to 3dp for "imprecise location" devices we should add gaussian noise in the last 2 dp |
This happens on write so that we don´t have the precise locations either (even though we know which are precise and which note) |
the data_policy itself is only shown for the users themselves and admins |
Addressed in #331 |
@timcowlishaw let's review this and move it over to another issue. the issue itself can be closed, but there are a lot of actions and notes that should be consolidated somewhere else |
I close this issue and move pending topics to #358 |
Our database is licensed under https://opendatacommons.org/licenses/odbl/
However, we have only one way for the user to control their data by the
is_private
field. We would like to improve that by adding some additional fields:precise_location
:bool
whether or not the location is to be stored with X number of digits precision or notallow_forwarding
:bool
for users to allow data to be forwarded or not to other platforms (data aggregators)allow_forwarding
This is linked to #226, and the idea behind it is that there are various projects in which we are involved in that require having
devices
data in other servers (servers from other projects). Some of these projects have devices that Fab Lab Barcelona handles, but some other have devices that anyone (i.e. any user) handles, for whom we should not take the decision of actively forwarding their data. In this sense, I define actively as Fab Lab BCN sending device data directly elsewhere, instead of a 3rd party requesting data openly via the API.For the particular case of "us forwarding data": the
allow_forwarding
would potentially require us to list those 3rd parties and informing what those 3rd parties would do with the data. To avoid issues, we could specify that we only actively forward data that is marked asforwardeable
to specific data aggregators.precise_location
Regarding location, we currently keep high resolution location, as defined by the user by selecting it on the map. We do not actively update that location, nor we have any other means to determine it besides the user selection on the map. However, it would be a good policy to avoid issues by not storing high resolution location data at all, and by default, storing 3-4 digits only. However, this comes in a bit late, and we may affect how people are using it now. Although not ideal, we could have an opt-in field which would keep high resolution location. For all existing devices, this could be opted-in and users could choose to loose that precision by opting out. For new devices, we could have it low-precision by default, and users could opt-in.
The
device
serialisation could read:This is a very interesting issue, which can be discussed lengthy. I would really appreciate some contribution and other thoughts, @pral2a and @timcowlishaw
The text was updated successfully, but these errors were encountered: