transfer issueshttps://git.lumc.nl/j.k.vis/transfer/-/issues2017-11-28T13:21:07+01:00https://git.lumc.nl/j.k.vis/transfer/-/issues/4Metadata validation endpoints2017-11-28T13:21:07+01:00jkvisMetadata validation endpointsIn the/a next refactoring step we should consider a new paradigm for the (early) validation of the metadata.In the/a next refactoring step we should consider a new paradigm for the (early) validation of the metadata.https://git.lumc.nl/j.k.vis/transfer/-/issues/3Unit tests for transfer client.2017-07-28T10:12:25+02:00LarosUnit tests for transfer client.This is needed before we can merge `verbose` and `cli_patch`.This is needed before we can merge `verbose` and `cli_patch`.LarosLaroshttps://git.lumc.nl/j.k.vis/transfer/-/issues/2E-mail test2017-07-28T10:12:25+02:00jkvisE-mail testWerkt de e-mail nu?Werkt de e-mail nu?LarosLaroshttps://git.lumc.nl/j.k.vis/transfer/-/issues/1Code review2017-07-28T10:12:25+02:00Martijn Vermaatm.vermaat.hg@lumc.nlCode reviewI attached some comments to lines of code, but here are some general remarks.
- Flask and SQLAlchemy are already completely unicode based, but Python 2.7 is not by default. Just to be sure, I would add `from __future__ import unicode`...I attached some comments to lines of code, but here are some general remarks.
- Flask and SQLAlchemy are already completely unicode based, but Python 2.7 is not by default. Just to be sure, I would add `from __future__ import unicode` at the top of every file.
- Would be good to have some tests (in Mutalyzer I use [pytest](http://pytest.org/)).
- The documentation by README file is good enough for this project, but the API is entirely documented by example. Perhaps better to at least describe the HTTP method, URL endpoint, headers, and form fields separately.
- I would not put method-specific request arguments in HTTP headers. For example, `Transfer-Id` in uploading a file; I would expect this to be in the URL (`https://192.168.123.123/transfer/xxxx/upload`).
- Very good to describe all possible error messages and their meaning in the docs. However, I would make it clear that the description can be used as an error code (i.e., can be used by a program and won't change) by just calling it error code or the like. Then there's also room to include a human readable message in a second field.
- Add some documentation on how to run the server (and also on running `console.py`)?
- Is gunicorn really a dependency? I don't think so.
- Could add something about the optional nginx upload module to the docs, and I think it would be better to default that configuration value to false.
- It should be possible to customize the config without changing the application source code, e.g., by reading some configuration file.
- Note in the docs that it's only been tested with SQLite.
- Use the logging module. Expecially log a short line in those cases where we silently ignore exceptions, but probably also when a user id doesn't match etcetera.
That's all for now :)jkvisjkvishttps://git.lumc.nl/j.k.vis/transfer/-/issues/6Add local firewall as part of the configuration2017-11-23T09:44:20+01:00jkvisAdd local firewall as part of the configurationWe could add a local firewall, e.g., [ufw](https://help.ubuntu.com/community/UFW) and open incoming ports for configurable providers.
See also: [deployment](https://git.lumc.nl/j.k.vis/transfer-ansible).We could add a local firewall, e.g., [ufw](https://help.ubuntu.com/community/UFW) and open incoming ports for configurable providers.
See also: [deployment](https://git.lumc.nl/j.k.vis/transfer-ansible).https://git.lumc.nl/j.k.vis/transfer/-/issues/7Server handling so-called chunked transfers2017-11-15T13:18:14+01:00jkvisServer handling so-called chunked transfersThe [client](https://git.lumc.nl/apis/transfer_client) allows for chunked transfer of a (nested) directory structure. The unpacking of the transferred data is currently a manual action. Maybe the server should be chunked transfer aware a...The [client](https://git.lumc.nl/apis/transfer_client) allows for chunked transfer of a (nested) directory structure. The unpacking of the transferred data is currently a manual action. Maybe the server should be chunked transfer aware and could handle the unpacking in that case.https://git.lumc.nl/j.k.vis/transfer/-/issues/8Critical events2017-11-28T13:20:30+01:00jkvisCritical eventsCurrently the return status of a webhook has no impact on a transfer. In case of for instance `early validation' a transfer should not be initiated when the webhook fails.Currently the return status of a webhook has no impact on a transfer. In case of for instance `early validation' a transfer should not be initiated when the webhook fails.https://git.lumc.nl/j.k.vis/transfer/-/issues/9Race condition on transfer complete2018-08-01T11:27:07+02:00jkvisRace condition on transfer completeHow can we prevent simultaneous uploads?How can we prevent simultaneous uploads?