Răsfoiți Sursa

Merge branch '7.x-3.x' into 1116-tv3-edam_import

Stephen Ficklin 4 ani în urmă
părinte
comite
f1cfe3aa6b
51 a modificat fișierele cu 415 adăugiri și 164 ștergeri
  1. 136 0
      .github/workflows/phpunit-tests.yml
  2. 0 86
      .travis.yml
  3. 1 1
      README.md
  4. 1 1
      composer.json
  5. 1 0
      docs/dev_guide.rst
  6. BIN
      docs/dev_guide/CI.create-badge.png
  7. 165 0
      docs/dev_guide/CI.rst
  8. 1 1
      docs/dev_guide/custom_field/custom_widget.rst
  9. 2 2
      docs/dev_guide/custom_field/select_vocab_terms.rst
  10. 1 1
      docs/dev_guide/custom_web_services.rst
  11. 1 1
      docs/dev_guide/exporting_field_settings.rst
  12. 1 1
      docs/extensions/data_input.rst
  13. 1 1
      docs/extensions/module_rating.rst
  14. 1 1
      docs/extensions/search.rst
  15. 1 1
      docs/user_guide/install_tripal/upgrade_from_tripal2.rst
  16. 1 1
      legacy/tripal_analysis/tripal_analysis.info
  17. 1 1
      legacy/tripal_contact/tripal_contact.info
  18. 1 1
      legacy/tripal_core/tripal_core.info
  19. 1 1
      legacy/tripal_cv/tripal_cv.info
  20. 1 1
      legacy/tripal_db/tripal_db.info
  21. 1 1
      legacy/tripal_feature/tripal_feature.info
  22. 1 1
      legacy/tripal_featuremap/tripal_featuremap.info
  23. 1 1
      legacy/tripal_genetic/tripal_genetic.info
  24. 1 1
      legacy/tripal_library/tripal_library.info
  25. 1 1
      legacy/tripal_natural_diversity/tripal_natural_diversity.info
  26. 1 1
      legacy/tripal_organism/tripal_organism.info
  27. 1 1
      legacy/tripal_phenotype/tripal_phenotype.info
  28. 1 1
      legacy/tripal_phylogeny/tripal_phylogeny.info
  29. 1 1
      legacy/tripal_project/tripal_project.info
  30. 1 1
      legacy/tripal_pub/tripal_pub.info
  31. 1 1
      legacy/tripal_stock/tripal_stock.info
  32. 1 1
      legacy/tripal_views/tripal_views.info
  33. 2 2
      tripal/api/tripal.collections.api.inc
  34. 1 1
      tripal/api/tripal.d3js.api.inc
  35. 17 17
      tripal/api/tripal.entities.api.inc
  36. 3 3
      tripal/api/tripal.fields.api.inc
  37. 1 1
      tripal/api/tripal.files.api.inc
  38. 1 1
      tripal/api/tripal.importer.api.inc
  39. 8 8
      tripal/api/tripal.jobs.api.inc
  40. 2 2
      tripal/api/tripal.notice.api.inc
  41. 3 3
      tripal/api/tripal.terms.api.inc
  42. 4 4
      tripal/api/tripal.upload.api.inc
  43. 2 2
      tripal/api/tripal.variables.api.inc
  44. 24 0
      tripal/tripal.drush.inc
  45. 1 1
      tripal/tripal.info
  46. 11 0
      tripal/tripal.module
  47. 1 1
      tripal_bulk_loader/tripal_bulk_loader.info
  48. 1 1
      tripal_chado/tripal_chado.info
  49. 1 1
      tripal_chado_views/tripal_chado_views.info
  50. 1 1
      tripal_ds/tripal_ds.info
  51. 1 1
      tripal_ws/tripal_ws.info

+ 136 - 0
.github/workflows/phpunit-tests.yml

@@ -0,0 +1,136 @@
+# Run our PHPUnit tests
+name: PHPUnit-Tests
+
+# Controls when the action will run.
+# Run this workflow every time a new commit is pushed to your repository
+on: [push, pull_request]
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+  # This workflow contains a single job called "build"
+  run-tests:
+    # The type of runner that the job will run on
+    runs-on: ubuntu-latest
+    # Matrix Build for this job.
+    strategy:
+      matrix:
+        php-versions: ['7.1', '7.2']
+    # Name the matrix build so we can tell them apart.
+    name: PHPUnit Testing of Tripal Core (PHP ${{ matrix.php-versions }})
+
+    # Service containers to run with `run-tests`
+    services:
+      # Label used to access the service container
+      postgres:
+        # Docker Hub image
+        image: postgres
+        env:
+          POSTGRES_USER: postgres
+          POSTGRES_PASSWORD: dbpass
+          POSTGRES_DB: test_db
+        # Set health checks to wait until postgres has started
+        options: >-
+          --health-cmd pg_isready
+          --health-interval 10s
+          --health-timeout 5s
+          --health-retries 5
+        ports:
+          # Maps tcp port 5432 on service container to the host
+          - 5432:5432
+
+    # Steps represent a sequence of tasks that will be executed as part of the job
+    steps:
+      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+      - name: Checkout Repository
+        uses: actions/checkout@v2
+      # Sets up the PHP environment for PHP 7.2
+      - name: Setup PHP
+        uses: shivammathur/setup-php@v2
+        with:
+          php-version: ${{ matrix.php-versions }}
+          # Install extensions for PHP-PostgreSQL
+          extensions: mbstring, intl, php-pgsql, php-gd, php-xml
+          # Increase memory limit to 2G
+          ini-values: memory_limit=2G
+          # Enable xdebug for coverage reporting
+          coverage: xdebug
+          # Install composer and phpunit globally.
+          tools: composer, phpunit
+      # Install Drush 8.x globally
+      # NOTE: `drush` is not available without the full path.
+      #       I tried adding it to the path but that broke other things.
+      - name: Install Drush
+        run: |
+          composer global require "drush/drush:~8"
+          /home/runner/.composer/vendor/bin/drush --version
+      # Install Drupal and Drupal module dependencies for Tripal.
+      # It also patches Drupal.
+      - name: Install Drupal
+        env:
+          DRUSH: "/home/runner/.composer/vendor/bin/drush"
+          DRUPAL_ROOT: "/home/runner/work/drupal"
+          POSTGRES_CONNECTION_STRING: 'pgsql://postgres:dbpass@localhost:5432/test_db'
+          ACCOUNT_NAME: tripaladmin
+          ACCOUNT_PASS: somereallysecurepassword
+        run: |
+          echo "==> Downloading Drupal"
+          cd /home/runner/work
+          $DRUSH dl drupal-7 -y
+          mv drupal-7* drupal
+          echo "==> Installing Drupal"
+          cd $DRUPAL_ROOT
+          $DRUSH si -y --root=$DRUPAL_ROOT \
+                --db-url=$POSTGRES_CONNECTION_STRING \
+                --account-name=$ACCOUNT_NAME \
+                --account-pass=$ACCOUNT_PASS \
+                --site-mail=admin@example.com \
+                --site-name=Tripal3
+          echo "==> Downloading dependencies"
+          $DRUSH dl -y views ctools entity redirect date ds field_group field_group_table
+          echo "==> Enabling Dependencies"
+          $DRUSH en -y views ctools entity redirect date ds field_group field_group_table
+          echo "==> Apply Drupal Patch"
+          cd $DRUPAL_ROOT
+          wget --no-check-certificate https://drupal.org/files/drupal.pgsql-bytea.27.patch
+          patch -p1 < drupal.pgsql-bytea.27.patch
+      # Install Tripal, Chado and prepares the Drupal/Chado databases
+      # Also patches views.
+      - name: Install Tripal
+        env:
+          DRUSH: "/home/runner/.composer/vendor/bin/drush"
+          DRUPAL_ROOT: "/home/runner/work/drupal"
+          POSTGRES_CONNECTION_STRING: 'pgsql://postgres:dbpass@localhost:5432/test_db'
+          ACCOUNT_NAME: tripaladmin
+          ACCOUNT_PASS: somereallysecurepassword
+        run: |
+          echo "==> Move Tripal into the Drupal modules directory"
+          ls /home/runner/work/tripal/tripal
+          cp -R /home/runner/work/tripal/tripal $DRUPAL_ROOT/sites/all/modules
+          echo "==> Apply Views Patch"
+          cd $DRUPAL_ROOT/sites/all/modules/views
+          patch -p1 < ../tripal/tripal_chado_views/views-sql-compliant-three-tier-naming-1971160-30.patch
+          echo "==> Install Tripal"
+          cd $DRUPAL_ROOT
+          $DRUSH en -y tripal tripal_chado tripal_chado_views tripal_ws tripal_ds
+          echo "==> Install Chado"
+          $DRUSH eval "module_load_include('inc', 'tripal_chado', 'includes/tripal_chado.install'); tripal_chado_load_drush_submit('Install Chado v1.3');"
+          $DRUSH trp-run-jobs --username=$ACCOUNT_NAME
+          echo "==> Prepare Chado"
+          $DRUSH eval "module_load_include('inc', 'tripal_chado', 'includes/setup/tripal_chado.setup'); tripal_chado_prepare_drush_submit();"
+          $DRUSH trp-run-jobs --username=$ACCOUNT_NAME
+      # Runs the PHPUnit tests.
+      # https://github.com/mheap/phpunit-github-actions-printer is used
+      # to report PHPUnit fails in a meaningful way to github in PRs.
+      - name: PHPUnit Tests
+        env:
+          DRUSH: "/home/runner/.composer/vendor/bin/drush"
+          DRUPAL_ROOT: "/home/runner/work/drupal"
+          POSTGRES_CONNECTION_STRING: 'pgsql://postgres:dbpass@localhost:5432/test_db'
+          ACCOUNT_NAME: tripaladmin
+          ACCOUNT_PASS: somereallysecurepassword
+        run: |
+          cd $DRUPAL_ROOT/sites/all/modules/tripal
+          composer require --dev mheap/phpunit-github-actions-printer
+          composer update
+          cp tests/.travis.env tests/.env
+          ./vendor/bin/phpunit --printer mheap\\GithubActionsReporter\\Printer

+ 0 - 86
.travis.yml

@@ -1,86 +0,0 @@
-language: php
-
-services:
-  - docker
-  - postgresql
-
-sudo: required
-
-php:
-  - 7.1
-  - 7.2
-#  PHP 7.3 is not yet supported (issue: https://www.drupal.org/project/drupal/issues/3012308)
-#  - 7.3
-
-env:
-  - BASE_URL="http://127.0.0.1:8080"
-
-install:
-  - composer global require "drush/drush:~8"
-
-before_script:
-  - docker pull statonlab/tripal2
-  - psql -c "create database test_db encoding 'utf-8';" -U postgres
-  - psql -c "alter role postgres with password 'dbpass';" -U postgres
-  - cd ..
-
-  # Set additional environment variables
-  - export PATH="$HOME/.config/composer/vendor/bin:$PATH"
-  - export DRUPAL_ROOT="$(pwd)/drupal"
-
-  # Download and install Drupal
-  - drush dl drupal-7 -y
-  - mv drupal-7* drupal
-  - cd drupal
-  # Run the php server
-  - php -S 127.0.0.1:8080 &
-  - drush si -y --db-url='pgsql://postgres:dbpass@localhost:5432/test_db'
-                --account-name='admin'
-                --account-pass='admin_pass'
-                --site-mail='admin@example.com'
-                --site-name='Tripal 3'
-
-  # Download Dependencies
-  - drush dl -y field_group, field_group_table, field_formatter_class, field_formatter_settings, ctools, date, devel,
-                ds, link, entity, libraries, redirect, token, uuid, jquery_update, views, webform
-
-  # Enable dependencies
-  - drush en -y field_group, field_group_table, field_formatter_class, field_formatter_settings, ctools, date, devel,
-              ds, link, entity, libraries, redirect, token uuid, jquery_update, views, webform
-
-  # up memory limit of PHP
-  - echo "memory_limit=2G" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
-
-
-script:
-  # Link our repo to the modules directory
-  - mv ../tripal sites/all/modules/tripal
-
-  # Run a docker container with tripal 2 pre-installed
-  - docker run -it -d --rm --name tripal2 -v "$(pwd)/sites/all/modules/tripal":/tripal statonlab/tripal2
-
-  # Apply patches
-  - wget --no-check-certificate https://drupal.org/files/drupal.pgsql-bytea.27.patch
-  - patch -p1 < drupal.pgsql-bytea.27.patch
-  - cd sites/all/modules/views
-  - patch -p1 < ../tripal/tripal_chado_views/views-sql-compliant-three-tier-naming-1971160-30.patch
-  - cd ../tripal
-
-  # Install Tripal
-  - drush en -y tripal tripal_chado tripal_chado_views tripal_ds tripal_ws
-  - drush eval "module_load_include('inc', 'tripal_chado', 'includes/tripal_chado.install'); tripal_chado_load_drush_submit('Install Chado v1.3');"
-  - drush trp-run-jobs --username=admin
-
-  # Prepare Chado
-  - drush eval "module_load_include('inc', 'tripal_chado', 'includes/setup/tripal_chado.setup'); tripal_chado_prepare_drush_submit();"
-  - drush trp-run-jobs --username=admin
-
-  # Run PHPUnit tests
-  - composer update
-  - cp tests/.travis.env tests/.env
-  - ./vendor/bin/phpunit
-
-  # Test Tripal v2 to v3 upgrade steps
-  - docker exec -it tripal2 drush pm-disable tripal_core -y
-  - docker exec -it tripal2 bash -c "rm -rf /modules/tripal && ln -s /tripal /modules/tripal"
-  - docker exec -it tripal2 drush en -y tripal

+ 1 - 1
README.md

@@ -1,4 +1,4 @@
-[![7.x-3.x Build Status](https://travis-ci.org/tripal/tripal.svg?branch=7.x-3.x)](https://travis-ci.org/tripal/tripal)
+![PHPUnit Tests](https://github.com/tripal/tripal/workflows/PHPUnit%20Tests/badge.svg)
 [![All Contributors](https://img.shields.io/badge/all_contributors-14-orange.svg?style=flat-square)](#contributors)
 [![Documentation Status](https://readthedocs.org/projects/tripal/badge/?version=latest)](https://tripal.readthedocs.io/en/latest/?badge=latest)
 

+ 1 - 1
composer.json

@@ -1,5 +1,5 @@
 {
-  "name": "tripal",
+  "name": "tripal/tripal",
   "description": "Tripal is an toolkit to facilitate construction of online genomic, genetic (and other biological) websites.",
   "require-dev": {
     "doctrine/instantiator": "1.0.*",

+ 1 - 0
docs/dev_guide.rst

@@ -15,5 +15,6 @@ Developer's Guide
    dev_guide/exporting_field_settings
    dev_guide/custom_data_loader
    dev_guide/custom_web_services
+   dev_guide/CI
    dev_guide/rtd
    dev_guide/tutorials

BIN
docs/dev_guide/CI.create-badge.png


+ 165 - 0
docs/dev_guide/CI.rst

@@ -0,0 +1,165 @@
+
+Continuous Integration
+========================
+
+Continuous integration refers to an active code base where multiple developers are integrating their changes continuously into a single cohesive project. One of the biggest keys to making continuous integration work is testing before integrating! Tripal Test Suite makes developing tests using PHPUnit much easier and this tutorial will show you how to ensure those tests are run every time you push to GitHub!
+
+Using GitHub Workflows
+------------------------
+
+First, what is a GitHub Workflow? From GitHub, "a workflow is a configurable automated process made up of one or more jobs". I like to think of it as configuring a bioinformatics pipeline. For the purposes of this tutorial, we are telling GitHub how to execute our PHPUnit tests automatically.
+
+You can learn more about `GitHub Action Workflows from GitHub directly <https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/introduction-to-github-actions>`_. We will cover it breifly here specifically for Tripal PHPUnit testing but the official tutorial is still recommended.
+
+Telling GitHub about your workflow
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This is as simple as creating your workflow file in the right place. You want to create a new file named `phpunit.yml` at `.github/workflows/` in your repository. GitHub will automatically know this file describes a workflow and will execute the workflow based on the configuration you provide.
+
+Configuring a workflow to run PHPUnit tests
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+All configuration will be done in the file created in step 1.
+
+First we provide the name, when we want to run the workflow (i.e. on push and PRs) and the basic structure of a workflow:
+
+.. code-block:: yaml
+
+  name: PHPUnit
+
+  # Controls when the workflow will run.
+  # Run this workflow every time a new commit is pushed to your repository
+  on: [push, pull_request]
+
+  jobs:
+    # This key is the name of the job.
+    run-tests:
+      # The type of system that the job will run on.
+      runs-on: ubuntu-latest
+
+
+We want our tests to be run twice, one for PHP 7.1 and another for PHP 7.1. This is done by specifing a matrix build which can be done as follows:
+
+.. code-block:: yaml
+
+  jobs:
+    # This key is the name of the job.
+    run-tests:
+      # The type of system that the job will run on.
+      runs-on: ubuntu-latest
+
+      # Matrix Build for this job.
+      strategy:
+        matrix:
+          php-versions: ['7.1', '7.2']
+
+      # Name the matrix build so we can tell them apart.
+      name: PHPUnit Testing (PHP ${{ matrix.php-versions }})
+
+We also want to tell GitHub to setup a PostgreSQL server for us. This is done using services:
+
+.. code-block:: yaml
+
+  jobs:
+    # This key is the name of the job.
+    run-tests:
+      # The type of system that the job will run on.
+      runs-on: ubuntu-latest
+
+      # Service containers to run with `run-tests`
+      services:
+        # Label used to access the service container
+        postgres:
+          # Docker Hub image
+          image: postgres
+          env:
+            POSTGRES_USER: tripaladmin
+            POSTGRES_PASSWORD: somesupersecurepassword
+            POSTGRES_DB: testdb
+          # Set health checks to wait until postgres has started
+          options: >-
+            --health-cmd pg_isready
+            --health-interval 10s
+            --health-timeout 5s
+            --health-retries 5
+          ports:
+            # Maps tcp port 5432 on service container to the host
+            - 5432:5432
+
+Finally we can actually tell GitHub what steps we want to run using this beautiful container we have setup! We want to:
+
+.. code-block:: yaml
+
+  jobs:
+    # This key is the name of the job.
+    run-tests:
+      # The type of system that the job will run on.
+      runs-on: ubuntu-latest
+
+      steps:
+      # 1) Checkout the repository and setup workspace.
+      - uses: actions/checkout@v2
+
+      # 2) Setup PHP according to the version passed in.
+      - name: Setup PHP
+        uses: shivammathur/setup-php@v2
+        with:
+          php-version: ${{ matrix.php-versions }}
+          extensions: mbstring, intl, php-pgsql, php-gd, php-xml
+          ini-values: memory_limit=2G
+          coverage: xdebug
+          tools: composer, phpunit
+
+      # 3) Install Drush/Drupal/Tripal
+      - name: Setup Drush, Drupal 7.x, Tripal 3.x
+        id: tripalsetup
+        uses: tripal/setup-tripal-action@7.x-3.x-1.0
+        with:
+          postgres_user: tripaladmin
+          postgres_pass: somesupersecurepassword
+          postgres_db: testdb
+
+      # 4) Install Tripal Extension Module.
+      - name: Install Tripal Extension Module
+        id: installextension
+        env:
+          DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
+          DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
+        run: |
+          mkdir -p $DRUPAL_ROOT/sites/all/modules/example_module
+          cp -R * $DRUPAL_ROOT/sites/all/modules/example_module
+          cd $DRUPAL_ROOT
+          $DRUSH en -y example_module
+
+      # 5) Runs the PHPUnit tests.
+      # https://github.com/mheap/phpunit-github-actions-printer is used
+      # to report PHPUnit fails in a meaningful way to github in PRs.
+      - name: PHPUnit Tests
+        env:
+          DRUSH: ${{ steps.tripalsetup.outputs.drush_path }}
+          DRUPAL_ROOT: ${{ steps.tripalsetup.outputs.drupal_root }}
+        run: |
+          cd $DRUPAL_ROOT/sites/all/modules/example_module
+          composer require --dev mheap/phpunit-github-actions-printer --quiet
+          composer update --quiet
+          ./vendor/bin/phpunit --printer mheap\\GithubActionsReporter\\Printer
+
+In step 4 above, I have provided an example of what installing your extension module might look like. The run section will need to be modified according to your module and should include downloading and installing any dependencies, applying any patches and installing your module. If your tests require configuration then that should also be included here.
+
+In step 5 we run our PHPUnit tests! All you need to change here is the directory name for your module. The `mheap\\GithubActionsReporter\\Printer` will ensure any errors reported by PHPUnit are shown on your PR and Action summary.
+
+All steps before step 4 should be generic for any extension module! You can find the full configuration file on the `README of the SetupTripalAction <https://github.com/tripal/setup-tripal-action#usage>`_.
+
+Checking your Action
+----------------------
+
+Everytime you push commits to your repository and when you create a pull request, your action will be run. Thus to test your action, commit your phpunit.yml file created above to trigger the GitHub action. Then click on "Actions" at the top of your repository to see it in progress.
+
+If you created a pull request, you will see your workflow action in the checks section at the bottom of your pull request. From here you can click on Details to see the full running of the job.
+
+Adding the Badge to your README
+---------------------------------
+
+Click on Actions at the top of your repository, then click on one of the PHPUnit jobs which have already been submitted. This brings you to the job summary page where you will see a button with three dots in the top right corner. Click on this and then "Create status badge" to get the markdown to add to your README.
+
+.. image:: CI.create-badge.png

+ 1 - 1
docs/dev_guide/custom_field/custom_widget.rst

@@ -135,7 +135,7 @@ But what do you do if the record you want to link to via foreign key constraint
       // Set all chado fields to their values.
     }
     // Otherwise, maybe we are creating the entity...
-    // The storage API should handle this case and automagically add the key in // once the chado record is created... so all we need to do is set the
+    // The storage API should handle this case and automatically add the key in // once the chado record is created... so all we need to do is set the
     // other columns.
     elseif ($subject_name && $object_id && $type_id) {
       $form_state['values'][$field_name][$langcode][$delta]['value'] = 'value must be set but is not used';

+ 2 - 2
docs/dev_guide/custom_field/select_vocab_terms.rst

@@ -27,7 +27,7 @@ Consider the term for `organism <http://www.ebi.ac.uk/ols/ontologies/obi/terms?i
 
 .. figure:: select_vocab_terms.1.organism.png
 
-Notice how the teal box (the **short name**) is OBI, and the orange box contains the **full accession**, OBI:0100026 which includes but the **short name** and the unique term **accession** value.  Unfortunately, the OLS does not indicate the **namespace** terms.   So, as a rule we will use the short name converted to lower case.  Before using this term in a Tripal Bundle or Field you may need to insert this term into Chado.  You can do so in your custom module cude using the **tripal_insert_cvterm** function. The following provides a demonstration:
+Notice how the teal box (the **short name**) is OBI, and the orange box contains the **full accession**, OBI:0100026 which includes but the **short name** and the unique term **accession** value.  Unfortunately, the OLS does not indicate the **namespace** terms.   So, as a rule we will use the short name converted to lower case.  Before using this term in a Tripal Bundle or Field you may need to insert this term into Chado.  You can do so in your custom module code using the **tripal_insert_cvterm** function. The following provides a demonstration:
 
 .. code-block:: php
 
@@ -104,7 +104,7 @@ Some ontologies are b into sub-ontologies. This includes the Gene Ontology (GO).
 .. figure:: select_vocab_terms.3.go.png
 
 
-Case 4: Ontologies with muliptle short names
+Case 4: Ontologies with multiple short names
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The EDAM ontology builds its term accessions using different short names instead of the ontology. Consider the EDAM term for `Sequence <http://www.ebi.ac.uk/ols/ontologies/edam/terms?iri=http%3A%2F%2Fedamontology.org%2Fdata_2044>`_. The teal box is EDAM, the orange box is data:2044, and there is no **namespace**.

+ 1 - 1
docs/dev_guide/custom_web_services.rst

@@ -10,7 +10,7 @@ New in Tripal v3 are `RESTful web services <https://en.wikipedia.org/wiki/Repres
 
 Tripal v3 has been redesigned from Tripal v2 to be fully organized around controlled vocabularies.  All data made available via Tripal is expected to be described by the terms of a controlled vocabulary or ontology.  For example, all content types in Tripal are assigned a controlled vocabulary term that describes what the content is.  Additionally, each field of data attached to a content type also is described using a controlled vocabulary term.  If a field provides more than just a single data value (i.e. it provides a list or nested structured array of data of key/value pairs) then each of the keys for those pairs must also be a controlled vocabulary term.  This requirement allows Tripal to fully describe the data it houses to any other Tripal site and any other script or service that can read the web services.  As long as the client application understands the vocabulary term it will understand the meaning of the data.  Using controlled vocabulary terms to describe all data allows a Tripal site to participate in the `Semantic Web <https://en.wikipedia.org/wiki/Semantic_Web>`_. 
 
-Finally, the Tripal RESTful services are meant to be discoverable.  In some cases, when a web services is designed, the only way to understand the structure of it and the operations that it provides are for a programmer to read online documentation for the service before she can write the client application.  However, to better support automatic data discovery without human intervention by a client the Tripal web services have been designed to be discoverable.  To this end, Tripal uses the  `Hyrda Core Vocabulary <https://www.hydra-cg.com/spec/latest/core/>`_ specification.  It fully describes all of the services, their operations, and the resulting value.  A client application that understands the Hydra language can therefore learn  to use the web service without human intervention.  However, in practice, its a good idea to continue to provide online documentation for humans.  And this User's Guide :doc:`provides those instructions </user_guide/web_services>` for the default Tripal content service.  
+Finally, the Tripal RESTful services are meant to be discoverable.  In some cases, when a web services is designed, the only way to understand the structure of it and the operations that it provides are for a programmer to read online documentation for the service before she can write the client application.  However, to better support automatic data discovery without human intervention by a client the Tripal web services have been designed to be discoverable.  To this end, Tripal uses the  `Hydra Core Vocabulary <https://www.hydra-cg.com/spec/latest/core/>`_ specification.  It fully describes all of the services, their operations, and the resulting value.  A client application that understands the Hydra language can therefore learn  to use the web service without human intervention.  However, in practice, its a good idea to continue to provide online documentation for humans.  And this User's Guide :doc:`provides those instructions </user_guide/web_services>` for the default Tripal content service.  
 
 This documentation provides instructions to construct your own custom web services and making that service available through Tripal's existing web service infrastructure.  This will enable your web service to be discoverable and to provide a consistent experience to end-users.  Before proceeding with the following instructions, please review the **Structure of a Web Service Response** section on the User's Guide :doc:`Web Services page </user_guide/web_services>`.
 

+ 1 - 1
docs/dev_guide/exporting_field_settings.rst

@@ -111,7 +111,7 @@ Go to our target site, all we need to do is download and unpack the ``.tar`` fil
 
 The field should now appear when you go to create a new analysis on your target site.  To check for yourself, create a new Analysis with dummy information: you'll be able to upload a file for the new file field.
 
-Unfortunately, the field still gets imported **disabled** due to Tripal preference, so we have to go to the display settings on our target site and enable the tripal pane/field.
+Unfortunately, the field still gets imported **disabled** due to Tripal preference, so we have to go to the display settings on our target site and enable the Tripal pane/field.
 
 
 .. image:: ./exporting_field_settings.6.png

+ 1 - 1
docs/extensions/data_input.rst

@@ -14,7 +14,7 @@ A Drush-based loader for VCF files that follows the genotype storage rules outli
 Mainlab Chado Loader
 ---------------------
 
-MCL (Mainlab Chado Loader) is a module that enables users to upload their biological data to Chado database schema. Users are required to transfer their biological data into various types of data template files. MCL, then, uploads these data template files into a chado schema.
+MCL (Mainlab Chado Loader) is a module that enables users to upload their biological data to Chado database schema. Users are required to transfer their biological data into various types of data template files. MCL, then, uploads these data template files into a Chado schema.
 
 `Documentation <https://gitlab.com/mainlabwsu/mcl/blob/master/README.md>`__
 `Repository <https://gitlab.com/mainlabwsu/mcl>`__

+ 1 - 1
docs/extensions/module_rating.rst

@@ -23,7 +23,7 @@ Silver
 
 - Follows basic Drupal Coding standards; specifically, `code format <https://www.drupal.org/docs/develop/standards/coding-standards>`_ and `API documentation <https://www.drupal.org/docs/develop/standards/api-documentation-and-comment-standards#drupal>`_.
 - Uses Tripal API functions. Specifically, it should use the
-    - Chado Query API for querying chado (if using chado as the storage system). (`API <http://api.tripal.info/api/tripal/tripal_chado%21api%21tripal_chado.query.api.inc/group/tripal_chado_query_api/3.x>`_, :doc:`Tutorial <../dev_guide/chado>`)
+    - Chado Query API for querying Chado (if using Chado as the storage system). (`API <http://api.tripal.info/api/tripal/tripal_chado%21api%21tripal_chado.query.api.inc/group/tripal_chado_query_api/3.x>`_, :doc:`Tutorial <../dev_guide/chado>`)
     - Tripal Jobs API for long running processes. (`API  <http://api.tripal.info/api/tripal/tripal%21api%21tripal.jobs.api.inc/group/tripal_jobs_api/3.x>`_)
     - TripalField class to add data to pages (Tripal3). (:doc:`Tutorial <../dev_guide/custom_field>`)
 - Provides ways to customize the module (e.g. drush options, field/formatter settings, admin UI).

+ 1 - 1
docs/extensions/search.rst

@@ -28,7 +28,7 @@ The Tripal ElasticSearch module allows you to easily manage the indexing and dis
 Tripal MegaSearch
 ---------------------
 
-Tripal MegaSearch is a tool for downloading biological data stored in a Tripal/Chado database. The module was designed to be generic and flexible so it can be used on most Tripal sites. Site administrators may choose from 1) a set of predefined materialized views or 2) chado base tables as the data source to serve data. If neither data source is desired, developers may create their own materialized views and serve them through Tripal MegaSearch via a flexible dynamic query form. This form allows filters to be added dynamically and combined using 'AND/OR' operators. The filters correspond to the underlying data source columns so the user can filter data on each column.
+Tripal MegaSearch is a tool for downloading biological data stored in a Tripal/Chado database. The module was designed to be generic and flexible so it can be used on most Tripal sites. Site administrators may choose from 1) a set of predefined materialized views or 2) Chado base tables as the data source to serve data. If neither data source is desired, developers may create their own materialized views and serve them through Tripal MegaSearch via a flexible dynamic query form. This form allows filters to be added dynamically and combined using 'AND/OR' operators. The filters correspond to the underlying data source columns so the user can filter data on each column.
 
 `Documentation <https://gitlab.com/mainlabwsu/tripal_megasearch/blob/master/README.md>`__
 `Repository <https://gitlab.com/mainlabwsu/tripal_megasearch>`__

+ 1 - 1
docs/user_guide/install_tripal/upgrade_from_tripal2.rst

@@ -50,7 +50,7 @@ Step 1: Upgrade Tripal
 
   .. code-block:: bash
 
-    drush pm-download tripal-7.x-3.1
+    drush pm-download tripal-7.x-3.5
 
 5. Enable the tripal module
 

+ 1 - 1
legacy/tripal_analysis/tripal_analysis.info

@@ -3,7 +3,7 @@ description = Supports the companalyses tables of Chado by providing pages for v
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 configure = admin/tripal/legacy/tripal_analysis/configuration
 
 dependencies[] = tripal_core

+ 1 - 1
legacy/tripal_contact/tripal_contact.info

@@ -3,7 +3,7 @@ description = Supports the contact tables of Chado by providing pages for viewin
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 
 dependencies[] = tripal_core
 dependencies[] = tripal_chado_views

+ 1 - 1
legacy/tripal_core/tripal_core.info

@@ -3,7 +3,7 @@ description = Provides support for all Tripal modules and includes the Tripal AP
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 configure = admin/tripal
 
 stylesheets[all][] = theme/css/tripal_core.css

+ 1 - 1
legacy/tripal_cv/tripal_cv.info

@@ -3,7 +3,7 @@ description = Supports the Controlled Vocabulary (CV) tables of Chado by providi
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 configure = admin/tripal/vocab
 
 dependencies[] = tripal_core

+ 1 - 1
legacy/tripal_db/tripal_db.info

@@ -3,7 +3,7 @@ description = Supports the database cross-reference tables of Chado by providing
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 configure = admin/tripal/legacy/tripal_db
 
 dependencies[] = tripal_core

+ 1 - 1
legacy/tripal_feature/tripal_feature.info

@@ -3,7 +3,7 @@ description = Supports the sequence (feature) tables of Chado by providing pages
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 
 stylesheets[all][] = theme/css/tripal_feature.css
 scripts[]          = theme/js/tripal_feature.js

+ 1 - 1
legacy/tripal_featuremap/tripal_featuremap.info

@@ -3,7 +3,7 @@ description = Supports the map tables of Chado by providing pages for viewing an
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 
 dependencies[] = tripal_core
 dependencies[] = tripal_chado_views

+ 1 - 1
legacy/tripal_genetic/tripal_genetic.info

@@ -3,7 +3,7 @@ description = Supports the genetic tables of Chado by providing pages for viewin
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 
 dependencies[] = tripal_core
 dependencies[] = tripal_chado_views

+ 1 - 1
legacy/tripal_library/tripal_library.info

@@ -3,7 +3,7 @@ description = Supports the library tables of Chado by providing pages for viewin
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 
 dependencies[] = tripal_core
 dependencies[] = tripal_chado_views

+ 1 - 1
legacy/tripal_natural_diversity/tripal_natural_diversity.info

@@ -3,7 +3,7 @@ description = Supports the natural diversity (ND) tables of Chado by providing p
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 
 dependencies[] = tripal_core
 dependencies[] = tripal_chado_views

+ 1 - 1
legacy/tripal_organism/tripal_organism.info

@@ -3,7 +3,7 @@ description = Supports the organism tables of Chado by providing pages for viewi
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 configure = admin/tripal/legacy/tripal_organism
 
 stylesheets[all][] = theme/css/tripal_organism.css

+ 1 - 1
legacy/tripal_phenotype/tripal_phenotype.info

@@ -3,7 +3,7 @@ description = Supports the phenotype tables of Chado by providing pages for view
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 
 dependencies[] = tripal_core
 dependencies[] = tripal_chado_views

+ 1 - 1
legacy/tripal_phylogeny/tripal_phylogeny.info

@@ -3,7 +3,7 @@ description = Supports the phylogeny tables of Chado by providing pages for view
 core = 7.x
 project = tripal_phylogeny
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 dependencies[] = tripal_core
 dependencies[] = tripal_cv
 dependencies[] = tripal_db

+ 1 - 1
legacy/tripal_project/tripal_project.info

@@ -3,7 +3,7 @@ description = Supports the project tables of Chado by providing pages for viewin
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 configure = admin/tripal/legacy/tripal_project
 
 dependencies[] = tripal_core

+ 1 - 1
legacy/tripal_pub/tripal_pub.info

@@ -3,7 +3,7 @@ description = Supports the pub (publication) tables of Chado by providing pages
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 
 stylesheets[all][] = theme/css/tripal_pub.css
 

+ 1 - 1
legacy/tripal_stock/tripal_stock.info

@@ -3,7 +3,7 @@ description = Supports the stock tables of Chado by providing pages for viewing,
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5
 
 dependencies[] = tripal_core
 dependencies[] = tripal_chado_views

+ 1 - 1
legacy/tripal_views/tripal_views.info

@@ -3,4 +3,4 @@ description = Deprecated-- no longer provides any functionality. See Tripal Chad
 core = 7.x
 project = tripal
 package = Tripal v2 Legacy
-version = 7.x-3.1
+version = 7.x-3.5

+ 2 - 2
tripal/api/tripal.collections.api.inc

@@ -4,7 +4,7 @@
  * @file
  *
  * Provides the API for working with Data collections. This includes creation,
- * experiation, and retreival.
+ * expiration, and retrieval.
  */
 
 /**
@@ -26,7 +26,7 @@
  * Creates a collection of entities for a given user.
  *
  * Use this function if you want to create a new collection with an bundle.
- * Otherwise, a new colleciton can also be created by creating an new instance
+ * Otherwise, a new collection can also be created by creating an new instance
  * of a TripalEntityCollection object.
  *
  * @param  $details

+ 1 - 1
tripal/api/tripal.d3js.api.inc

@@ -24,7 +24,7 @@
 
 
 /**
- * Load D3.js releated javascripts for the current page.
+ * Load D3.js related javascripts for the current page.
  *
  * @ingroup tripal_d3js_api
  */

+ 17 - 17
tripal/api/tripal.entities.api.inc

@@ -215,7 +215,7 @@ function hook_tripal_default_title_format($bundle, $available_tokens) {
 function tripal_load_entity($entity_type, $ids = FALSE, $reset = FALSE,
                             $field_ids = [], $cache = TRUE) {
 
-  // The $conditions is deprecated in the funtion arguments of entity_load
+  // The $conditions is deprecated in the function arguments of entity_load
   // so it was removed from the parameters of this function as well. But
   // the load() function of the entity controller still expects it so set it
   // to an empty array.
@@ -286,7 +286,7 @@ function tripal_load_term_entity($values) {
 }
 
 /**
- * Retrieves a TripalVocab entity that maches the given arguments.
+ * Retrieves a TripalVocab entity that matches the given arguments.
  *
  * @param $values
  *   An associative array used to match a vocabulary.
@@ -331,7 +331,7 @@ function tripal_load_vocab_entity($values) {
  *     - name:  the bundle name (e.g. 'bio_data_234')
  *     - label: the bundle label (e.g. 'Organism')
  *     - term_id: the term ID to which the bundle belongs
- *     - accession: the full acccession for the bundle (e.g. OBI:0100026)
+ *     - accession: the full accession for the bundle (e.g. OBI:0100026)
  *
  * @return
  *   A TripalBundle entity object or NULL if not found.
@@ -565,7 +565,7 @@ function tripal_create_bundle($args, $job = NULL) {
     // Attache the bundle fields.
     tripal_create_bundle_fields($bundle, $term);
 
-    // Specifically commiting here since we have a fully featured bundle.
+    // Specifically committing here since we have a fully featured bundle.
     // Post-create hook implementations assume we have a
     // created bundle so we don't want to rollback if a
     // custom implementation causes an exception.
@@ -828,7 +828,7 @@ function tripal_create_bundle_fields($bundle, $term) {
     // Make sure the term is not used for any other existing field instance.
     $skip = FALSE;
     foreach ($existing_instances as $existing_name => $existing_instance) {
-      // If this instance term is the same as this exsiting term and the
+      // If this instance term is the same as this existing term and the
       // instance name is not the same then we have a problem.
       $existing_term_id = $existing_instance['settings']['term_vocabulary'] . ':' . $existing_instance['settings']['term_accession'];
       $existing_field = field_info_field($existing_name);
@@ -844,7 +844,7 @@ function tripal_create_bundle_fields($bundle, $term) {
         $skip = TRUE;
       }
 
-      // If the instance term is the same as this exsting term but the storage
+      // If the instance term is the same as this existing term but the storage
       // types are different then we have a problem.
       $existing_storage = $existing_field['storage']['type'];
       $this_field_storage = $field_info[$details['field_name']]['storage']['type'];
@@ -991,7 +991,7 @@ function tripal_update_bundle_field($field_name, $field_info, $entity_type_name,
  * @param string $variable_name
  *   The name of the variable as in tripal_variables.name.
  * @param int $bundle_id
- *   The unique identfier for the bundle you want the value for.
+ *   The unique identifier for the bundle you want the value for.
  *
  * @return text
  *   The value of the specified variable for the specified bundle.
@@ -1029,7 +1029,7 @@ function tripal_get_bundle_variable($variable_name, $bundle_id, $default = FALSE
  * @param string $variable_name
  *   The name of the variable as in tripal_variables.name.
  * @param int $bundle_id
- *   The unique identfier for the bundle you want the value for.
+ *   The unique identifier for the bundle you want the value for.
  * @param $text $value
  *   The value of the variable for the given bundle.
  *
@@ -1320,7 +1320,7 @@ function _tripal_get_entity_tokens_for_elements($instance, $parent, $elements, &
  * @param TripalEntity $entity
  *   The entity with field values used to find values of tokens.
  * @param TripalBundle $bundle_entity
- *   The bundle enitity containing special values sometimes needed for token
+ *   The bundle entity containing special values sometimes needed for token
  *   replacement.
  *
  * @return
@@ -1408,7 +1408,7 @@ function tripal_replace_entity_tokens($string, &$entity, $bundle_entity = NULL)
       $value = $bundle_entity->id;
     }
     // The TripalBundle__bundle_id is a special token for substituting the
-    // entty id.
+    // entity id.
     elseif ($field_name === 'TripalEntity__entity_id') {
       // This token should be the id of the TripalEntity.
       $value = $entity->id;
@@ -1522,7 +1522,7 @@ function tripal_get_bundle_details($bundle_name) {
     'fields' => [],
   ];
 
-  // Iterate through each feild and provide a discription of it and
+  // Iterate through each field and provide a description of it and
   // it's sub elements.
   foreach ($instances as $instance) {
     // Skip deleted fields.
@@ -1551,7 +1551,7 @@ function tripal_get_bundle_details($bundle_name) {
       'required' => $instance['required'] ? TRUE : FALSE,
       'type' => 'xs:string',
       'readonly' => TRUE,
-      // The cardinatlity value always comes from the field.
+      // The cardinality value always comes from the field.
       'cardinality' => $field['cardinality'],
     ];
 
@@ -1590,7 +1590,7 @@ function tripal_get_bundle_details($bundle_name) {
 function _tripal_get_bundle_field_element_details($elements, &$field_details) {
   $field_details['elements'] = [];
   foreach ($elements as $element_key => $element_info) {
-    // Handle the entity element differnetly.
+    // Handle the entity element differently.
     if ($element_key == 'entity') {
       continue;
     }
@@ -1743,7 +1743,7 @@ function tripal_unpublish_orphans(int $bundle_id, TripalJob $job = NULL) {
  *   cleaned up.
  *
  * @return integer
- *   The number of entitites that were cleaned up.
+ *   The number of entities that were cleaned up.
  */
 function hook_bundle_delete_orphans(TripalBundle $bundle, array $ids, TripalJob $job = NULL) {
 
@@ -1752,7 +1752,7 @@ function hook_bundle_delete_orphans(TripalBundle $bundle, array $ids, TripalJob
 }
 
 /**
- * A hook for modules to report on oprhaned entities.
+ * A hook for modules to report on orphaned entities.
  *
  * An orphaned entity can occur if the module that created the entity
  * unknowingly lost its underlying record in its data store.  Such a case
@@ -1760,12 +1760,12 @@ function hook_bundle_delete_orphans(TripalBundle $bundle, array $ids, TripalJob
  * outside of the module's control. This function allows each module
  * to report if any orphans are missing for a given bundle type.
  *
- * @param TripalBunldle $bundle
+ * @param TripalBundle $bundle
  *   A TripalBundle object for the bundle that should be checked for
  *   orphaned entities.
  * @param bool $count
  *   TRUE if the function should return only the number of orphaned entities.
- *   FALSE if the function should return the list of orphned entities.
+ *   FALSE if the function should return the list of orphaned entities.
  * @param integer $offset
  *   For paging of entities set this to the offset within the total count.
  * @param integer $limit

+ 3 - 3
tripal/api/tripal.fields.api.inc

@@ -476,15 +476,15 @@ function tripal_load_include_downloader_class($class) {
  * A Drupal field attached to an entity may have multiple items (i.e. it has
  * a cardinality > 1).  Each of these items will always have a 'value' key that
  * contains the data for that field. However, fields can also have other keys
- * with their own values.  You can easily retreive the value of these keys
+ * with their own values.  You can easily retrieve the value of these keys
  * using this function.  What makes this function useful is that you can
  * provide a default value to use if the key has no value.  This is useful
  * when developing a TripalField::widgetForm function and you need to
- * retreive default values and you don't want to have to always check if the
+ * retrieve default values and you don't want to have to always check if the
  * value is set.
  *
  * @param $items
- *   The fields $items array. Compatbile with that returned by field_get_items.
+ *   The fields $items array. Compatible with that returned by field_get_items.
  * @param $delta
  *   The index of the item.
  * @parm $key

+ 1 - 1
tripal/api/tripal.files.api.inc

@@ -22,7 +22,7 @@
  * installation of the module in the .install file.  However this causes
  * permission problems if the module is installed via drush with a
  * user account that is not the same as the web user.  Therefore, this
- * function should not be called in a location accessiblve via a drush
+ * function should not be called in a location accessible via a drush
  * command.  The tripal_get_files_dir() and tripal_get_files_stream()
  * will automatically create the directory if it doesn't exist so there is
  * little need to call this function directly.

+ 1 - 1
tripal/api/tripal.importer.api.inc

@@ -134,7 +134,7 @@ function tripal_load_include_importer_class($class) {
  * Tripal provides the TripalImporter class to allow site developers to
  * create their own data loaders.  Site users can then use any data loader
  * implemented for the site by submitting the form that comes with the
- * TripalImporter impelmentation.  This function runs the importer using the
+ * TripalImporter implementation.  This function runs the importer using the
  * arguments provided by the user.
  *
  * @param $import_id

+ 8 - 8
tripal/api/tripal.jobs.api.inc

@@ -294,7 +294,7 @@ function tripal_rerun_job($job_id, $goto_jobs_page = TRUE) {
  *   The job_id of the job to be cancelled
  *
  * @return
- *   FALSE if the an error occured or the job could not be canceled, TRUE
+ *   FALSE if the an error occurred or the job could not be canceled, TRUE
  *   otherwise.
  *
  * @ingroup tripal_jobs_api
@@ -330,7 +330,7 @@ function tripal_cancel_job($job_id, $redirect = TRUE) {
  *
  * @param $job_id
  *   To launch a specific job provide the job id.  This option should be
- *   used sparingly as the jobs queue managment system should launch jobs
+ *   used sparingly as the jobs queue management system should launch jobs
  *   based on order and priority.  However there are times when a specific
  *   job needs to be launched and this argument will allow it.  Only jobs
  *   which have not been run previously will run.
@@ -390,7 +390,7 @@ function tripal_launch_job($do_parallel = 0, $job_id = NULL, $max_jobs = -1, $si
 
     $job_id = $jid->job_id;
 
-    // Create the Tripoaljob object.
+    // Create the Tripaljob object.
     $job = new TripalJob();
     $job->load($job_id);
 
@@ -462,7 +462,7 @@ function tripal_set_job_progress($job_id, $percentage) {
 }
 
 /**
- * Retrieves the current proress of a job.
+ * Retrieves the current progress of a job.
  *
  * @param $job_id
  *   The job_id to get the progress for
@@ -508,9 +508,9 @@ function tripal_get_job_progress($job_id) {
  *    - status: The status of the job: Waiting, Completed, Running or Cancelled.
  *    - submit_date:  The UNIX timestamp when the job was submitted.
  *    - start_time: The UNIX timestamp for when the job started running.
- *    - end_time: The UNIX timestampe when the job completed running.
- *    - error_msg: Any error message that occured during execution of the job.
- *    - prirotiy: The execution priority of the job (value between 1 and 10)
+ *    - end_time: The UNIX timestamp when the job completed running.
+ *    - error_msg: Any error message that occurred during execution of the job.
+ *    - priority: The execution priority of the job (value between 1 and 10)
  *
  * @ingroup tripal_jobs_api
  */
@@ -552,7 +552,7 @@ function tripal_get_active_jobs($modulename = NULL) {
  * Execute a specific Tripal Job.
  *
  * @param $job_id
- *   The job id to be exeuted.
+ *   The job id to be executed.
  * @param bool $redirect [optional]
  *   Whether to redirect to the job page or not.
  *

+ 2 - 2
tripal/api/tripal.notice.api.inc

@@ -17,7 +17,7 @@
  * @}
  */
 
-// Globals used by Tripals Error catching functions
+// Globals used by Tripal's Error catching functions
 // Should match those defined by watchdog
 define('TRIPAL_CRITICAL', 2);
 define('TRIPAL_ERROR', 3);
@@ -39,7 +39,7 @@ define('TRIPAL_DEBUG', 7);
  * will add backtrace information to the message.
  *
  * @param $type
- *   The catagory to which this message belongs. Can be any string, but the
+ *   The category to which this message belongs. Can be any string, but the
  *   general practice is to use the name of the module.
  * @param $severity
  *   The severity of the message; one of the following values:

+ 3 - 3
tripal/api/tripal.terms.api.inc

@@ -2,7 +2,7 @@
 /**
  * @file
  * Provides an application programming interface (API) for working with
- * controlled vocaublary terms.
+ * controlled vocabulary terms.
  */
 
 /**
@@ -10,7 +10,7 @@
  * @ingroup tripal_api
  * @{
  * Tripal provides an application programming interface (API) for working with
- * controlled vocaublary terms.  Tripal v3 is highly dependent on controlled
+ * controlled vocabulary terms.  Tripal v3 is highly dependent on controlled
  * vocabularies for identifying all content types and fields attached to those
  * content types.  However, Tripal v3 is also database agnostic. Therefore,
  * controlled vocabularies can be stored in any database back-end.  By default
@@ -66,7 +66,7 @@ function hook_vocab_storage_info() {
  *
  * Tripal allows for vocabularies to be stored separately from the biological
  * data. This hook allows the default term storage backend to provide an
- * approprite form for importing ontologies (either in OBO or OWL format).
+ * appropriate form for importing ontologies (either in OBO or OWL format).
  *
  * @param $form
  * @param $form_state

+ 4 - 4
tripal/api/tripal.upload.api.inc

@@ -86,7 +86,7 @@
  *
  *
  * 3) Files are uploaded automatically to Tripal.  Files are saved in the
- * Tripal user's directory.  You can retreive information about the
+ * Tripal user's directory.  You can retrieve information about the
  * file by querying for the file category for the current project.
  *
  * @code
@@ -104,12 +104,12 @@
 /**
  * Allows a module to interact with the Tripal file uploader during upload.
  *
- * This function is called prior to an 'action' aoccuring and allows the
+ * This function is called prior to an 'action' occurring and allows the
  * module that is responsible for the file upload to halt an upload if
  * needed.
  *
  * @param $action
- *   The current action that is being peformed during the upload process. The
+ *   The current action that is being performed during the upload process. The
  *   actions are:  'save', 'check' and 'merge'.
  * @param $details
  *   An associative array containing details about the upload process. Valid
@@ -133,7 +133,7 @@ function hook_file_upload_check($action, $details, &$message) {
       // Place code here when chunks are being saved.
       break;
     case 'check':
-      // Place code here when a chunck is being checked if the upload
+      // Place code here when a chunk is being checked if the upload
       // completed successfully.
       break;
     case 'merge':

+ 2 - 2
tripal/api/tripal.variables.api.inc

@@ -30,7 +30,7 @@
  *   The description for the variable
  *
  * @return
- *   A record object containg the variable that was added if successful.
+ *   A record object containing the variable that was added if successful.
  *
  * @ingroup tripal_variables_api
  */
@@ -71,7 +71,7 @@ function tripal_insert_variable($name, $description) {
  *   The name of the variable to retrieve
  *
  * @return
- *   A record object containg the variable.
+ *   A record object containing the variable.
  *
  * @ingroup tripal_variables_api
  */

+ 24 - 0
tripal/tripal.drush.inc

@@ -32,6 +32,9 @@ function tripal_drush_help($command) {
     case 'trp-get-currjob':
       return dt('Returns details about the currently running tripal job including percent complete.');
       break;
+    case 'trp-version':
+      return dt('Returns the current version of Tripal that is installed.');
+      break;
     // Placeholders for unimplmeneted jobs
     case 'trp-show-job':
       break;
@@ -125,6 +128,13 @@ function tripal_drush_command() {
       'Standard example' => 'drush trp-set-permissions --user=administrator',
     ],
   ];
+  $items['trp-version'] = [
+    'description' => dt('Returns the current version of Tripal that is installed.'),
+    'arguments' => [],
+    'examples' => [
+      'Standard usage' => 'drush trp-version',
+    ],
+  ];
   return $items;
 }
 
@@ -391,3 +401,17 @@ function drush_tripal_trp_set_permissions() {
   drush_print(dt(""));
   drush_print(dt("Permissions is now complete."));
 }
+
+/**
+ * Returns the current version of Tripal
+ * 
+ * Executed when 'drush trp-version' is called.
+ * 
+ * @ingroup tripal_drush
+ *
+ * @return string
+ */
+function drush_tripal_trp_version() {
+  $version = system_get_info('module', 'tripal');
+  drush_print("Tripal version: " . $version['version']);
+}

+ 1 - 1
tripal/tripal.info

@@ -3,7 +3,7 @@ description = Tripal is an toolkit to facilitate construction of online genomic,
 core = 7.x
 project = tripal
 package = Tripal
-version = 7.x-3.1
+version = 7.x-3.5
 configure = admin/tripal
 
 stylesheets[all][] = theme/css/tripal.css

+ 11 - 0
tripal/tripal.module

@@ -1621,3 +1621,14 @@ function tripal_field_group_table_rows_alter(&$element, &$children) {
     }
   }
 }
+
+/**
+ * Returns the current version of Tripal, according to the tripal.info file
+ * 
+ * @return string
+ *   The version string of Tripal. Ex. 7.x-3.1
+ */
+function tripal_version() {
+  $version = system_get_info('module', 'tripal');
+  return $version['version'];
+}

+ 1 - 1
tripal_bulk_loader/tripal_bulk_loader.info

@@ -3,6 +3,6 @@ description = Supports the construction of templates for customizable uploading
 core = 7.x
 project = tripal
 package = Tripal
-version = 7.x-3.1
+version = 7.x-3.5
 
 dependencies[] = tripal_chado_views

+ 1 - 1
tripal_chado/tripal_chado.info

@@ -3,7 +3,7 @@ description = Provides a set of Chado-based fields for the Tripal Entities.
 core = 7.x
 project = tripal
 package = Tripal
-version = 7.x-3.1
+version = 7.x-3.5
 
 files[] = views_handlers/chado_views_handler_field.inc
 files[] = views_handlers/chado_views_handler_filter.inc

+ 1 - 1
tripal_chado_views/tripal_chado_views.info

@@ -3,7 +3,7 @@ description = Integrates all Chado tables with Drupal Views and provides basic s
 core = 7.x
 project = tripal
 package = Tripal
-version = 7.x-3.1
+version = 7.x-3.5
 configure = admin/tripal/storage/chado/views-integration
 
 files[] = views/handlers/tripal_views_handler_filter_textarea.inc

+ 1 - 1
tripal_ds/tripal_ds.info

@@ -3,7 +3,7 @@ description = Provides display options for Tripal Entities through extending Dis
 core = 7.x
 project = tripal
 package = Tripal
-version = 7.x-3.1
+version = 7.x-3.5
 
 stylesheets[all][] = theme/css/tripal_ds.css
 

+ 1 - 1
tripal_ws/tripal_ws.info

@@ -3,7 +3,7 @@ description = Exposes Tripal Entites as RESTful web services.
 core = 7.x
 project = tripal
 package = Tripal
-version = 7.x-3.1
+version = 7.x-3.5
 
 stylesheets[all][] = theme/css/tripal_ws.css