ust-quantil / qc-atlas-ui Goto Github PK
View Code? Open in Web Editor NEWUser Interface for qc-atlas
License: Apache License 2.0
User Interface for qc-atlas
License: Apache License 2.0
Adding application areas and problem types to a specific algorithm does not work as expected:
after typing in a letter, no suggestion is made and no saving is provided.
In the algorithm overview, add a sketch component to support the upload and presentation of images.
### List of remaining instances where type is specified as any
// the number in bracket is the number of times of any in the file
Originally posted by @emymaria in #162 (comment)
Currently, ExecutionResultDto result consists of strings instead of an ENUM such as in the NISQ Analyzer backend.
See files
Automatically set SDK, language (and file location) dependent on the implementation attributes of the QC Atlas (as already done for PlanQK Platform implementations).
As a developer, I'd like to follow a common code style so that performing reviews / PR / merges is not hindered by different whitespace/code formatting settings.
Rename every occurrences of QC Atlas UI to QuAntiL
In algorithm, implementation, and compute resource properties, currently it is not possible to add a new compute resource property by first setting the type name, as then, errors in the browser console occur and no further changes are possible.
Further, also support suggesting existing property types and, thereby, prevent the addition of a duplicate property type (see, for example, Algorithm Relation Types).
If QProv is available, available QPUs should be automatically added to the list of compute resources and Provenance data should be visible.
Furthermore, also based on QProv available cloud providers (IBMQ) should be added to the cloud providers list
Therefore, a non-generated method exists for accessing implementation files on the platform.
As soon as both backends are the same in the context of file handling, generate the new API and remove the non-generated accessing method.
See files:
As the PlanQK platform contains markdown context, we also should support it to beautify the context.
String escaping to prepare the Latex-Content leads for issues for Quantikz & Qcircuit rendering.
For example \rangle and \targ are common expressions.
Line 46 in https://github.com/UST-QuAntiL/qc-atlas-ui/blob/master/src/app/util/latex-renderer-service-constants.ts converts for example \rangle into ^Mangle which leads to Latex-Renderer being unable to render the content.
There are PROLOG rules that require "" as statement
In JSON, this has to be replaced by \
In the context algorithm > NISQ Analyzer > Analysis Job > Execute/Show Analysis - Button not clickable for Firefox and Chrome.
Currently only the first file of implementation files on the PlanQK Platform is used fo the NISQ Analyzer as only a single file can be processed for analysis.
Also requires adaptions on the NISQ Analyzer
See files:
Currently, sorting the list of problem types under "Manage Components" does not work as the request
GET http://localhost:8080/atlas/problem-types?page=0&size=10&sort=parentProblemTypeName,asc
to the QC Atlas returns a 500 because sorting by parent problem type NAME is not supported.
If necessary I would propose to hide the sorting possibility at the "Parent" column.
Further, if possible, improve the logic of the assignParentProblemTypeNames()
method to reduce the number of requests for each problem type with a parent problem type.
But be careful that also pagination is supported with more than one page!
That is why I adapted the original method:
In case the parent problem type was on another page, the problem type did not show a parent.
Generate new PatternAtlas ( = patternpedia) API, when PatternAtlas api-docs are available again.
Improve the AlgorithmRelatedPatternsComponent.getPatternLanguage
method (src/app/components/algorithms/algorithm-related-patterns/algorithm-related-patterns.component.ts) by using the generated PatternLanguageControllerService for getting a pattern language instead of the http.get method.
In context Algorithm > Related Patterns enable invocation of Pattern Atlas UI.
As shown on the image, a button (with no functionality) is already given when adding a new pattern relation:
If the button is clicked a new browser window should open addressing the Pattern Atlas UI.
To be discussed:
In context of related patterns a "Browse Pattern Atlas" button is provided even without the context of adding a new pattern relation.
TODO:
Currently it is not possible to edit the name of an existing algorithm, publication or implementation
Many components only use the main module. This is bad practice and should be changed soon. The documentation for modules can be found here.
Add 'showEditing'/'enableEditing' feature in features list in the settings menu to en-/disable editing content in our QC-Atlas-UI.
For integrating the data of the PlanQK Platform, the necessary data has to be requested from the Platform and POSTed to the NISQ Analyzer.
dynamically change root url either to QuAntiL or to PlanQK Platform
POST data about algorithm, implementation, and SDK to NISQ Analyzer
Extend algorithm view to search for problem types and link them to the algorithm
Currently, the platform does not support versioning for impls and algos.
Therefore it is enabled when accessing the platform data.
As soon as it is supported enable versioning also for the platform data.
See files:
Instead of using the readme generated by the Angular CLI we should write a readme which briefly describes the puropse of this repository.
To support the generation of implementations for algorithms, Quokka should be integrated in the UI.
If the UI is running in the Docker container, the requested route is iterpreted by the NGINX and results in a 404 if a deep link is followed. Thus we should enable hash routing or cnfigure the nginx to ignore the deep links.
Context: Algorithm > Implementation > Selection Criteria > SDK: Besides selecting SDKs out of given ones (added under Execution Environments > Software Platforms), it should also be possible to define new SDKs in the related field.
These new defined ones should automatically be added to the Execution Environments > Software Platforms of QC Atlas.
Currently only a single tag can be selected for algorithms etc.. Multiple tags have to be possible in the future.
We should use typing everywhere and avoid any
-Objects.
Benefits of typing
Inclomplete List of identified untyped methods and classes:
ActivationGuard
If the pattern atlas db is empty the dialog handling related patterns only shows the loading animation.
Instead it should be obvious for the user that currently no patterns are available because the db is empty.
Why we have this additional service? Couldn't this be replaced with the genereated ones?
Benefits
Should be done after resolving UST-QuAntiL/qc-atlas#188
Therefore, generate the new API of the QC Atlas.
We may also want to show the new attribute.
If no implementation and QPU is shown after triggering the analysis UI UI should show message: "No suitable implementation and/or QPU found!"
Similar to https://platform.planqk.de/qai-apps, we have to integrate Winery (as well as the new endpoint from the Platform) as qAI repository.
The corresponding API is available at https://platform.planqk.de/qc-catalog/swagger-ui/index.html?configUrl=/qc-catalog/v3/api-docs/swagger-config
Based on the detailed platform content, the properties fields in the Algorithm Overview should be reordered and maybe enlarged dependent on the general text length of the single fields.
Also have a look at publications and implementations, etc.
Here is a sketch of the re-ordered structure for algorithm properties:
Relates to UST-QuAntiL/latex-renderer#9
Changes between different versions of the content are color-coded such that a fast detection of changes is possible.
When manually adding a compute resource (e.g. QPU) vendor in compute-resource-provenance-component.ts is null.
When a simulator is given (without qubitCharacteristics etc. set) attributes are null and lead to errors.
See console errors.
Please handle these console errors.
Improve the UI responsiveness, so that the layout also works on mobile devices and smaller screens.
E.g use boostrap grid layout
Assignees: @LHommeDeBat @ValeSayfa
Support OAuth handling for login process to improve security:
redirect to PlanQK platform when clicking on login button, log in, and automatically go back to our UI.
See:
https://www.npmjs.com/package/keycloak-angular
Also inspect the URL of native PlanQK platform login
Complete and fix the missing functionalities (edit, delete etc.) of the implementation view.
Assignees: @LHommeDeBat @ValeSayfa
Changing the quantum computation model in the algorithm view is not possible. No request is sent to the backend
Please remove the "Width rule" & "Depth rule" under Implementation Selection Criteria sch thtat for PROLOG rules only the Selection rule is shown.
###Acceptance Criteria:
Currently the ui expects the Qiskit SDK to be contained inside the nisq analyzer db.
This causes several issues when using an empty db, as mentioned in this pull request
fix multiple issues
-manage pagination of link list and link list dialog respectively
-change page to previous if last element of last page gets deleted
-correctly disable already linked elements if link dialog gets called and multiple pages exist
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.