Comments (2)
👍
My idea was to overlay the application with a clearly visible spinner that signals that capture is in progress and prevents the user from clicking any buttons.
Also I want to implement a small counter for how many images have been shot already and eventual warnings/error messages.
And long polling does not have anything to do with that :-)
The process is currently as follows:
- The client fires a POST request to /workflow/:id/capture
- The server triggers the capture on the devices, waits for completion
- The server answers with a JSON object consisting of the addresses of the images, some statistics (currently only number of pages shot, though this will include error/warning messages as well)
- The client updates its workflow model with the new information and then the UI
That is, the request is only completed when the capture has completed and there's no need for polling to wait for an update.
Long polling is currently only needed when two users view the webinterface at the same time, the client not involved in the capture will see all updates the other user makes without having to refresh his browser.
This will become more useful when I implement the postprocessing side, then the interface can give direct feedback on how far in it is without the user having to do anything.
This is different from the capture process, since here it is the client who clearly initiates the changes, so he can be notified directly, via the server's answer to his POST request.
Pietr is very welcome to work on the webinterface, he will have to get acquainted with Foundation and React.js, though, since these handle the view component of the client application. And some knowledge on how to use Backbone models wouldn't hurt either :-)
from spreads.
This is running now. Great, thx Johannes!
from spreads.
Related Issues (20)
- spreads repo key HOT 1
- Error tuple index out of range HOT 4
- Can't zoom Canon SX170 Camera HOT 2
- Unable to encode lists with elements that are not 2-tuples when sending to remote processor HOT 2
- Spread configure error HOT 3
- Exception thrown/camera crash during configure HOT 3
- Exception AttributeError: "'NoneType' object has no attribute 'gp_camera_exit'" in ignored HOT 1
- getting error after running "spread gui" and web is not working HOT 12
- Getting scantailor error during postprocessing HOT 6
- spread configure gphoto2camera AttributeError: 'module' object has no attribute 'list_cameras' HOT 3
- travis build fails with failure in test_submit_workflow HOT 1
- Can't configure devices? HOT 16
- Spreads crashes with "module 'chdkptp' not found" error (with chdkptp.py installed) HOT 3
- Images from two different cameras save as the same name HOT 1
- Camera configuration issue attribute 'list_cameras' HOT 5
- Can not configure spreads HOT 1
- ScanTailor plugin ignores capture dpi specified in configuration
- http://buildbot.diybookscanner.org seems down HOT 1
- error running spread output HOT 1
- error when setting raw capture mode HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spreads.