-
Notifications
You must be signed in to change notification settings - Fork 0
Trajectory for Future Development
Brian "Moses" Hall edited this page Nov 4, 2021
·
1 revision
In roughly descending order of urgency, these are areas for improvement within the scope of RSVP development. (It does not attempt to capture Michigan LIT's technology agenda or priorities).
(Note: please observe backwards compatibility with objects stored in existing status.json
files.)
- Use a database instead of
status.json
. This would ease development of a web-based admin/tracking tool enormously. - Create admin/tracking tool to at least allow querying of status and history across all shipments.
- The files generated by
bin/shipment_mover.sh
might be a suitable entry point for easing into this.
- The files generated by
- Rewrite
bin/shipment_mover.sh
in Ruby. Use ofmd5sum
is a Linux-ism and should be replaced with a built-in. Error reporting is nonexistent. - The
JHOVE
class has error deduplication capabilities used inbin/jhove
that are not used in thePostflight
stage. Using them properly would cut down on error verbosity for shipments that have a lot of them. Beware of theError
object's#path
field when dealing with file ranges (see below). - Some of
Shipment
's class methods having to do with directory contents could be spun off into a utility class. -
TestShipment
/DLXSTestShipment
should be some sort of module rather thanShipment
subclasses. The only thing they bring to the party is creation of fake shipments, and (crucially, as it turns out) the ability to get objids in order of creation so tests can make predictions about them. NoteShipment
lexicographic order vsTestShipment#ordered_objids
. - Add a command-line flag to
bin/process
that starts an interactivebin/query
-style session when errors are detected. A useful refactoring exercise that would move most ofbin/query
intolib/query_tool.rb
. - The
ImageFile
structure should be promoted to a full-fledged class since doing so would likely reduce duplicative code (specifically, code that manipulates filesystem paths). -
Error
objects should be able to report file/path sequences in some manner (provided it does not blow everything up).