git-annex/doc/design/assistant/webapp.mdwn

56 lines
2.3 KiB
Text
Raw Normal View History

2012-05-27 01:11:19 +00:00
The webapp is a web server that displays a shiny interface.
2012-08-29 21:48:36 +00:00
## bugs
* At least in chromium, clicking on the transfer pause or cancel button
sometimes fails. Seen in javascript console:
500 error code from web server.
2012-08-31 17:08:48 +00:00
This is quite likely because of how the div containing transfers is refereshed.
If instead javascript was used to update the progress bar etc for transfers
with json data, the buttons would work better.
2012-08-29 21:48:36 +00:00
2012-05-27 01:11:19 +00:00
## interface
* list of files uploading and downloading **done**
2012-08-03 14:45:58 +00:00
* button to open file browser on repo (`xdg-open $DIR`) **done**
2012-08-31 17:08:48 +00:00
* progress bars for each file (see [[progressbars]]) **done**
2012-05-27 01:11:19 +00:00
* drag and drop to reorder
2012-08-20 00:14:34 +00:00
* cancel, pause, and resume **done**
* keep it usable w/o javascript **done**
* keep it accessible to blind, etc
2012-05-27 01:11:19 +00:00
2012-05-31 19:28:04 +00:00
## other features
* there could be a UI to export a file, which would make it be served up
over http by the web app
2012-10-05 21:56:15 +00:00
* there could be a UI (some javascript thing) in the web browser to
submit urls to the web app to be added to the annex and downloaded.
2012-10-05 21:59:34 +00:00
See: [[todo/wishlist:_an_"assistant"_for_web-browsing_--_tracking_the_sources_of_the_downloads]]
* Display the `inotify max_user_watches` exceeded message. **done**
* Display something sane when kqueue runs out of file descriptors.
* allow removing git remotes **done**
2012-10-14 19:15:24 +00:00
* allow disabling syncing to here, which should temporarily disable all
local syncing.
2012-05-31 19:28:04 +00:00
2012-08-03 14:45:58 +00:00
## first start **done**
2012-07-31 20:13:19 +00:00
2012-08-02 01:38:12 +00:00
* make git repo **done**
2012-08-03 14:45:58 +00:00
* generate a nice description like "joey@hostname Desktop/annex" **done**
* record repository that was made, and use it next time run **done**
2012-08-02 01:38:12 +00:00
* write a pid file, to prevent more than one first-start process running
2012-08-03 14:45:58 +00:00
at once **done**
2012-08-20 00:14:34 +00:00
## security **acceptable/done**
* Listen only to localhost. **done**
* Instruct the user's web browser to open an url that contains a secret
token. This guards against other users on the same system. **done**
(I would like to avoid passwords or other authentication methods,
it's your local system.)
* Don't pass the url with secret token directly to the web browser,
as that exposes it to `ps`. Instead, write a html file only the user can read,
that redirects to the webapp. **done**
* Alternative for Linux at least would be to write a small program using
GTK+ Webkit, that runs the webapp, and can know what user ran it, avoiding
needing authentication.