beat issueshttps://gitlab.idiap.ch/groups/beat/-/issues2015-12-14T12:44:26Zhttps://gitlab.idiap.ch/beat/beat.web/-/issues/358[api] Django restframework 3.3.x update will affect experiment queueing2015-12-14T12:44:26ZAndré Anjos[api] Django restframework 3.3.x update will affect experiment queueingIn my installation with this version of rest framework, I can no longer queue a configured experiment (i.e., click on the "Save" button). Downgrading to 3.2.x makes it work again.
The error caught by the web UI is: `Could not read req...In my installation with this version of rest framework, I can no longer queue a configured experiment (i.e., click on the "Save" button). Downgrading to 3.2.x makes it work again.
The error caught by the web UI is: `Could not read request body` (experiments/api.py, line 137) which generates a 400 error.
After inspection, it seems the request is read before entering the our API function. Putting a traceback printout on `django/http/request.py` `read()`, shows me the following stack:
```text
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/utils/autoreload.py", line 229, in wrapper
fn(*args, **kwargs)
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/core/management/commands/runserver.py", line 143, in inner_run
ipv6=self.use_ipv6, threading=threading)
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/core/servers/basehttp.py", line 201, in run
httpd.serve_forever()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 238, in serve_forever
self._handle_request_noblock()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
self.process_request(request, client_address)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 321, in process_request
self.finish_request(request, client_address)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/core/servers/basehttp.py", line 102, in __init__
super(WSGIRequestHandler, self).__init__(*args, **kwargs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 655, in __init__
self.handle()
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/core/servers/basehttp.py", line 182, in handle
handler.run(self.server.get_app())
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/contrib/staticfiles/handlers.py", line 63, in __call__
return self.application(environ, start_response)
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/core/handlers/wsgi.py", line 189, in __call__
response = self.get_response(request)
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/views/decorators/csrf.py", line 58, in wrapped_view
return view_func(*args, **kwargs)
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/views/generic/base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/views.py", line 454, in dispatch
self.initial(request, *args, **kwargs)
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/views.py", line 376, in initial
self.perform_authentication(request)
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/views.py", line 310, in perform_authentication
request.user
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/request.py", line 353, in __getattribute__
return super(Request, self).__getattribute__(attr)
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/request.py", line 193, in user
self._authenticate()
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/request.py", line 316, in _authenticate
user_auth_tuple = authenticator.authenticate(self)
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/authentication.py", line 127, in authenticate
self.enforce_csrf(request)
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/authentication.py", line 136, in enforce_csrf
reason = CSRFCheck().process_view(request, None, (), {})
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/middleware/csrf.py", line 174, in process_view
request_csrf_token = request.POST.get('csrfmiddlewaretoken', '')
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/request.py", line 353, in __getattribute__
return super(Request, self).__getattribute__(attr)
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/request.py", line 372, in POST
self._load_data_and_files()
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/request.py", line 243, in _load_data_and_files
self._data, self._files = self._parse()
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/request.py", line 289, in _parse
parsed = parser.parse(stream, media_type, self.parser_context)
File "/Users/andre/Projects/beat/beat.web/eggs/djangorestframework-3.3.1-py2.7.egg/rest_framework/parsers.py", line 66, in parse
data = stream.read().decode(encoding)
File "/Users/andre/Projects/beat/beat.web/eggs/Django-1.8.7-py2.7.egg/django/http/request.py", line 290, in read
import traceback; traceback.print_stack()
[13/Dec/2015 10:30:44] "POST /api/v1/experiments/anjos/ HTTP/1.1" 400 29
```Final DocumentationSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/359[experiments] Cannot rename experiment if it is not on a "PENDING" state2015-12-13T16:34:32ZAndré Anjos[experiments] Cannot rename experiment if it is not on a "PENDING" stateRe-implementing the renaming functionality on the `master` branch got me to hit on limitation.
Could somebody motivate why that is? From my understanding, the only condition for renaming should be `modifiable() == True`. Clearly, I'm ...Re-implementing the renaming functionality on the `master` branch got me to hit on limitation.
Could somebody motivate why that is? From my understanding, the only condition for renaming should be `modifiable() == True`. Clearly, I'm missing something here.Final Documentationhttps://gitlab.idiap.ch/beat/beat.web/-/issues/360[reports] Missing attributes on table cells2015-12-18T09:24:57ZTiago de Freitas Pereira[reports] Missing attributes on table cellsIn the staging version I created the report (http://beatweb-staging/reports/914720457/).
This report has only one table containing informations regarding two algorithms, but only two experiments use these algorithms. For the ones that...In the staging version I created the report (http://beatweb-staging/reports/914720457/).
This report has only one table containing informations regarding two algorithms, but only two experiments use these algorithms. For the ones that don't use, it is possible to see a dash line in the table, but for the ones that use the algorithms ("Face ISV", "Periocular ISV") it is not possible to see their values.
Final DocumentationFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.web/-/issues/361[toolchains] Editor is inconsistent w.r.t. dataset templates and existing dat...2019-01-10T08:56:59ZAndré Anjos[toolchains] Editor is inconsistent w.r.t. dataset templates and existing databasesIn the context of the implementation of our new database schematics which shall move the concept of SetTemplates into the beat.core, I just realised that our toolchain editor does not have a very useful "dataset template" insertion featu...In the context of the implementation of our new database schematics which shall move the concept of SetTemplates into the beat.core, I just realised that our toolchain editor does not have a very useful "dataset template" insertion feature.
Yes, the button allows the user to insert a dataset template, but this template does not necessarily match existing database configurations, which may have more datasets than associated dataset templates. This is, for example, the case with any "advanced_face_recognition" database, which normally presents 5 sets, corresponding to the training set, 2 for dev and 2 for test. For obvious reasons, the template sets for the 2 dev and 2 test sets are the same.
I propose we either:
1. Remove the dataset template button in favour of a "database/protocol" button
2. Fix the dataset template so that a full description of all sets in a database/protocol are inserted.
@philip.abbet: could you please advise?https://gitlab.idiap.ch/beat/beat.web/-/issues/363[ui] Navigation problem2015-12-17T10:57:49ZPhilip ABBET[ui] Navigation problemWhen you go on a page with tabs (for example: http://beatweb-staging/toolchains/anjos/livdet-lda/1/) and you click on one tab (say: "Experiments"), when you click on the "Back" button of your browser, nothing happens.
You don't come b...When you go on a page with tabs (for example: http://beatweb-staging/toolchains/anjos/livdet-lda/1/) and you click on one tab (say: "Experiments"), when you click on the "Back" button of your browser, nothing happens.
You don't come back on the first tab you were one, nor on the previous page. Another click on "Back" will send you to the previous page in the history.
The URL change in the browser, but not the content of the page.
Tested in Chrome and Firefox.https://gitlab.idiap.ch/beat/beat.web/-/issues/364[experiments] Readability problem2015-12-17T10:57:49ZPhilip ABBET[experiments] Readability problemWhen creating a new experiment, in the "Select a toolchain" dialog, the documentation of the selected toolchain isn't readable in the list (written in gray on blue background).
I don't know if other dialogs are in the same case.When creating a new experiment, in the "Select a toolchain" dialog, the documentation of the selected toolchain isn't readable in the list (written in gray on blue background).
I don't know if other dialogs are in the same case.https://gitlab.idiap.ch/beat/beat.web/-/issues/365[ui] Confusing tab titles2015-12-17T13:59:40ZPhilip ABBET[ui] Confusing tab titlesOn the user page, the tab title "Open Source" is misleading: not everything that you can find there is open-source.
Additionally, it is not clear enough from a navigation point-of-view: when you come to the platform, you don't navigat...On the user page, the tab title "Open Source" is misleading: not everything that you can find there is open-source.
Additionally, it is not clear enough from a navigation point-of-view: when you come to the platform, you don't navigate to find an "open-source", you navigate to find a "contribution" (or some other name carrying the same meaning).
The same reasoning goes for "Open Access": this should be a name describing **what** is inside this section, not **why** you can access it.
"Resources" is a very good name in that regard: the list of resources provided to you by the platform.
https://gitlab.idiap.ch/beat/beat.web/-/issues/366[reports] Cannot expand plots2015-12-18T14:59:05ZAndré Anjos[reports] Cannot expand plotsFor some reason, this stopped working.
Example:
http://beatweb-staging/search/anjos/for_flavio/
Then click on the button "expand" to expand the plots. Open the JS console to see:
```text
Uncaught TypeError: Cannot read prope...For some reason, this stopped working.
Example:
http://beatweb-staging/search/anjos/for_flavio/
Then click on the button "expand" to expand the plots. Open the JS console to see:
```text
Uncaught TypeError: Cannot read property 'split' of undefined
```
From: http://beatweb-staging/static/experiments/js/utils.js?v1.0.0b13, line 223
Final DocumentationFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.web/-/issues/367[backend] Wipe cache and cancel experiment actions are not working2016-06-24T10:27:57ZAndré Anjos[backend] Wipe cache and cancel experiment actions are not workingCurrently, both result in a time out. Needs to test if the backend is working properly.Currently, both result in a time out. Needs to test if the backend is working properly.Open-source ReleaseAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/368Package cache2016-02-01T14:34:25ZSamuel GAISTPackage cacheCurrently each and every run of the CI as well as distribution creation tries to download all packages from pypi which seems to be pretty unstable at this time.
One option would be to have a package cache somewhere that contains the l...Currently each and every run of the CI as well as distribution creation tries to download all packages from pypi which seems to be pretty unstable at this time.
One option would be to have a package cache somewhere that contains the latest versions needed by the platform and only do the download when an update has been decided. This would lower the bandwidth usage as well as speed things up when doing a setup of BEAT.André AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/369[team] Missing natural_key for teams2016-01-05T12:33:37ZAndré Anjos[team] Missing natural_key for teamsThe backup command will fail on the production site because of this.The backup command will fail on the production site because of this.Final DocumentationSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/370[experiments] Anonymous user can't see any experiment2016-01-06T13:53:31ZPhilip ABBET[experiments] Anonymous user can't see any experimentWhen not logged in, going on an experiment page produces the following error:
![Screen_Shot_2016-01-06_at_08.38.15](/uploads/3b417aef914d2e831eb98319e41b83a6/Screen_Shot_2016-01-06_at_08.38.15.png)
When not logged in, going on an experiment page produces the following error:
![Screen_Shot_2016-01-06_at_08.38.15](/uploads/3b417aef914d2e831eb98319e41b83a6/Screen_Shot_2016-01-06_at_08.38.15.png)
https://gitlab.idiap.ch/beat/beat.web/-/issues/371[activity stream] Activities for a user may show shared objects with another ...2016-02-01T14:30:39ZAndré Anjos[activity stream] Activities for a user may show shared objects with another userFor some reason, objects shared with user X are also appearing to another user on the activity list. The case occurs with, for example, for user `tpereira` on object http://beatweb-staging/toolchains/chichan/full_pre_mlbphs_projection/1/...For some reason, objects shared with user X are also appearing to another user on the activity list. The case occurs with, for example, for user `tpereira` on object http://beatweb-staging/toolchains/chichan/full_pre_mlbphs_projection/1/
![image](/uploads/dd09926027a8bf6f881828206d4386f7/image.png)
As you can see from the list, it looks like user `chichan` shared that object with user `tpereira`. When the user `tpereira` clicks on the contribution, he gets a 404 (which is correct, since the object was not shared with that user).Final DocumentationSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/373[experiments] Clicking on "Expand" on a plot produce an error 5002016-02-16T09:08:37ZPhilip ABBET[experiments] Clicking on "Expand" on a plot produce an error 500For instance on this page: http://beatweb-staging/experiments/anjos/anjos/livdet-lda/1/livdet-2013-biometrika-test/For instance on this page: http://beatweb-staging/experiments/anjos/anjos/livdet-lda/1/livdet-2013-biometrika-test/Final DocumentationFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.web/-/issues/374[experiments] no capture error log ?2016-01-12T14:55:28ZSébastien MARCEL[experiments] no capture error log ?I forked and re-ran the experiments
http://beatweb-staging/experiments/anjos/ivana7c/simple-antispoofing-updated/1/ivanas-experiment-xxx/
as
http://beatweb-staging/experiments/smarcel/ivana7c/simple-antispoofing-updated/1/ivanas-e...I forked and re-ran the experiments
http://beatweb-staging/experiments/anjos/ivana7c/simple-antispoofing-updated/1/ivanas-experiment-xxx/
as
http://beatweb-staging/experiments/smarcel/ivana7c/simple-antispoofing-updated/1/ivanas-experiment-yyy/
sadly it stopped but for the block that failed the captured error log is empty so so way to debug.
Final Documentationhttps://gitlab.idiap.ch/beat/beat.web/-/issues/375[multiple] User objects with UTF-8 encoded characters issues a 500 error2016-01-26T09:56:44ZAndré Anjos[multiple] User objects with UTF-8 encoded characters issues a 500 errorThis has been happening for a while now.
How to reproduce:
1) On the production system create a new library
2) Type the name `test` (for example)
3) On the code editor, type `è` in a comment: `#è`
4) Press the save button
Re...This has been happening for a while now.
How to reproduce:
1) On the production system create a new library
2) Type the name `test` (for example)
3) On the code editor, type `è` in a comment: `#è`
4) Press the save button
Results in: 500 error and the likes of the e-mail below being sent.
```text
Internal Server Error: /platform/api/v1/libraries/anjos/test/1/
Traceback (most recent call last):
File "/remote/sw/beat.env.web-0.0.1/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 164, in get_response
response = response.render()
File "/remote/sw/beat.env.web-0.0.1/usr/lib/python2.7/site-packages/django/template/response.py", line 158, in render
self.content = self.rendered_content
File "/remote/sw/beat.env.web-0.0.1/usr/lib/python2.7/site-packages/rest_framework/response.py", line 60, in rendered_content
ret = renderer.render(self.data, media_type, context)
File "/remote/sw/beat.env.web-0.0.1/usr/lib/python2.7/site-packages/rest_framework/renderers.py", line 103, in render
separators=separators
File "/remote/sw/beat.env.web-0.0.1/usr/lib/python2.7/json/__init__.py", line 250, in dumps
sort_keys=sort_keys, **kw).encode(obj)
File "/remote/sw/beat.env.web-0.0.1/usr/lib/python2.7/json/encoder.py", line 210, in encode
return ''.join(chunks)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3: ordinal not in range(128)
Request repr():
<WSGIRequest
path:/platform/api/v1/libraries/anjos/test/1/,
GET:<QueryDict: {u'include_fields': [u'html_description,history,referenced_libraries,referencing_libraries,referencing_algorithms']}>,
POST:<QueryDict: {}>,
COOKIES:{'__utma': '151489706.2013285428.1430744581.1441194617.1451987987.6',
'__utmc': '151489706',
'__utmz': '151489706.1437049090.3.2.utmcsr=beatweb-staging|utmccn=(referral)|utmcmd=referral|utmcct=/',
'_ga': 'GA1.2.2013285428.1430744581',
'_gat': '1',
'csrftoken': 'O4LbgXMrg55StC50UCumvJVzGUPYkvZ1',
'sessionid': 'ygnl9a93aj8tg3ydr2tttujtfd1zsha8'},
META:{'CONTENT_LENGTH': '',
'CONTENT_TYPE': '',
u'CSRF_COOKIE': u'O4LbgXMrg55StC50UCumvJVzGUPYkvZ1',
'HTTP_ACCEPT': '*/*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate, sdch',
'HTTP_ACCEPT_LANGUAGE': 'pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4,fr-FR;q=0.2',
'HTTP_CONNECTION': 'Keep-Alive',
'HTTP_COOKIE': '__utma=151489706.2013285428.1430744581.1441194617.1451987987.6; __utmc=151489706; __utmz=151489706.1437049090.3.2.utmcsr=beatweb-staging|utmccn=(referral)|utmcmd=referral|utmcct=/; sessionid=ygnl9a93aj8tg3ydr2tttujtfd1zsha8; _gat=1; csrftoken=O4LbgXMrg55StC50UCumvJVzGUPYkvZ1; _ga=GA1.2.2013285428.1430744581',
'HTTP_HOST': 'beatweb.lab.idiap.ch',
'HTTP_REFERER': 'https://www.beat-eu.org/platform/libraries/anjos/test/1/',
'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36',
'HTTP_X_CSRFTOKEN': 'O4LbgXMrg55StC50UCumvJVzGUPYkvZ1',
'HTTP_X_FORWARDED_FOR': '172.20.19.10',
'HTTP_X_FORWARDED_HOST': 'www.beat-eu.org',
'HTTP_X_FORWARDED_SERVER': 'www.beat-eu.org',
'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest',
'PATH_INFO': u'/platform/api/v1/libraries/anjos/test/1/',
'QUERY_STRING': 'include_fields=html_description,history,referenced_libraries,referencing_libraries,referencing_algorithms',
'REMOTE_ADDR': '172.30.90.51',
'REQUEST_METHOD': 'GET',
u'SCRIPT_NAME': u'',
'SERVER_ADDR': '172.31.100.250',
'SERVER_NAME': 'www.beat-eu.org',
'SERVER_PORT': '80',
'SERVER_PROTOCOL': 'HTTP/1.1',
'X_FORWARDED_HOST': 'www.beat-eu.org',
'X_FORWARDED_PROTO': 'https',
'uwsgi.node': 'beatweb.lab.kvm',
'uwsgi.version': '2.0.11.1',
'wsgi.errors': <open file 'wsgi_errors', mode 'w' at 0x7f8163595150>,
'wsgi.file_wrapper': <built-in function uwsgi_sendfile>,
'wsgi.input': <uwsgi._Input object at 0x7f815f9f8d20>,
'wsgi.multiprocess': True,
'wsgi.multithread': False,
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 0)}>
```Final Documentationhttps://gitlab.idiap.ch/beat/beat.web/-/issues/376[reports] Reports without experiments could be made a bit more user-friendly2016-02-05T10:11:28ZAndré Anjos[reports] Reports without experiments could be made a bit more user-friendlyHere is the cut and paste from the mailing list discussion:
```text
JG: You go to the reports tab.
You create a new report.
You press on "add a new report item"
You press on figure/table
You press on results
Nothing happens and ...Here is the cut and paste from the mailing list discussion:
```text
JG: You go to the reports tab.
You create a new report.
You press on "add a new report item"
You press on figure/table
You press on results
Nothing happens and there is no way of exiting the screen except going backwards with the browser.
I understand this issue comes from the fact that no experiments have been "previously" added to the report. To add an experiment you have to go to that particular experiment and press "add to report".
From my point of view the user's experience would improve if:
- A button "add experiment" was included in the report (similar to the current button "add a report item"). So that you can add experiments directly from the report (instead of going back to the experiment)
- Also, if someone presses on "add a report item" before an experiment has been added to the report, it would be nice if a pop-up informed the user that: "you need to add an experiment to the report before you can add an item" (or something similar)
AA: The most effective way to implement this, IMO, would be to disable the button and have a static message, with an explanation, including a link back to the experiments page.
Adding an experiment through the report, though relatively easy to implement, would be limited in terms of information displayed (e.g. date and name) because of the pop-up size and the incredible amount of info a user may need to select one and not another.
```Final DocumentationFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.web/-/issues/377[reports] Table/Figure adding pop-up does not have a dismiss button2016-02-10T10:44:12ZAndré Anjos[reports] Table/Figure adding pop-up does not have a dismiss buttonThis one keeps coming in and out and we must fix it because it is **really** counterintuitive in the way it is implemented today.
Little cut-n-paste from our dev mailing list:
```text
JG: ISSUE 2:
You create an experiment.
You c...This one keeps coming in and out and we must fix it because it is **really** counterintuitive in the way it is implemented today.
Little cut-n-paste from our dev mailing list:
```text
JG: ISSUE 2:
You create an experiment.
You create a report.
You add the experiment to the report.
You add a table --> results.
You select the results that you want to include in the table by ticking the boxes on the left.
Once you have finished selecting the results... what do you do?
I think it would be nice to have a "DONE" button at the bottom of the window where you select the results to be displayed in the table. This way when you finish selecting the results, you press the "DONE" button and it takes you back to the report.
```Final DocumentationFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.web/-/issues/378[toolchains] Editor should not allow for duplicated connections2016-02-05T15:02:20ZAndré Anjos[toolchains] Editor should not allow for duplicated connectionsOur toolchain editor currently allows the user to draw duplicated connections from a block to another block, while this should be illegal.
Steps to reproduce:
1. For any toolchain
2. On the editor, create a new connection duplicat...Our toolchain editor currently allows the user to draw duplicated connections from a block to another block, while this should be illegal.
Steps to reproduce:
1. For any toolchain
2. On the editor, create a new connection duplicating an existing one
3. Type a name and hit the save button
Results:
Error for duplicated connection, with cryptic message.
Expected:
Either a more explicit error message indicating which connections are duplicated or a smarter toolchain editor that does not allow for this.Final DocumentationPhilip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.web/-/issues/379[databases] Serializer ships unindented declaration2016-02-02T08:47:19ZAndré Anjos[databases] Serializer ships unindented declarationThis is a minor issue, but annoying. I'm trying to download a database from http://beatweb-staging and re-upload it to https://beat-eu.org/platform. While downloading it, I realise the database declaration (JSON) is not indented (with 4 ...This is a minor issue, but annoying. I'm trying to download a database from http://beatweb-staging and re-upload it to https://beat-eu.org/platform. While downloading it, I realise the database declaration (JSON) is not indented (with 4 spaces), which is the standard for the other contributions. The whole JSON comes in a single line of code.
I guess the issue here is the serializer that, contrary to what is in ``common/serializers.py``, does not do any appropriate JSON dumping of the database declaration.
How to reproduce this issue:
```sh
$ ./bin/beat -p prefix -m http://beatweb-staging db pull livdet2013/1
...
$ cat prefix/databases/livdet2013/1.json
... #one single line of JSON file
$ ./bin/beat -p prefix -m http://beatweb-staging tc pull tutorial/eigenface/1
...
$ cat prefix/toolchains/tutorial/eigenface/1.json
... #perfectly indented
```Final DocumentationSamuel GAISTSamuel GAIST