V2 Inspector2 To Do
V2Master | V2Inspector2Specification
Contents
Strategy
- Our current goal is to get a reliable prototype with all the features required for production use,
including the ability to customize, via configuration (not programming) the data fields in the tags and scans tables
Conversion from SQLite to PouchDB
Features Required
- Client-side
- Login
- List Sorting
- Improved lists
- Usability improvements
- Server-side (Via an angular app?)
- Dashboard prototype
- Report prototype
Login & user roles
- Audit trail
- Record versioning
- Stress testing
Documentation & Method Statements
Future features
Flexible fields in forms. E.g. generic fields in tags & scans
- Voice recordings
- Video recordings
Development
Bugs and Incomplete Features
- Photos:
Photo detail: Does not display date, file name, image type or size
- New photo
- Delete photo
- Dispatch to photo viewer from photo detail page
- Infinite scrolling of:
Tag list
- Scan list
- Photo list
- Sorting of:
Tag list
- Scan list
- Photo list
- Ability to detect and resolve conflict records
- Tags
- Scans
Get Search for Scan Code working again
Display (8-digit hex) IDs in detail page headers
Implement user authentication & transaction authorization
- What is possible with CouchDB?
Bug: Sometimes you get a Are you sure you want exit Inspector? dialog when you shouldn't
- Test for design document conflicts when two different devices upload design documents
Review code and make sure no local DB fields are being used
Performance and Reliability Testing
- Reliability and tuning of server synchronization:
- Initial DB download
- Via fast wifi
- Via slow GSM with occasional network interruptions
- Upload of lots of new photos
- Via fast wifi
- Via slow GSM with occasional network interruptions
- Initial DB download
For testing & diagnostics: Implement an attachment logging function that shows all attachments and their sizes
Usability Improvements
- Cleanup display of tag list
- Cleanup display of scan list
Server Updates
- Decide how to implement a desktop app
- Implement record versioning?
- Implement audit trail
- Implement prototype dashboard
- Implement prototype report
- Implement to ensure that tag.tag_value is unique (implement in app too?)
Implement user roles
Administrator - Able to manage users & user roles
Normal User - read/write access
Observer - read access only
Implement transaction protection based on user roles
Implement user role administration
- Implement record versioning
Unimplemented Use Cases
Delete non-uploaded records on the client
Photos
Scans - Only if no photos?
Tags - Only if no scans?
- Handling items deleted on server
- Dealing with record conflicts
- On server
- On client
- Use case: Replace a tag with a tag with a different scan code
- Implement a tag_id in the scan record?
Testing
- Download
- Records loaded
- Photos loaded
- Upload
- Records uploaded
- New scan item
- Looks OK in list
- Detail
- Dates OK