Git Product home page Git Product logo

dtool-lookup-webapp's Introduction

dtool lookup webapp

dtool-lookup-webapp build and test License: MIT

This web application allows querying and displaying information about datasets stored in one or more base URIs.

Dependencies

The web application requires two other web services:

  1. dtool-lookup-server: https://github.com/jic-dtool/dtool-lookup-server - Provides a means to search and display dataset metadata.
  2. token-generator-ldap: https://github.com/jic-dtool/token-generator-ldap - Facilitates user authentication.

Setup

Navigate to the dtool-lookup-webapp directory:

cd dtool-lookup-webapp

Create a .env file in the dtool-lookup-webapp directory with the following contents:

VUE_APP_DTOOL_LOOKUP_SERVER_URL="http://localhost:5000"
VUE_APP_DTOOL_LOOKUP_SERVER_TOKEN_GENERATOR_URL="http://localhost:5001/token"

For deployment, replace these URLs with the actual endpoints of the lookup server and the token generator.

Customization options for the landing page are available through the following environment variables in the .env file:

VUE_APP_FIRST_CONTAINER_TITLE=Log in
VUE_APP_SECOND_CONTAINER_TITLE=dserver
VUE_APP_SECOND_CONTAINER_MESSAGE=Welcome to <b>dserver</b>'s webapp.
VUE_APP_THIRD_CONTAINER_HEADING=Access
VUE_APP_THIRD_CONTAINER_MESSAGE=Some notes on how to gain access.
VUE_APP_FOURTH_CONTAINER_HEADING=Docs
VUE_APP_FOURTH_CONTAINER_INTRO=Some notes on how to find help. The following list may contain an arbitrary number of links.
VUE_APP_FOURTH_CONTAINER_RESOURCES=[{"text": "dtool-lookup-webapp repository", "url": "https://github.com/jic-dtool/dtool-lookup-webapp"}]
VUE_APP_LANDING_PAGE_ICON_PATH=/icons/128x128/dtool_logo.png

Customization options for the upper right corner drop-down menu in the app are available through the following environment variables in the .env file:

VUE_APP_OFFER_DTOOL_README_YAML_DOWNLOAD=true
VUE_APP_OFFER_DTOOL_JSON_DOWNLOAD=true
VUE_APP_SHOW_INFO_MENU_ENTRY=true
VUE_APP_DTOOL_JSON_PATH=/data/templates/dtool.json
VUE_APP_DTOOL_README_YAML_PATH=/data/templates/dtool_readme.yml
VUE_APP_INFO_CONTENT="<tt>dtool.json</tt> is you local <i>dtool</i> client's configuration file. Place it at <tt>~/.config/dtool/dtool.json</tt>, where <tt>~</tt> is your home directoy, and create the directories if they do not exist.<br /><br /><tt>dtool_readme.yml</tt> is the metadata template used for documenting your datasets. Place it anywhere, but make sure that the entry <tt>DTOOL_README_TEMPLATE_FPATH</tt> within above's dtool.json points to the correct absolute path of your <tt>dtool_readme.yml</tt>. See <a href="https://dtool.readthedocs.io/en/latest/configuring_a_custom_readme_template.html" target="_blank" rel="noopener noreferrer">Configuring a custom README template</a> of <a href="https://dtool.readthedocs.io" target="_blank" rel="noopener noreferrer"></i>dtool</i>'s documentation</a>."

All paths provided in these environment variables must be relative to this repository's dtool-lookup-webapp/public as root. Setting any of the VUE_APP_OFFER_DTOOL_README_YAML_DOWNLOAD, VUE_APP_OFFER_DTOOL_JSON_DOWNLOAD, VUE_APP_SHOW_INFO_MENU_ENTRY to true will show a download button for a dtool_readme.yml template, for a dtool.json configuration file, and a button for displaying arbitrary textual information configured with VUE_APP_INFO_CONTENT. Per default, all these buttons are hidden.

To apply changes to the .env file, execute:

npm install

Development Server

To start a development server:

cd dtool-lookup-webapp
npm run serve

Building for Production

To compile the application into a static single-page website:

cd dtool-lookup-webapp
npm run build

Fixing Broken Installations

To address issues with dependencies in a broken installation:

rm -rf dist/ node_modules/
rm package-lock.json

Then, reinstall the Vue CLI service and rebuild:

npm install @vue/cli-service
npm run build

Testing

Testing requires the jest.config.js configuration file, which can be auto-generated by:

vue add unit-jest

This step follows the global installation of the Vue CLI:

npm install -g @vue/cli

Additional Information

For more details on development and build processes, refer to the README.md file within the dtool-lookup-webapp directory. For deployment instructions using Ansible, consult the provision/README.rst.

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.