pyDataverse icon indicating copy to clipboard operation
pyDataverse copied to clipboard

Add history functionality to pyDataverse objects

Open skasberger opened this issue 5 years ago • 1 comments

Purpose

  • Add audit trail / history function to pyDataverse objects and function calls

Functionality

  • Question: use file(s) to store information: CSV, JSON, ???
  • #51
  • Integrate with logging #44
  • Integrate with OAISTree (#5 )
    • Store history.json files outside oaistree structure (to seperate the two features)
  • Re-do all steps: a dataset could even be created at another instance again, so all workflow steps which should be stored in the history can be done n-times.
  • use state of pyDataverse object history to control workflow: OAISTree, API calls,
  • save Dataverse id and alias after creation
  • save Dataset id, title and internal id after creation
  • save Datafile id, filename and internal id after upload
  • synchronize pyDataverse object history with output (JSON, CSV, whatever)
  • save username and base_url to API calls
  • Filename: history_ID.json
  • create one entry for each event/activity

history.json structure (DRAFT):

  • metadata
    • date-created: string, YYYY-MM-DD HH:MM:SS
    • history_version: version des history schemas
  • history: [{}]
    • dataset_id: string
    • dataverse_dataset_version: string
    • datafiles: [FILENAMES], ohne Pfad
    • timestamp: string, YYYY-MM-DD HH:MM:SS
    • description: string
    • object_type: dataset oder datafile
    • object_id
    • creator
    • change_type: {dataverse_release: , dataverse_process: }
      • dataverse: init, update, delete, move
        • release: init, update, delete, move
        • edit: major/minor release version change in Dataverse
        • delete: major/minor release version change in Dataverse
      • internal
        • specific_change_type: nähere Beschreibung des change types, zb aussda

skasberger avatar Jun 26 '20 11:06 skasberger

As discussed during the 2024-02-14 meeting of the pyDataverse working group, we are closing old milestones in favor of a new project board at https://github.com/orgs/gdcc/projects/1 and removing issues (like this one) from those old milestones. Please feel free to join the working group! You can find us at https://py.gdcc.io and https://dataverse.zulipchat.com/#narrow/stream/377090-python

pdurbin avatar Mar 04 '24 16:03 pdurbin