Code Monkey home page Code Monkey logo

rds-web's Introduction

Sciebo RDS

pipeline status MIT License Version Release gitter

Sciebo RDS (Sciebo Research Data Services) allows researchers to enrich their research data with metadata and to export it directly from Enterprise Sync and Share (EFSS) Systems like Owncloud to Data Repositories like Zenodo and OSF. It acts as a interoperability layer, allowing them to assign a directory on a Sync and Share System to a research project, annotating the contained data to match the format required by the desired Data Repository and publishing the Research Data directly from the Cloud.

No need to download all the data to a desktop computer to cumbersomely upload it to the repository interface again.

Find more information on the official website at www.research-data-services.org.

Screenshots

An_RDS1 Configuring a project An_RDS2 Adding metadata
An_RDS2 Adding metadata An_RDS4 Adding metadata
An_RDS5 Publishing An_RDS6 Connecting repositories

Deployment

Requirements

To deploy Sciebo RDS you will need:

  1. A Kubernetes cluster
  2. An OwnCloud instance
  3. Two different domains

Getting Started

Please refer to our Getting Started Guide to learn how to deploy Sciebo RDS.

Development environment

To deploy a local environment on top of Minikube, including RDS and NextCloud and / or OwnCloud, please refer to this guide.

Monorepo Structure

We use a monorepo to make it easier to track related changes. This means that you will find all relevant files in this Github repository.

The following table will give an impression of the individual parts.

Folder Description
/charts Helm charts
/docs Website with documentation
/getting-started Files for easy deployment
/RDS The RDS code
/RDS/layer0_ingress/web/server The Python Backend
/RDS/layer0_ingress/web/client/packages/codebase The Vue.js Frontend
/RDS/layer3_central_services Microservices ResearchManager, TokenStorage
/ Metafiles and configuration

The monorepo only includes those parts of Sciebo RDS that are officially maintained by the University of Münster.

Additional Repositories

There is also an additional repository that functions as a community hub for development of 3rd party connectors, such as Dataverse. These connectors are community managed – if you are planning on developing a connector and sharing it as Open Source, feel free to use this repository.
A third repository is used for the ongoing development of the Nextcloud Plugin.

Contributing and Documentation

Contributions are always welcome! You can find technical documentation and guides on how to extend Sciebo RDS to your needs and connect additional repositories on our website.

We follow the Gitlab-flow. Our default branch is called develop and can be changed exclusively through pull requests via Github.
When a certain amount of features are done, they are merged into release. From there we will set a tag and publish the changes in helm and docker repositories.

Please adhere to our code of conduct.

Feedback and Support

Please use the Github Issues and Github Discussions for feedback and technical questions. We also have a Gitter chat. :)

If you are using Sciebo RDS as a researcher and need user level support, please refer to the administrators of your Sciebo RDS instance. You can find their email adresse in the Help tab of your Sciebo RDS instance.

Acknowledgements

Sciebo RDS relies on describo-online for metadata management.

Authors

Sciebo RDS is a project developed by the University of Münster and funded by the DFG.

You can reach the development team at sciebo.rds <at> uni-muenster.de or on Gitter.

rds-web's People

Contributors

heiss avatar juriroemer avatar

Watchers

 avatar  avatar

Forkers

juriroemer

rds-web's Issues

Demo-ready

criticial:

  • rds-web's socketio forgets the userId after some time, use redisCluster for session, store and clients storages
  • publish does not working correctly
    • RDS needs to return an event, when finished, so the user get a notification, also when sth goes wrong while publishing
      • testing
    • needs a new approach for jsonld parsing, because prev approach does not work correctly with describo online, so i need a faster approach for this
      • new approach applied to OSF
      • new approach applied to Zenodo
  • add title for project
  • describo session updater does not work properly (doc)
    • refresh tokens can be triggered manually
  • OSF refresh does not working (works manually, but not in scheduler), but ownCloud works
    • after 1 hour the refresh_token becomes invalid and needs to be set again, but there is a problem
    • OSF file upload does not work
    • write an email
  • speedup interaction

should have:

  • fix iframe sizes
  • fix #20
  • Token Storage has a bug to set refreshed tokens in redis
    • Describo cannot communicate with owncloud after some time (Tokenstorage does not announce changing in redis!)
  • iframe on removal page needs content
  • remove RDS account does not remove vuex store and does not redirect user back to welcome page
    • sometimes it does
  • websocket does not reload when connection is lost
  • help titles should be subtitles
  • rds-web have a prometheus metrics endpoint not visible for public
  • add load icon, when waiting for oauth2 activation flow

could be good:

  • #27
  • tracing for rds-web

Startseite Sciebo RDS (Erstanmeldung)

  • Text korrigieren (zu korrigierendes hab ich fett markiert):
    sciebo RDS is a sciebo plugin that allows you to manage your research data in a clean and simple way.
    Sciebo RDS is funded by the German Research Foundation (DFG).
    Managing your research data has never been easier.
    Read more about sciebo RDS

  • einheitlich groß oder klein schreiben -> sciebo RDS / Sciebo RDS)

  • verzerrte Abbildung:
    image

  • Text in Kästchen korrigieren
    image
    scriebo ??

und
image
Work on your...

  • nice to have: sofern möglich den GettingStartet-Button etwas zentraler (höher) platzieren, der klebt bei mir ganz unten an der Seite und ich musste kurz suchen, wo/wie es weitergeht nach der Startseite 😉

Projekte anlegen/bearbeiten

Allgemein

  • wenn ein neues Projekt angelegt wird, steht dort direkt "modified" - ist hier gemeint "in Bearbeitung"? Dann vielleicht Beschriftung anpassen, könnte ggf. verwirrend sein, warum dort direkt "geändert" steht... z.B. "in progress"?
    image

  • wenn ich ein neues Projekt angelegt habe und den Schritt 1 (Configuration) abgeschlossen habe und jetzt bei Schritt 2 bin, dann die Seite verlasse (bspw. indem ich auf Home klicke) und dann wieder das Projekt aufrufe, bin ich wieder bei Schritt 1 und muss erneut auf Continue klicken um zu den Metadaten zu kommen. Besser wäre es, direkt wieder bei dem Schritt zu landen, bei dem man zuvor aufgehört hatte, wenn möglich.

Schritt Metadata:

  • im Schritt Metadata ist mir nicht ganz klar, was ich zunächst tun soll: Was bedeutet „select a scoure to work with" (hab ich das nicht schon getan?) und warum nochmal "login to owncloud"? Oder muss ich zuerst auf "Manage my Templates?" ggf. noch irgendwo eine Nutzerinfo platzieren, was in welcher Reihenfolge zu tun ist...
    image

  • Wenn ich auf „Manage my Templates“ gehe, habe ich keinen Zurückbutton, ich kann nur über den Browser zurückspringen, um das Eingabefenster wieder zu schließen und mit der Bearbeitung des Projektes fortzufahren.

  • Wenn ich auf "login to owncloud" gehe, erlaubt er mir das im Firefox nicht in Sciebo RDS zu öffnen (Bild 1), in neuem Tab öffnen geht, dann muss ich mich bei Owncloud erneut anmelden und Sciebo RDS autorisieren und dann kann ich nichts weiter tun (Bild 2)
    image
    image
    Wenn ich in einem angelegten Projekt im Schritt Metadata bin und rausgehe, zum Beispiel indem ich auf "Home" klicke, dann wieder das Projekt öffne, hat er im Schritt Metadata automatisch eine Scource ausgewählt (kein Login bei Owncloud mehr erforderlich -was ja glaube ich auch so sein sollte?):
    image

  • Beschriftung im letzten Schritt anpassen Opt-in / Opt-out -> "Daten von / Veröffentlichen nach" oder so
    image

  • nach Veröffentlichung würde ich mir noch einen "Abschluss Button" oder einen Hinweis wünschen, dass ich warten muss und dass sich das Projekt von alleine schließt, sobald die Veröffentlichung durch ist. - Button könnte sein "Projekt jetzt abschließen" oder so, mit dem man das Projekt dann schließen kann...
    image

Missing functionality to be equal to classic app

Classic app functionality needs to be replicated and implemented in RDS web:

  • research project management (tested)
    • create new research project
    • remove research project
    • list research project
    • view and configure research project (tested)
      • list service configured in research project
      • add service configured in research project
      • remove service configured in research project
      • select folder (e.g. via https://github.com/owncloud/file-picker), see #6
    • edit metadata
    • trigger publish & finish project
  • service management (tested)
    • list all available services
    • "add services to user" workflow (tested)
      • oauth2 workflow
      • credentials workflow
    • remove services from user
    • revoke access permission for RDS with one click
  • owncloud integration
    • add vue to owncloud classic (add vuejs to existing project)
      • in path owncloud/classic
      • settings page to specify frontend server url
      • subpage for rds to load vue script which does not enforce login, because usage of requesttoken
      • /informations endpoint with requesttoken
    • add vue to OC web (workshop needed)
      • RDS management
    • file context integration concept
      • classic
        • connect to websocket in file context
        • trigger publish
        • create project for selected folder
      • web
        • connect to websocket in file context
        • trigger publish
        • create project for selected folder

Hilfe-Texte

Bei Basic:

  • „What is Sciebo RDS?“ (anstatt „General“ in der Überschrift)
    grafik

Bei Publish Data

  • „How can I publish data?“ (statt „general“)
  • How can I create projects? (statt Create projects)
  • How can I enable/disable services? (statt Enable / Disable Services)
  • im Text Info hinzufügen:
    grafik

Bei Manage metadata

  • How can I manage metadata? (statt general)

Bei Account Management

  • How does the account management work?
  • How is the account created and how can I delete it?
  • Enable/Disable Services würde ich bei Account Management rausnehmen, sonst fragt man sich, welche Info hier anders ist als unter dem Punkt „Services“

Home-Seite nach Aktivierung von Sciebo RDS

  • Nach Aktivierung von Sciebo RDS ist sofort der Reiter "Services" ausgewählt - von der Idee logisch, von der Bedienbarkeit glaube ich besser, wenn man auf der Home-Seite landet, um sich zunächst (neu) orientieren zu können.

  • in dem Fall würde ich dann dort einen Button ergänzen (vielleicht auch farblich hervorheben): „Get startet for the first time (Link: "Add Services")“

  • und dann: „Get startet with a new Project (Link: "Add Project")“ oder so
    grafik

  • Abbildung ist verzerrt
    grafik

Redesign Wizard and Menu

  • Menu is not visible as long as the wizard was not processed
  • Menu gets a gear icon in footer, so there can be added settings things
    • set light / dark mode as icons like vuetify documentary
    • account management link to redirect to an iframe, so the user can be informed about the consequences of an account removal
  • multiple iframes on website
    • welcome page (before setup / wizard workflow)
    • help page
    • start page (after setup / wizard)
    • account removal page (when the user wants to delete the RDS account)
  • "jetzt starten" on welcome page redirects to oauth2 owncloud page
    • after successful activation, the user will see the services view without any menu (with the v-card on top for informations)

replace add service functionality in settings page with dedicated "services" page

  • service page is like projects page but for services
  • services have labels "activated" oder "not activated"
  • expansion panels contain description of the services (served through the ports object by the backend)
  • expansion panels contain buttons do activate/deactivate the service
  • services page will have "activate at least one service to use RDS" note, if no services are activated

Services-Seite

  • Bei Zenodo fehlt die Abbildung (vielleicht gab es die auch noch nicht? :-) )
  • Bei OSF ist die Abbildung zu groß
    grafik
  • Bei Zenodo im Text ergänzen "and publish"
    grafik
  • Bei OSF vielleicht noch hinter dem ersten Satz ergänzen: "It helps you and your colleagues to manage your project throughout its entire lifecycle."

add a frontpage text

Currently there is placeholder text.
Should be something more sciebo RDS like stuff. Links to doc, links to support etc.

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.