GithubHelp home page GithubHelp logo

tripal / t4d8 Goto Github PK

View Code? Open in Web Editor NEW
1.0 14.0 10.0 18.9 MB

This is a temporary repository for Drupal 9 upgrade for Tripal v4. It is meant to house issues related to the upgrade.

License: GNU General Public License v2.0

PHP 39.46% Dockerfile 0.23% Shell 0.41% JavaScript 0.84% PLpgSQL 58.78% CSS 0.27% Twig 0.03%
tripal tripal4 drupal9 hacktoberfest

t4d8's Introduction

alt tag

Tripal 4 (Drupal 9 + 10)

               _   _                 _____                 _                                  _   
     /\       | | (_)               |  __ \               | |                                | |  
    /  \   ___| |_ ___   _____      | |  | | _____   _____| | ___  _ __  _ __ ___   ___ _ __ | |_
   / /\ \ / __| __| \ \ / / _ \     | |  | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __|
  / ____ \ (__| |_| |\ V /  __/     | |__| |  __/\ V /  __/ | (_) | |_) | | | | | |  __/ | | | |_
 /_/    \_\___|\__|_| \_/ \___|     |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__|
                                                                  | |                             
                                                                  |_|                             

Compatibility

Target Drupal Version 9.4.x-dev

PostgreSQL 13

Drupal 9.2.x 9.3.x 9.4.x 9.5.x 10.0.x
PHP 8.0 PHPUnit PHPUnit PHPUnit PHPUnit
PHP 8.1 PHPUnit PHPUnit PHPUnit PHPUnit

Current Timeline

Required for Tripal 4.alpha2 Release

  • Publishing of the pages
  • Finish implementing Chado Storage for fields (#238, #239)
  • Drush generator/updator for fields
  • Update existing core fields
  • Finish Chado Vocabs/ID Spaces/Terms (#242, #243)
  • Legacy API
  • Move data type specific functionality into extension modules (#281)

Required for Tripal 4.alpha3 Release

  • Display suite / page work
  • Importers: Publications, Taxonomy, Newick
  • Search (ElasticSearch rather then Views)

How to get involved!

This upgrade to Drupal 9 is a community effort. As such, we NEED YOUR HELP!

  • To get involved, please join our Tripal Slack and comment in the #core-dev channel.
    • Alternatively, feel free to contact Lacey-Anne Sanderson through Slack direct message.
    • We can use help both with programming, documentation, outreach and welcome all individuals from all backgrounds!
  • We prefer automated testing for all Pull Requests (PRs) and are happy to guide you through the process!
    • Just comment on the issue if you need help designing tests
    • If you need help implementing tests see our documentation
  • If more documentation would be helpful, let us know what is missing here and we'll add it

Documentation

Documentation for Tripal 4 has begun on ReadtheDocs. Please keep in mind the URL for this documentation will change once Tripal 4 is released.

Tripal Docker

Tripal Docker is currently focused on Development and Unit Testing. There will be a production focused Tripal Docker soon and if you're interested in helping or providing tips -please join us on our Slack channel!

For more information about how to use our fully functional development docker, see our documentation on ReadtheDocs!

t4d8's People

Contributors

4ctrl-alt-del avatar alexgl avatar almasaeed2010 avatar bradfordcondon avatar carolyncaron avatar chunhuaicheng avatar derpsoul avatar ferrisx4 avatar guignonv avatar katherynbuble avatar laceysanderson avatar michizhou avatar njbooher avatar par12005 avatar reynoldtan avatar risharde avatar shawnawsu avatar spficklin avatar srobb1 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

t4d8's Issues

Updates to Data Importing

Please tag all tickets and pr's with group 4 to denote it relates to this group of updates.

Files this update will require to be reviewed and updated (in order):

  • Tripal Bulk Loader Module
    • Convert tripal_bulk_loader.info to tripal_bulk_loader.yml
      • tripal_bulk_loader.module
    • Convert hook_menu and forms
    • Convert D7 variables to D8 Config
    • Convert D7 variables to D8โ€™s state system
    • api
      • tripal_bulk_loader.api.templates.inc
      • tripal_bulk_loader.DEPRECATED.inc
    • includes
      • tripal_bulk_loader.admin.inc
      • tripal_bulk_loader.admin.templates.inc
      • tripal_bulk_loader.chado_node.inc
      • tripal_bulk_loader.constants.inc
      • Tripal_bulk_loader.loader.inc
  • Tripal Module
    • includes
      • tripal.importer.inc
      • TripalImporter.inc
      • tripal.upload.inc
    • api
      • tripal.importer.api.inc
      • tripal.upload.api.inc
  • Tripal Chado Module
    • includes
      • Tripalimporter
        • FASTAImporter.inc
        • GFF3Importer.inc
        • NewickImporter.inc
        • OBOImporter.inc
        • PubBulkImporter.inc
        • TaxonomyImporter.inc
      • Exporters
        • tripal_chado.gff_exporter.inc
        • tripal_chado.seq_extract.inc
      • loaders
        • OWLStanza.inc
        • tripal_chado.phylotree_newick.inc
        • tripal_chado.pub_importer_AGL.inc
        • tripal_chado.pub_importer_PMID.inc
        • tripal_chado.pub_importers.inc
        • Tripal_cv.owl_loader.php

Group 9 - Documentation

The plan for Tripal 4 documentation is to provide a single resource for Tripal Users and Developers. Rather then documenting Tripal with the assumption you know Drupal, we are going to teach both Drupal/Tripal and provide links to core Drupal documentation for more information. This should make the Tripal 4 documentation an easier resource for PIs to point new developers at.

Idealistic Overview:

  1. Install Tripal
  2. Building your site: creating vocabularies, configuring pages...
  3. Guiding your users: creating content, searching...
  4. Site Administration: Importing data, administering users...
  5. Extending Tripal
  6. Upgrading Tripal
  7. How to Contibute (Tripal Community)

This issue is meant to be a general guiding idea not a master plan ๐Ÿ˜‰

Please feel free to use this issue to mention concepts or functionality which you would love to see well documented!

Group 1: TripalField

This issue deals with updating the TripalField infrastructure. The hope is to do this such that minimal to no work needs to be done on contributed fields. Specifically, these are the files being updated:

  • TripalField
    • Tripalfields
    • TripalField.inc
    • TripalFieldFormatter.inc
    • TripalFieldWidget.inc
    • CONTENT_TYPE
      • content_type.inc
    • RDFS__TYPE
      • rdfs__type_formatter.inc
      • rdfs__type_widget.inc
      • Rdfs__type.inc
    • TripalFieldDownloaders
      • TripalCSVDownloader.inc
      • TripalFieldDownloader.inc
      • TripalGFF3Downloader.inc
      • TripalNucFASTADownloader.inc
      • TripalProteinFASTADownloader.inc
      • TripalTabDownloader.inc

Small but critical fix for Tripal Administrative pages

Tripal administrative pages such as Data Storage does not populate sub menu links and instead displays "You do not have any administrative items" text. This means that users cannot get to the appropriate Tripal admin tools.

A fix has already been applied and will be published as a PR request.

chado_insert_cvterm() is slow

This issue is to remind us to speed up chado_insert_cvterm(). This function is used when creating Tripal Terms and chado cvterms and causes noticeable performance issues. Since Tripal Terms will be created during Installation of every Tripal site, this should be considered a high priority.

Choosing another schema for chado (for testing)

This was a great suggestion by Valentin Guignon in the Tripal Core Meeting on 2nd June 2020 in which I also think could be useful especially for preserving the data in live data implementations.

I am however wondering how we can go about getting this new functionality in, particularly if we are going to have a different schema for a test version of chado - how would we be able to link a specific content entity to use the test schema (this might be simple but due to my lack of experience at D8 and T4 at the moment).

CV Term accessions

When adding a controlled vocabulary to Tripal for content types, it automatically adds the short name as the prefix to any accession. For some vocabularies, such as EDAM, the short name can vary so automatically adding the short name will be incorrect for those types of vocabularies.

Create Icons for the Tripal Toolbar!

PR #87 added Tripal to the administration toolbar!

However, you'll notice the administrative toolbar typically has really awesome minimalistic icons... and we do not. This Issue is to remind us to make some :-)

Here they are in core: https://api.drupal.org/api/drupal/core%21modules%21toolbar%21css%21toolbar.icons.theme.css/8.2.x
Drupal uses these: https://github.com/ry5n/libricons/tree/master/src
Here is an example: https://git.drupalcode.org/project/devel/-/blob/4.x/src/ToolbarHandler.php#L103
Here is a tutorial on how: https://drupalcommerce.org/blog/10943/how-create-drupal-8-toolbar-icon

Screen Shot 2021-01-04 at 2 59 04 PM

Group 3: Tripal Deamon

Please tag all tickets and pr's with group 3 to denote it relates to this group of updates.

Files this update will require to be reviewed and updated (in order):

  • Tripal Daemon Module
    • Convert tripal_daemon.info to tripal_daemon.yml
      • tripal_daemon.module
    • Convert hook_menu and forms
    • Convert D7 variables to D8 Config
    • Convert D7 variables to D8โ€™s state system
    • Includes
      • tripal_daemon.blocks.inc
    • TripalDaemon.inc

Deprecation Notices for Drupal 9.1.x

The following deprecation notices are obtained when running the unit tests of Drupal 9.1.x. There were no deprecation notices for 9.0.x.

PHPUnit 9.5.0 by Sebastian Bergmann and contributors.

Warning:       Your XML configuration validates against a deprecated schema.
Suggestion:    Migrate your XML configuration using "--migrate-configuration"!

Testing 
................IIII..IIII.........SSS.                           39 / 39 (100%)

Time: 17:59.329, Memory: 16.00 MB

OK, but incomplete, skipped, or risky tests!
Tests: 39, Assertions: 4890, Skipped: 3, Incomplete: 8.

Remaining self deprecation notices (56)

  12x: The Drupal\Tests\tripal_chado\SchemaAPITest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    12x in DrupalListener::startTest from Drupal\Tests\Listeners

  9x: Calling Drupal\Tests\WebAssert::statusCodeEquals with more than one argument is deprecated in drupal:9.1.0 and will throw an \InvalidArgumentException in drupal:10.0.0. See https://www.drupal.org/node/3162537
    9x in TripalMenuPathsTest::testPaths from Drupal\Tests\tripal\Functional

  6x: The Drupal\Tests\tripal_chado\ChadoQueryAPITest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    6x in DrupalListener::startTest from Drupal\Tests\Listeners

  5x: Calling Drupal\Tests\UiHelperTrait::drupalPostForm() with $path set to NULL is deprecated in drupal:9.2.0 and the method is removed in drupal:10.0.0. Use $this->submitForm() instead. See https://www.drupal.org/node/3168858
    2x in TripalTermEntityTest::testTripalTermEntity from Drupal\Tests\tripal\Functional
    2x in TripalVocabEntityTest::testTripalVocabEntity from Drupal\Tests\tripal\Functional
    1x in chadoInstallerFormTest::testLoadInstallerForm from Drupal\Tests\tripal_chado\Functional

  4x: The Drupal\Tests\tripal\Functional\TripalTermEntityTest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    4x in DrupalListener::startTest from Drupal\Tests\Listeners

  4x: The Drupal\Tests\tripal\Functional\TripalVocabEntityTest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    4x in DrupalListener::startTest from Drupal\Tests\Listeners

  2x: The Drupal\Tests\tripal\Functional\bulkPgSchemaInstallerTest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    2x in DrupalListener::startTest from Drupal\Tests\Listeners

  2x: The Drupal\Tests\tripal_chado\ChadoDbAPITest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    2x in DrupalListener::startTest from Drupal\Tests\Listeners

  2x: The Drupal\Tests\tripal_chado\ChadoCvAPITest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    2x in DrupalListener::startTest from Drupal\Tests\Listeners

  1x: The Drupal\Tests\tripal_chado\ChadoComplianceTest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    1x in DrupalListener::startTest from Drupal\Tests\Listeners

  1x: The Drupal\Tests\tripal_chado\ChadoVariablesAPITest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    1x in DrupalListener::startTest from Drupal\Tests\Listeners

  1x: The Drupal\Tests\tripal\Functional\TripalContentTest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    1x in DrupalListener::startTest from Drupal\Tests\Listeners

  1x: The Drupal\Tests\tripal_chado\Functional\chadoInstallerTest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    1x in DrupalListener::startTest from Drupal\Tests\Listeners

  1x: The Drupal\Tests\tripal_chado\Functional\LoadTest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    1x in DrupalListener::startTest from Drupal\Tests\Listeners

  1x: Declaring ::setUp without a void return typehint in Drupal\Tests\tripal_chado\Functional\LoadTest is deprecated in drupal:9.0.0. Typehinting will be required before drupal:10.0.0. See https://www.drupal.org/node/3114724
    1x in DrupalListener::startTest from Drupal\Tests\Listeners

  1x: The Drupal\Tests\tripal\Functional\TripalMenuPathsTest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    1x in DrupalListener::startTest from Drupal\Tests\Listeners

  1x: The Drupal\Tests\tripal_chado\Functional\chadoInstallerFormTest::$modules property must be declared protected. See https://www.drupal.org/node/2909426
    1x in DrupalListener::startTest from Drupal\Tests\Listeners

  1x: Declaring ::setUp without a void return typehint in Drupal\Tests\tripal_chado\Functional\chadoInstallerFormTest is deprecated in drupal:9.0.0. Typehinting will be required before drupal:10.0.0. See https://www.drupal.org/node/3114724
    1x in DrupalListener::startTest from Drupal\Tests\Listeners

  1x: Calling Drupal\Tests\WebAssert::responseContains with more than one argument is deprecated in drupal:9.1.0 and will throw an \InvalidArgumentException in drupal:10.0.0. See https://www.drupal.org/node/3162537
    1x in chadoInstallerFormTest::testLoadInstallerForm from Drupal\Tests\tripal_chado\Functional

Note: we have to be careful with upgrading our phpunit.xml becuase we are still using earlier version of phpunit with drupal 8.9.x and 9.0.x

Group 2: Chado Custom Tables API

This issue refers to upgrade of tripal_chado.api.inc To take on upgrade of one of these functions just comment below with the function you would like to take on.

  • chado_edit_custom_table() [Good first task]
  • chado_create_custom_table() [Good first task]
  • chado_validate_custom_table_schema() [Good first task]
  • chado_get_custom_table_id() [Good first task]
  • chado_get_custom_table_names() [Good first task]
  • chado_delete_custom_table() [Good first task]

Updates to Entities, Bundles, and Fields

Please tag all tickets and pr's with group 1 to denote it relates to this first group of updates.

Files this update will require to be reviewed and updated (in order):

  • Tripal Module
  • Convert hook_menu and forms
    • hook_menu
    • tripal.admin_files.inc: #23, #24
    • [n/a] tripal.admin.inc (not needed due to the more independant way cvterms are stored in D8)
  • tripal.install #25
  • includes
    • TripalVocab
      • TripalVocab.inc
      • TripalVocabController.inc
      • TripalVocabViewsController.inc
    • TripalTerm
      • TripalTerm.inc
      • TripalTermController.inc
      • TripalTermViewsController.inc
    • TripalEntity
      • TripalEntity.inc
      • tripal.entity.inc (makes reference to bundles but contains functions called by TripalEntityUIController.inc)
      • TripalEntityController.inc
      • TripalEntityCollection.inc
      • TripalEntityUIController.inc
      • TripalEntityViewsController.inc
    • TripalBundle
      • TripalBundle.inc
      • TripalBundleContoller.inc
      • TripalBundleUIController.inc
      • TripalBundleViewsController.inc
    • TripalField #28
      • Tripalfields
      • TripalField.inc
      • TripalFieldFormatter.inc
      • TripalFieldWidget.inc
      • CONTENT_TYPE
        - [ ] content_type.inc
      • RDFS__TYPE
        - [ ] rdfs__type_formatter.inc
        - [ ] rdfs__type_widget.inc
        - [ ] Rdfs__type.inc
      • TripalFieldDownloaders
        - [ ] TripalCSVDownloader.inc
        - [ ] TripalFieldDownloader.inc
        - [ ] TripalGFF3Downloader.inc
        - [ ] TripalNucFASTADownloader.inc
        - [ ] TripalProteinFASTADownloader.inc
        - [ ] TripalTabDownloader.inc
    • APIs
      • tripal.terms.api.inc #26
      • tripal.entities.api.inc #27
      • tripal.fields.api.inc #28
      • tripal.fields.inc #28
      • tripal.field_storage.inc #28
      • TripalFieldQuery.inc #28
      • tripal.term_lookup.inc

Updates to All Other Integrations

Please tag all tickets and pr's with group 8 to denote it relates to this group of updates.

Files this update will require to be reviewed and updated (in order):

  • Drush:
    • tripal.drush.inc
    • tripal_bulk_loader.drush.inc
    • tripal_chado.drush.inc
    • tripal_daemon.drush.inc
  • Collections
    • tripal.collections.api.inc
    • Tripal.collections.inc
  • D3js
    • tripal.d3js.api.inc

How can we help you?

This upgrade to Drupal 8 is a community effort. As such, we NEED YOUR HELP!

This issue was created as a safe place for you to request documentation, point out barriers and share tips with the community. We will use this issue to improve our documentation and make contribution easier!

Chado install schema -custom name

Task based on #52

Excerpt:

For now, I'm focusing my thoughts on:

  1. Ability to install chado in a different schema name.
  2. Upgrade current hook system for chado queries perhaps supporting user-associated chado schema name.
  3. Chado schema name in entity linking tables with associated Drupal permissions (including alter hook).
  4. And of course, associated automated testing.

With backwards compatibility through smart defaults in mind.

This issue is focusing on allowing chado to be installed in a different chado schema name and allowing a new chado install beside an existing one.

Updates to Chado\Storage

Please tag all tickets and pr's with group 2 to denote it relates to this group of updates.

Files this update will require to be reviewed and updated (in order):

  • Tripal Chado Module
    • Convert tripal_chado.info to tripal_chado.yml
      • tripal_chado.module
    • Convert hook_menu and forms
    • Convert D7 variables to D8 Config
    • Convert D7 variables to D8โ€™s state system
    • tripal_chado.install
    • includes
      • api
        • ChadoRecord.inc
        • ChadoSchema.inc
        • generate_chado_schema_file.php
        • Modules
          • tripal_chado.analysis.api.inc
          • tripal_chado.contact.api.inc
          • tripal_chado.cv.api.inc
          • tripal_chado.db.api.inc
          • tripal_chado.feature.api.inc
          • tripal_chado.organism.api.inc
          • tripal_chado.phylotree.api.inc
          • tripal_chado.project.api.inc
          • tripal_chado.pub.api.inc
          • tripal_chado.stock.api.inc
        • tripal_chado.api.inc
        • tripal_chado.custom_tables.api.inc
        • tripal_chado.entity.api.inc
        • tripal_chado.migrate.api.inc
        • tripal_chado.mviews.api.inc
        • tripal_chado.property.api.inc
        • tripal_chado.query.api.inc
        • tripal_chado.schema_v1.2.api.inc
        • tripal_chado.schema_v1.3.api.inc
        • tripal_chado.schema_v1.11.api.inc
        • tripal_chado.schema.api.inc
        • tripal_chado.semweb.api.inc
        • tripal_chado.variables.api.inc
      • ChadoDatabaseConnection.inc
      • setup
        • tripal_chado.chado_v1_1.inc
        • tripal_chado.chado_v1.2.inc
        • tripal_chado.chado_vx_x.inc
        • Tripal_chado.setup.inc
      • tripal_chado.bundle.inc
      • tripal_chado.custom_tables.inc
      • tripal_chado.cv.inc
      • tripal_chado.db.inc
      • tripal_chado.entity.inc
      • tripal_chado.field_storage.inc
      • tripal_chado.fields.inc
      • tripal_chado.install.inc
      • tripal_chado.mapping.inc
      • tripal_chado.migrate.inc
      • tripal_chado.mviews.inc
      • tripal_chado.phylotree.inc
      • tripal_chado.pub_search.inc
      • tripal_chado.publish.inc
      • tripal_chado.schema.inc
      • tripal_chado.semweb.inc
      • tripal_chado.seq_extract.inc
      • Tripal_chado.vocab_storage.inc
    • tripalfields
      • chadofield.inc
      • chadofieldformatter.inc
      • chadofieldwidget.inc
      • chado_linker__contact
        • chado_linker__contact_formatter.inc
        • chado_linker__contact_widget.inc
        • Chado_linker__contact.inc
      • Chado_linker__prop
        • chado_linker__prop_formatter.inc
        • chado_linker__prop_widget.inc
        • chado_linker__prop.inc
      • data__accession
        • data__accession_formatter.inc
        • data__accession_widget.inc
        • Data__accession.inc
      • data__protein_sequence
        • data__protein_sequence_formatter.inc
        • data__protein_sequence_widget.inc
        • Data__protein_sequence.inc
      • data__sequence
        • data__sequence_formatter.inc
        • data__sequence_widget.inc
        • Data__sequence.inc
      • data__sequence_checksum
        • data__sequence_checksum_formatter.inc
        • data__sequence_checksum_widget.inc
        • Data__sequence_checksum.inc
      • Data__sequence_coordinates
        • data__sequence_coordinates_formatter.inc
        • data__sequence_coordinates_widget.inc
        • data__sequence_coordinates.inc
      • Data__sequence_coordinates_table
        • data__sequence_coordinates_table_formatter.inc
      • data__sequence_length
        • data__sequence_length_formatter.inc
        • data__sequence_length_widget.inc
        • Data__sequence_length.inc
      • efo__array_design
        • efo__array_design_formatter.inc
        • efo__array_design_widget.inc
        • Efo__array_design.inc
      • Go__gene_expression
        • go__gene_expression_formatter.inc
        • go__gene_expression_widget.inc
        • go__gene_expression.inc
      • Local__contact
        • local__contact_formatter.inc
        • local__contact_widget.inc
        • local__contact.inc
      • Local__source_data
        • local__source_data_formatter.inc
        • local__source_data_widget.inc
        • local__source_data.inc
      • Obi__organism
        • obi__organism_formatter.inc
        • obi__organism_widget.inc
        • obi__organism.inc
      • Ogi__location_on_map
        • ogi__location_on_map_formatter.inc
        • ogi__location_on_map_widget.inc
        • ogi__location_on_map.inc
      • Operation__analysis
        • operation__analysis_formatter.inc
        • operation__analysis_widget.inc
        • operation__analysis.inc
      • operation__phylotree_vis
        • operation__phylotree_vis_formatter.inc
        • operation__phylotree_vis_widget.inc
        • Operation__phylotree_vis.inc
      • Sbo__database_cross_reference
        • sbo__database_cross_reference_formatter.inc
        • sbo__database_cross_reference_widget.inc
        • sbo__database_cross_reference.inc
      • Sbo__phenotype
        • sbo__phenotype_formatter.inc
        • sbo__phenotype_widget.inc
        • sbo__phenotype.inc
      • sbo__relationship
        • sbo__relationship_formatter.inc
        • sbo__relationship_widget.inc
        • sbo__relationship.inc
      • sbo__relationship_table
        • sbo__relationship_table_formatter.inc
      • schema__additional_type
        • schema__additional_type_formatter.inc
        • schema__additional_type_widget.inc
        • schema__additional_type.inc
      • schema__alternate_name
        • schema__alternate_name_formatter.inc
        • schema__alternate_name_widget.inc
        • schema__alternate_name.inc
      • schema__publication
        • schema__publication_formatter.inc
        • schema__publication_widget.inc
        • schema__publication.inc
      • sep__protocol
        • sep__protocol_formatter.inc
        • sep__protocol_widget.inc
        • Sep__protocol.inc
      • sio__annotation
        • sio__annotation_formatter.inc
        • sio__annotation_widget.inc
        • Sio__annotation.inc
      • Sio__references
        • sio__references_formatter.inc
        • sio__references_widget.inc
        • sio__references.inc
      • sio__vocabulary
        • sio__vocabulary_formatter.inc
        • sio__vocabulary_widget.inc
        • Sio__vocabulary.inc
      • so__cds
        • so__cds_formatter.inc
        • so__cds_widget.inc
        • So__cds.inc
      • So__genotype
        • so__genotype_formatter.inc
        • so__genotype_widget.inc
        • so__genotype.inc
      • so__transcript
        • so__transcript_formatter.inc
        • so__transcript_widget.inc
        • So__transcript.inc
      • taxrank__infraspecific_taxon
        • taxrank__infraspecific_taxon_formatter.inc
        • taxrank__infraspecific_taxon_widget.inc
        • Taxrank__infraspecific_taxon.inc
      • uo__unit
        • uo__unit_formatter.inc
        • uo__unit_widget.inc
        • uo__unit.inc

Group 3: Updates to Job Management

Please tag all tickets and pr's with group 3 to denote it relates to this group of updates.

Files this update will require to be reviewed and updated (in order):

  • Tripal Module
    • tripal.jobs.api.inc
    • TripalJob.inc
    • tripal.jobs.inc
    • Jobs admin views
    • tripal.notice.api.inc
    • drush commands

Tripal Upgrade: Upgrade Tripal from Drupal 7 to Drupal 8

This issue holds the roadmap and resources for upgrading Tripal core from Drupal 7 to Drupal 8.

Upgrade Resources

Tripal 3/4 Table Changes

We are trying to keep data tables similar between Tripal 3/4 but in some cases they may need to change. When they do, add that information here:

  • tripal_bundle table changed to tripal_entity and the table structure has changed. This was to match the new Drupal Entity API.

Have TripalDocker automatically build images and push to docker hub/github

It would be great to have images built automatically! Specifically,

  • on merge of PR to 9.x-4.x we want to update drupal8.9.x-dev, drupal9.0.x-dev, drupal9.1.x-dev and latest
  • on release we want to create release-tagged docker images for all the most recent release of drupal 8.9.x, 9.0.x and 9.1.x

The commands to currently create these images are:

git clone https://github.com/tripal/t4d8
cd t4d8
docker build --tag tripalproject/tripaldocker:drupal8.9.x-dev --build-arg drupalversion=8.9.x-dev tripaldocker/
docker build --tag tripalproject/tripaldocker:drupal9.0.x-dev --build-arg drupalversion=9.0.x-dev tripaldocker/
docker build --tag tripalproject/tripaldocker:drupal9.1.x-dev --build-arg drupalversion=9.1.x-dev tripaldocker/

Docker has a gihub action which should make setting this up pretty easy ๐Ÿคž ๐Ÿคž

This must be setup by collaborators in the Tripal 4 Core Dev Team as it requires access to Github Secrets. I will update here once I've added the secrets for this repository.

Tripal Bundle and Tripal Entity

I'm starting to tackle Tripal Bundle and Tripal Entity; specifically,

  • TripalEntity
    • TripalEntity.inc
    • tripal.entity.inc (makes reference to bundles but contains functions called by TripalEntityUIController.inc)
    • TripalEntityController.inc
    • TripalEntityCollection.inc
    • TripalEntityUIController.inc
    • TripalEntityViewsController.inc
  • TripalBundle
    • TripalBundle.inc
    • TripalBundleContoller.inc
    • TripalBundleUIController.inc
    • TripalBundleViewsController.inc

Tripal Content Type Machine Name Bugs

Setting a custom machine name for Tripal Content Types that does not abide by the bio_data_n convention seems to be causing some issues.

For example, I had two Tripal content types on my dev site. The first was the "Gene" content type, and I allowed it to use the default bio_data_1 machine name. The second content type was the "Test Type" content type, and I set a custom machine name of bio_data_12.

Now I'm going to create a new content type, called "Test Type breaking". The default machine name works as expected, and shows me bio_data_13. I changed the machine name to tripal_content_test_type and created my breaking content type. This seems to cause two issues:

  1. The default bio_data_N number no longer works for Tripal content type machine names. If I now click "Add Tripal Content Type" from the admin > structure > Tripal Content Types page, the default machine name now reads bio_data_1. If I proceed with this machine name, I get an exception:
    Drupal\Core\Entity\EntityStorageException: 'tripal_entity_type' entity with ID 'bio_data_1' already exists.
  2. The machine name of my "Test Type breaking" content type displays differently in the UI than it is in the database. If I create content with my "Test Type breaking" content type, then the type column in my tripal_entity table reads tripal_content_test_type, as expected. However, if I navigate to admin > structure > Tripal Content Types and click on the "Test Type breaking" type, it says the machine name is bio_data_13, which was the default machine name I saw when I was first filling out the add new content type form. This problem also seems to apply to the "Test Type" content type, which has a machine name of bio_data_12, but the one displayed in the UI is bio_data_2, which was the default in the add new content type form.

Perhaps users should not be allowed to create custom machine names for Tripal Content types? Or something should be done about the way that the default machine names are handled. My guess is that this is a problem in the tripal/src/Form/TripalEntityTypeForm.php file.

Updates to Views

Please tag all tickets and pr's with group 5 to denote it relates to this group of updates.

Files this update will require to be reviewed and updated (in order):

  • Tripal Module
    • tripal_views_query.inc
    • tripal.views_default.inc
    • tripal.views.inc
    • Views_handlers
      • tripal_views_handler_area_collections.inc
      • tripal_views_handler_field_boolean.inc
      • tripal_views_handler_field_element.inc
      • tripal_views_handler_field_entity_link_delete.inc
      • tripal_views_handler_field_entity_link_edit.inc
      • tripal_views_handler_field_entity_link.inc
      • tripal_views_handler_field_entity.inc
      • tripal_views_handler_field_image.inc
      • tripal_views_handler_field.inc
      • tripal_views_handler_filter_boolean_operator.inc
      • tripal_views_handler_filter_element_string.inc
      • tripal_views_handler_filter_entity_string.inc
      • tripal_views_handler_filter_numeric.inc
      • tripal_views_handler_filter_select_string.inc
      • tripal_views_handler_filter_string.inc
      • tripal_views_handler_filter.inc
      • tripal_views_handler_sort_entity_string.inc
      • tripal_views_handler_sort.inc
  • Tripal Bulk Loader Module
    • tripal_bulk_loader.views_default.inc
    • Tripal_bulk_loader.views.inc
  • Tripal Chado Module
    • tripal_chado.views_default.inc
    • tripal_chado.views.inc
  • Tripal Chado Views Module
    • Convert tripal_chado_views.info to tripal_chado_views.yml
      • tripal_chado_views.module
    • Convert hook_menu and forms
    • Convert D7 variables to D8 Config
    • Convert D7 variables to D8โ€™s state system
    • tripal_chado_views.views_default.inc
    • tripal_chado_views.views.inc
    • tripal_views_integration_fields_form.tpl.php
    • api
      • tripal_chado_views.api.inc
      • tripal_chado_views.DEPRECATED.inc
    • Includes
      • tripal_chado_views_integration_port.inc
      • tripal_chado_views_integration_UI.inc
      • tripal_chado_views_integration.inc
    • views
      • handlers
        • tripal_views_handler_area_action_links.inc
        • tripal_views_handler_field_sequence.inc
        • tripal_views_handler_filter_file_upload.inc
        • tripal_views_handler_filter_no_results.inc
        • tripal_views_handler_filter_select_cvterm.inc
        • tripal_views_handler_filter_select_id.inc
        • tripal_views_handler_filter_select_string.inc
        • tripal_views_handler_filter_sequence.inc
        • Tripal_views_handler_filter_textarea.inc
    • Views-sql-compliant-three-tier-naming-1971160-30.patch

Group 1: API Entities api

This issue is specifically to upgrade tripal/tripal/api/tripal.entities.api.inc. To take on upgrade of one of these functions just comment below with the function you would like to take on.

  • Hooks at the beginning of the file and tripal_tripal_cron_notification()
  • tripal_load_entity() [Good first task]
  • tripal_load_term_entity() [Good first task]
  • tripal_load_vocab_entity() [Good first task]
  • tripal_load_bundle_entity() [Good first task]
  • tripal_add_notification()
  • tripal_create_bundle() [Good first task]
  • tripal_get_content_types() [Good first task]
  • tripal_get_content_type() [Good first task]
  • tripal_create_bundle_fields() ~Hold off until fields are upgraded
  • tripal_update_bundle_field() ~Hold off until fields are upgraded
  • tripal_get_bundle_variable() ~Hold off until fields are upgraded
  • tripal_set_bundle_variable() ~Hold off until fields are upgraded
  • tripal_get_title_format() ~Hold off until fields are upgraded
  • tripal_get_default_title_format() ~Hold off until fields are upgraded
  • tripal_get_entity_tokens() ~Hold off until fields are upgraded
  • tripal_replace_entity_tokens() ~Hold off until fields are upgraded
  • tripal_entity_label() [Good first task]
  • tripal_get_bundle_details() [Good first task]
  • tripal_insert_entity() [Good first task]
  • tripal_unpublish_orphans()

Resources:

Automated testing for entities

I'm working on adding automated testing for the base functionality of entities. This will provide a more stable base for adding field functionality.

We need a working OBO importer for Tripal 4

During the process of upgrading the GFF3 importer, it was noticed that the Sequence Ontology is needed during import hence the birth of this issue and corresponding branch to be created.

Group 1: Installation File

This issue is for upgrading the content of the tripal/tripal.install file. Really the only thing to be updated is hook_schema and not many changes were made in Drupal 8.

Notes:

  • We are not worrying about the upgrade process as this point.
  • We are keeping the tripal_variables infrastructure but no longer using them for core thus the tripal_add_variables function does not need to be upgraded.
  • Drupal 8 no longer supports hook_enable and at this point we don't need to worry about the drop/rename table dance you see going on there -skip tripal_enable when upgrading.
  • The schema should be the only part that needs to be upgraded. Again don't do the table rename part. Also skip tripal_vocab, tripal_term, tripal_entity and tripal_bundle as these are already managed by the entity api.
  • no need to keep the tripal_update_### functions.

Resources:

Updates to Display

Please tag all tickets and pr's with group 7 to denote it relates to this group of updates.

Files this update will require to be reviewed and updated (in order):

  • Tripal DS Module
    • Convert tripal_ds.info tripal_ds.yml
      • tripal_ds.module
    • Convert hook_menu and forms
    • Convert D7 variables to D8 Config
    • Convert D7 variables to D8โ€™s state system
    • api
      • tripal_ds.pane.api.inc
    • includes
      • tripal_ds.ds.inc
      • tripal_ds.field_formatter.inc
      • tripal_ds.field_group.inc
      • Tripal_ds.inc
    • Views
      • tripal_ds.views_default.inc
      • Tripal_ds.views.inc

Integrate TripalVocab and TripalTerm with Chado

Currently TripalVocab and TripalTerm are completely database agnostic ๐ŸŽ‰

Now we want to add functionality to these classes to allow extension modules to integrate with them. Specifically, to allow extension modules to hook into the save and load so they can also save additional information in their own database. Open question: How do we want to save these links? Do we want to leave that to the implementing module?

Core modules needing to integrate: tripal_chado and tripal_ws.

Additionally, we need to add some more properties to these classes:
TripalVocab:

  • url
  • urlprefix
  • semantic web url*
  • number of terms
    TripalTerm:
  • url generated based on the vocab

We also need to allow extension modules to implement tripal_get_vocabulary_root_terms() and tripal_get_term_children() as currently TripalVocab and TripalTerm do not have a hierarchy... Maybe we should reconsider this?

Group 2: Chado Setup/Prepare

We need to upgrade the prepare step which happens after chado is installed.

Tripal 3: https://github.com/tripal/tripal/blob/7.x-3.x/tripal_chado/includes/setup/tripal_chado.setup.inc

This will include

Resources:

Group 1: API Vocab/Terms api

This issue is specifically to upgrade tripal/tripal/api/tripal.terms.api.inc. To take on upgrade of one of these functions just comment below with the function you would like to take on.

  • Hooks near the top of the file
  • tripal_add_term() [Good first task]
  • tripal_get_term_details() [Good first task]
  • tripal_get_vocabulary_root_terms()
  • tripal_get_term_children()
  • tripal_get_vocabulary_details() [Good first task]
  • tripal_get_vocabulary_terms() [Good first task]
  • tripal_get_vocabularies() [Good first task]
  • tripal_get_term_lookup_form() and tripal_get_term_lookup_form_result() [Good first task]

Resources:

Group 1: Default Tripal Shortcuts

This has been partially implemented but commented out since it causes another dependency. I think default shortcut sets help new users tremendously and thus am tempted to add this anyway -what do others in the community think?

Group 1: Convert functions in tripal.module file

This was started and almost completed by @shawnawsu. The intent is to convert all functions in the tripal 3 tripal.module file to Drupal 8.

Here is the list of functions from Tripal 3:

  • tripal_views_api(): removed
  • tripal_init(): replaced by tripal_preprocess_html
  • tripal_menu_alter(&$items): check if this was ported
  • tripal_menu(): check that this is complete using this tutorial
  • tripal_access_user_files($op, $uid, $fid = NULL)
  • tripal_accesss_user_collections($uid)
  • tripal_users_autocomplete($string): db_select is deprecated
  • tripal_access_user_data($uid)
  • tripal_permission() check that all permissions were ported
  • tripal_theme($existing, $type, $theme, $path): the function exists. We will add theme defn as they are needed.
  • tripal_coder_ignore(): check if this is still needed
  • tripal_libraries_info()
  • tripal_admin_paths()
  • tripal_menu_local_tasks_alter(&$data, $router_item, $root_path)
  • tripal_shortcut_default_set($account): do we want another dependency to keep these? perhaps we just need to add an if module is installed then do this.
  • TripalBundle_load($bundle_type, $reset = FALSE)
  • TripalEntity_load($id, $reset = FALSE)
  • tripal_import_api()
  • tripal_form_field_ui_field_edit_form_alter(&$form, &$form_state, $form_id): does not yet work
  • tripal_form_alter(&$form, $form_state, $form_id): check after TripalField implementation that this works. it removes fields with no widgets from the tripal entity add/edit form.
  • tripal_check_new_fields($bundle_name): upgraded although it's called API functions are not.
  • tripal_block_info(): Blocks are now plugins
  • tripal_block_view($delta = '')
  • tripal_block_save($delta = '', $edit = array())
  • tripal_block_configure($delta = '')
  • tripal_cron(): drupal 8 hook_cron
  • tripal_element_info() moved over to classes
  • tripal_html5_file_process($element, $form_state, $complete_form)
  • tripal_html5_file_validate($element, &$form_state)
  • tripal_html5_file_value($element, $input = FALSE, &$form_state)
  • tripal_field_display_TripalEntity_alter(&$display, $context)
  • tripal_field_group_table_rows_alter(&$element, &$children)

Rename table tripal_admin_notfications

The table public.tripal_admin_notfications is spelled wrong. This is also true for Tripal 3. I assume it would not necessarily be feasible to correct this for Tripal 3, but we might want to correct this at least for Tripal 4. This should be pretty trivial since the table currently only appears in the tripal.install file as far as I can tell.

Group 2: Tripal Chado SCHEMA API

This issue was originally used for a small set of miscellaneous functions which need upgrading. That has been moved to #122 and this issue has been re-assigned for the discussion of the Chado Schema API. This was done since the Chado Schema API did not have a dedicated issue and @guignonv started a good discussion here.

ONLY discuss the Chado Schema API here. This should not include information on querying the Chado database which is a separate but related issue.

Tv3 Updates Needed in Tv4

I'm creating this issue as a place where we can add items that were added in Tv3 after we separated this t4d8 repository. As we review the pull request history for the Tv3 repository we can return here and add check boxes below link to the corresponding pull request.

  • The TripalField class got a new theme function for theming of the instance settings form, (PR coming soon).
  • An updated GFF3 Importer, tripal/tripal#1141
  • Date/Time incorrect time on display, tripal/tripal#1148

Updates to Web Services

Please tag all tickets and pr's with group 6 to denote it relates to this group of updates.

Files this update will require to be reviewed and updated (in order):

  • Tripal WS Module
    • Convert tripal_ws.info to tripal_ws.yml
      • tripal_ws.module
    • Convert hook_menu and forms
    • Convert D7 variables to D8 Config
    • Convert D7 variables to D8โ€™s state system
    • TripalWebService.inc
    • TripalWebServiceCollection.inc
    • TripalWebServiceResource.inc
    • WebServicesField.inc
    • WebServicesFieldFormatter.inc
    • WebServicesFieldWidget.inc
    • api
      • tripal_ws.api.inc
    • includes
      • tripal_ws.admin.inc
      • tripal_ws.field_storage.inc
      • Tripal_ws.fields.inc
    • TripalFields
      • remote__data
      • remote__data_formatter.inc
      • Remote__data_widget.inc
      • Remote__data.inc
    • TripalWebService
      • TripalContentService_v0_1.inc
      • TripalDocService_v0_1.inc

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.