-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
42 lines (41 loc) · 3.39 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
High priority:
- Creating/updating the installer (ideally, git pull on target platform, one rake task, then git push)
- Add a generate task to initialize config files in a Rails app
- Documentation
- Resolve issue of too-long index names
Low priority:
- Make unit tests against bugs fixed by 7f8415 and 31455d
- Try to come up with some more convenient way of building unit-test-specific model classes
- Make sure ModelStates don't continue to stick around and cause trouble even after a class no longer acts_as_offroadable
- Get README into the auto-generated gem rdocs
- Get the test suite to stop generating a log file, it's annoying
- Use finer-grained exceptions to allow for better error testing
- Don't allow group_single records to reference non-single group records, since group_single "ownership" can change
- Don't assume "id" as primary key name, always look it up with the appropriate ActiveRecord method
- Allow offline app to relinquish ownership by setting a belongs_to field to 0 or NULL
- Figure out why Hobo assumes all fields non-editable (something I'm doing in the patched-in updatable check...)
- Assign a random number to group state when it is created, only accept mirror files with matching random number
- This is to prevent confusion if a group is made offline, then online, then offline again
- Also assign a random number to the online app, and only accept mirror files which match this number as well
- Prevents multiple installations of an app from reading each others' mirror files
- Use read transactions for mirror write operations (is it already doing this?)
- The launcher should keep a log file
- Include recent log lines (for both Rails and the launcher) in generated up-mirror files, for debugging purposes
- Use rails logger to note activity
- When mirror data version is confirmed, delete all sendable record state entries for deletions older than min(version) over all group_states
- Try to gather some kind of machine identifier to put in a offline-owned group_state column
- Try streaming out with large data sets and make sure it is sufficiently speedy, and is actually streaming (i.e. no Content-Length header)
- Change mime-type of mirror files being downloaded to something that doesn't allow it to be accidentally viewed in-browser
- Use md5sum on the entire cargo file instead of just each individual part, to protect against corruption outside the actual data segments
- Allow app to optionally specify batch sizes on a model-by-model basis
- Mirror file imports in the down mirror app should happen through GUI, and GUI should delete files once succesfully imported
- If offline app attempts to import a down mirror file and it doesn't work, it should:
- Delete the down mirror file as usual, but...
- Explain that it wasn't imported and that another down mirror file should be downloaded
- Figure out which activerecord methods skip the save callbacks, and wrap them to also update the mirror version
- Maybe methods for which this isn't practical should raise an error when called...
- Load all the other informational values in GroupState
- App creates a record then deletes it then sends mirror; does a deletion srs still get sent?
- For any fix to this: make sure that if app updates record then deletes it then sends mirror that deletion gets sent
- Maybe that means we need both create_version and update_version on srs?
- Put the CargoStreamer into its own gem, it might be handy for other stuff