scicatproject / frontend Goto Github PK
View Code? Open in Web Editor NEWSciCat open data catalogue web client
Home Page: https://scicatproject.github.io
License: BSD 3-Clause "New" or "Revised" License
SciCat open data catalogue web client
Home Page: https://scicatproject.github.io
License: BSD 3-Clause "New" or "Revised" License
Login Issue
Possibly only seen at PSI because of the requirement of an active directory authentication process.
login using active directory authentication process.
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"
Dataset table is displayed.
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 correctly
e2e testing should run all e2e tests
instead produces error
TSError: ⨯ Unable to compile TypeScript:
error TS5058: The specified path does not exist:
run e2e tests
ng e2e
jasmine does not run and no test results are shown
e2e testing should run all e2e tests
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
ERROR in : Can't resolve all parameters for BatchViewComponent in /Users/garethmurphy/catanie/src/app/datasets/batch-view/batch-view.component.ts: ([object Object], ?).
ng build --prod
production build fails with error on batch view component
build should finish with no errors
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.
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
Users can see all their published data in a table, similar to proposals, jobs and datasets
SimplifyDatasetColumns
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
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
new feature
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.
Login without issue
Login with human verification
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
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
/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.
ng build --configuration=production
build fails
build succeeds
Reset Status button on dataset deails->admin does not send anything
typeerror: t.datablock.pipe does not exist
select a dataset to view details click admin click reset status
Redesign of dataset details page based on UX
UX review has suggested dataset details could include thumbnails and grouping of metadata by category
Dataset details appear as a list without thumbnails and not grouped in separate categories (e.g. administrative, scientific, technical)
Datasets details could include thumbnail images as a visual cue and metadata could be grouped by category
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.
login with user with password containing special chars like "%49"
login fail
Probably can only be implemented as long as the Job has not yet been scheduled
SluggishDatasetTable
When selecting 1000 Datasets in the Dataset view the reaction time becomes very slow
Select 1000 in drop down box for number of entries
System is slow, selecting all 1000 is hardly possible
Immediate response (<2s) even if 1000 datasets
Job detail page shows errors with config form
Job detail page shows blank fields and VM runtime errors
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
No VM erros and fields not blank
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
Title should be site dependent
Title currently reads catanie which may confuse scicat users
Title should show facility name and status (if not in production)
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.
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.
WrongEmailAddress
When submitting archive or retrieve jobs the wrong email address taken from User model is used instead of the one from UserIdentity
Takes dummy email created inside User collection
Should take the email from UserIdentity for real users
The logic to extract the email from UserIdentity is inside the getEmail effect, but it seems that this effect is never called
KeywordsFacetIgnored
When selecting a keyword the information is not transmitted to the server as a facet
The keyword should be added to the facet as a filter condition
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
npm packages are out of date, including outdated sshpk dependency security vulnerability
https://www.npmjs.com/advisories/606
npm outdated
npm audit
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
Bundle size should be reduced from 3 MB gzipped.
All rxjs operators are included even those unused in code.
Same for font-awesome icons
ng build --prod
Bundle is > 3 MB
Bundle size should be minimized to < 2MB
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.
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
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.
ReviseTests
Restore the beloved burger (fa fa-bars) sidenav button
Run develop catanie...
No burger button
Burger button
Multiple reports of this issue across sites
Deepscan Issues roundup
Deepscan finds 47 issues, mainly extraneous imports and variables
See deepscan analysis
47 issues found
No or few issues found
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.
re-archive control
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.
Trigger an archive and make it fail somehow.
check box is enabled for failed archive entries
check box should be disabled
This issue was highlighted by the archive team at PSI.
Update SDK to include Published Data new model
SDK from catamel needs update to include Published data
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.
Candidate for new developers joining the project ? It could e.g. connect to a REST interface like https://support.hdfgroup.org/projects/hdfserver/index.html
MultiFacetSelectUI
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.
AddPersonalizedJobStatus
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
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.
FilelistingUpdate
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
See above
Datafile listing is always the correct one associated with the dataset
A reload fixes the problem. The right data seems to be fetched in the background but just not being displayed
Add local PSI images
PSI images and branding needs to be deployed on scicat login page
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 dataset checkbox
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.
select entries in the dataset table and move to another view
Issue raised by archive team
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.
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
Update to angular version 6
The newest version of the framework has several improvements
https://www.telerik.com/blogs/whats-new-in-angular-6
Values in the scientific metadata table are not separated into their own column, which makes it very hard to read (and visually unpleasing).
Values should be in their own column, and left-aligned.
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.
in the search pannel on dataset table, user can only click on the pgroup drop down and cannot enter by hand as desired
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.
BrowserCacheIssue
Users sometimes have to explicitly flush their browser cache to get the new correct version of a program
User continues to use the old version from the cached contents in the browser
User always gets the newest released version, without the need to clear the browser cache
(Awaiting support in Catamel for OIDC endpoints.)
Error snackbar fails to clear after failed login
Also the message seems to be empty.
EditMetadataFields
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
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
Documentation is hard to update as it requires a separate pull request
documentation can be updated simultaneously with code modifications
Current outdated html doc is deleted and replaced by markdown
Front page focuses on archive and retrieval but should really focus on viewing/searching datasets.
Load front page
Archive and retrieve buttons show
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.
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).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.