Coder Social home page Coder Social logo

nasa / mmt Goto Github PK

View Code? Open in Web Editor NEW
86.0 21.0 37.0 26.42 MB

NASA's Metadata Management Tool.

License: Apache License 2.0

Ruby 67.73% CoffeeScript 5.69% JavaScript 8.30% HTML 10.82% Dockerfile 0.05% Shell 0.06% SCSS 3.44% TypeScript 3.77% CSS 0.15%

mmt's Introduction

Metadata Management Tool Application

The Metadata Management Tool (MMT) and Draft Metadata Management Tool (dMMT) are web applications designed to assist users in managing metadata and interfacing with the CMR. The user’s guide for MMT can be found here and the user’s guide for dMMT can be found here. Release notes for these applications can be found here.

Getting Started

Requirements

  • Ruby 3.0.6

Setup

Clone the Metadata Management Tool Git project:

git clone https://github.com/nasa/mmt.git

Type the following command to install the necessary components:

bundle install

Depending on your version of Ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
 = 1.8.7 : gem install rdoc-data; rdoc-data --install
 = 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : you're good to go!

Additional Install Steps

Some operating systems may require additional steps.

Mac OS X 10.14.6 moved some required libraries around which has been known to cause nokogiri to not install, if you have errors with that gem, you may need to run the following:

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Details can be found on nokogiri's site.

The libxml gem has also historically caused difficulty because it is a native library. If you are having issues installing libxml-ruby (cannot find libxml.h), you may need to configure it with the location of your libxml2 directory. You can do a:

find / -name xmlversion.h

which may return something like the following:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2/libxml/xmlversion.h

then you can run bundle config with the location of libxml2 returned from the find command as in:

bundle config build.libxml-ruby --with-xml2-include=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2

You should then be able to run bundle install as normal afterwards.

Database

Check your /config/ directory for a database.yml file (with no additional extensions). If you do not have one, duplicate* the database.yml.example file and then rename it to database.yml.

*Note: Do not simply rename the database.yml.example file as it is being tracked in Git and has its own history.

Next, create your database by running the standard rails command:

rake db:create

And then to migrate the database schema, run the standard rails command:

rake db:migrate

Other Steps

Finally, create an application.yml file in your /config/ directory. The contents of this file will be supplied by an MMT developer

Usage

*Note: Before running this step, make sure you are Running a local copy of CMR as outlined below

*Note: If you want to run on http://localhost:3000 and just use Earthdata Login, you may need to modify entries in the application.yml file. Replace the 'urs...url' entries from 'https://mmt.localtest.earthdata.nasa.gov' to 'http://localhost:3000'

*Note: With Launchpad Integration, you will need to set up MMT to run locally with HTTPS. Please see /doc/local_https_setup.md for options and instructions

To start the project, just type the default rails command:

rails s

If you need to stop the server from running, hit Ctrl + C and the server will shutdown.

Running a local copy of CMR

In order to use a local copy of the CMR you will need to download the latest file, set an environment variable, and run a rake task to set required permissions and ingest some data.

1. Downloading the CMR file

If access to https://maven.earthdata.nasa.gov is possible, then the rake command rake cmr:fetch can be used to download the latest CMR jar. This task put the jar file in the cmr directory. If this task fails for some reason, such as the maven repository is down, you can follow the instructions below to download and install manually from Bamboo:

Go to https://ci.earthdata.nasa.gov/browse/CN2-CSN2/latestSuccessful/artifact/, and download the cmr-dev-system-uberjar.jar file.

  • Note: It will rename itself to cmr-dev-system-0.1.0-SNAPSHOT-standalone.jar. This is the correct behavior. DO NOT rename the file.

In your root directory for MMT, create a folder named cmr. Place the cmr-dev-system-0.1.0-SNAPSHOT-standalone.jar file in the cmr folder.

2. Setting the environment variable needed by the local CMR

Before running a local copy of the CMR, you will need to set a required environment variable. Add this line into your .bash_profile:

export CMR_URS_PASSWORD=mock-urs-password

After adding the line and saving the file, don't forget to source the file

source ~/.bash_profile

3. Setting up local redis for CMR

CMR comes with redis in the jar, but it is not compiled to run on Macs. If you need to run the CMR on a Mac, download it from

https://redis.io/

CMR does not appear to be making significant configuration changes to redis, so a positive response from executing these commands in redis's root directory:

make
make test

should be sufficient to run CMR locally. Run this command before starting CMR each session:

path/to/redis/src/redis-server

The option '--daemonize yes' runs the server in the background.

Alternatively, you can install Redis with homebrew

The basics are

brew update
brew install redis
brew services start redis

For more information, see one of these links

https://www.devglan.com/blog/install-redis-windows-and-mac
https://gist.github.com/tomysmile/1b8a321e7c58499ef9f9441b2faa0aa8

4. Running the CMR rake tasks

To start the local CMR and load data*:

rake cmr:start_and_load

After you see "Done!", you can load the app in your browser and use the local CMR. After you have started CMR, to just reload the data:

rake cmr:load

To stop the locally running CMR, run this command:

rake cmr:stop

You will need to stop the CMR before upgrading to a new CMR version. Note: stopping the running CMR for any reason will delete all data from the CMR. You will have to load the data again when you start it.

Inserting Sample Drafts

You can insert sample drafts into your local database. These commands use the first user in the database (there should only be one), and add the drafts to your current provider, so make sure you login to the system and select a provider or the commands will fail.

To insert a sample draft that only has the required fields present:

rake drafts:load_required

To insert a sample draft with every field completed:

rake drafts:load_full

Troubleshooting

OpenSSL Issue

  • If you receive a error from running rake cmr:start_and_load like

    Faraday::ConnectionFailed: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

Try the following steps:

  1. Ensure you are using RubyGems 2.0.3 or newer by typing gem -v. If it is older, type gem update --system to upgrade the RubyGems system.

  2. Update the SSL certificates by running the following commands

    • brew update
    • brew install openssl
    • brew link openssl --force
  3. Restart your terminal to refresh the OpenSSL version.

  4. Check to ensure that OpenSSL version is 1.0.2 or newer with the command openssl version

  5. Try running rake cmr:start and rake cmr:load as instructed above. If you still have issues, continue with these instructions below:

  6. Uninstall Ruby 2.2.2. If you are using rvm, use the command rvm remove 2.2.2

  7. Find out where your OpenSSL directory is by typing which openssl. An example directory you might get would be /usr/local/bin/openssl

  8. Reinstall Ruby with the following command (if you are using rvm): rvm install 2.2.2 --with-open-ssl-dir={DIRECTORY FROM STEP 7}.

    • Using the example directory from above, it would be rvm install 2.2.2 --with-open-ssl-dir=/usr/local/bin/openssl.
  9. Run bundle install to install any missing gems.

    • If your terminal tells you that it does not recognize the bundle command, run gem install bundler
  10. Restart your terminal to refresh all settings.

  11. Navigate to MMT directory and check to make sure Ruby and OpenSSL version are correct.

  12. Run rake cmr:start and rake cmr:load again. If you still have issues, please reach out to a developer to help with troubleshooting.

Earthdata Login Issue

  • If you receive an error when logging into MMT using Earthdata Login such as

    JSON::ParserError at /urs_login_callback 784: unexpected token at 'null'

Check your cmr.log file. It may show some errors and you need to restart your local copy of cmr.

UMM JSON-Schema

You can view/download the latest UMM JSON-Schema here, https://git.earthdata.nasa.gov/projects/CMR/repos/cmr/browse/umm-spec-lib/resources/json-schemas

Local Testing

JavaScript

MMT uses PhantomJS which allows us to run our Capybara tests on a headless WebKit browser. Before you're able to run tests locally you'll need to install it. The easiest way to accomplish this would be to use Homebrew or a similar packager manager. If you're using Homebrew, run the following the command:

brew install phantomjs

VCR

MMT uses VCR to record non-localhost HTTP interactions, it is configured in spec/support/vcr.rb.

All calls to localhost are ignored by VCR and therefore will not be recorded.

This isn't an issue normally but with MMT we run a number of services locally while developing that we would like to be recorded.

CMR

For calls to CMR that are asynchronous, we do have a method of waiting for those to finish, synchronously. Within the spec/helpers/cmr_helper.rb we have a method called wait_for_cmr that makes two calls to CMR and ElasticSearch to ensure all work is complete. This should ONLY be used within tests.

ACLs

Access Control Lists (ACLs, aka Permissions) determine access to data and functionality in the CMR. See the Access Control Documentation for technical information.

Testing against ACLs

When testing functionality in the browser that requires specific permissions you'll need to ensure your environment is setup properly and you're able to assign yourself the permissions necessary. This includes:

  1. Creating a Group
  2. Add your URS account and the user 'typical' as a member of the group
  3. Ensuring the group created has appropriate Provider Context, Group, and Provider Object ACLs permissions.

This provides access to the Provider Object Permissions pages.

  1. Give your URS account and the user 'typical' access to the Administrators_2 group

This gives you permission to view System Level Groups and the System Object Permissions pages.

From here you'll need to modify appropriate permissions of the group so that you can test functionality associated with any of the permissions via the group show page, or the Provider or System Object Permissions pages.

Automating ACL Group Management

To run the above steps automatically there is a provided rake task to do the heavy lifting.

rake acls:testing:prepare[URS_USERNAME]

Replacing URS_USERNAME with your own username. An example:

$ rake acls:testing:prepare[username]
[Success] Added username to MMT_2 Admin Group
[Success] Added username to Administrators_2

Then you can manage the Provider Level permissions by clicking on the group on the Provider Object Permissions page or by clicking on the Provider Object Permissions for MMT_2 link on the group show page. If System Level permissions are required, you can click on the Administrators_2 group from the System Object Permissions page or click on the System Object Permissions link from the group show page.

Alternatively, if only one of provider level access or system level access is required, you can use the more specific rake task:

rake acls:groups:mmt_2_users[username]

or

rake acls:groups:admins[username]

Draft MMT

The Draft MMT is intended for Non-NASA Users to propose new metadata records or changes to existing records in the CMR. There are several steps required to run a local version of Draft MMT.

  1. Enable https connections to the Draft MMT. See the directions for configuring https here

  2. Configure MMT to use the https connection. In your application.yml file, make sure that urs_login_callback_url is set to https://mmt.localtest.earthdata.nasa.gov/urs_login_callback_url.

  3. Create ACLs to give yourself permission to use Draft MMT. Access to the Draft MMT is controlled by the Non-NASA Draft User and Non-NASA Draft Approver ACLs. There is a rake task that will create the group and assign the ACL for you (make sure you use your own username):

    $ rake acls:proposal_mode:draft_user[URS_USERNAME]

or

$ rake acls:proposal_mode:draft_approver[URS_USERNAME]
  • make sure you use your own username NOTE: Make sure that proposal_mode is set to 'false' in your application.yml file when you run this rake task. If you see NotAllowedError: A requested action is not allowed in the current configuration. when running this rake task, you missed this step.
  1. Change the app to the Draft MMT (aka proposal mode) by changing the proposal_mode environment variable in your application.yml file. Set proposal_mode to true.

  2. Start the MMT app as usual with bin/rails server -p 3000

  3. Direct your browser to https://mmt.localtest.earthdata.nasa.gov . Note that some browsers will give you a warning about the self-signed certificate that was created in step 1. In that case, use the browser controls to allow the certificate.

  4. To return to normal MMT mode, set proposal_mode to false in the application.yml file and restart the app.

Replicating SIT Collections Locally

Often we need collections to exist in our local CMR that already exist in SIT for the purposes of sending collection ids (concept ids) as part of a payload to the ECHO API that doesn't run locally, but instead on testbed. In order to do this the collection concept ids have to match those on SIT so we cannot simply download and ingest them. A rake task exists to replicate collections locally for this purpose.

$ rake collections:replicate

The task accepts two parameters

  • provider: The provider id to replicate collections for default: MMT_2
  • page_size: The number of collections to request default: 25
Examples
$ rake collections:replicate[MMT_1,10]

Will download at most 10 collections from MMT_1.

$ rake collections:replicate[SEDAC]

Will download at most 25 collections from SEDAC.

NOTE Some providers have permissions set on their collections and make require a token to view/download collections. You can set an ENV variable named

CMR_SIT_TOKEN

that if set, will be provided to CMR when downloading collections. This variable is set by adding the following line to your ~/.bash_profile

export CMR_SIT_TOKEN=""

After adding the line and saving the file, don't forget to source the file.

source ~/.bash_profile

Running MMT UAT locally

Running UAT locally can make it easier to debug issues that only occur in UAT - typically because UAT has many more records (metadata, order options, service options, etc.). Assuming MMT is running normally in development mode, the following can be done to switch over to UAT mode.

Obtain the uat object from the application.yml file that is used to run UAT remotely (this can be found in Bamboo). Using the information in the uat object, fill in empty fields of the new uat object below, and copy/paste this uat object into your local application.yml file.

uat:
  <<: *defaults
  CMR_URS_PASSWORD: *<FILL IN WITH REMOTE UAT INFO>*
  urs_password: <FILL IN WITH REMOTE UAT INFO>
  urs_root: 'https://uat.urs.earthdata.nasa.gov/'
  urs_username: 'mmt_uat'
  urs_login_required: 'true'
  secret_key_base: *<FILL IN WITH REMOTE UAT INFO>*
  launchpad_login_required: 'false'
  launchpad_production: 'true'
  hide_launchpad_button: 'true'
  urs_association_callback_url: 'https://mmt.localtest.earthdata.nasa.gov/urs_association_callback'
  urs_login_callback_url: 'https://mmt.localtest.earthdata.nasa.gov/urs_login_callback'

Paste the following into your local database.yml file:

uat:
  <<: *default
  database: db/uat.sqlite3

Then, in the mmt directory in your terminal stop your rails server if its running with control + C and run the following commands:

RAILS_ENV=uat rake db:create

RAILS_ENV=uat rake db:migrate

RAILS_ENV=uat rake db:seed

RAILS_ENV=uat rake assets:precompile

The following URIs need to be added to the UAT URS Redirect URIs list:

https://mmt.localtest.earthdata.nasa.gov/urs_association_callback
https://mmt.localtest.earthdata.nasa.gov/urs_login_callback

like so:

image

In your terminal, run:

RAILS_ENV=uat rails s

Running the collection preview in development

In order for the collection preview to run in MMT, you will need to run a local instance of graphdb and graphql. Here are the steps:

Graph DB

From your mmt directory(or any directory), start the server with:

docker run -it -p 8182:8182 tinkerpop/gremlin-server conf/gremlin-server-rest-modern.yaml

(That will bring up a local instance of graphdb)

GraphQL

Clone the repo:

git clone https://git.earthdata.nasa.gov/scm/edsc/edsc-graphql.git

Modify serverless.yml:

httpPort: 6005
lambdaPort: 6007

(Todo: Look into why we can't use the default 3003 and 3004, unless maybe cmr uber jar ports conflict) And to start the server, use the following:

CMR_ROOT_URL=http://localhost:3003 MMT_ROOT_URL=http://localhost:3000 DRAFT_MMT_ROOT_URL=http://localhost:3000 npm start

You will know the server is running when you see the following:

Server ready: http://localhost:6005 🚀

Enter "rp" to replay the last request

⠋ [Webpack] Watch service...    

Note: MMT will use the following urls for loading the snippet (see .env file):

metadata_preview_js_url="https://access.sit.earthdata.nasa.gov/plugin/metadata-preview.22.2.4-3.js"
metadata_preview_css_url="https://access.sit.earthdata.nasa.gov/plugin/metadata-preview.22.2.4-3.min.css"

So you'll need to be on the VPN to use the latest snippet. If it doesn't matter if you are using the latest, you can point to access.earthdata.nasa.gov instead and MMT will run without the need of being on the VPN. To find out which version is supported in production, look into the footer of the web page: https://access.earthdata.nasa.gov

Note: If you get the following error: Cannot find module 'serverless-webpack' You will need to install serverless-webpack:

serverless plugin install --name serverless-webpack
Note:

Temporary Source Code Changes necessary to get GraphQL working, there is a ticket (EDSC-3396) which should remove the necessity of doing this soon.

+++ b/src/utils/cmrGraphDb.js

@@ -33,7 +33,7 @@ export const cmrGraphDb = ({
data: query,
headers: permittedHeaders,
method: 'POST',
-    url: `${process.env.cmrRootUrl}/graphdb`
+    url: `${process.env.cmrRootUrl}:8182/graphdb`

+++ b/src/utils/cmrQuery.js

@@ -58,8 +58,9 @@ export const cmrQuery = ({
data: cmrParameters,
headers: permittedHeaders,
method: 'POST',
-    url: `${process.env.cmrRootUrl}/search/${conceptType}.${format}`
+    url: `${process.env.cmrRootUrl}/${conceptType}.${format}`

mmt's People

Contributors

abbottry avatar bademiluyi avatar bhong84 avatar cgokey avatar charleshuang80 avatar chrisgokey avatar christiantrummer99 avatar dependabot[bot] avatar dmistry1 avatar doug-newman-nasa avatar htranho avatar hvtranho avatar jceaser avatar jdf-eos avatar jsiarto avatar lhlyles avatar macrouch avatar mandyparson avatar mb175 avatar mouseferatu avatar mreese84 avatar rdcody avatar rosycordova avatar ryanmiller-1 avatar tle1989 avatar william-valencia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mmt's Issues

508 Compliance - SortSite level AA MMT and DraftMMT: Set colors on the BODY or A elements

Issue:
If you set any of the colors on the BODY or A elements you must set all of them.

Explanation:
In HTML the color attributes are TEXT, BGCOLOR, LINK, ALINK and VLINK. In CSS the attributes are COLOR and BACKGROUND-COLOR. Some users have browser defaults set to white text on a black background, so setting one color without setting the others can result in black text on a black background. High contrast mode on Windows turns off background images so you must set a background-color in addition to a background-image.

Guideline:
WCAG 1.0 AAA 2.2
WCAG 2.0 AA F24

Page: https://draftmmt.earthdata.nasa.gov/assets/application-07d7b477f975c5786d51bf30c258d9bbb3700cda86333e12317660fcf9a904c8.css
Lines: 98 133

Page: https://mmt.sit.earthdata.nasa.gov/assets/application-0e0a2679712117e9ce67269a0fb1614972503f1884d28633faae39a2e20a59e2.css
Line: 181, 212, 217, 222, 313, 319, 357, 361, 518, 748, ...

Page: https://draftmmt.earthdata.nasa.gov/assets/application-07d7b477f975c5786d51bf30c258d9bbb3700cda86333e12317660fcf9a904c8.css
Lines: 98 133

Acceptance Criteria: All colors on the BODY or A elements are set.

508 Compliance - SortSite level AA MMT and Draft MMT: Don't use generic text in links

Page: https://mmt.sit.earthdata.nasa.gov/manage_collections
Line: 536

Issue: Don't use generic text like "Click Here" or "Read More" in link text, because it says nothing about the link target when read out by a screen reader.

Explanation:
Screen readers often tab from one link to the next. Tabbing between links labelled "click here" sounds like "Click here, tab, click here, tab, click here". Change the link text to make sense when read without the surrounding text.
Link text: "More"

Guideline:
WCAG 1.0 AA 13.1
WCAG 2.0 AAA F84

Acceptance Criteria: Generic text such as "Click Here" or "Read More" is not used in link text

508 Compliance - SortSite level AA MMT and Draft MMT: radio button groups

Page: https://mmt.sit.earthdata.nasa.gov/manage_collections

Issue:
All radio button groups should be contained in a FIELDSET element.
Explanation:
When JAWS reads a page in Forms Mode it skips all markup other than form fields, labels and legends. Generally each radio button label is the answer to a question (e.g. Yes/No, Male/Female), so FIELDSET and LEGEND elements are needed to say what the question is.

Guideline:
WCAG 1.0 AA 12.3

Acceptance Criteria: All radio button groups are contained in a FIELDSET element.

508 Compliance - SortSite Level A MMT and Draft MMT: Move the content from CSS to the HTML page

Issue
Content inserted with CSS is not available to some screen readers, and to people with low vision who turn off style sheets.

Description:
Content inserted with CSS is not available to some screen readers, and to people with low vision who turn off style sheets. Move the content from CSS to the HTML page so that all users can see it.

CSS content causes problems in:

Firefox when the No Style menu item is chosen (CSS content disappears)
NVDA 2015.1 with IE11 (CSS content not read)
JAWS 16 with IE11 (CSS content not read)
JAWS 15 with IE11 or Firefox 29 (CSS content not read)
WindowEyes 8.4 with IE11 (CSS content not read)
SaToGo 3.4 with IE11 (CSS content not read)
Guideline:
Section 508 1194.22 (d) WCAG 2.0 A F87 1 pages

Page: https://draftmmt.earthdata.nasa.gov/assets/application-07d7b477f975c5786d51bf30c258d9bbb3700cda86333e12317660fcf9a904c8.css (line 518)

Page: https://mmt.sit.earthdata.nasa.gov/assets/application-0e0a2679712117e9ce67269a0fb1614972503f1884d28633faae39a2e20a59e2.css
Line: 518
Page: https://mmt.sit.earthdata.nasa.gov/manage_cmr
Line: 100, 275

Acceptance Criteria: Applicable content Mis moved from CSS to HTML

508 Compliance - SortSite level AA MMT and Draft MMT: pages validate to W3C recommendations

Issue: Create pages that validate to W3C recommendations. This document contains markup errors.

Explanation:
To pass this checkpoint you must fix all the HTML Validation errors in the Standards section of the report.

Guideline:
WCAG 1.0 AA 3.2

Page: https://draftmmt.earthdata.nasa.gov/ (line 58)

Page:
https://mmt.sit.earthdata.nasa.gov/manage_collections (line 58)
https://mmt.sit.earthdata.nasa.gov/manage_cmr (line 419)

Acceptance Criteria: All HTML validation errors in the Standards section of the report are fixed.

508 Compliance - SortSite level AA MMT and Draft MMT: Website site map

Issue:
Provide information about the general layout of a site using a site map or table of contents.

Explanation:
You should provide a link labeled 'Site Map' or 'Sitemap' or the equivalent in your language, on every page.

Guideline:
WCAG 1.0 AA 13.3
WCAG 2.0 AA 2.4.5

Page: https://draftmmt.earthdata.nasa.gov/

Page: https://mmt.sit.earthdata.nasa.gov/manage_collections
Line: 1

Acceptance Criteria: Pages have a labeled 'Site Map' or 'Sitemap' or the equivalent.

Installation procedure for the Microfinance Management Toolkit (MMT)

Hello, I am interested in trying out the Microfinance Management Toolkit (MMT), developing and adopting the tool kit as software to run and manage environmentally friendly solutions that cover loan management, funding, and financing solutions to support African green energy ecosystems. This will focus primarily on youth consumable green energy solutions.
I have managed to download the Microfinance Management Toolkit (MMT) master code file from the Git Hub nasa/mmt: NASA's Metadata Management Tool. (github.com).
I need your help with the following;

  1. Installation procedure for the Microfinance Management Toolkit (MMT).
  2. Access to a user guide that matches the master file I have downloaded from nasa/mmt: NASA's Metadata Management Tool. (github.com)
  3. Access to the user guide for dMMT and Release notes for the same applications.

508 Compliance - SortSite Level A: MMT and Draft MMT Missing Images

508 Compliance - SortSite level AA MMT and Draft MMT: Foreground and background colors contrast

Issue: Ensure that foreground and background colors have enough contrast.

Explanation:
Some users find it hard to read light gray text on a white background, dark gray text on a black background and white text on a red background.

The contrast ratio should be 3.0 or more for 18 point text, or larger
The contrast ratio should be 3.0 or more for 14 point bold text, or larger
The contrast ratio should be 4.5 or more for all other text
The foreground/background contrast ratio is 2.500000 with point text.

Guideline:
WCAG 1.0 AAA 2.2
WCAG 2.0 AA 1.4.3

Page:
The foreground/background contrast ratio is 2.500000 with point text.
https://draftmmt.earthdata.nasa.gov/assets/application-07d7b477f975c5786d51bf30c258d9bbb3700cda86333e12317660fcf9a904c8.css
Lines:
181 212 217 222 313 319 357 361 518 748

Page: https://mmt.sit.earthdata.nasa.gov/assets/application-0e0a2679712117e9ce67269a0fb1614972503f1884d28633faae39a2e20a59e2.css
Line: 181, 212, 217, 222, 313, 319, 357, 361, 518, 748, ...

Acceptance Criteria: Foreground and background colors have enough contrast

508 Compliance - SortSite Level A MMT and Draft MMT: Change the TITLE elements so they are unique for each page

Page:
https://mmt.sit.earthdata.nasa.gov/manage_cmr
https://mmt.sit.earthdata.nasa.gov/manage_collections
https://mmt.sit.earthdata.nasa.gov/manage_variables
https://mmt.sit.earthdata.nasa.gov/manage_services

Issue: Some pages have the same title, so the title cannot be used to distinguish pages.

Explanation:
Change the TITLE elements so they are unique for each page.
'Metadata Management Tool' is also used on https://mmt.sit.earthdata.nasa.gov/manage_cmr.
https://mmt.sit.earthdata.nasa.gov/manage_collections

Guideline:
WCAG 2.0 A F25

Acceptance Criteria: TITLE elements are unique for each page.

508 Compliance - SortSite Level A MMT and Draft MMT: Underline from links

ISSUE:
Removing the underline from links makes it hard for color-blind users to see them.

Explanation:
Remove the text-decoration:none property from your link styles, or add other non-color style attributes to visually distinguish links.

Guideline
Section 508 1194.22 (c)
WCAG 2.0 A F73

Page: https://draftmmt.earthdata.nasa.gov/assets/application-07d7b477f975c5786d51bf30c258d9bbb3700cda86333e12317660fcf9a904c8.css (line 133)

Page: https://mmt.sit.earthdata.nasa.gov/assets/application-0e0a2679712117e9ce67269a0fb1614972503f1884d28633faae39a2e20a59e2.css
Line: 133

Acceptance Criteria: text-decoration:none property is removed from link styles

Noer: This might be an EUI issue--underlines should be fine to add to body/paragraph text, but there isn't a need to add them to navigation.

Should `is_urs_token?` return truthy when when not a valid token?

is_urs_token? only returns false if the token argument is greater than 100 characters in length. Is this the intended behavior?

irb> is_urs_token?("blah")
=> true
irb> is_urs_token?("agaeagaevoaioeaweneoiaga")
=> true
irb> is_urs_token?("agaeagaevoaioeaweneoiaga"*100)
=> false

License file

can you please post a License file into your repo? thanks.

508 Compliance - SortSite level AA: MMT & DraftMMT dotted link focus outline

Issue:
This CSS style makes it difficult or impossible to see the dotted link focus outline.

Explanation:
Change the style to avoid obscuring the focus outline around A elements, which is used when tabbing through links.

Guideline:
WCAG 2.0 AA F78

Page: https://mmt.sit.earthdata.nasa.gov/assets/application-0e0a2679712117e9ce67269a0fb1614972503f1884d28633faae39a2e20a59e2.css
Line: 104, 115, 383

Page:
https://draftmmt.earthdata.nasa.gov/assets/application-07d7b477f975c5786d51bf30c258d9bbb3700cda86333e12317660fcf9a904c8.css
Lines: 104 115 383

Acceptance Criteria: Style fixed to avoid obscuring the focus outline around A elements

Installations for MMT on windows PC

I wish to try out the application locally. how can I get it installed locally on my PC for tryout? How can I access the installation manual? Thank

508 Compliance - SortSite level AA MMT and Draft MMT: new window links

Page:
https://mmt.sit.earthdata.nasa.gov/manage_collections
https://mmt.sit.earthdata.nasa.gov/manage_cmr

Issue: Avoid specifying a new window as the target of a link with target="_blank".

Explanation:
Displaying new windows without warning can be very confusing to non-sighted and mobile users. Some screen readers and mobile devices give very little indication a new tab or window has opened. If you cannot avoid displaying a new window, insert a warning into the link text like the following: "opens in a new window".

Guideline:
WCAG 1.0 AA 10.1
WCAG 2.0 AAA F22

Acceptance Criteria: If new windows are displayed, a warning is inserted into the link text like the following: "opens in a new window".

Note: Context is important here. Why are we opening up a new window? Is this to take someone away from MMT? Off to a dataset page from a DAAC? Regardless, we should avoid this if possible especially because users can choose to open links in a new tab if they'd like.

Installation procedure for the Microfinance Management Toolkit (MMT)

Hello, I am interested in trying out the Microfinance Management Toolkit (MMT), developing and adopting the tool kit as software to run and manage environmentally friendly solutions that cover loan management, funding, and financing solutions to support African green energy ecosystems. This will focus primarily on youth consumable green energy solutions.
I have managed to download the Microfinance Management Toolkit (MMT) master code file from the Git Hub nasa/mmt: NASA's Metadata Management Tool. (github.com) .
I need your help with the following;

  1. Installation procedure for the Microfinance Management Toolkit (MMT).
  2. Access to a user guide that matches the master file I have downloaded from nasa/mmt: NASA's Metadata Management Tool. (github.com)
  3. Access to the user guide for dMMT and Release notes for the same applications.

The application.yml file could also assist too

508 Compliance - SortSite Level A: MMT and Draft MMT A element must contain text or an IMG with an ALT attribute

Issue:
Each A element must contain text or an IMG with an ALT attribute.

Explanation
Add text to the link, or ALT text if the link contains an image. If there is no link text or the ALT text is blank, screen readers have nothing to read, so read out the URL instead.

Guideline
WCAG 1.0 AA 13.1
WCAG 2.0 A F89

Page: https://draftmmt.sit.earthdata.nasa.gov/collection_draft_proposals/new
Line: 99

Page:
https://mmt.sit.earthdata.nasa.gov/manage_collections
https://mmt.sit.earthdata.nasa.gov/manage_cmr
https://mmt.sit.earthdata.nasa.gov/manage_variables
Line: 101

Acceptance Criteria: Links have text, or ALT text, if the link contains an image.

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.