Skip to content
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

Import Export tool #230

Open
2 of 7 tasks
srieteja opened this issue Sep 19, 2022 · 3 comments
Open
2 of 7 tasks

Import Export tool #230

srieteja opened this issue Sep 19, 2022 · 3 comments
Assignees
Labels
5 SP 5 Story Points - 3 Days Medium arch call Flagging for architecture call discussion enhancement New feature or request PR46 Sept | Oct 2022 Sprint Planning PR47 Oct 2022 Sprint Planning

Comments

@srieteja
Copy link
Contributor

srieteja commented Sep 19, 2022

Feature Description
A tool to export data from a secondary in a format that is importable by another secondary.

Requirements

  • Allow users to specify filters that specify which data is extracted/exported
  • Expose a writer method that the user can use to export data irrespective of the format
  • Option to encrypt export exclusively for specific atSigns

Decisions to be taken

  • Does data need to be deleted from the exporter's atsign [perhaps optionally]?

Tasks

  • Demo/Proof of concept
  • Analyse all possible cases of keys and define ownership of keys post export
  • Implementing said rules through code
  • Create/Identify writer object in Dart
  • Tests/Testing
  • Documentation
  • Publish
@srieteja srieteja added the enhancement New feature or request label Sep 19, 2022
@srieteja
Copy link
Contributor Author

Would like your input on this topic @nickelskevin @tallent @cconstab. It would also be great if you could put down your requirements/expectations from this tool

@ksanty
Copy link
Member

ksanty commented Sep 19, 2022

Move to medium after arch call discussion

@ksanty ksanty added PR47 Oct 2022 Sprint Planning PR46 Sept | Oct 2022 Sprint Planning 8 SP 8 Story Points - 5 Days Large and removed PR47 Oct 2022 Sprint Planning labels Sep 19, 2022
@VJag
Copy link
Member

VJag commented Sep 20, 2022

Motivation:

If an IoT device has an @ sign, it could be recording data for someone else. This could be the owner of the device or a third person for whom the device is working. This someone can change with time. For example, a "pulse oximeter" in a hospital will be recording oxygen saturation levels for different patients at different times. If the "pulse oximeter" is recording the saturation levels in its own secondary there is a need to make the data available to the patient to whom the data belongs.

Given this scenario, there is probably a need to export the data from a secondary in order to make it available for someone else. This exported data can then be imported back into the secondary server of the person for whom it is imported.

Design considerations:

  1. Import export functionality is envisioned to be a separate library and not part of SDK

  2. Three main questions need to be answered while exporting the data:

    • What keys to export?
      ~ regex
      ~ date range
      ~ what types of keys? public, self, shared
      ~ can cached keys be exported?
      ~ can the cached/shared keys shared by someone else be exported (Not the same person it is being exported for)

    • How to export?
      ~ format of the export
      ~ csv/json or someother format
      ~ masking

    • Where to export?
      ~ Disk-based file/Cloud storage/In memory file etc..

  3. Following questions needs to be answered while importing the data:

    • What will be the format of the keys when imported?
      ~ Does a public key become a public key?
      ~ Does a shared key become a shared key?
      ~ Should the information that is exported from some other at sign needs to be preserved in the metadata or some other place?

@srieteja srieteja added 5 SP 5 Story Points - 3 Days Medium and removed 8 SP 8 Story Points - 5 Days Large labels Oct 3, 2022
@ksanty ksanty added the PR47 Oct 2022 Sprint Planning label Oct 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
5 SP 5 Story Points - 3 Days Medium arch call Flagging for architecture call discussion enhancement New feature or request PR46 Sept | Oct 2022 Sprint Planning PR47 Oct 2022 Sprint Planning
Projects
None yet
Development

No branches or pull requests

3 participants