giseldo/neodataset huggingface dataset:
Cancel running experiment

### Problem to Solve

As a user I want to cancel a running experiment. 

Note: Cancelling a running experiment is only possible by owners of a project. The button "cancel" is not visible for not owner.


### Design
Use the liniar indeterminate progress bar from material ui as progress bar: https://material-ui.com/components/progress/

### Technical Solution
THe pipeline experiment can be canlled through Gitlab, but then backend is out-of-date. So after receiving the successful response then the backend has to be updated.




### Terminology
> Define terms that are important in the context of this task


Additional Notes
=====================

Link to XD: https://xd.adobe.com/view/036b80f1-9769-4112-7315-a6ed5c55f165-755a/

![Abort_experiment](/uploads/f3f63086501e534cc32402ea056be56d/Abort_experiment.png)

Story points: 4.0
Registration

### Problem to Solve

As a user I want to be able to register ;)


### Technical Solution

In the dropdown, these are the options (data scientist, ml engineer, data analyst, team lead, product manager)

* [ ]  Add at least one unit test
* [ ]  If useful: Add documentation to the readme


### Terminology
> Define terms that are important in the context of this task


Additional Notes
=====================

Link to XD: https://xd.adobe.com/view/c4069ef1-b6d4-44f5-528c-4e0da5800e5a-b237/

![Register_B](/uploads/9f43564552b9488923fb049e7015adda/Register_B.png)

![Register_A](/uploads/3b39cbb39b685708734530145ccbf75a/Register_A.png)

![Register_C](/uploads/266dae716e3f969d2a2801266803009c/Register_C.png)

![Register_D___1](/uploads/f588ecff89a6a852b5793a7b33e0ed87/Register_D___1.png)

![Register_D___2](/uploads/87f0e22ed19b7eebb7a6e25ae0c3064f/Register_D___2.png)

![Register_D](/uploads/e5cf958fcc8aeba9af904c5170c7f4bc/Register_D.png)

Story points: 4.0
Some resources like icons are not loading correctly

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Observed behavior

Some icons do not load correctly due to a protocol issue, the browser is apparently requesting them by HTTP in the prod environment.
![image](/uploads/b5102f350fe7d8af86a3588e9c3b1447/image.png)

### Expected behavior
The FE knows the protocol in which the app is running, hence the resources are always fetched in this one and no error is written in the log.

### Steps to reproduce
1. Login
2. Click on a project, check the dev options.

### Solution
Add some logic/rule in the Nginx that reroute this insecure traffic to the right target.

Story points: 5.0
Refine delete branch modal / bug

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Observed behaviour
When trying to delete several branches in one go, the second branch I want to delete is hindered by an inactive button in the modal view. 

Also, the modal needs UI designing (background blur and size of the modal related to the text). 

### Expected behaviour

If I want to delete several branches in one go, this should be possible. 

### Steps to reproduce


### Workaround


### Solution
<!--
  AKA. Specification
  Add technical implementation details and the results of the ticket's discussion here.
  Specifications written here need to be taken seriously.

  If you write speculation here, mark it as such.
-->



Additional Notes
=====================

![image](/uploads/960695be22fd337c25ccd0bf4146e4b1/image.png)

Story points: 2.0
E2Etest failing for one use case

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Observed behaviour

During the k8s migration, multiple failures were noted in e2etest job. All have been fixed one by one **except the last 1 error**. It does not look like infra related, please debug it.

![image](/uploads/fbf7468799878f4c48f0b28b631e21bc/image.png)
![image](/uploads/a62509d0c9218ca56afdd2e84f1acdfd/image.png)


### Expected behaviour

It should run without any failure

### Steps to reproduce

Any pipeline execution

### Workaround


### Solution
<!--
  AKA. Specification
  Add technical implementation details and the results of the ticket's discussion here.
  Specifications written here need to be taken seriously.

  If you write speculation here, mark it as such.
-->



Additional Notes
=====================

Story points: 2.0
Implement the UI for Import data overview

### Problem to solve
The implementation of the "Import data overview" needs the UI first, so that in the future these wireframes can be wired up with the BE and the rest of services, as well as animated with some logic.


### Proposal for Technical Solution
Implement the view, link to access it, the cards and other HTML elements without any interaction with other services.

### Documentation
Link to XD design: https://xd.adobe.com/view/71b56162-b41c-47f1-8747-f2a0858be11f-24e6/

### Links / references
https://gitlab.com/mlreef/mlreef/-/issues/601

Story points: 3.0
Strage margins in the project creation view

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Problem to solve
As a user, I want to review the view for project creation. Currently, in this view, the margins are very narrow and use all the width of the screen.

### Proposal for Technical Solution
add width or margins according to with the rest of the application.


### Documentation
![image](/uploads/eb1c5672ccb84ee13b3d6e1eb1c71ea1/image.png)

Story points: 1.0
Problems fetching projects in the Marketplace

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Observed behavior

After enabling the code-project-creation buttons a new bug was caused, so the infinite scroll has to be activated for the tabs different of `ML Projects` because with the current implementation the user won't be able to see all his code projects.

### Expected behavior

Users can use the infinite scroll for the models, data processors, and visualization tabs.

### Steps to reproduce

1. Open the market place
2. Go to the code project tabs, see how many projects are fetched.

Story points: 5.0
Publishing button needs permission wrapper

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Observed behaviour

In prod environment, the publishing button is clickable on not-owned code projects. Although it does not do anything, other than redirect the user to an empty screen, this button should show the forking modal. 


### Expected behaviour

For any other user except the owner or maintainer of a code project, the publishing button should not be visible. This way we avoid any misunderstanding.

### Steps to reproduce

In prod navigate to any code project that is not yours.

### Workaround


### Solution
<!-- Add technical implementation details and the results of the tickets discussion here. -->



Additional Notes
=====================

![image](/uploads/8fbd1e17d63f3fd395769df07b7b8df7/image.png)

Story points: 1.0
Adapt the FE to the newly created republish endpoint

### Problem to solve
As a user I want to have the possibility to publish a project again. This capability is currently not working because an exception is thrown by the server.

To solve this issue, the new endpoint republish has to be called when the project has more than one publication.


### Proposal for Technical Solution
The only way to know whether a project has been published or not, is by getting the pipelines and assert that array length is greater than 0.


### Permissions and Security
The permissions have to be the same as for publishing

Story points: 5.0
Adjustments in the pipeline creation view

### Problem to solve
In the pipelines creation view, we have some minor issues that should be solved:

- [x] Review execute button, it's enabled only when the user clicks outside the processor card.
- [x] Add popups for cases when the execute button is disabled and the user clicks on the button. Those popups should contain instructions about the missing steps.
- [x] Remove the advance options chevron button when there are not advanced options/params.
- [x] Adapt the cards (the list on the right) to have the global marker, desing: https://xd.adobe.com/view/566ad5dc-edcf-49e3-7230-c4d0e1fa4078-205b/
- [x] Update the global marker for the cards (border with color) in the market place

Story points: 5.0
Enable create project button for different sorts of projects

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Problem to solve
In the market place, we currently have the button for creating projects disabled except for the data projects.

Enable it as we now have the endpoints to create different sort of projects 

### Proposal for Technical Solution
Pass a parameter in the URL so the "create project" view knows whether the project is data or code project


Additional Notes
=====================
![image](/uploads/baa8e627e773f03c66025b9cfe3b6984/image.png)

![image](/uploads/c5ecfc73d9061e43b3dde82a37420236/image.png)

Make sure the endpoint for creating projects in the backend can distinguish among the code project subtypes

Story points: 3.0
404 file not found while trying to view a dataset file

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Observed behaviour

In staging environment, i successfully created several dataops pipelines. When accessing the datasets withing the dataset detail view, i am getting this error: 

![image](/uploads/1b978195f61cb38c7e77e50465cb2c56/image.png)

### Expected behaviour

It should show the file that i clicked. 

### Steps to reproduce

with mlreef user go here: http://staging.mlreef.com/mlreef/catsndogs/-/blob/branch/data-pipeline%2Fcute-shrimp-9112020-1/path/output%2Fcats%2Fcat.0_re.jpg

### Workaround


### Solution
<!-- Add technical implementation details and the results of the tickets discussion here. -->



Additional Notes
=====================

Story points: 5.0
Refine SEO information on mlreef

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Problem to solve
When searching in google for mlreef (incognito mode), the following results are shown. Some information are missleading / not sufficient: 

- [ ] There is no meta information on mlreef.com (not about.mlreef.com). This is the first entry shown in the list and should be made more attractive. ALTERNATIVELY: Is there a way of pushing about.mlreef.com as the primary site to show in the list? 
- [ ] The location of business of MLReef (as shown in the image) is from science park graz (we are incubdated by them). 
- [ ] Review the possibility to include subpages in the google entry (as in image 2, 1st circle). 
- [ ] What is the right info box and how can we create such a thing?! (as in image 2, 2nd circle).


### Proposal for Technical Solution
<!-- Add technical implementation details and the results of the ticket's discussion here. -->


### Permissions and Security


### Documentation


### Availability & Testing



Additional Notes
=====================
### Is this a cross-stage feature?


### Links / references

![image](/uploads/ae316236865c038caa6f26636466c88a/image.png)

![image](/uploads/97f524a79b083141f09c277717267d7c/image.png)

Story points: 5.0
bug frontend: Glitch in value list in data operation

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Observed behaviour

Using the data operation with value list option we observe this glitch, we cannot see the values from the list
![image__2_](/uploads/94e752470c5840d2124e9676b088436c/image__2_.png)
Another issue is that you cannot change the value from the list after choosing.

### Expected behaviour

The list value should be seen clearly.

### Steps to reproduce

### Workaround


### Solution
<!-- Add technical implementation details and the results of the tickets discussion here. -->



Additional Notes
=====================

Story points: 3.0
Bugs in data visualization overview and details view

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Problem to solve
**Data visualization overview**

- [x] The stile differs from datasets & visualization overview. Visualizations has all tabs (in progress, active, expired) while datasets has only the one with an entry. How we are doing it with datasets is much better imo.
- [x] The button view pipeline in visualization has no function. It should have the same style as in the data visualization detail view.
- [x] The button in view pipeline from dataset overview redirects to the data ops pipeline, but it doesnt reconstruct the pipeline. This works when you enter the dataset detail view. Could you adapt this to work on all cases?
- [x] Remove the "Use" and "Expires in" fields from data visualizations.
- [x] The active icon in visualization is wrong (exclamation mark) compared to checks (see dataset).
- [x] Remove the pre-fix "data-visualization/" of the data visualization name.
- [x] The username is not clickable.
- [x] The delete function is not working (no modal to delete the data visualization, as in datasets).
- [x] We should rename the "expired" tab to "failed" and "canceled". We should rename the "active" to "success". In both data visualization and dataset view.
- [x] I noticed that the active data visualization in your repo "well-megalodon" has status failed but is in the "active" section. This should be then in the new "failed" section.

**Data visualization detail view**

- [x] The status should have color (e.g. failed in red, pending in orange, success in green, canceled in red).
- [x] @andres46 implemented in the experiment view (executive summary) that I could click the "files selected from path" (src) whick links to the commit hash view of that path and the branch name, linking to the commit hash view of that branch. He knows more about this but we should include this function in both visualizations and dataset view. Not sure if there is a separate ticket for this, though?
- [x] The data visualization uses (e.g. t-sne) should be clickable and link to the code repo (in a new tab). This for both data viz and dataset.
- [x] The abort button is always active, despite the datavisualization being finished. It should be replaced by an X (delete). This deletes the entry and the corresponding branch.


### Proposal for Technical Solution
The tasks mentioned above should be completed and make the pipelines views bug-free.

### Availability & Testing
- [ ] Few unit tests for the detail and overview components

Story points: 10.0
WIP: Follow-up from "Add routing to all breadcrumb components"

The following discussion from !891 should be addressed:

- [ ] @diegovinie started a [discussion](https://gitlab.com/mlreef/mlreef/-/merge_requests/891#note_431000726):  (+4 comments)

    > Things that are required, are required for good reasons. If those reasons don't change then this is not good.

Story points: 8.0
Review branch dropdown: listed branches

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Problem to solve
We have several places in MLReef where we show the branch dropdown button with the list of branches in one repo. This ticket aims at 1. restructure the automated branch name for branches created in a pipeline and 2. show sorted branches list (without pre-fixes). 
Extra: 3. If possible on the "pipeline-branches" show the status as in ticket: #725 

Here the overview of where we have branch dropdowns and what to show in them (this changes!) 

- [x] Repo overview: Show all branches (as in the design)
- [x] Commit view: Show all branches
- [x] Repo history: Show all branches
- [x] New merge request: Show all branches
- [ ] Dataselector modal: Show normal branches and datasets, hide data visualizations and experiments


### Proposal for Technical Solution
<!-- Add technical implementation details and the results of the ticket's discussion here. -->


### Permissions and Security


### Documentation

Link to XD design (slide 5): https://xd.adobe.com/view/c6c402fa-d7f8-4b46-4c6f-dd6257402fb4-b0f5/

![image](/uploads/ec45ed7f1db05dab9beb693e0ff73afc/image.png)

### Availability & Testing



Additional Notes
=====================
### Is this a cross-stage feature?


### Links / references
![image](/uploads/ba49f9c0ee60b211d28a60c5b1b1a808/image.png)

Story points: 7.0
The jobs list seems to have a delay showing information

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Observed behaviour

The insights tab shows information about the pipelines and their corresponding status. The information present seems to have a delay of sometimes a few minutes. 

- [ ] Pipeline started and no entry of the pipeline is shown in the jobs list
- [ ] Status (e.g. running, pending, failed) has "old" information, although pipeline already has a different value
- [ ] Pipeline status does sometimes not match from the job overview and job detail view


### Expected behaviour
Information should be up-to-date.


### Steps to reproduce

Start any pipeline and review the status on the jobs list.

### Workaround


### Solution
<!-- Add technical implementation details and the results of the tickets discussion here. -->



Additional Notes
=====================

Story points: 5.0
Accessing dataset / visualizations files gives an undefined error

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Observed behaviour

When trying to access a datafile / path in a dataset, a root error happens and therefore, the files are not viewable. 

- [x] Also check on data visualizations!


### Expected behaviour

The user should be directed to the folder / file that he wants to see in the repo view with the dataset branch selected. 

### Steps to reproduce
In master, select a dataset and explore the view to find this error. 

### Workaround


### Solution
<!-- Add technical implementation details and the results of the tickets discussion here. -->



Additional Notes
=====================
![image](/uploads/73610168b58df14df83fa2cd9b64dd9f/image.png)

Story points: 2.0
Follow-up from "Fix deleting files and add tests" minor fixes in file deletion modal

The following discussion from !877 should be addressed:

- [ ] @cpmlreef started a [discussion](https://gitlab.com/mlreef/mlreef/-/merge_requests/877#note_429094482):  (+1 comment)

    > Hey @andres46 this works perfect now! Really great :) 
    > 
    > Just very minor improvements: 
    > 
    > 1. Integrate headers such as in the design so the users know what to do: 
    > See design: https://xd.adobe.com/view/b093afeb-118a-48f2-5b24-8684dbf5014c-c6a2/
    > ![image](/uploads/455e453a76d06f80ab355523eba0d36e/image.png)
    > 
    > 2. When creating a new branch, clicking outside the dropdown does not close the dropdown:
    > 
    > ![image](/uploads/010147e9643951f41a180584942e055b/image.png)
    > 
    > 3. When creating a new branch for deleting and after pressing the delete button, the user should be redirected to this branch (now it returns to master)
    > 
    > Question: are there tests for this? ;)

Story points: 3.0
Follow-up from "Fix deleting files and add tests"

The following discussion from !877 should be addressed:

- [ ] @SaathvikT started a [discussion](https://gitlab.com/mlreef/mlreef/-/merge_requests/877#note_428008208):  (+2 comments)

    > @andres46 Can't this be a helper global function? I am sure we will need the delete file feature in other places as well, so maybe we should create this as a function in `helpers.js`.

Story points: 3.0
DRY end2end tests

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Problem to solve
<!--
  Describe the desired state of the system in the style of:
  “As a (User / Manager / Admin / Guest) I want to be able to do x”
--> 
As a developer, I want it to be really easy to create additional end-to-end tests. For almost all tests it is necessary to be logged in and create at least one project.

Therefore, it makes sense to have something like a TestDirector which covers the following use cases.

- [ ] Creates user and logs in user if needed
- [ ] Creates a project which can then be used in the tests.

Additionally (for extra credit :smile: ) it might make sense we 
- [ ] let the TestDirector cache User and/or Project info so that we are creating as few new users as possible. 


### Proposal for Technical Solution
<!-- Add technical implementation details and the results of the ticket's discussion here. -->



Additional Notes
=====================
/cc @andres46

Story points: 10.0
Assert publishing of Docker Images

[MLReef's Glossary](https://gitlab.com/mlreef/www-mlreef-com/-/tree/master/handbook/glossary.md)

### Problem to solve
<!--
  Describe the desired state of the system in the style of:
  “As a (User / Manager / Admin / Guest) I want to be able to do x”
--> 
Currently, we have [one end2end test which publishes a code ](https://gitlab.com/mlreef/mlreef/-/blob/master/web/src/__end2end-tests__/CodePublishing.test.jsx), **BUT** it never asserts that a Docker Image was actually put into the docker registry.

The target of this ticket is to add "an assertion" to the test which queries Gitlab's API for information about the Docker registry and asserts that the newly created Image was uploaded.

The process in the backend works as follows:
* backend receives publish request at `api/v1/projects/{id}/publish`
  * creates Dockerfile in repository
  * create `.mlreef.yml` in the repository
* Gitlab starts a pipeline based on the `.mlreef.yml` 
  - [ ] Test needs to assert that a pipeline was started
  - [ ] Test needs to wait until the pipeline is finished
* The pipeline builds the docker image and pushes it to the built-in docker registry
  - [ ] Test needs to assert that a new image is present


### Proposal for Technical Solution
<!-- Add technical implementation details and the results of the ticket's discussion here. -->

Add the steps at the bottom of https://gitlab.com/mlreef/mlreef/-/blob/master/web/src/__end2end-tests__/CodePublishing.test.jsx


### Documentation
The test is itself documentation



Additional Notes
=====================
For testing please refer to the "Known Issues" section in `web/bin/ci-run-end2end-tests` added in Merge Request !881 

We already have some experience with code that uses the API to delete images from our docker registry on gitlab.com
```
# 1117031 is the id of the "gateway's" sub-repository id
curl --request DELETE --header "PRIVATE-TOKEN:$GITLAB_COM_API_TOKEN"
  https://gitlab.com/api/v4/projects/$CI_PROJECT_ID/registry/repositories/1117031/tags/$CI_COMMIT_REF_SLUG
```

Story points: 10.0
Refactor weird code in the new merge request overview

The following discussion from !868 should be addressed:

- [ ] @SaathvikT started a [discussion](https://gitlab.com/mlreef/mlreef/-/merge_requests/868#note_426977170):  (+1 comment)

    > @andres46 A new ticket maybe?

### Documentation

Open the merge-request-overview file. Look for the next annotation:

`{/* TODO: refactor the next code, no need to copy 4 times the same */}`

Story points: 3.0