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

Post-coding retreat to-do list #3

Open
12 of 42 tasks
zackbatist opened this issue Feb 25, 2019 · 0 comments
Open
12 of 42 tasks

Post-coding retreat to-do list #3

zackbatist opened this issue Feb 25, 2019 · 0 comments

Comments

@zackbatist
Copy link
Owner

zackbatist commented Feb 25, 2019

- Record lookups

  • Default/null selection returns wildcard values
  • No-match results outputs blank table + error message
    • if QueryResults == Level2 then output a blank datatable
  • Update options in selectInput fields based on whether possible matches exist given the values selected in other selectInput fields
  • Make it so the datatable only gets updated when the query button is pressed
  • When no results match the query terms, make a button appear that brings user to the create new records tab
    • renderUI within an observe

- New records

  • Bring in the create records functionality from the old version, with tabs at the top of the main section to differentiate record creation from record lookup/modification
  • Creating Level2 records
    • If equivalent Level2 record does not exist, write a new Level2 record
    • If equivalent Level2 record does not exist, create corresponding Level3 records
      • New ArtefactIDs need to be generated for each new Level3 record
    • If equivalent Level2 record already exists, update the existing Level2 record
    • If equivalent Level2 record already exists, create corresponding Level3 records whose quantity is equal to the amount of new Level2 material being accounted for
      • New ArtefactIDs need to be generated for each new Level3 record
  • Creating Level3 records
    • If corresponding Level2 record does not exist, create a Level2 record with Quantity of 1
    • If corresponding Level2 record already exists, update the Level2 record with updated quantity of artefacts accounted for
    • New ArtefactIDs need to be generated for each Level3 record
  • Creating XFinds records
    • When XFinds are added (LocusType == XFind) parse the context value from the XFind ID, and use this information to find equivalent Level2 records
      • The equivalent Level2 record's Quantity field should be updated to account for the new quantity of artefacts accounted for
      • The equivalent Level2 record's XFind field should be updated to account for the new quantity of corresponding XFinds
    • A new Level3 record should be created
      • The new Level3 record should include the XFind ID in its XFind field
        • This is neither Schrödinger or non-Schrödinger, but XFind
    • The XFind table needs to be tidied up
    • All XFinds need to be added to the allloci table

- Nested queries

  • Selected row or cell returns index to lookup corresponding records in relevant tables
  • Develope a write-read mechanism that allows records to be written to a table, and then re-read from the database and re-rendered in the app

- Photos and illustrations

  • Mechanism for users to add records to photos and illustrations tables
  • Implement the generation of PhotoIDs and IllustrationIDs when new records are created
  • Duplicate the photos datatable code for a new illustrations datatable
  • Fix up the illustrations table in the database

- Record updates

  • x

- Visual / UX tweaks and enhancements

  • Enable tabbing through fields, reduce the need to click for everything
  • Make tabs appear and disappear as needed or as called for by selecting rows/cells
  • Include dropdowns and buttons in the datatable's cells to ensure that data entered is consistent
  • Re-size the Update and Delete button columns
  • Re-order and re-size the columns in the various datatables
  • Drop the ID columns from the various datatables
  • Modify column widths

- Error messages / messages to users

  • Upon hitting query button and QueryResults == Level2: "No records found matching these search parameters. Would you like to create one?"
  • Upon updating Level2 Quantity to 0 value: "This will delete the record, as well as corresponding Level3 records. Are you sure you want to do this?"
  • Upon hitting the delete button on a Level2 record: "This will delete the record, as well as corresponding Level3 records. Are you sure you want to do this?"
  • Upon hitting the delete button on a Level3 record: "This will delete the record, and update the corresponding Level2 record to reflect this change. Are you sure you want to do this?"
  • Log of all changes
    • Modeled after the list of who kills who in first person shooter video games:
      • "AR002345 [0001-MP-Flake3-Notch] updated to [0001-MP-Flake2-Notch], now there are 43 of the former type and 78 of the latter type."
      • "48 new artefacts added as [0002-LP-Blade1-Denticulate], now there are 56 of that type."
      • "6 artefacts removed from [0003-Meso-Flake2-Burin], now there are 3 of that type."
      • "XFind 0003X001 added as [0003-LP-Flake2-Unmodified], now there are 43 of that type."
  • Create activitylog table in the database
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant