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

Model of Data in Clearing House #532

Open
kragall opened this issue Dec 8, 2021 · 5 comments
Open

Model of Data in Clearing House #532

kragall opened this issue Dec 8, 2021 · 5 comments
Assignees
Labels
enhancement ticket proposing an improvement, extension of exisitng or new features
Milestone

Comments

@kragall
Copy link

kragall commented Dec 8, 2021

To store data in the Clearing House a Connector creates a LogMessage and sends it together with data as the payload to the Clearing House. The Clearing House stores this LogMessage together with meta-data, such as a timestamp when it stored the data or the id under which data can be retrieved. This is illustrated here:

Log Entry drawio

The LogEntry contains both LogMessage and meta-data.

Currently, when a Connector wants to retrieve data from the Clearing House it can query for it, and it will receive the stored LogMessage. The meta-data that is part of the LogEntry is not returned to the Connector. For various reasons it is desirable for the Connector to access the meta-data.

Would it be possible to add something like LogEntry to the Information Model? Or is there another solution how LogMessage and additional meta-data may be grouped together in a way that a receiving connector can process without additional logic?

@JohannesLipp
Copy link
Member

Thank you for raising this! Could you please state the additional fields you need? A solution could indeed add additional fields to LogMessage, or create a complete new class LogEntry, if required. The first option is preferable, if no additional logic should be applied.

@JohannesLipp JohannesLipp added the enhancement ticket proposing an improvement, extension of exisitng or new features label Jan 13, 2022
@kragall
Copy link
Author

kragall commented Jan 17, 2022

The meta-data fields we store currently are:

  • transaction_id: This is basically a counter with a unique (unique in the database) number for each stored message.
  • process_id: This is a string that describes the process under which the message is logged. Think of it as the label of the folder under which the message has been filed together with other messages.
  • document_id: This is a unique (unique in the process) id in the form of a uuid for the stored message
  • timestamp: This is the timestamp recording the date when this message was logged by the CH
  • hash: This information is used for integrity protection in the CH
  • client_id: This is the unique id of the client that sent the stored message taken from the DAT the client sent with the original LogMessage

@HaydarAk HaydarAk self-assigned this Jan 20, 2022
@JohannesLipp
Copy link
Member

Task:

  1. Create new class LogEntry that holds the given metadata fields, and
  2. Link from LogEntry to the existing LogMessage class via a new property.

@PHochmann
Copy link
Contributor

@PHochmann
Copy link
Contributor

PHochmann commented Jul 4, 2022

Updated requirements (as given by @kragall ):

  • timestamp: This is the timestamp recording the date when this message was logged by the CH
  • transaction_id: This is basically a counter with a unique (unique in the database) number for each stored message.
  • process_id: This is a string that describes the process under which the message is logged. Think of it as the label of the folder under which the message has been filed together with other messages.
  • document_id: This is a unique (unique in the process) id in the form of a uuid for the stored message
  • client_id: This is the unique id of the client that sent the stored message taken from the DAT the client sent with the original LogMessage
  • server_id: This is the unique id of the server that stored message in form of the id of private key
  • hash: This information is used for integrity protection in the CH
  • signature: This contains a cryptographic signature of the data
  • payload: This optional field contains the payload of the original LogMessage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement ticket proposing an improvement, extension of exisitng or new features
Projects
Information Model
Awaiting triage
Development

No branches or pull requests

4 participants