beat.web issueshttps://gitlab.idiap.ch/beat/beat.web/-/issues2015-03-18T13:16:48Zhttps://gitlab.idiap.ch/beat/beat.web/-/issues/4Changes to the TOS web site behavior2015-03-18T13:16:48ZAndré AnjosChanges to the TOS web site behaviorBased on discussions with our lawyers and legal partner (Els), I've updated the ToS documentation that is required for Users (i.e. people registering into the platform). Things to do:
1. [x] @Kanma: **URGENT**: Update the ToS using th...Based on discussions with our lawyers and legal partner (Els), I've updated the ToS documentation that is required for Users (i.e. people registering into the platform). Things to do:
1. [x] @Kanma: **URGENT**: Update the ToS using the new `tos.rst` in `docs`.
2. [x] In the ToS, a "Contact Form" is mentioned. This form should be used to notify Idiap of problems with the use or management of the BEAT platform. Currently, this contact form does not exist in our platform. It must be created (with a captcha to avoid spamming). Once that is established, one should replace the placeholder for the contact form in the ToS with the final address. Currently it is set to https://beat-eu.org/platform/contact
3. [x] In discussion with our lawyers, it became clear we need to establish a feature that identifies if a certain **Visitor** (this is != User) is a first time visitor or a recurrent visitor (possibly using cookies). If the visitor is a first time visitor, a banner should pop-up (discretely) and say: "The BEAT Platform, like other sites on the internet, uses cookies to customise your interaction with the platform itself. By visiting the IDIAP BEAT Platform you implicitly acknowledge our Legal Disclaimer." At this point, the words "Legal Disclaimer" should be clickable and point to the `legal_disclaimer.rst` file in the `docs` directory. The file should be displayed like the ToS, as a pop-up. *Users that dismiss the banner, get a cookie indicating they have accepted the disclaimer, with a given version number*.
4. [x] In the Legal Disclaimer, a link to the ToS should be made available. A place holder pointing to "https://beat-eu.org/platform/tos" is there, but should be updated if that changes. Action Point: We should create a URL that points to the ToS like stated.
5. [x] Both the "ToS" and our "Legal Disclaimer" have a version number. Users that access the platform **after** the ToS has been updated, should get a banner pointing to the new ToS. Visitors that access the platform **after** the "Legal Disclaimer" has been updated should also check it again. Note that **Users** don't need to go through the "Legal Disclaimer", just visitors. *This feature can be achieved by comparing the cookie established on the user browser with the current version of the ToS/Legal Disclaimer and showing/updating it*.
6. [x] While we can make sure that a person that does not accept the ToS cannot register, we cannot make sure that a Visitor that does not agree with the Legal Disclaimer will not continue visiting the website. By clicking on the "banner close" button or by popping up the "Legal Disclaimer", the user implicitly agrees with what is said in there. If they don't agree, then they should just leave the website. At this point, creating a mechanism to block the contents may be tricky (@Kanma: what do you think about this?)
After all these items have been implemented, I think we can finally close this issue.Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/10Usage/Upload of docstrings2017-08-23T11:36:34ZAndré AnjosUsage/Upload of docstringsThe usage and upload of docstrings need to be implemented through out the platform. Currently:
- [x] Database pages generate a 404 error
- [x] Short/Long documentation strings are not very flexible or editable online or even through ...The usage and upload of docstrings need to be implemented through out the platform. Currently:
- [x] Database pages generate a 404 error
- [x] Short/Long documentation strings are not very flexible or editable online or even through the command-line. It would be good to have an interface that is similar to github or gitlab, in which you can attach images to descriptions. I'm not sure how to handle garbage collection in this case (i.e., pictures which are not being used anymore).Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/14User grouping2015-03-27T06:02:04ZAndré AnjosUser groupingTracker for user grouping. Edit as we progress on the understanding of this feature.Tracker for user grouping. Edit as we progress on the understanding of this feature.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/15Consolidation of platform statistics2015-03-06T08:15:22ZAndré AnjosConsolidation of platform statisticsWe current have an initial implementation for the platform statistics. We need to improve on it so its useful for platform demonstrations and system administration.
It would be nice to integrate this with the new scheduler state as well.We current have an initial implementation for the platform statistics. We need to improve on it so its useful for platform demonstrations and system administration.
It would be nice to integrate this with the new scheduler state as well.Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/21New django action for experiment deletion2017-08-23T11:36:30ZAndré AnjosNew django action for experiment deletionWe should add a new django admin action (https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/) for treating Experiment objects in the BEAT django DB.
In case this action is clicked by the administrator, it allows him/her t...We should add a new django admin action (https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/) for treating Experiment objects in the BEAT django DB.
In case this action is clicked by the administrator, it allows him/her to:
- Delete the Experiment + all associated results
- Clean-up the cache from the experiment:
* Clean-up local cache entries in the Django DB
* Send a message to the scheduler to delete certain cache files (see biometric/beat.scheduler#10). Notice you don't need to cancel any experiment (in case they are running). The scheduler shall be able to handle this gracefully.
If another experiment shares cache files with the experiment being deleted, then:
1) The cache files of that experiment are also cleaned-up
2) The experiment is marked as "Pending", so the user can re-run it at a later stage (unless the experiment was also running, in which case it will be cancelled by the scheduler automatically).
We understand this is a rather drastic action, but may be required in case of severe cache corruption.Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/93Object list in the user micro-site does not include all visible contributions2015-03-27T12:38:43ZAndré AnjosObject list in the user micro-site does not include all visible contributionsWhen listing objects in the user micro-site, it would better if the user had access to all visible contributions, organized this way:
1. The user's own contributions
2. Objects which have been explicitly shared with the user
3. All ...When listing objects in the user micro-site, it would better if the user had access to all visible contributions, organized this way:
1. The user's own contributions
2. Objects which have been explicitly shared with the user
3. All other public contributions
The filtering bar on the top should work-out fine so that the user can fine-tune the results.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/122Creation of *public* algorithm/library/plotter from the admin page causes 500...2015-05-04T21:08:36ZLaurent EL SHAFEYCreation of *public* algorithm/library/plotter from the admin page causes 500 errorWhen using the admin page, the creation of algorithm/library/plotter leads to an internal error 500, when sharing is set to public.
There is no problem when the sharing attribute is set to private.When using the admin page, the creation of algorithm/library/plotter leads to an internal error 500, when sharing is set to public.
There is no problem when the sharing attribute is set to private.Tutorial for the FG2015 Conferencehttps://gitlab.idiap.ch/beat/beat.web/-/issues/87Locked attestation page content2015-05-04T14:36:13ZSébastien MARCELLocked attestation page contenton locked attestation pages, for instance https://www.beat-eu.org/platform/attestations/1444752237/,
will it be possible to add more information such as at the very latest the results (error rates, plots).
Indeed, locked attestation ...on locked attestation pages, for instance https://www.beat-eu.org/platform/attestations/1444752237/,
will it be possible to add more information such as at the very latest the results (error rates, plots).
Indeed, locked attestation are supposed to be inserted in publications under review, so that a reviewer can click on the attestation link and verifies the claims/results of the paper.
So it will makes sense that the page shows those results.Tutorial for the FG2015 Conferencehttps://gitlab.idiap.ch/beat/beat.web/-/issues/130"Mine" not working on the experiment page2015-05-05T20:55:17ZLaurent EL SHAFEY"Mine" not working on the experiment pageOn the experiment page, there are buttons to filter the results, such as 'public', 'private' and 'mine'.
Considering the 'sharing' related buttons, the 'mine' button does not work as expected, since no experiments are then displayed.On the experiment page, there are buttons to filter the results, such as 'public', 'private' and 'mine'.
Considering the 'sharing' related buttons, the 'mine' button does not work as expected, since no experiments are then displayed.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/118beat.web.algorithms.Algorithm & related code cannot handle Libraries on save()2015-05-03T20:04:28ZAndré Anjosbeat.web.algorithms.Algorithm & related code cannot handle Libraries on save()As it is currently implemented, the Algorithm class on beat.web cannot handle an existing JSON (for example through an upload via the command-line), which references libraries. Its `save()` method will not updated the library relationshi...As it is currently implemented, the Algorithm class on beat.web cannot handle an existing JSON (for example through an upload via the command-line), which references libraries. Its `save()` method will not updated the library relationship as it should.
The JSON of an algorithm (or library for that matter), already contains a mapping description, which defines which libraries it uses. Upon `save()`, the field `referenced_libraries` should be updated.
I think the issue comes from the fact you can add a library w/o going through the `save()`, whereas I think the system was designed in such a way you must always go through the `save()`.
This means that any modification operation should:
1. Load the old JSON
2. Allow the user to modify it
3. Overwrite the old JSON on the object with the new one (at the file field)
4. Call the object's save() method
This strategy should automatically update the `referenced_libraries` field. This strategy also assures that we have a consistent representation of the object w.r.t. beat.web and beat.core.
We allow for no other way to modify this object.Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/71Inserting an invalid JSON for a database generates a beat.web error2015-03-18T12:52:42ZAndré AnjosInserting an invalid JSON for a database generates a beat.web errorA simple test is to copy-paste the JSON containing version and short doc strings.A simple test is to copy-paste the JSON containing version and short doc strings.Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/100Backend/scheduler administration page improvements2020-08-03T08:41:33ZAndré AnjosBackend/scheduler administration page improvementsA small list of improvements for the backend/scheduler page:
1. The worker listing takes too much space and does not allow for the visualisation of important information. It would be better to transform it into a table, in which each ...A small list of improvements for the backend/scheduler page:
1. The worker listing takes too much space and does not allow for the visualisation of important information. It would be better to transform it into a table, in which each line corresponds to a host and each column shows the following information: IP address, cores (in-use/available), memory (in-use/available), beat.scheduler version. The color of the line can be color coded: light green means 100% free, light read means 100% occupied, light yellow means partially occupied.
2. The total number of cores affected to a queue should be displayed
3. The queue listing should also become a table with more compact information displayed.Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/104Public algorithms are not being listed2015-04-10T10:08:24ZAndré AnjosPublic algorithms are not being listedIn the user microsite, the others' public algorithms available are not being displayed. Need a fix.In the user microsite, the others' public algorithms available are not being displayed. Need a fix.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/137Algorithm parameters with 'choice' are not displayed properly in the experime...2015-05-06T11:32:02ZLaurent EL SHAFEYAlgorithm parameters with 'choice' are not displayed properly in the experiment setup pageAlgorithm parameters with 'choice' are not displayed properly in the experiment setup page.
To reproduce this bug, just create an experiment with the toolchain "tpereira/full_isv/2/".
Then for one of the cropping block, select the al...Algorithm parameters with 'choice' are not displayed properly in the experiment setup page.
To reproduce this bug, just create an experiment with the toolchain "tpereira/full_isv/2/".
Then for one of the cropping block, select the algorithm "tpereira/periocular_crop/3"
The "color" menu list then displays much more options than what it should.Tutorial for the FG2015 ConferencePhilip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.web/-/issues/132In the experiment display page, toolchain naming is not consistent2015-05-05T19:22:59ZAndré AnjosIn the experiment display page, toolchain naming is not consistentIt is better now with the full name of the experiment being show. A little optimisation is required though:
<user> / "<maybe-another-user>/<toolchain-name>/<toolchain-version>" / <label>
<user> - Points to the user micro-site
"<ma...It is better now with the full name of the experiment being show. A little optimisation is required though:
<user> / "<maybe-another-user>/<toolchain-name>/<toolchain-version>" / <label>
<user> - Points to the user micro-site
"<maybe-another-user>/<toolchain-name>/<toolchain-version>" - Points to the toolchain
<label> - Points to self.
Could you please do it like so? Thanks, ATutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/32Plotting library request (migrated from github)2015-05-07T08:33:14ZAndré AnjosPlotting library request (migrated from github)It would be useful if the platform provided a set of library functions to allow the creation of charts in easier terms, instead of everyone re-implementing theirs. Bob already provides APIs for plotting. It would make sense that BEAT pro...It would be useful if the platform provided a set of library functions to allow the creation of charts in easier terms, instead of everyone re-implementing theirs. Bob already provides APIs for plotting. It would make sense that BEAT provided a similar API for functionality in Bob:
A good starting point for this API is Bob's plotting API, which is available here.
A tricky plot to perform is a DET curve. I hope this is still possible using RGraph's API.Tutorial for the FG2015 Conferencehttps://gitlab.idiap.ch/beat/beat.web/-/issues/44User secret keys are not verified2015-03-27T05:59:53ZAndré AnjosUser secret keys are not verifiedIt would be good that, at a certain point, the usage and definition of secret keys by users actually worked for authenticating users.
Today it is not the case.It would be good that, at a certain point, the usage and definition of secret keys by users actually worked for authenticating users.
Today it is not the case.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/47Algorithm editor should be smarter2015-05-06T10:10:57ZAndré AnjosAlgorithm editor should be smarterCurrently, the algorithm editor relies on a CodeMirror widget that allows the user to input a Python descriptor of the algorithm.
The algorithm is checked for conformance regarding its inputs, outputs and parameter lists.
It would ...Currently, the algorithm editor relies on a CodeMirror widget that allows the user to input a Python descriptor of the algorithm.
The algorithm is checked for conformance regarding its inputs, outputs and parameter lists.
It would be nicer if the editor would, instead of providing an overall Python text editor, that it worked more like a wizard in which the user would go selecting input and output types or parameters. The final algorithm text would be composed from this form.Tutorial for the FG2015 ConferencePhilip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.web/-/issues/49Django Superuser should have access to all website2015-05-04T16:39:08ZAndré AnjosDjango Superuser should have access to all websiteCurrently, the Django super user can edit any object using the admin interface, but it cannot inspect the object using the normal user interface. This is a bit inconsistent. We should modify this behaviour so that, if the user is a super...Currently, the Django super user can edit any object using the admin interface, but it cannot inspect the object using the normal user interface. This is a bit inconsistent. We should modify this behaviour so that, if the user is a super-user, it is granted access to all site objects in all views.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/51Reset statistics if Experiment results are cached, but Experiment is reset fr...2015-05-05T18:24:02ZAndré AnjosReset statistics if Experiment results are cached, but Experiment is reset from the admin interfaceIn the case the Experiment is reset from the admin interface, its cache files are not erased (they cannot since we don't know if they would be shared by other experiments). If the experiment is re-scheduled, the scheduler will not run a ...In the case the Experiment is reset from the admin interface, its cache files are not erased (they cannot since we don't know if they would be shared by other experiments). If the experiment is re-scheduled, the scheduler will not run a single block since all files are cached. When replying to the webserver, the scheduler will indicate successful completion, but no statistics, stdout or stderr will be present.
At this point, the web believes these are empty. Instead, it would be more correct if the backend would try to re-connect old statistics to the experiment instead.Tutorial for the FG2015 Conferencehttps://gitlab.idiap.ch/beat/beat.web/-/issues/53Validation of all Contributions must be more thorough2015-03-18T12:17:09ZAndré AnjosValidation of all Contributions must be more thoroughCurrently, the validation of contributions saved on our database does not go through important accessibility check that must be executed before object insertion.
Namely, the following checks should be performed:
* [x] When the user...Currently, the validation of contributions saved on our database does not go through important accessibility check that must be executed before object insertion.
Namely, the following checks should be performed:
* [x] When the user inserts a data format, that all referenced data formats are accessible
* [x] When the user saves an algorithm that all referenced data formats are acessible
* [x] When the user saves an experiment, that databases, algorithms, analysers, data formats and environments are accessible.
When all these items are checked, we can safely close this bug.Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/83Django FloatField does not handle +/-inf and NaN values2015-04-27T09:58:37ZLaurent EL SHAFEYDjango FloatField does not handle +/-inf and NaN valuesThe current version of Django (1.7.1) has a FloatField implementation that does not support special floating point values such as +/-inf and NaN.
The following Django ticket mentions this issue:
https://code.djangoproject.com/ticket/...The current version of Django (1.7.1) has a FloatField implementation that does not support special floating point values such as +/-inf and NaN.
The following Django ticket mentions this issue:
https://code.djangoproject.com/ticket/4287
This is currently a problem with our analyzers that store results as FloatField in the SQL database.
When such a value is passed from the scheduler to the web (e.g. in the block_finished method), an error occurs (500: internal server error), which leads to the messsage to be continuously sent and misprocessed.
We need to find a workaround for this.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/84Synchronisation issue between the system status and the internal status ?2015-03-27T06:09:52ZSébastien MARCELSynchronisation issue between the system status and the internal status ?there might be a synchronisation issue between the system status ( https://www.beat-eu.org/platform/ ) and the internal status. Indeed, the status says that 1 experiment is running but clearly looking at the scheduler page this is not th...there might be a synchronisation issue between the system status ( https://www.beat-eu.org/platform/ ) and the internal status. Indeed, the status says that 1 experiment is running but clearly looking at the scheduler page this is not the case.
Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/86Missing API for downloading databases and views2015-03-18T12:16:12ZAndré AnjosMissing API for downloading databases and viewsWe're currently missing an API to download databases (JSON and views) associated with experiments. There should be no reason why this should not be possible.
Currently, after downloading and experiment, the toolchain and related algor...We're currently missing an API to download databases (JSON and views) associated with experiments. There should be no reason why this should not be possible.
Currently, after downloading and experiment, the toolchain and related algorithms and dataformats, the user may not validate the experiment because it is lacking the database definition.
Clearly, we're not talking about the real data, just the (JSON and python views) associated with the platform. Confidentiality should be respected in all cases.Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/88Implement support for beat.core description/documentation API2015-05-06T07:45:26ZAndré AnjosImplement support for beat.core description/documentation APIThe new beat.core contains direct support for object descriptions and a documentation API.
Following the other functionality that is already well-merged with beat.core, it would be good that this package also used the beat.core APIs t...The new beat.core contains direct support for object descriptions and a documentation API.
Following the other functionality that is already well-merged with beat.core, it would be good that this package also used the beat.core APIs to set and get object descriptions and documentation.
The object `short_description` in beat.web (known as `description` in beat.core), can still be cached inside beat.web, but should be updated on beat.core once it changes. This allows users to simply edit the object JSON files and still be able to push the description to the server, when they are using the command-line interface.
Similarly, `description` in beat.web (known as `documentation` in beat.core) should be materialized in a proper file, like it is done for the JSON declarations. This would allow users from the command-line to edit this file and push it to the server.Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/89Django experiments/Results table could be largely simplified2015-05-04T13:13:37ZAndré AnjosDjango experiments/Results table could be largely simplifiedCurrently, our Results table contains 4 columns that store data types: one for integers, one for floats, one for booleans and one for "everything else". In order to know how to read the data, the platform consults the value of the "type"...Currently, our Results table contains 4 columns that store data types: one for integers, one for floats, one for booleans and one for "everything else". In order to know how to read the data, the platform consults the value of the "type" column" and then reads the corresponding field, with an adequate de-serializer.
In order to support the new plotting standard, the choice of implementation would be to add a "__type__" field on chart data (saved at the "Data value" column), which implies in a hack to ignore such a field on beat.core.
The way to solve this cleanly could go through:
1. Re-write the Result table so that all results are represented by strings or binary blobs
2. Condition the readout of Result tables to the type of the data object, as defined in the "type" column, which would have to be set to a "string" type.
This technique would remove 3 columns from the table, simplifying it, at the cost of reviewing the code that uses/displays results.
Because all results would be expressed into string (or binary), no need to worry about issue #83 anymore, would this solution be taken.Tutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/91DELETE action was removed from <base>/experiments/configuration/...2015-03-27T12:38:52ZAndré AnjosDELETE action was removed from <base>/experiments/configuration/...According to @samuel.gaist, this was done during the rest framework port. We should bring this API back.According to @samuel.gaist, this was done during the rest framework port. We should bring this API back.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/92Team creation form2015-03-27T12:37:48ZAndré AnjosTeam creation formThe team creation form is in place. A couple of fixes are due:
- [x] It would be good that we describe, somewhere, what the different privacy levels mean.
- [x] It would be better to have the whole form completable at once, in a sing...The team creation form is in place. A couple of fixes are due:
- [x] It would be good that we describe, somewhere, what the different privacy levels mean.
- [x] It would be better to have the whole form completable at once, in a single page, instead of creating the team and then editing its attributes
- [x] It would be good if, by clicking on the team (at the user micro-site), the system took the user to the team edition page as for other objects. Some harmonization should be put in place for this.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/94URL field "format=string" does not work after Django rest framework port2015-03-27T12:38:34ZAndré AnjosURL field "format=string" does not work after Django rest framework portThis field in the URL is used by the rest framework to define which serializer/marshaller to use.
We will need to change this everywhere to something like `object-format=string`.This field in the URL is used by the rest framework to define which serializer/marshaller to use.
We will need to change this everywhere to something like `object-format=string`.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/96Inspect the experiment datasets2015-05-04T16:42:23ZTiago de Freitas PereiraInspect the experiment datasetsWhen a experiment is opened, it is not possible to see the dataset setup.
When a experiment is opened, it is not possible to see the dataset setup.
Tutorial for the FG2015 Conferencehttps://gitlab.idiap.ch/beat/beat.web/-/issues/99Normal registration and minimal profile page2015-05-01T16:08:43ZAndré AnjosNormal registration and minimal profile pageFor the tutorial in May, we absolutely need to put in place a minimal registration page (or revive the one we have) and let users change passwords and reset their secret tokens via a profile page.
Here are the features:
- [x] Reviv...For the tutorial in May, we absolutely need to put in place a minimal registration page (or revive the one we have) and let users change passwords and reset their secret tokens via a profile page.
Here are the features:
- [x] Revive registration
- [x] Allow users to reset their passwords using their profile page
- [x] Allow users to re-generate their secret tokens using their profile pageTutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/101Worker: missing easy deactivation action2015-04-20T16:26:07ZAndré AnjosWorker: missing easy deactivation actionIt should be possible to quickly deactivate a number of workers from the configuration, w/o removing all of the configuration from its place. This would allow us to adjust the farm size on demand.
Items to be executed:
- [x] Add a ...It should be possible to quickly deactivate a number of workers from the configuration, w/o removing all of the configuration from its place. This would allow us to adjust the farm size on demand.
Items to be executed:
- [x] Add a field on each worker indicating its state (active/deactive)
- [x] Add an action to the worker admin to deactivate/activate workers in batch
- [x] Modify the configuration logic so that, if a worker is active, is the same as it not belonging to the configuration
- [x] Display this information adequately on the scheduler/backend pageTutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/102"Send configuration to scheduler" button stopped working2015-04-08T20:00:54ZAndré Anjos"Send configuration to scheduler" button stopped workingAfter the latest upgrades, we can no longer send the configuration to the scheduler.
The reason is related:
```text
{"detail":"CSRF Failed: CSRF token missing or incorrect."}
```
A missing CSRF protection, likely, on the JS si...After the latest upgrades, we can no longer send the configuration to the scheduler.
The reason is related:
```text
{"detail":"CSRF Failed: CSRF token missing or incorrect."}
```
A missing CSRF protection, likely, on the JS side.
We must fix this ASAP.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/103The JS canvas of the toolchain editor stopped working2015-04-09T11:32:54ZAndré AnjosThe JS canvas of the toolchain editor stopped workingThe JS canvas of the JS editor stopped working after the last upgrade.
@philip.abbet: could you please take a look since you're our only expert on this component?The JS canvas of the JS editor stopped working after the last upgrade.
@philip.abbet: could you please take a look since you're our only expert on this component?Tutorial for the FG2015 ConferencePhilip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.web/-/issues/105User w/o permissions can still access restricted queues2015-04-08T21:46:27ZAndré AnjosUser w/o permissions can still access restricted queuesFor example, the queue "Idiap Biometrics (Long)", should only be accessible to users of the "Idiap Biometrics" group, but are accessible to any user. Actually, there are no users on that group, so the queue should be accessible to none.For example, the queue "Idiap Biometrics (Long)", should only be accessible to users of the "Idiap Biometrics" group, but are accessible to any user. Actually, there are no users on that group, so the queue should be accessible to none.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/106Re-running forked experiments after platform update not working2015-05-07T08:30:02ZSébastien MARCELRe-running forked experiments after platform update not workingBug 1
Re-running https://www.beat-eu.org/platform/experiments/smarcel/tutorial/digit/2/character-recognition-2-mlp-nhu10-iter50-rr/
forked and named character-recognition-2-mlp-nhu10-iter50-rr3
pressed GO and pop-up error messag...Bug 1
Re-running https://www.beat-eu.org/platform/experiments/smarcel/tutorial/digit/2/character-recognition-2-mlp-nhu10-iter50-rr/
forked and named character-recognition-2-mlp-nhu10-iter50-rr3
pressed GO and pop-up error message "ERROR: The scheduler did not accept the experiment (saved for later execution).\nREASON: Block `mean_compute_train' of experiment `smarcel/tutorial/digit/2/character-recognition-2-mlp-nhu10-iter50-rr3' requests to run on queue `Default' (on 1 slot(s)) with environment `Scientific Python 2.7 (0.0.3)`, but that combination does not seem currently possible"
Bug 2
interestingly for on the same page I clicked to select a new Scientific Environment, pressed GO again I obtained a new pop-up error message:
"The label 'character-recognition-2-mlp-nhu10-iter50-rr3' is already used"
Bug 3 (similar to Bug 1?)
Re-running https://www.beat-eu.org/platform/experiments/smarcel/tpereira/full_isv/1/PR-ISV-mobio-male-rr/ (already attested)
forked and named PR-ISV-mobio-male-rr3
pressed GO and pop-up error message "Traceback (most recent call last):\n File \"/remote/sw/beat.web/src/beat.web/beat/web/experiments/models.py\", line 114, in create_experiment\n experiment.save()\n File \"/remote/sw/beat.web/src/beat.web/beat/web/experiments/models.py\", line 261, in save\n raise SyntaxError(message % '\\n * '.join(errors))\nSyntaxError: The experiment isn't valid, due to the following errors:\n * /globals: Additional properties are not allowed ('tpereira/periocular_crop' was unexpected) (rule: /properties/globals/additionalProperties)\n"
Bug 4 (similar to Bug 2 ?)
Re-running https://www.beat-eu.org/platform/experiments/smarcel/elie_khoury/ubmgmm_voxforge/1/ubmgmm-voxforge-g32iter25-rr2/
forked and named ubmgmm-voxforge-g32iter25-rr3
pressed GO and pop-up error message "ERROR: The scheduler did not accept the experiment (saved for later execution).\nREASON: Block `preprocessing_ubm' of experiment `smarcel/elie_khoury/ubmgmm_voxforge/1/ubmgmm-voxforge-g32iter25-rr3' requests to run on queue `Default' (on 1 slot(s)) with environment `Scientific Python 2.7 (0.0.3)`, but that combination does not seem currently possible"
Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/107Re-using a saved search after platform update not working2015-04-14T11:55:44ZSébastien MARCELRe-using a saved search after platform update not workingon my Search tab https://www.beat-eu.org/platform/user/smarcel/?tab=searches
I am re-using a previous search by clicking to reach
https://www.beat-eu.org/platform/search/smarcel/MOBIO/
and I got a pop-p error message "Error: Forbi...on my Search tab https://www.beat-eu.org/platform/user/smarcel/?tab=searches
I am re-using a previous search by clicking to reach
https://www.beat-eu.org/platform/search/smarcel/MOBIO/
and I got a pop-p error message "Error: Forbidden" then loading forever.
Alternatively on my Search tab I am not able to create new Search anymore ?
Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/108Experiments panel at user micro-site is incomplete2015-04-14T09:32:00ZAndré AnjosExperiments panel at user micro-site is incompleteAfter the (very useful) mod to all visible objects displayed, there is a small issue concerning the experiment list: we cannot see who's the experiment owner. It would be good to add this field.
As a matter of fact, it would be better...After the (very useful) mod to all visible objects displayed, there is a small issue concerning the experiment list: we cannot see who's the experiment owner. It would be good to add this field.
As a matter of fact, it would be better to merge "Toolchain" and "Label" into a single heading (called "Label"), for which we print the whole experiment label (i.e. as returned by experiment.fullname()). That would be more consistent with the other panels.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/109Cannot submit experiments with the green "Go" button2015-04-15T13:45:58ZAndré AnjosCannot submit experiments with the green "Go" buttonApparently, also a missing CSRF token somewhere.
PS: Would it be possible to scan for those missing places automatically?Apparently, also a missing CSRF token somewhere.
PS: Would it be possible to scan for those missing places automatically?Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/111Cancelling an experiment may prevent execution info area to be displayed pro...2015-05-07T06:46:13ZLaurent EL SHAFEYCancelling an experiment may prevent execution info area to be displayed properlyAfter cancelling an experiment (via cancel all), we noticed that the display of the execution info on the experiment page may be stuck with the animation.
At the JS level, there is the following error:
```javascript
Uncaught TypeE...After cancelling an experiment (via cancel all), we noticed that the display of the execution info on the experiment page may be stuck with the animation.
At the JS level, there is the following error:
```javascript
Uncaught TypeError: Cannot read property 'appendChild' of undefinedpanels.js:3751 beat.experiments.panels.Results._setuppanels.js:3813
beat.experiments.panels.Results.update(index):166
(anonymous function)jquery-1.11.1.min.js:2 m.Callbacks.jjquery-1.11.1.min.js:2 m.Callbacks.k.fireWithjquery-1.11.1.min.js:4 xjquery-1.11.1.min.js:4 m.ajaxTransport.send.b
```
Tutorial for the FG2015 Conferencehttps://gitlab.idiap.ch/beat/beat.web/-/issues/112Global variables are currently ignored by experiment execution2015-04-23T09:58:24ZLaurent EL SHAFEYGlobal variables are currently ignored by experiment executionIt seems that global variables are currently ignored by experiment execution, while they are displayed properly on the experiment page.
I don't know if the problem is at the beat.web or beat.core level.
To reproduce the problem:
1. ...It seems that global variables are currently ignored by experiment execution, while they are displayed properly on the experiment page.
I don't know if the problem is at the beat.web or beat.core level.
To reproduce the problem:
1. Create a simple Eigenface experiment and run it.
2. Fork it and update the 'global' number of pca components parameter.
3. After pressing go on the forked experiment, it will complete very fast and leads to the exact same results.Tutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/113Algorithm ptome/fingervein-miura_scoring/2 causes webpage crashes2015-05-04T13:12:40ZLaurent EL SHAFEYAlgorithm ptome/fingervein-miura_scoring/2 causes webpage crashesThe algorithm ptome/fingervein-miura_scoring/2 causes webpage crashes.
After selecting it in an experiment, the webpage get stuck on the algorithm selection and an error "'Uncaught TypeError: Cannot read property 'length' of undefined...The algorithm ptome/fingervein-miura_scoring/2 causes webpage crashes.
After selecting it in an experiment, the webpage get stuck on the algorithm selection and an error "'Uncaught TypeError: Cannot read property 'length' of undefined' " is reported in the JS side.Tutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/114Antispoofing toolchains are broken2015-04-23T09:06:06ZLaurent EL SHAFEYAntispoofing toolchains are brokenThe antispoofing toolchains (ivana7c/simple-antispoofing-updated/1 and smarcel/face-antispoofing/1) on the platform are currently broken.
After configuring the experiment, pressing go leads to the following error:
in beat/web/experim...The antispoofing toolchains (ivana7c/simple-antispoofing-updated/1 and smarcel/face-antispoofing/1) on the platform are currently broken.
After configuring the experiment, pressing go leads to the following error:
in beat/web/experiments/models.py (line 142, create_experiment experiment.save())
beat/web/experiments/models.py (line 297, raise SyntaxError() "The experiment isn't valid due to the following errors: toolchain data is not valid, because: /representation/connections/classifier_dev.scores/analyzer.scores_dev_pos not listed on /connections; /representation/connections/classifier_test.scores/analyzer.scores_test_pos not listed on /connections; /representation/connections/dev_probes.class/analyzer.scores_dev_neg not listed on /connections;")
Tutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/116Cannot edit newly created objects2015-05-05T17:49:59ZLaurent EL SHAFEYCannot edit newly created objectsNew objects created through the web interface (this is the case, at least, for algorithms, libraries and dataformats), cannot be modified anymore. This is inconsistent w.r.t. the behavior of the "Delete" button, that shows up unlocked (a...New objects created through the web interface (this is the case, at least, for algorithms, libraries and dataformats), cannot be modified anymore. This is inconsistent w.r.t. the behavior of the "Delete" button, that shows up unlocked (as it should) for newly created objects, meaning we can delete them.
If we can delete an object, we should have the ability to modify it completely (for example, edit its code or declaration).Tutorial for the FG2015 ConferencePhilip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.web/-/issues/117Cannot specify database/algorithm/analyzer version in search2015-05-05T17:46:27ZLaurent EL SHAFEYCannot specify database/algorithm/analyzer version in searchActually, it is not possible to specify version numbers in a search.
This is particularly annoying for analyzers, since we can only compare experiments generated with the same analyzer and version.
Actually, it is not possible to specify version numbers in a search.
This is particularly annoying for analyzers, since we can only compare experiments generated with the same analyzer and version.
Tutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/119Recursive behavior of can_be_deleted()2015-05-03T20:56:02ZAndré AnjosRecursive behavior of can_be_deleted()I think that the behavior of `can_be_deleted()`, at least on Libraries is not 100% correct. An object can be deleted if it is not used by another object. So, I think the straightfoward way to check for it would be to just verify if any a...I think that the behavior of `can_be_deleted()`, at least on Libraries is not 100% correct. An object can be deleted if it is not used by another object. So, I think the straightfoward way to check for it would be to just verify if any algorithm is using that library. If that is the case, it cannot be deleted. Else, if nobody references this library, then it can be deleted.
Could you please confirm?Tutorial for the FG2015 ConferenceAndré AnjosAndré Anjoshttps://gitlab.idiap.ch/beat/beat.web/-/issues/120Saving an invalid algorithms at admin micro-site causes a 500 error2015-05-05T06:54:12ZAndré AnjosSaving an invalid algorithms at admin micro-site causes a 500 errorThis used to work. Now, if the algorithm is invalid (for example, uses an invalid data format on its declaration), the website generates a 500 error.
Desired behavior: It should gracefully indicate that the declaration is invalid, and...This used to work. Now, if the algorithm is invalid (for example, uses an invalid data format on its declaration), the website generates a 500 error.
Desired behavior: It should gracefully indicate that the declaration is invalid, and the problem.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/121Cannot update dataformat JSON from admin website2015-05-05T17:45:55ZAndré AnjosCannot update dataformat JSON from admin websiteThis also used to work. It is now broken.
For example, try to remove the whole contents of any data format and observe it is not properly saved.This also used to work. It is now broken.
For example, try to remove the whole contents of any data format and observe it is not properly saved.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/123Adding a short description of an algorithm with more than 100 characters gene...2015-05-06T17:16:59ZLaurent EL SHAFEYAdding a short description of an algorithm with more than 100 characters generates a 500 errorWhen adding a short description of an algorithm with more than 100 characters, it currently generates a 500 internal error.
The expected behavior would be to warn the user that the description is too long.When adding a short description of an algorithm with more than 100 characters, it currently generates a 500 internal error.
The expected behavior would be to warn the user that the description is too long.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/124Cannot update description of algorithm parameters2015-05-07T06:43:34ZLaurent EL SHAFEYCannot update description of algorithm parametersIt is currently not possible to update the description of algorithm parameters through the web interface.It is currently not possible to update the description of algorithm parameters through the web interface.Tutorial for the FG2015 ConferencePhilip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.web/-/issues/125Cannot update toolchain description2015-05-05T12:11:47ZLaurent EL SHAFEYCannot update toolchain descriptionIt is currently not possible to update a toolchain (short/long) description.
When clicking on the save button, nothing happens and the user is stuck with the edition form.
It is currently not possible to update a toolchain (short/long) description.
When clicking on the save button, nothing happens and the user is stuck with the edition form.
Tutorial for the FG2015 Conferencehttps://gitlab.idiap.ch/beat/beat.web/-/issues/126Special (accented) characters in toolchain/algorithm description causes error2015-05-05T11:03:36ZLaurent EL SHAFEYSpecial (accented) characters in toolchain/algorithm description causes errorI've noticed the following problem with special (accented) characters. When they are used in a toolchain/algorithm description, installing these contributions will just work fine. However, when I try to load the toolchain/algorithm page,...I've noticed the following problem with special (accented) characters. When they are used in a toolchain/algorithm description, installing these contributions will just work fine. However, when I try to load the toolchain/algorithm page, the page cannot be loaded properly, and the following error occured:
```
Subject: [BEAT] ERROR (EXTERNAL IP): Internal Server Error:
/api/algorithms/user/
From: no-reply@beat-project.eu
To: E-MAIL ADDRESS
Date: Tue, 05 May 2015 09:33:03 -0000
Message-ID: <20150505093303.27891.45893@futurix08.idiap.ch>
Internal Server Error: /api/algorithms/user/
Traceback (most recent call last):
File "/idiap/project/beat/beat.env.develop/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 137, in get_response
response = response.render()
File "/idiap/project/beat/beat.env.develop/usr/lib/python2.7/site-packages/django/template/response.py", line 103, in render
self.content = self.rendered_content
File "/idiap/project/beat/beat.env.develop/usr/lib/python2.7/site-packages/rest_framework/response.py", line 59, in rendered_content
ret = renderer.render(self.data, media_type, context)
File "/idiap/project/beat/beat.env.develop/usr/lib/python2.7/site-packages/rest_framework/renderers.py", line 99, in render
separators=separators
File "/idiap/project/beat/beat.env.develop/usr/lib/python2.7/json/__init__.py", line 250, in dumps
sort_keys=sort_keys, **kw).encode(obj)
File "/idiap/project/beat/beat.env.develop/usr/lib/python2.7/json/encoder.py", line 210, in encode
return ''.join(chunks)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 546: ordinal not in range(128)
```Tutorial for the FG2015 Conferencehttps://gitlab.idiap.ch/beat/beat.web/-/issues/127Algorithm description cannot be edited properly2015-05-05T11:02:38ZLaurent EL SHAFEYAlgorithm description cannot be edited properlyLet's consider the algorithm [tutorial/cropping_rgb/3/](https://www.beat-eu.org/platform/algorithms/tutorial/cropping_rgb/3/).
This algorithm has both a short and long descriptions (as shown by clicking on `more`).
However, if we pre...Let's consider the algorithm [tutorial/cropping_rgb/3/](https://www.beat-eu.org/platform/algorithms/tutorial/cropping_rgb/3/).
This algorithm has both a short and long descriptions (as shown by clicking on `more`).
However, if we press on edit, the long description field will be filled with a filename `http://www.beat-eu.org/platform/api/algorithms/tutorial/cropping_rgb/3/fe/30/tutorial/cropping_rgb/3.rst` instead of the real content of the long description.Tutorial for the FG2015 Conferencehttps://gitlab.idiap.ch/beat/beat.web/-/issues/129[search] Cannot search for "tutorial/postperf/1" uniquely2015-05-05T19:04:58ZAndré Anjos[search] Cannot search for "tutorial/postperf/1" uniquelyIf the user types a full string for an object, it should be an exact match, otherwise, how could we filter for it?If the user types a full string for an object, it should be an exact match, otherwise, how could we filter for it?Tutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/133Database label are incorrect in experiment page2015-05-06T14:27:22ZAndré AnjosDatabase label are incorrect in experiment pageThe labels of the datasets used in the experiment page (user micro-site) are not consistent with what is actually used on the related experiment. For example, check your user micro-site (on the production platform), for the public experi...The labels of the datasets used in the experiment page (user micro-site) are not consistent with what is actually used on the related experiment. For example, check your user micro-site (on the production platform), for the public experiment: /tutorial/tutorial/full_lbphs/1/atnt-lbphs/, the displayed dataset on the user micro-site is "banca.Md", where this experiment clearly uses "atnt.idiap". If you click on it, the experiment display page shows the right configuration.
This must be an issue with the javascript parsing on the experiment list page.Tutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/134Search page alerts with a 404 for a given experiment (when plotting)2015-05-05T17:43:45ZAndré AnjosSearch page alerts with a 404 for a given experiment (when plotting)The search results page is getting a 404 error when looking up data for an experiment in which the author name and the toolchain author names match.
This is because of this "simplification" we used to have, in which an experiment full...The search results page is getting a 404 error when looking up data for an experiment in which the author name and the toolchain author names match.
This is because of this "simplification" we used to have, in which an experiment full name could be shortened if the author name of the experiment matched the author name of the toolchain. So, this used to work:
```text
<url>/experiments/<user>/<toolchain>/<number>/<label>
```
Basically, that meant our code had to have this branching all the time: does it contain 4 or 5 bits? To avoid this and simplify the code everywhere, since a few commits, the 4-tiered version was deprecated. Experiments should be referred by their full name (i.e., the 5-tiered thingy):
```text
<url>/experiments/<experiment-user>/<toolchain-user>/<toolchain-name>/<toolchain-version>/<label>
```
Somewhere in the search, this simplification is still being done and, therefore the 404.
@flavio.tarsetti: Could you please remove all instances of this?Tutorial for the FG2015 ConferenceFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.web/-/issues/135Diff view not working (at least for) Algorithms2015-05-05T19:15:09ZAndré AnjosDiff view not working (at least for) AlgorithmsTo reproduce, click on the [compare] button in any algorithm with at least two versions.To reproduce, click on the [compare] button in any algorithm with at least two versions.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/136Link on algorithm name leads to an error2015-05-05T20:17:41ZAndré AnjosLink on algorithm name leads to an errorIf you load this public algorithm page:
https://www.beat-eu.org/platform/algorithms/elie_khoury/cepstral/1/
And then, right on the top, click on the word saying "cepstral", an error page will be produced.
The issue is that the f...If you load this public algorithm page:
https://www.beat-eu.org/platform/algorithms/elie_khoury/cepstral/1/
And then, right on the top, click on the word saying "cepstral", an error page will be produced.
The issue is that the formed URL is not legal. It must include the version number as well.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/140Turning a private experiment into public does not seem to work2015-05-06T10:22:16ZLaurent EL SHAFEYTurning a private experiment into public does not seem to workWhen trying to make an experiment public, it currently causes a 500 internal error:
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view
return self.dispatch(request, ...When trying to make an experiment public, it currently causes a 500 internal error:
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view
return self.dispatch(request, *args, **kwargs)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/rest_framework/views.py", line 452, in dispatch
response = self.handle_exception(exc)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/rest_framework/views.py", line 449, in dispatch
response = handler(request, *args, **kwargs)
File "/remote/sw/beat.web/src/beat.web/beat/web/experiments/api.py", line 689, in post
experiment.share(users=users, teams=teams, algorithms_infos=algorithms_infos)
File "/remote/sw/beat.web/src/beat.web/beat/web/experiments/models.py", line 358, in share
self.__share_algorithms(users=users, teams=teams, algorithms_infos=algorithms_infos)
File "/remote/sw/beat.web/src/beat.web/beat/web/experiments/models.py", line 243, in __share_algorithms
if algorithms_infos.has_key(algorithm.fullname()):
AttributeError: 'NoneType' object has no attribute 'has_key'Tutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/141Public dataformats listed while sharing an experiment with a private algorithm 2015-05-06T11:41:03ZLaurent EL SHAFEYPublic dataformats listed while sharing an experiment with a private algorithm While turning an experiment public, few dataformats are listed in the sharing preferences, while there are public.
I think this is not expected.
More specifically, these dataformats are the ones used by a private algorithm, whose sha...While turning an experiment public, few dataformats are listed in the sharing preferences, while there are public.
I think this is not expected.
More specifically, these dataformats are the ones used by a private algorithm, whose sharing preferences are going to change, when the experiment become public.
In addition, I've noticed an inconsistency in the following two methods of the Experiment class in beat/web/experiments/models.py
* __share_dataformats
line 211: errors.extend(needed_format.is_accessible(users=users, teams=teams))
* __share_algorithms
line 238: errors.extend(needed_algorithm.is_accessible(False))
The method is_accessible() being common to both classes, the False argument is surprising. It is defined in beat/web/commons/models.py
155 def is_accessible(self, users=None, teams=None):
To reproduce the problem.
1. Create a new (private) version of an existing public algorithm
2. Run an algorithm with this private version of the algorithm
3. Try to make the experiment publicTutorial for the FG2015 ConferencePhilip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.web/-/issues/142Invalid error message in validation of environments2015-05-06T11:24:09ZLaurent EL SHAFEYInvalid error message in validation of environmentsDuring the validation of an environment, the following 500 internal error may happen:
Internal Server Error: /platform/admin/experiments/experiment/562/
Traceback (most recent call last):
File "/remote/sw/beat.env.deploy/usr/lib/p...During the validation of an environment, the following 500 internal error may happen:
Internal Server Error: /platform/admin/experiments/experiment/562/
Traceback (most recent call last):
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/contrib/admin/options.py", line 583, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/utils/decorators.py", line 105, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/views/decorators/cache.py", line 52, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 206, in inner
return view(request, *args, **kwargs)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/contrib/admin/options.py", line 1456, in change_view
return self.changeform_view(request, object_id, form_url, extra_context)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/utils/decorators.py", line 29, in _wrapper
return bound_func(*args, **kwargs)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/utils/decorators.py", line 105, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/utils/decorators.py", line 25, in bound_func
return func.__get__(self, type(self))(*args2, **kwargs2)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/db/transaction.py", line 394, in inner
return func(*args, **kwargs)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/contrib/admin/options.py", line 1396, in changeform_view
if form.is_valid():
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/forms/forms.py", line 162, in is_valid
return self.is_bound and not bool(self.errors)
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/forms/forms.py", line 154, in errors
self.full_clean()
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/forms/forms.py", line 353, in full_clean
self._clean_fields()
File "/remote/sw/beat.env.deploy/usr/lib/python2.7/site-packages/django/forms/forms.py", line 371, in _clean_fields
value = getattr(self, 'clean_%s' % name)()
File "/remote/sw/beat.web/src/beat.web/beat/web/experiments/admin.py", line 66, in clean_file
self.cleaned_data['toolchain'].json())
File "/remote/sw/beat.web/src/beat.web/beat/web/experiments/models.py", line 88, in validate_experiment
return xp, xp.errors + validate_environments(xp)
File "/remote/sw/beat.web/src/beat.web/beat/web/experiments/models.py", line 63, in validate_environments
errors.append("The combination of queue '%s' with environment '%s (%s)' in the global experiment configuration does not exist" % (q, env_name, env_version))
UnboundLocalError: local variable 'q' referenced before assignmentTutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/144Cancel button of experiment2015-05-06T12:26:39ZManuel GüntherCancel button of experimentWhen I want to cancel an experiment, and I click on the ``Cancel`` button, a window pops up, where I have the two choices: ``Yes, cancel it`` and ``Cancel``. So, which button do I use to cancel the experiment? From the text written on th...When I want to cancel an experiment, and I click on the ``Cancel`` button, a window pops up, where I have the two choices: ``Yes, cancel it`` and ``Cancel``. So, which button do I use to cancel the experiment? From the text written on the buttons, both do cancel the experiment.
Maybe we should rename the ``Cancel`` button in the pop-up window to something different, such as ``No, continue experiment``?Tutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/147When documenting data formats, the location of the .rst file is shown2015-05-06T15:14:33ZManuel GüntherWhen documenting data formats, the location of the .rst file is shownI recently added documentation for a data format:
https://www.beat-eu.org/platform/dataformats/siebenkopf/jet/1
After saving the long description, the location of the .rst file is shown, instead of its (parsed) content.
Note: When...I recently added documentation for a data format:
https://www.beat-eu.org/platform/dataformats/siebenkopf/jet/1
After saving the long description, the location of the .rst file is shown, instead of its (parsed) content.
Note: When I click on ``edit``, the correct .rst file is opened again.Tutorial for the FG2015 ConferenceLaurent EL SHAFEYLaurent EL SHAFEYhttps://gitlab.idiap.ch/beat/beat.web/-/issues/148Cannot return plot output in an analyzer2015-05-06T15:07:33ZManuel GüntherCannot return plot output in an analyzerWhen creating a new version of an analyzer as:
https://www.beat-eu.org/platform/algorithms/siebenkopf/ROC/14/
I cannot select the output used for plotting, but only ``float32``, ``int32``, ``bool`` and ``string`` can be selected.When creating a new version of an analyzer as:
https://www.beat-eu.org/platform/algorithms/siebenkopf/ROC/14/
I cannot select the output used for plotting, but only ``float32``, ``int32``, ``bool`` and ``string`` can be selected.Tutorial for the FG2015 ConferencePhilip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.web/-/issues/150Doc strings on search save are required, but not displayed2015-05-07T07:40:08ZAndré AnjosDoc strings on search save are required, but not displayedWe have an issue with documentation strings on searches. Here is what happens:
1. The user must provide a short description **and** a long description while saving
2. At the user micro-site, these are not displayed
This is what sh...We have an issue with documentation strings on searches. Here is what happens:
1. The user must provide a short description **and** a long description while saving
2. At the user micro-site, these are not displayed
This is what should happen:
1. The user *may* provide a short description and/or a long description.
2. The short description should be displayed at the user micro-site like for other objects.Tutorial for the FG2015 ConferenceFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.web/-/issues/151Can request attestation for experiment that I don't own2015-05-07T07:22:55ZAndré AnjosCan request attestation for experiment that I don't ownThe button to request an attestation still shows up even if the experiment is not yours.
Reproduce:
Following this link (while you're not user "siebenkopf"): https://www.beat-eu.org/platform/experiments/siebenkopf/siebenkopf/FaceRe...The button to request an attestation still shows up even if the experiment is not yours.
Reproduce:
Following this link (while you're not user "siebenkopf"): https://www.beat-eu.org/platform/experiments/siebenkopf/siebenkopf/FaceRec-WithOut-Training/2/Banca_P-PhaseDiff/Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.web/-/issues/156Saved search is not displayed2015-05-07T10:08:10ZAndré AnjosSaved search is not displayedIf I click (from the user micro-site, Databases panel), on this query for the AT&T database:
https://www.beat-eu.org/platform/search/?query=db:atnt%20type:results
And I save this search, with its default name, and then I go back to...If I click (from the user micro-site, Databases panel), on this query for the AT&T database:
https://www.beat-eu.org/platform/search/?query=db:atnt%20type:results
And I save this search, with its default name, and then I go back to the micro-site, "Searches" panel and click on the saved search, I cannot see it properly.Tutorial for the FG2015 ConferenceFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.web/-/issues/158The sentence "Public for specific users..." is not sensical2015-05-07T08:51:20ZAndré AnjosThe sentence "Public for specific users..." is not sensicalMaybe we could modify it to "Shared with specific users..." instead.Maybe we could modify it to "Shared with specific users..." instead.Tutorial for the FG2015 ConferenceSamuel GAISTSamuel GAIST