Coder Social home page Coder Social logo

scicatproject / frontend Goto Github PK

View Code? Open in Web Editor NEW
20.0 13.0 23.0 37.62 MB

SciCat open data catalogue web client

Home Page: https://scicatproject.github.io

License: BSD 3-Clause "New" or "Revised" License

TypeScript 77.27% JavaScript 2.17% HTML 16.39% Shell 0.30% Dockerfile 0.12% SCSS 3.49% CSS 0.27%
data-catalog metadata-catalog data-management doi

frontend's People

Contributors

anastasiiadeveloper avatar bolmsten avatar bpedersen2 avatar dapvan avatar dependabot[bot] avatar dylanmcreynolds avatar encima avatar enthusiastio avatar fpotier avatar garethcmurphy avatar github-actions[bot] avatar greenkeeper[bot] avatar hannes-petri-maxiv-lu-se avatar henrikjohansson712 avatar hormiai76 avatar janosbabik avatar jekabs-karklins avatar junjiequan avatar lukegorman avatar marcoleorato avatar martin-trajanovski avatar minottic avatar nguyenlinhlinh avatar nitrosx avatar quaderi avatar saad17com avatar snyk-bot avatar stephan271 avatar themeinerlp avatar yoganandaness avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

frontend's Issues

Login Issue on develop. All users failing to proceed past login screen when using MSAD

Issue Name

Login Issue

Summary

Possibly only seen at PSI because of the requirement of an active directory authentication process.

Steps to Reproduce

login using active directory authentication process.

Current Behaviour

Login is technically successful with a token being generated but the datasets screen is not displayed and the browser remains on the login screen.

in the console:
"ERROR TypeError: err.json is not a function
at CatchSubscriber.eval [as selector] (user.effects.ts:41)"

Removing the call to json() then shows the actual error:
"TypeError: _this.userSrv.getCurrent(...).switchMap is not a function"

Expected Behaviour

Dataset table is displayed.

Extra Details

Adding "import 'rxjs/add/operator/switchMap';"
to catanie/src/app/state-management/reducers/user.reducer.ts
removes the issue.

I'm unsure as to why this fixes the issue and I don't see it as a sufficient fix.

e2e testing not running

Issue Name

e2e testing not running correctly

Summary

e2e testing should run all e2e tests
instead produces error

TSError: ⨯ Unable to compile TypeScript:
error TS5058: The specified path does not exist:

Steps to Reproduce

run e2e tests

ng e2e 

Current Behaviour

jasmine does not run and no test results are shown

Expected Behaviour

e2e testing should run all e2e tests

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Import error for ahead of time (AOT) compiler

Issue Name

Import error for ahead of time (AOT) compiler

Summary

ERROR in : Can't resolve all parameters for BatchViewComponent in /Users/garethmurphy/catanie/src/app/datasets/batch-view/batch-view.component.ts: ([object Object], ?).

Steps to Reproduce

ng build --prod

Current Behaviour

production build fails with error on batch view component

Expected Behaviour

build should finish with no errors

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Create a CLI for ingesting data to data catalog

Should allow to define sourcefolder and meta data by a user, who has access to the data files.
Especially useful for derived data
Could also be in charge of copying "local" datafiles to central file server for later access via archive system.
A definition of a "standard" sidecar file (JSON format) with a defined schema would be helpful.

Initial discussion with Chris resulted in creating a version based on the Go language.

In a subsequent step a GUI version, whcih would allow to browse through the local filesystem and to select files from there will be added. Technology not yet defined (Electron, kivi, Qt application ...)

Table of PublishedData for users

Issue Name

Table of PublishedData for users

Summary

Users can see all their published data in a table, similar to proposals, jobs and datasets

Change dataset columns to display archivable/retrievable flags

Issue Name

SimplifyDatasetColumns

Summary

The columns representing the status messages for archive and retrive should be replaced by checkmark boxes in dicating archivable/retrievable status. The status messages could then be shown as tooltips instead

Job display - show retrieve/ archive status message

Issue Name

Job display - show retrieve/ archive status message

Summary

When an archive job completes, the archive system patches dataset lifecycle record for that pid.
Query dataset lifecycle and show the result in the job display

Current Behaviour

new feature

Create captcha on login page to prevent unauthorised attempts

Summary

Currently, the login page can be used to spam the API server with login requests and this should be limited through the use of something like a captcha.

Steps to Reproduce

Current Behaviour

Login without issue

Expected Behaviour

Login with human verification

Extra Details

This seems like the easiest way:
https://www.google.com/recaptcha/intro/index.html
Plenty of npm plugins for angular with this. I am not assigning this to myself but I will likely implement this with @egli this week.

This is in a feature branch but fails under a headless chrome. Can only find this: google/recaptcha#174 (does not resolve).

Could be because selenium driver 2.37 recently came out so new issues may arise. Could be worth enforcing 2.36 if that is not the case.

Do not merge until e2e tests pass.

Shopping cart for PublishedData

Issue Name

Shopping cart for PublishedData

Summary

A form should allow users to select PIDs/datasets they own for publication and data creation.
This relies on backend catamel model PublishedData existing

Ahead of time compilation produces errors

Issue Name

Ahead of time compilation produces errors

Summary

/node_modules/@angular/cli/bin/ng build --prod --output-path dist/$env

Date: 2018-07-20T06:46:15.631Z
Hash: 1cdc0da19209a18376a0
Time: 6558ms
chunk {scripts} scripts.03e042f1f102bf0e2ed8.js (scripts) 20.3 kB [rendered]
chunk {0} runtime.a66f828dca56eeb90e02.js (runtime) 1.05 kB [entry] [rendered]
chunk {1} styles.86cb9ccfaffffd7a51c9.css (styles) 102 kB [initial] [rendered]
chunk {2} polyfills.207dcc605630215505f5.js (polyfills) 130 bytes [initial] [rendered]
chunk {3} main.f58b96bf9bf614ca37d4.js (main) 128 bytes [initial] [rendered]

ERROR in app/app.module.ts(119,55): Error during template compile of 'AppModule'
Function expressions are not supported in decorators in 'rootReducer'
'rootReducer' contains the error at app/state-management/reducers/root.reducer.ts(28,28)
Consider changing the function expression into an exported function.

Steps to Reproduce

ng build --configuration=production

Current Behaviour

build fails

Expected Behaviour

build succeeds

Extra Details

https://angular.io/guide/aot-compiler

Redesign of dataset details page based on UX review feedback

Issue Name

Redesign of dataset details page based on UX

Summary

UX review has suggested dataset details could include thumbnails and grouping of metadata by category

Steps to Reproduce

Current Behaviour

Dataset details appear as a list without thumbnails and not grouped in separate categories (e.g. administrative, scientific, technical)

Expected Behaviour

Datasets details could include thumbnail images as a visual cue and metadata could be grouped by category

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

screen_shot_2018-03-06_at_10 54 44
screen_shot_2018-03-06_at_10 54 40

Sluggish Dataset table for 1000 Datasets

Issue Name

SluggishDatasetTable

Summary

When selecting 1000 Datasets in the Dataset view the reaction time becomes very slow

Steps to Reproduce

Select 1000 in drop down box for number of entries

Current Behaviour

System is slow, selecting all 1000 is hardly possible

Expected Behaviour

Immediate response (<2s) even if 1000 datasets

jobs detail page shows errors and blank fields

Issue Name

Job detail page shows errors with config form

Summary

Job detail page shows blank fields and VM runtime errors

Steps to Reproduce

access job detail page
screen shot 2018-08-24 at 11 00 31

Uncaught Error: Invocation of form runtime.connect(null, ) doesn't match definition runtime.connect(optional string extensionId, optional object connectInfo)
at Object.normalizeArgumentsAndValidate (VM24 extensions::schemaUtils:115)
at Object. (VM19 extensions::binding:363)
at Object. (VM18 extensions::runtime:56)
at Object.handleRequest (VM19 extensions::binding:64)
at Object. (VM19 extensions::binding:374)
at content_script_bundle.js:1

Current Behaviour

Expected Behaviour

No VM erros and fields not blank

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Change title from catanie to scicat + facility

Issue Name

Change title from catanie to scicat + facility

Summary

Title should be site dependent

Steps to Reproduce

Current Behaviour

Title currently reads catanie which may confuse scicat users

Expected Behaviour

Title should show facility name and status (if not in production)

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Bring order to convoluted effects

Some of the effects in the application, mainly those involved with remote data fetching, are quite obscure and hard to follow. For example, AccessUserEmail may trigger RetrieveUserIdentityComplete even though there is also a RetrieveUserIdentity action.

This should be cleared up in order to make the data flow understandable, and to eliminate the risk of bugs and inconsistencies.

Wrong email for submitted jobs

Issue Name

WrongEmailAddress

Summary

When submitting archive or retrieve jobs the wrong email address taken from User model is used instead of the one from UserIdentity

Steps to Reproduce

Current Behaviour

Takes dummy email created inside User collection

Expected Behaviour

Should take the email from UserIdentity for real users

Extra Details

The logic to extract the email from UserIdentity is inside the getEmail effect, but it seems that this effect is never called

Keyword facet is ignored

Issue Name

KeywordsFacetIgnored

Summary

When selecting a keyword the information is not transmitted to the server as a facet

Expected Behaviour

The keyword should be added to the facet as a filter condition

Coding convention

We should agree on a coding convention that's used consistently in the project(s).

I suppose if everyone's just transparent about how they prefer it, it's easier to find one that accommodates as many preferences as possible.

There are numerous aspects to address but I'll just start with a couple of them. Nota bene, I'm not claiming any of these to be more correct, I'm just presenting my own taste:

Four spaces for indentation (no tabs!)
No padding in brackets/parenthesis (e.g. {foo: bar} rather than { foo: bar }; foo(bar) rather than foo( bar )).
No padding around colons in object literals (e.g. {foo: bar} rather than {foo : bar}.
Spaces between conditional keywords and conditions (e.g. while (true) rather than while(true)).
No spaces between function names and parenthesis (e.g. function foo(bar) {… rather than function foo (bar) {…
Use automatic key-value pairing wherever possible (e.g. {foo} rather than {foo: foo}.

Update npm packages for scicat

Issue Name

Update npm packages

Summary

npm packages are out of date, including outdated sshpk dependency security vulnerability
https://www.npmjs.com/advisories/606

Steps to Reproduce

npm outdated 
 npm audit

Current Behaviour

Expected Behaviour

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Bundle size should be reduced from 3 MB

Issue Name

Bundle size should be reduced from 3 MB

Summary

Bundle size should be reduced from 3 MB gzipped.
All rxjs operators are included even those unused in code.
Same for font-awesome icons

Steps to Reproduce

ng build --prod

Current Behaviour

Bundle is > 3 MB

Expected Behaviour

Bundle size should be minimized to < 2MB

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Provide Landing Page Server

  • A separate web server, which allows to search through (published) datasets meta data and give access to information, how to retrieve the datasets.

  • Datasets which are published and therefore have a DOI can be reached via a DOI redirection server , which points to this landing page server

  • Should display only a subset of the available meta data for un-published data

Revise and improve tests

Issue Name

ReviseTests

Summary

  • Increase code coverage
  • Write state management tests independently of components

Restore the beloved burger (fa fa-bars) sidenav button

Issue Name

Restore the beloved burger (fa fa-bars) sidenav button

Summary

Steps to Reproduce

Run develop catanie...

Current Behaviour

No burger button

Expected Behaviour

Burger button

Extra Details

Multiple reports of this issue across sites

Deepscan Issues roundup

Issue Name

Deepscan Issues roundup

Summary

Deepscan finds 47 issues, mainly extraneous imports and variables

Steps to Reproduce

See deepscan analysis

Current Behaviour

47 issues found

Expected Behaviour

No or few issues found

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Disable check box on dataset overview table for failed archives

Issue Name

re-archive control

Summary

Currently if an archive fails the dataset table is updated with an entry. The user is able to select this entry check box and issue a repeat archive attempt. This repeat attempt is a problem if there exists some partial dataset on the archive.

Steps to Reproduce

Trigger an archive and make it fail somehow.

Current Behaviour

check box is enabled for failed archive entries

Expected Behaviour

check box should be disabled

Extra Details

This issue was highlighted by the archive team at PSI.

Update SDK to include Published Data new model

Issue Name

Update SDK to include Published Data new model

Summary

SDK from catamel needs update to include Published data

Steps to Reproduce

Current Behaviour

Expected Behaviour

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Allow multiple selections of facets and individual deletes

Issue Name

MultiFacetSelectUI

Summary

Currently it is not clear how to select more than one value from a facet and how to get rid of individual selections again. The idea is to either have a button like approach, where the buttons can be deselected, or a checklist marker next to the dropdown lists

Also one should prevent the possibility to select the same entry more than once.

Add personalized Job status

Issue Name

AddPersonalizedJobStatus

Summary

A user should see only his own Jobs and the current status of the archiving/retrieving process. Also the links to the datasets should be provided: The user should see the up-to-date status of the archive or retrieve process for each handled dataset

Option to explicitly enable/disable archive functionality

Issue Name
Option to explicitly enable/disable archive functionality

Summary
Users see archive/retrieve controls even when no function is present on site

Steps to Reproduce
Normal use of catanie

Current Behaviour
Archive /retrieve buttons are visible to all users

Expected Behaviour
Archive /retrieve should be possible to disable if not present on deployment site

Extra Details
Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Dataset filelisting not updated when switching datasets

Issue Name

FilelistingUpdate

Summary

When switching between Datasets and entering the detail view showing the Data files the file listing is not updated, but the previous filelisting is shown

Steps to Reproduce

See above

Current Behaviour

Expected Behaviour

Datafile listing is always the correct one associated with the dataset

Extra Details

A reload fixes the problem. The right data seems to be fetched in the background but just not being displayed

Add local PSI images

Issue Name

Add local PSI images

Summary

PSI images and branding needs to be deployed on scicat login page

Steps to Reproduce

Current Behaviour

Expected Behaviour

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Selected datasets list view checkbox

Issue Name

selected dataset checkbox

Summary

Currently selecting datasets entries in the table adds the dataset to a list on the left. If the user move to another view, the list remains, but there is no clear way to remove the dataset from the list. The proposal is to add a checkbox control to enable disable elements of this list.

Steps to Reproduce

select entries in the dataset table and move to another view

Current Behaviour

Expected Behaviour

Extra Details

Issue raised by archive team

datasets enable sort by archive status

Issue Name

Summary

Steps to Reproduce

Current Behaviour

Expected Behaviour

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Add "expert" Query option for sophisticated queries

The idea would be to enable the end user to use the full power of the loopback (or Mongo) Query engine, e.g queries equivalent to Mongo DB native queries like the following:

db.RawDataset.find( {"scientificMetadata.entry.data.spec.attrs.idgap" : {$gt: 4.0, $lt: 5.0}}, {"scientificMetadata.entry.data.spec.attrs.idgap":1, "scientificMetadata.entry.sample.name":1})

Further details need to be discussed before we start any implementation

Scientific metadata table

Scientific metadata table

Values in the scientific metadata table are not separated into their own column, which makes it very hard to read (and visually unpleasing).

Current Behaviour

!metadata

Expected Behaviour

Values should be in their own column, and left-aligned.

Notes

This is a defect in the 3rd party library that we use. Unfortunately it doesn't seem to be because of how we have incorporated it; similar behaviour can be seen on the library's demo page.

datasets-> search panel typing pgroup doesnt work only selecting...

Issue Name

Summary

in the search pannel on dataset table, user can only click on the pgroup drop down and cannot enter by hand as desired

Steps to Reproduce

Current Behaviour

Expected Behaviour

Extra Details

Here you should include details about the system (if it is unique) and possible information about a fix (feel free to link to code where relevant). Screenshots/GIFs are also fine here.

Browser cache problems when deploying new program releases

Issue Name

BrowserCacheIssue

Summary

Users sometimes have to explicitly flush their browser cache to get the new correct version of a program

Steps to Reproduce

Current Behaviour

User continues to use the old version from the cached contents in the browser

Expected Behaviour

User always gets the newest released version, without the need to clear the browser cache

Allow to edit Metadata fields via GUI

Issue Name

EditMetadataFields

Summary

A user should be able to manually edit the meta data, if he/she has proper privileges (still to be defined)

Migrate docs to catanie

Issue Name

Migrate docs to catanie

Summary

Catanie docs should be migrated from github.com/Scicatproject/documentation to catanie repo

Documentation will be built by pulling catanie documents from catanie to documentation repo

Steps to Reproduce

Current Behaviour

Documentation is hard to update as it requires a separate pull request

Expected Behaviour

documentation can be updated simultaneously with code modifications

Extra Details

Current outdated html doc is deleted and replaced by markdown

Archive/Retrieve route for Catanie

Summary

Front page focuses on archive and retrieval but should really focus on viewing/searching datasets.

Steps to Reproduce

Load front page

Current Behaviour

Archive and retrieve buttons show

Expected Behaviour

The front page contains all but this information. A duplicate page would be used at the /archive route that shows the buttons and has the same structure.

Extra Details

In order for this to work, the dataset-table needs an Input boolean to determine if it should show these options (and be disabled for the dashboard).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.