supermemo/SuperMemoAssistant

Add Unique ID property to IElement

bjsi opened this issue · 3 comments

bjsi commented

Description

Element IDs may not remain unique over time because deletion allows new elements to take the deleted element's ID.

Environment

IElement interface.

Motivation

Supports any plugin that needs to maintain a reliable unique reference to an element over time.

bjsi commented

Plan:

  • Unique ID will be a string in the form of "{id}-{timestamp}"
  • Creation datetime info not currently available, so need to RE repetition data.
    image
  • Repetition No. 1 represents creation datetime
  • Repetition data stored in these files:
    image
  • Could also use the native functions if RE-ing the files doesn't work
  • Use 010 editor to figure out structure of the file(s)
  • Create new registry similar to the EmptyFileSlots registry

Were you able to make progress ?

Added a placeholder method IElement::UniqueId.